body{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-family: 'Pacifico', cursive;

}

/*common*/
section {
    padding: 40px;
    margin: 0 auto;
}
a {
    transition-duration: 0.5s;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    text-decoration: none;
}
span.none {
    display: none;
}

p {
    line-height: 1.6;
}
h1, h2, h3{
    text-align: center;	
}
h2 {
    width: 90%;
    margin: auto;
}
h3 {
    font-size: 32px;
	font-weight: 700;
    letter-spacing: -2px;
	margin: 0 auto 16px;
}
h4 {
    font-size: 24px;
	font-weight: 700;
    margin-bottom: 16px;
}

.title_image {
   
	margin: 0px auto 30px;
}

.bold {
    font-weight: 700;
}

.list-com, .list-disc {
	margin: 0;
	padding: 0;
}
.list-com li, .voice-txt ul li, .list-disc li {
	list-style: none;
	padding: 0 0 0 15px;
	position: relative;
	margin: 0;
	line-height: 20px;
	font-size: 0.8rem;
}
.list-com li:last-child, .list-disc li:last-child {
    margin: 0;
}
.list-com li:before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
}
.list-disc li:before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
body .fade-in {
    margin-bottom: 0px;
}


/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:url(../images/main_fix_bg01.jpg) center no-repeat;
  background-size: cover;
  text-align:center;
  color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width:260px;
}

/* fadeUpをするアイコンの動き */

.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/**メインビジュアル*/
#mainImage {
  position: relative;
}
#mainImage_bg {
  position: relative;
}
#mainImage img {
  width: 100%;
  vertical-align: top;
}

.fadeIn_img ul li {
  position: absolute;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .fadeIn_img ul li {
    margin-top: 0;
  }
}



/* card */
.card {
    background-color: #fff;
    color: #000000;
    border-radius: 20px;
}
.card > .flex {
    margin: -48px auto 0px auto;
}
.card-note {
    padding: 30px 40px;
}
.card-note h4 {
    color: #FF3399;
    text-align: center;
}
.card-note > *:not(:last-child) {
    margin-bottom: 8px;
}
.card-detail dt {
    background: #F39;
    color: #fff;
    border-radius: 4px;
	width: 15%;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
    padding: 5px 0
}
dl.card-detail dd {
    width: calc(85% - 10px);
    margin-left: 10px;
    margin-top: 5px;
}
dl.card-detail > *:not(:last-child) {
 	margin-bottom: 10px;
}
dl.card-detail {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.cont-box {
    background: #fff;
    border-radius: 20px;
}


.cont-box img {
    border-radius: 20px 20px 0 0;
}

.cont-box2 {
    background: #fff;
    border-radius: 20px;
    padding-bottom: 25px;
}


.cont-box2 img {
    border-radius: 20px 20px 0 0;
}


.card-detail dd a {
    text-decoration: underline;
    color: #e85298;
    font-weight: bold;
}
.card-note h4 span {
    font-size: 18px;
}



/* FV
---------------------------------------------------- */
div#xcover:after {
    content: "";
    width: 100%;
    height: 100vh;
    background-image: url("../images/bg_koushi50.png");
    z-index: -1;
    background-size: 120%;
    background-color: #751DA0;
    z-index: -1;
    position: fixed;
    top: 0;
    background-position-x: center;
}
.koushi{
 
}
.fv {
    text-align: center;
}
.top-logo a {
    margin: 24px auto 16px;
    width: 80%;
}
.cta {
    position: fixed;
    right: 0;
    bottom: 0px;
    cursor: pointer;
    transition: .3s;
    /*デフォルトで非表示にする*/
    opacity: 0;
    visibility: hidden;
    width: 120px;
    z-index: 2;
}
.cta a:hover {
    opacity: .7;
}
.active{
    opacity: 1;
    visibility: visible;
}
.cta-close{
    position: absolute;
    top: -15px;
    left: 0px;
    font-size: 30px;
    text-align: center;
    cursor: pointer;
    color: #C8C8C8;
}



/* sec01
---------------------------------------------------- */
section.sec01 {
    padding: 300px 0 133px;
    background: url("../images/mmku_bg_pc.jpg") top center no-repeat;
            background-color: #e62e8b;
    background-size: 100%;
    width: 100%;
}
.sec01 h1 {
    width: 440px;
    margin: 0 auto 50px;
}
.sec01 p{
    text-align: center;
	font-size: 20px;
    color: #fff;
}
.sec01-btm {
    margin: 0 0 -250px;
}


/* event
---------------------------------------------------- */
section#event {
    padding: 100px 40px;
}
section > p {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    margin: 20px auto;
}
section#event > p {
    color: #E85298;
}
.cont-detail {
    margin: 30px auto 0;
}

.cont-detail p {
    text-align: center;
    color: #e85298;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.3;
}

.cont-detail a {
    background-color: #FC82BB;
    color: #fff;
    font-size: 18px;
    padding: 10px 20px;
    border-radius: 40px;
    display: block;
    width: 95%;
    text-align: center;
    font-weight: bold;
    margin: 10px auto 0;
    position: relative;
}
.cont-detail a::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 44%;
    right: 20px;
    transform: rotate(45deg);
}


/* castle
---------------------------------------------------- */
section#castle {
    padding: 40px 0px 100px;
}
section#castle:before{
    background: #FFFABC;
    position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    z-index: -1;
    margin: auto;
    left: 0;
    right: 0;
}
section#castle > p {
    color: #F0A10B;
}
section#castle .card-note h4 {
    color: #F0A10B;
}


/* cp
---------------------------------------------------- */
section.spot {
    padding: 30px 30px 50px;
    background-color: #FFFF92;
        background-image:url("../images/bg_koushi.png");
    background-size: 120%;

}

section.spot > p {
    color: #FF3399;
    font-size: 18px;
}
section.spot.card-note h4 {
    color: #FF3399;
    margin-top: 10px;
    text-align: center;
}

section.cp {
    padding: 30px;
    
}

section.cp > p {
    font-size: 20px;
   color: #fff;
  text-shadow:
    1px 1px 0 #000,
    -1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000;
}
section.cp .card-note h4 {
    color: #FF3399;
    margin-top: 10px;
    text-align: center;
}


.card-box {
    background: #FFFDE5;
    border-radius: 10px;
    padding: 20px;
}

.card-box p {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    color: #f0a10b;
    margin: 0 auto 10px;
}

.card-box .card-detail dt {
    background: #FFD077;
}

.card-box .card-detail dd a {
    color: #f0a10b;
}


/* goods
---------------------------------------------------- */
section.goods > p {
    font-size: 20px;
   color: #fff;
  text-shadow:
    1px 1px 0 #000,
    -1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000;
}
section.goods {
    padding: 60px 30px 60px;
    background-image: url("../images/bg_koushi50.png");
    background-color: #F76ECB;
    background-size: 120%;
}



/*sns*/
.sns li a{
	box-shadow: 0 0 10px hsl(301.21deg 82.57% 54.37% / 13%);
	border-radius: 60px;
}
p.fukidasi {
    font-size: 18px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
    position: relative;
}
p.fukidasi:before {
    content: url(../images/ashirai.png);
    vertical-align: middle;
    padding-right: 3px;
    transform: scale(0.6);
    display: inline-block;
}
p.fukidasi:after {
    content: url(../images/ashirai.png);
    vertical-align: middle;
    padding-left: 3px;
    display: inline-block;
	transform: scale(-0.6, 0.6);
}



/*footer*/

body footer {
    background: #FF3399;
    padding: 40px 0;
}
.other-link-box {
    width: 48%;
    /* margin: auto; */
}

.other-link {
    display: flex;
    flex-flow: wrap;
    margin: auto;
    justify-content: space-between;
    width: 90%;
}

.other-link-box p {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    margin: 0 auto 10px;
}
.banner-box {
    margin: 50px auto 0;
}





/*========= ナビゲーションのためのCSS ===============*/
#g-nav.panelactive:after {
    content: "";
    width: 100%;
    height: 100vh;
    /* background-image: url(../images/fv-bg.png); */
    /* background-repeat: no-repeat; */
    /* background-size: cover; */
    z-index: 7;
    position: fixed;
    top: 0;
    left: 0;
    background-position-x: center;
}
#g-nav{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
	z-index: -1;
	opacity: 0;/*はじめは透過0*/
    /*ナビの位置と形状*/
	top:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#FADCE9;
    /*動き*/
/*	transition: all 0.3s;*/
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
	opacity: 1;
	z-index:9;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 9; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    display: none;
    /*ナビゲーション天地中央揃え*/
/*
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
*/
}

ul.menu-list {
    margin: 50px auto;
}
div#g-nav-list-inner {
    width: 100%;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    margin: 0 auto;
    position: absolute;
    /* max-width: 370px; */
    /* min-width: 310px; */
}
#g-nav .menu-list a {
    /* font-size: 18px; */
    /* padding: 5px 0; */
    /* color: #fff; */
}
#g-nav .sns .sns-ul {
    /* display: flex; */
    /* justify-content: space-evenly!important; */
    /* margin-top: 32px; */
}

ul.sns-ul li a::before {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

ul.sns-ul li a {
    position: relative;
}

div#g-nav-list {
    width: 60%;
}
#g-nav.panelactive ul {
    display: flex;
    gap: 20px;
    justify-content: center;
}

/*リストのレイアウト設定*/

.menu-list li{
	list-style: none;
	text-align: center;
	width: 280px;
}

#g-nav li a{
	/* color: #333; */
	/* text-decoration: none; */
	/* padding:10px; */
	display: block;
	/* text-transform: uppercase; */
	/* letter-spacing: 0.1em; */
	/* font-weight: bold; */
}
#g-nav-list-inner h1 {
    width: 460px;
    margin: auto;
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 10;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
	background: #FC8CBD;
	border-radius: 50%;
	box-shadow: 0 0 10px hsl(301.21deg 82.57% 54.37% / 13%);
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #fff;
  	width: 45%;
  }
.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}






/*PCのみのCSS*/
@media screen and (min-width: 850px) {
    section > div:not(:last-child) {
        margin-bottom: 40px;
    }

	body #xcover {
		width: 100%;
	}
	div#xcover:after {
		left: 50%;
		top: 50%;
		transform: translateX(-50%) translateY(-50%);
	}
	.sp_only{
		display: none;
	}
	.pc_only{
		display: block;
	}
	.pc-inner {
		margin: 0 auto;
		-webkit-box-shadow: 0px 0px 10px 3px rgba(229,116,194,0.2);
	}
	.blue:before, .violet:before, .pc-inner, div#xcover:after{
		width: 1100px;
        padding: 0px;
	}
	body:before {
		content: "";
		width: 100%;
		height: 100vh;
		background-image: url("../images/mmku_haikei.jpg");
		background-repeat: no-repeat;
		background-size: cover;
		z-index: -1;
		top: 0;
		background-position-x: center;
		position: fixed;
		opacity: 0.6;
	}
	dl.card-list .block {
		width: 100%;
	}
}


/*スマホのみのCSS*/
@media screen and (max-width: 850px) {
	
	.sp_only{
		display: block;
	}
	.pc_only{
		display: none;
	}
    h2 {
        width: 100%;
        margin: auto;
    }
    section > div:not(:last-child) {
        margin-bottom: 20px;
    }

     /*	menu	*/
    #g-nav-list-inner h1 {
        width: 80%;
        margin: auto;
    }
    .menu-list {
        display: flex;
        gap: 40px;
        justify-content: center;
        flex-flow: column;
    }
    .menu-list li {
        list-style: none;
        text-align: center;
        width: 60%;
        margin: auto;
    }

    /*	card	*/
    .slick-prev, .slick-next {
        position: absolute;
        z-index: 3;
        top: 90px;
        cursor: pointer;
        outline: none;
        height: 25px;
        width: 25px;
    }
    .card-note {
        padding: 10px 40px 20px;
    }
    .card-detail dt {
        width: 30%;
    }
    dl.card-detail dd {
        width: calc(70% - 10px);
    }
	
	
/*	fv	*/
	.top-img-bg {
    	position: relative;
	}
    section.sec01 {
    padding: 120px 0px 60px;
    background: url("../images/mmku_bg_sp.jpg") top center no-repeat;
    background-color: #e62e8b;
    background-size: 100%;
    width: 100%;
    margin: 0 auto 0;
    }
    .sec01 p {
        margin: 0 auto;
        font-size: 14px;
    }
    .sec01-btm {
        margin:  0 0 -109px;
    }

    /*	event	*/
    section#event {
        padding: 70px 20px;
    }
    section#event > p {
        color: #E85298;
        font-size: 16px;
    }
    .cont-detail p {
        text-align: center;
        color: #e85298;
        font-weight: bold;
        font-size: 16px;
        line-height: 1.3;
    }

    /*	castle	*/
    section#castle {
        padding: 40px 20px 70px;
    }
    section#castle > p {
        font-size: 16px;
        color: #F0A10B;
    }
    .card-box {
        background: #FFFDE5;
        border-radius: 10px;
        padding: 15px;
    }
    .card-box p {
        text-align: center;
        font-weight: bold;
        font-size: 16px;
        color: #f0a10b;
        margin: 0 auto 10px;
    }

    /*	goods	*/
    section#goods {
        font-size: 16px;
        padding: 40px 20px 70px;
    }
    section#goods > p {
        color: #E85298;
    }

    /*	footer	*/
    body footer {
        background: #E85298;
        padding: 60px 0;
    }
    .other-link {
        display: flex;
        flex-flow: column;
        margin: auto;
        justify-content: space-between;
        width: 80%;
        gap: 30px;
    }
    .other-link-box {
        width: 100%;
    }
    .pagelink {
        margin: 50px auto 50px;
        display: flex;
        justify-content: center;
        gap: 10px;
        flex-flow: column;
    }
}	


/*==================================================
スケジュールを開く
===================================*/


.step-text p {
    padding: 0 12px;
}
.event h4{
    font-size: 20px;
    margin-bottom: 4px;
}
.event-A {
    padding: 80px 0 60px;
}
.normal-img {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    margin: 0 auto 20px;
}
.clear{
    clear: both;
}
ul.kaien{
	width:100%;
	margin:10px auto;
	padding:0;
	display:table;
    background-color: #FFF;
}
li.tbl1{
	list-style:none;
	width:28%;
	height:65px;
	float:left;
	border-top-width: 2px;
	border-right-width: 2px;
	border-bottom-width: 0px;
	border-left-width: 2px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: none;
	border-left-style: solid;
	border-top-color: #F39;
	border-right-color: #F39;
	border-left-color: #F39;
	position:relative;
	display:table-cell;
}

li.tbl2{
	list-style:none;
	width:72%;
	height:65px;
	float:left;
	border-top-width: 2px;
	border-right-width: 2px;
	border-bottom-width: 0px;
	border-left-width: 0px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: none;
	border-left-style: none;
	border-top-color: #F39;
	border-right-color: #F39;
	position:relative;
	display:table-cell;
}

li.tbl3{
	list-style:none;
	width:28%;
	height:65px;
	border:solid #F39 2px;
	float:left;
	position:relative;
	display:table-cell;
}

li.tbl4{
	width:72%;
	list-style:none;
	height:65px;
	float:left;
	border-top-width: 2px;
	border-right-width: 2px;
	border-bottom-width: 2px;
	border-left-width: 0px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: none;
	border-top-color: #F39;
	border-right-color: #F39;
	border-bottom-color: #F39;
	position:relative;
	display:table-cell;
}

li.tbl5{
	width:99.9%;
	list-style:none;
	height:50px;
	float:left;
	border-top-width: 2px;
	border-right-width: 2px;
	border-bottom-width: 0px;
	border-left-width: 2px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #F39;
	border-right-color: #F39;
	border-bottom-color: #F39;
	border-left-color: #F39;
	position:relative;
}

li.tbl6{
	width:100%;
	list-style:none;
	height:100px;
	float:left;
	border-top-width: 2px;
	border-right-width: 2px;
	border-bottom-width: 2px;
	border-left-width: 2px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #F39;
	border-right-color: #960;
	border-bottom-color: #F39;
	border-left-color: #F39;
	position:relative;
}
.odemukae{
	margin:auto 0px;
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	left: 8px;
	line-height:1.2;
    text-align: left;

}
.odemukae02{
	padding:10px 0;
	margin:auto 0px;
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	left: 8px;
	line-height:1.2;
    color: #1a6bdc;
    font-size: 10pt;
}
.accordion {
	margin: 1em auto 0em;
	max-width: 100vw;
}
.toggle {
	display: none;
}
.option {
	position: relative;
	margin-bottom: 1em;
}
.title,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.title {
	border: solid 2px  #F39;
	padding: 1em;
	display: block;
	color: #FF3399;
    background: #FFF;
	border-radius: 50px;
	text-align: center;

}
.title::after, .title::before {
	content: "";
	position: absolute;
	right: 1.25em;
	top: 1.25em;
	width: 2px;
	height: 0.75em;
	background-color: #F39;
	transition: all 0.3s;
}
.title::after {
	transform: rotate(90deg);
}
.content {
	max-height: 0;
	overflow:scroll;
}
.content p {
	margin: 0;
	padding: 0.5em 10px 1em;
	font-size: 1em;
	line-height: 1.5;
}
.toggle:checked + .title + .content {
	max-height: 1000px;
	transition: all 1.5s;
}
.toggle:checked + .title::before {
	transform: rotate(90deg) !important;
}



/*summer2023.css最後に追加*/
body #xcover {
	overflow: visible;
}
.pc-wrappar {
    overflow: hidden;
}

.fv {
     overflow: hidden; 
}
div#mainImage {
    z-index: 4;
}

.tuika{
    font-size: 24px;
    font-weight: bold;
    text-align: center;
     color: #FFF000;
  text-shadow:
    1px 1px 0 #000,
    -1px 1px 0 #000,
    -1px -1px 0 #000,
    1px -1px 0 #000;
}

section.goods > p.cafe{
    font-size: 32px;
}

section.goods > p.food{
    font-size: 42px;
}

section.goods > p.good{
    font-size: 42px;
}

.btn {
      position: relative;
    display: block;
    background-color: #FFF;
    color: #F39;
    border-radius: 50px;
    text-align: center;
    padding: 1em;
    text-decoration: none;
    border:2px solid #F39;
    width: 90%;
    margin: 10px auto;
}
.btn::after {
  content: "";
  display: inline-block;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2214%22%20viewBox%3D%220%200%2012%2014%22%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_2%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%202%22%20d%3D%22M6.136%2C1.481a1%2C1%2C0%2C0%2C1%2C1.728%2C0L13.123%2C10.5a1%2C1%2C0%2C0%2C1-.864%2C1.5H1.741a1%2C1%2C0%2C0%2C1-.864-1.5Z%22%20transform%3D%22translate(12)%20rotate(90)%22%20fill%3D%22%235c2092%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 14px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.owatashi ul{
    width: 95%;
    margin: 0 auto;
}

.owatashi ul li{
    float: left;
    width: 48%;
    margin: 1%;
}
