@charset "utf-8";

/*------------------------------------------------------------
	メインビジュアル
------------------------------------------------------------*/
.mainVisual {
	position: relative;
	width:100%;
	box-sizing: border-box;
	min-height: 346px;
	text-align: center;

	/* background-image: url(../image/bk-sp.jpg); */
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #FFFCE4;
}

.mainVisual h1 {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
	width: 80%;
}

.mainVisual h1 img {
	max-width: 920px;
	width: 100%;
	z-index: 10;
}


.mainVisual img.top-deco-1,
.mainVisual img.top-deco-2,
.mainVisual img.top-deco-3,
.mainVisual img.top-deco-4 {
	position: absolute;
	max-width: 800px;
	width: 60%;
}


.mainVisual img.top-deco-1 {
	top: 0;
	left: 0;
	z-index: 2;
}

.mainVisual img.top-deco-2 {
	top: 0;
	right: 0;
	z-index: 3;
}

.mainVisual img.top-deco-3 {
	bottom: 0;
	left: 0;
	z-index: 2;
}

.mainVisual img.top-deco-4 {
	bottom: 0;
	right: 0;
	z-index: 3;
}

.mainVisual img.top-deco-5 {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 3;
}

.mainVisual img.top-deco-6 {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 3;
}

@media screen and (min-width: 768px) {
	.mainVisual h1 {
		width: 100%;
	}
}

@keyframes updown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}

/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/

#main .about {
	padding: 25px 17px 27px;
	color: #fff;
}

#main .news {
	margin-bottom: 30px;
	font-size: 12px;
	text-align: left;
	color:#3E3E3E;
	background: #fff;
	border-radius: 10px;
	padding: 18px 20px;
}

#main .news p:first-child {
	font-weight: bold;
	text-align: center;
	margin-bottom:10px;
	font-size:12px;
}

#main .news p:last-child {
	text-align: right;
	font-size: 10px;
}

.txtArea-read p {
	width:90%;
	text-align: center;
	margin: 0 auto 30px auto;
	font-weight: bold;
	font-size: 0.9rem;
	line-height: 1.2rem;
}

.txtArea-read p.white {
	color: #fff;
}

.txtArea-read p.pink {
	color: #C72E2D;
}


@media screen and (min-width: 768px) {

	.mainVisual img.main-catch {
		top: 50px;
	    right: 50px;
	    max-width: 180px;
	    width: 15%;
	    min-width: 150px;
	}


	#main .news {
		margin-bottom: 30px;
		font-size: 14px;
		border-radius: 10px;
		padding: 30px 40px;
	}

	#main .news p:first-child {
		margin-bottom:20px;
	}

	#main .news p:last-child {
		font-size: 13px;
	}

	.txtArea-read p {
		font-size: 15px;
		line-height: 1.5rem;
	}

}

/* このイベントについて */

#main .about .txtArea p {
	margin-bottom: 40px;
	position: relative;
	z-index: 1;
	font-size: 12px;
	text-align: center;
	line-height: 1.8em;
}

.about-box {
  border-radius: 8px;
  padding: 10px 0;
  display: flex;
  flex-direction: column;
}

.about-title {
	font-family:"Zen Maru Gothic", serif;
  color: #d94f4f;
  font-weight: bold;
  font-size: 1.1rem;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 30px;
}

.about-title::before {
  content: "";
  width: 20px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.about-text {
  font-family: "Zen Maru Gothic", serif;
  font-size: 0.85rem;
  line-height: 1.5rem;
	font-weight: 500;
}

.icon-flower::before {
  background-image: url("../image/icon_flower.png"); /* 画像のパスを指定 */
}

@media screen and (min-width: 768px) {
	.about-wrap {
	  display: flex;
	  gap: 6px;
    flex-direction: row;
    justify-content: space-between;
	}
	.about-box {
		flex: 1;
		max-width: 48%;
	  border-radius: 8px;
	  padding: 20px 10px;
	  display: flex;
	  flex-direction: column;
	}
	.about-title {
	  font-size: 1.2rem;
	  margin-bottom: 10px;
	}
	.about-text {
	  font-size: 15px;
	}
}


/* ピックアップ */

#main .pickup {
	padding: 20px 10px 120px 10px;
	background: #f4f1df;
	position: relative;
}


#main .pickup .txtArea p {
	margin-bottom: 11px;
	position: relative;
	z-index: 1;
	text-align: center;
}

#main .comBox .caution-area,
#main .comBox .special-area {
	width: 90%;
	padding: 5%;
	background: #F5F5F5;
	margin-bottom: 15px;
	font-size: 14px;
	border-radius: 10px;
}

#main .comBox .tanosucolabo-area {
	width: 90%;
	padding: 5% 5% 3% 5%;
	background: #fff;
	margin-bottom: 15px;
	font-size: 14px;
	border-radius: 10px;
}

#main .comBox .tanosucolabo-area h3 {
	text-align: center;
	font-size:16px;
	font-weight: bold;
	margin-bottom: 20px;
	color: #C72E2D;
}

#main .comBox .tanosucolabo-area p {
	color: #393939;
	font-size:14px;
	text-align:center;
}



/** ピックアップコンテンツ **/

.pickup-contents {
	width: 100%;
	margin: 0 auto;
}


.pickup-contents ul li {
  margin: 10px 0.5% 0;
  width: 48%;
	display: inline-block;

	position: relative;
}

.pickup-contents ul li p {
	width: 96%;
	margin: 0 auto;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 50%;
  transform: translate(-50%,-16px);

	font-size: 13px;
	line-height: 1.2em;
	letter-spacing: -0.1em;
}

.pickup-contents ul li a {
	color: #fff;
	text-decoration: none;
}

.pickup-contents ul li img {
	width: 100%;
	border-radius: 6px;
}

@media screen and (min-width: 768px) {
	#main .pickup {
		padding: 110px 10px;
	}

	#main .comBox .caution-area {
	width: 90%;
	padding: 5%;
	}

	#main .comBox .tanosucolabo-area {
		width: 90%;
		padding: 5% 5% 3% 5%;
		background: #fff;
		margin-bottom: 15px;
		font-size: 14px;
		border-radius: 10px;
	}

	.pickup-contents ul li {
		margin: 20px 2% 0;
		width: 29%;
	}

	.pickup-contents ul li p {
		width: 92%;
		bottom: 20px;
		transform: translate(-50%,-50%);
		font-size: 16px;
		line-height: 1.4em;
		letter-spacing: 0.1em;
	}
}



#main .comBox .caution-area h3,
#main .comBox .special-area h3 {
	text-align: center;
	font-size:16px;
	font-weight: bold;
	margin-bottom: 20px;
	color: #C72E2D;
}

#main .comBox .special-area p {
	color: #393939;
	font-size:14px;
	text-align:center;
}

#main .comBox .caution-area p {
	color: #393939;
	font-size:13px;
}

#main .comBox .special-area span.present-text {
    font-size: 16px;
    font-weight: bold;
    background: linear-gradient(transparent 60%, #ff8a8a38 60%);
}

#main .comBox .caution-area li {
	list-style: square;
	margin: 5px 0;
	color: #393939;
	margin-left: 1em;
	font-size:13px;
}

#main .comBox .special-area .kome {
	width: 100%;
    font-size: 13px;
    color: #646464;
    display: block;
    padding: 0;
    margin-top: 20px;
    text-align: left;
}

#main .comBox .kome {
	width: 100%;
	padding: 0;
	margin:0 auto;
	font-size: 13px;
	color: #fff;
}

#main .comBox .kome {
	width: 100%;
	padding: 0;
	margin:0 auto;
	font-size: 13px;
	color: #fff;
}

/*
#main .about .txtArea p:last-child {
	margin-bottom: 0;
}
*/

#main .about .imgBox {
	margin-bottom: 22px;
}

#main .about .imgBox .photoBox {
	margin-bottom: 31px;
	position: relative;
}

#main .about .imgBox .photoBox:before {
	width: 22px;
	height: 17px;
	position: absolute;
	top: -2px;
	right: 12px;
	background: url(../image/icon01.png) no-repeat;
	background-size: 100% auto;
	content: '';
}

#main .about .imgBox .photoBox img {
	width: 100%;
}

#main .about .imgBox .photoBox .price {
	padding: 12px 16px 8px 15px;
	min-width: 130px;
	box-sizing: border-box;
	position: absolute;
	bottom: -18px;
	left: -6px;
	display: block;
	color: #FFF;
	font-size: 12px;
	line-height: 1.2;
	background: url(../image/bg04.png) no-repeat left center;
	background-size: cover;
}

#main .about .imgBox .photoBox .price:before {
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 9px;
	border-right: 1px dashed #FFF;
	content: '';
}

#main .about .imgBox .photoBox .price .num {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.15;
}

#main .about .imgBox .textBox p {
	margin-bottom: 15px;
	font-size: 12px;
	line-height: 1.75;
}

#main .about .imgBox .textBox .note {
	margin-bottom: 0;
	padding: 5px 0;
	/*text-indent: -1em;*/
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	font-size:12px;
}

#main .about .imgArea {
	margin-bottom: 31px;
}

#main .about .imgArea .pho {
	margin-bottom: 14px;
	padding:  15px 10px 17px;
	text-align: center;
	background: url(../image/bg05.png) repeat left top;
}

#main .about .imgArea .pho img {
	width: 213px;
}

#main .about .imgArea p {
	font-size: 12px;
	line-height: 1.8;
}

#main .shopListArea {
	padding: 30px 5px;
}

#main .bk-color-red {
  /* background-image: linear-gradient(0deg, rgba(100, 0, 80, 1), rgba(173, 0, 0, 1)); */

	background-image: url(../image/bk-red.jpg);
  background-position: center center;
  background-repeat: no-repeat;
	background-size: cover;
}

#main .bk-color-blue {
  background-image: linear-gradient(0deg, rgba(10, 15, 40, 1), rgba(0, 55, 140, 1));
		background-size: cover;
}

#main .bk-color-green {
  /* background-image: linear-gradient(0deg, rgba(130, 140, 0, 1), rgba(45, 105, 0, 1));*/

	background-image: url(../image/bk-green.jpg);
  background-position: center center;
  background-repeat: repeat;
  background-size: 210%;
}

@media screen and (min-width: 768px) {

	#main .bk-color-red {
  background-attachment: fixed;
		background-size: cover;
	}

	#main .bk-color-blue {
  background-attachment: fixed;
		background-size: cover;
	}

	#main .bk-color-green {
		background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
	}

/*
	#main .bk-color-red {
		background-size: 160%;
	}

	#main .bk-color-blue {
		background-size: 160%;
	}

	#main .bk-color-green {
		background-size: 160%;
	}
	*/

}

section .contents .innerBox {
	margin-bottom: 20px;
	position: relative;
	z-index: 1;
	width: 93%;
	margin: 0 auto;
}

section .contents .innerBox h3 {
	position: absolute;
	left: -11px;
	top: -23px;
}

section .contents .innerBox h3 img {
	width: 58px;
}

section .contents .goodsList {
	margin-bottom: 16px;
	font-weight:bold;
}

section .contents .goodsList li {
	width: 49%;
	float: left;
	font-size: 12px;
	text-align: center;
}

section .contents .goodsList li:nth-child(2n) {
	float: right;
}

section .contents .goodsList li .pho {
	margin-bottom: 13px;
	display: block;
}

section .contents .goodsList li img {
	width: auto;
	height: 117px;
}

section .contents .noteList li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 12px;
}

section .contents .innerBox .photo {
	margin-bottom: 11px;
}

section .contents .innerBox .photo img {
	width: 100%;
	border-radius: 18px;
}

section .contents .innerBox .movie-wrap {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
	z-index: -1;
}

section .contents .innerBox .movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

section .contents .innerBox .h4Ttl01 {
	margin-bottom: 6px;
	font-size: 14px;
}

section .contents .innerBox .h4Ttl01 .txt {
	margin-right: 6px;
	padding: 1px 6px 0;
	display: inline-block;
	color: #FFF;
	font-size: 12px;
	vertical-align: top;
	background-color: #943927;
}

section .contents .innerBox .text {
	margin-bottom: 15px;
	font-size: 14px;
	line-height: 1.67;
	color: #fff;
}

section .contents .rBox {
	padding: 30px;
	border: 1px solid #C9C9C9;
	background-color: #F0F0F0;
}

section .contents .rBox .textList li {
	margin-bottom: 15px;
	padding-bottom: 18px;
	border-bottom: 1px solid #C9C9C9;
}

section .contents .rBox .textList li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

section .contents .rBox .textList li h5 {
	margin-bottom: 3px;
	font-size: 13px;
}

section .contents .rBox .textList li .text {
	margin-bottom: 0;
	font-size: 12px;
	text-align: justify;
	line-height: 1.5;
	letter-spacing: -0.5px;
	word-break: break-all;
}

section .contents .rBox .imgBox {
	margin-top: 9px;
}

section .contents .rBox .imgBox .photoBox {
	width: 54px;
	float: left;
}

section .contents .rBox .imgBox .photoBox .pho {
	width: 100%;
	height: 100%;
	display: table;
	table-layout: fixed;
}

section .contents .rBox .imgBox .photoBox .pho span {
	display: table-cell;
	vertical-align: middle;
}

section .contents .rBox .imgBox .photoBox img {
	width: 100%;
}

section .contents .rBox .imgBox .textBox {
	padding-left: 68px;
}

section .contents .rBox .imgBox .textBox .sub {
	position: relative;
	width: 100%;
	height: 100%;
	display: table;
	table-layout: fixed;
	background-color: #FFF;
}

section .contents .rBox .imgBox .textBox .sub:before {
	margin-top: -7px;
	width: 12px;
	height: 15px;
	position: absolute;
	left: -8px;
	top: 50%;
	background: url(../image/icon02.png) no-repeat;
	background-size: 100% auto;
	content: '';
}

section .contents .rBox .imgBox .textBox .sub p {
	padding: 7px 5px 5px;
	width: 100%;
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	line-height: 1.7;
}

section .contents .imgList li {
	margin-bottom: 30px;
}

section .contents .imgList li:last-child {
	margin-bottom: 0;
}

section .contents .imgList li .photo {
	margin-bottom: 12px;
}

section .contents .imgList li .h4Ttl01 {
	color: #fff;
	margin-bottom: 10px;
	text-align: center;
}

section .contents .imgList li .yen {
    color: #333333;
    margin-bottom: 10px;
    text-align: center;
    font-weight: bold;
    display: block;
}

section .areaMap {
	padding: 60px 5px;
	background-size: 50px auto;
	background:#fff;
}

section .areaMap .headLine01 {
	margin-bottom: 34px;
	color: #FFF;
}

section .areaMap .headLine01:before {
	background-color: #FFF;
}

section .areaMap .comMap .link a {
	color: #FFF;
}

section .access,
section .company {
	padding: 26px 7px 41px;
	background-image: linear-gradient(0deg, rgba(10, 15, 40, 0.8), rgba(0, 55, 140, 0.8)), url(../image/bk-pc.jpg);
	background-position: center center;
  background-repeat: no-repeat;
  background-size: 410%;
}

section .access .headLine01 {
	margin-bottom: 36px;
	color: #5f0c0c;
}

section .access .comBox {
	width: 100%;
	margin: 0 auto;
}

section .access .headLine01:before {
	background-color: #5f0c0c;
}

section .access .accessBox {
	margin-bottom: 40px;
}

section .access .accessBox iframe {
	width: 100%;
	height: 184px;
	vertical-align: top;
}

section .access .comTab {
	border-color: #C72E2D;
}

section .access .comTab th,
section .access .comTab td {
	color: #C72E2D;
	border-color: #C72E2D;
}

@media screen and (min-width: 768px) {
	.mainVisual {
		height: 100vh;
	}

	#main .about {
		padding: 40px 0;
	}

	#main .about .txtArea {
		background-size: auto auto;
		margin-bottom: -2px;
	}

	#main .about .txtArea:before {
		width: 114px;
		height: 100px;
		top: -60px;
	}

	#main .about .txtArea p {
	    margin: 0 auto 50px auto;
	    font-size: 15px;
	    letter-spacing: 0.2em;
	}

	#main .about .imgBox {
		margin-bottom: 60px;
	}

	#main .about .imgBox .photoBox {
		margin-bottom: 0;
		width: 480px;
		float: left;
	}

	#main .about .imgBox .photoBox:before {
		width: 44px;
		height: 34px;
	}

	#main .about .imgBox .photoBox .price {
		min-width: 200px;
		bottom: -20px;
		left: -10px;
		font-size: 15px;
	}

	#main .about .imgBox .photoBox .price .num {
		font-size: 20px;
	}

	#main .about .imgBox .textBox {
		width: 480px;
		float: right;
	}

	#main .about .imgBox .textBox p {
		margin-bottom: 15px;
		font-size: 15px;
	}

	#main .about .imgArea {
		margin: 0 auto 60px;
		width: 500px;
	}

	#main .about .imgArea .pho {
		margin-bottom: 20px;
		box-sizing: border-box;
		padding: 25px 10px;
	}

	#main .about .imgArea .pho img {
		width: 400px;
	}

	#main .about .imgArea p {
		font-size: 15px;
	}

	#main .pickup .txtArea p {
		margin-bottom: 20px;
		font-size: 15px;
	}

	#main .shopListArea {
		padding: 60px 0;
	}

	#main .shopListArea .headLine01 {
		margin-bottom: 50px;
	}

	#main .contents:before {
		height: 900px;
		background-size: auto auto;
	}

	#main .contents .headLine01 {
		margin-bottom: 65px;
	}

	#main .contents .innerBox {
		margin:30px 0;
		width: 100%;
	}

	#main .contents .innerBox:last-child {
		margin-bottom: 0;
	}

	#main .contents .innerBox h3 {
		left: -15px;
		top: -25px;
	}

	#main .contents .innerBox h3 img {
		width: 100px;
	}

	#main .contents .goodsList {
		margin-bottom: 30px;
	}

	#main .contents .goodsList li {
		font-size: 15px;
	}

	#main .contents .goodsList li .pho {
		margin-bottom: 20px;
	}

	#main .contents .goodsList li img {
		width: 100%;
		height: auto;
	}

	#main .contents .noteList li {
		font-size: 15px;
	}

	#main .contents .innerBox .photo {
		margin-bottom: 25px !important;
	}

	#main .contents .innerBox .h4Ttl01 {
		margin-bottom: 15px;
		font-size: 18px;
	}

	#main .contents .innerBox .h4Ttl01 .txt {
		font-size: 15px;
	}

	#main .contents .innerBox .text {
		margin-bottom: 20px;
		font-size: 14px;
	}

	#main .contents .lBox {
		width: 480px;
		float: left;
	}

	#main .contents .rBox {
		padding: 20px 15px;
		width: 480px;
		box-sizing: border-box;
		float: right;
	}

	#main .contents .rBox .h4Ttl02 {
		margin-bottom: 30px;
		font-size: 18px;
	}

	#main .contents .rBox .h4Ttl02:before {
		margin-left: -10px;
		width: 20px;
	}

	#main .contents .rBox .textList li {
		margin-bottom: 15px;
		padding-bottom: 20px;
	}

	#main .contents .rBox .textList li h5 {
		margin-bottom: 10px;
		font-size: 15px;
	}

	#main .contents .rBox .textList li .text {
		font-size: 14px;
		letter-spacing: 0;
	}

	#main .contents .rBox .imgBox {
		margin-top: 15px;
	}

	#main .contents .rBox .imgBox .photoBox {
		width: 100px;
	}

	#main .contents .rBox .imgBox .textBox {
		padding-left: 125px;
	}

	#main .contents .rBox .imgBox .textBox .sub:before {
		margin-top: -15px;
		width: 24px;
		height: 30px;
		left: -18px;
	}

	#main .contents .rBox .imgBox .textBox .sub p {
		font-size: 15px;
	}

	#main .contents .imgList li {
		margin: 0;
		width: 480px;
		float: left;
	}

	#main .contents .imgList li:last-child {
		padding: 40px 0 0 0;
		text-align: left;
	}

	#main .contents .imgList li:nth-child(2n) {
		float: right;
	}

	#main .areaMap {
		padding: 60px 0;
	}

	#main .areaMap .headLine01 {
		margin-bottom: 50px;
	}

	#main .access,
	#main .company {
	  background-size: cover;
	  background-attachment: fixed;
 	}
	#main .access {
		padding: 60px 0 30px 0;
	}

	#main .access .headLine01 {
		margin-bottom: 50px;
	}

	#main .access .accessBox {
		margin-bottom: 30px;
	}

	#main .access .comBox {
		width: 60%;
		margin: 0 auto;
	}

	#main .access .accessBox iframe {
		height: 350px;
	}

	#main .about .imgBox .textBox .note {
		margin-bottom: 0;
		padding: 5px 0;
		/*text-indent: -1em;*/
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		font-size:14px;
	}

	#main .comBox .kome {
		font-size: 13px;
	}

	.part1, .part2, .part3 {
		padding: 1px 8px;
		color: #fff;
		font-weight: bold;
		border-radius: 2px;
    font-size: 12px;
    margin-right: 10px;
    display: inline-block;
	}

	.ticket-area .part1 {
		background: #d1b096;
	}

	.ticket-area .part2 {
		background: #b98d6a;
		margin-top: 10px;
	}

	.ticket-area .part3 {
		background: #895832;
		margin-top: 10px;
	}

	.ticket-area .comTab p .time {
		font-size: 14px;
		font-weight: bold;
		margin-right: 24px;
	}

	.ticket-area .comTab p .ticket-time {
		font-size: 12px;
	    background: #f1f1f1;
	    color: #444;
	    padding: 2px 8px;
	    border-radius: 2px;
	    display: inline-block;
	    margin: 5px 0 0 0;
	}

	.ticket-area .comTab p .time {
		font-size: 18px;
		font-weight: bold;
		margin-right: 24px;
	}

	.ticket-area .comTab p .ticket-time {
		font-size: 13px;
	    background: #f1f1f1;
	    color: #444;
	    padding: 2px 10px;
	    border-radius: 2px;
	    display: inline-block;
	    margin: 5px 0 0 0;
	}

}

@media all and (-ms-high-contrast:none) {
	#main .contents .innerBox .h4Ttl01 .txt {
		margin-top: -3px;
		padding: 6px 6px 0;
		line-height: 1.2;
	}
}

/*------------------------------------------------------------
	section別 背景
------------------------------------------------------------*/
section {
	position: relative;
	width: 100%;
	padding: 50px 0 40px 0;
}

@media screen and (min-width: 768px) {
	section {
		padding: 50px 0 80px 0;
	}
}

#news {
	padding: 20px 0 0 0;
	background: #FFFCE4;
}

section.comBox {
	margin-top: 30px;
}

section#a01 {
	background: #FFFCE4;
}

section#a02 {
	background: #FEEED8;
}

section#a03 {
	background: #DCECDD;
}

section#a04 {
	background: #E2F4F5;
}

section#a05 {
	background: #E4E7F4;
}

section#a06 {
	background: #feeed8;
}

section#a07 {
	background: #FFFCE4;
}

section#a08 {
	background: #ffe6e6;
}

section#a09 {
	background: #ffe6e6;
}

section#a10 {
	background: #fff;
}

section#a01::before,
section#a02::before,
section#a03::before,
section#a04::before,
section#a05::before,
section#a06::before,
section#a07::before,
section#a08::before,
section#a09::before {
	content:'';
	font-family:'shape divider from ShapeDividers.com';
	position: absolute;
	bottom: -1px;
	left: -1px;
	right: 0;
	top: 0px;
	z-index: 3;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: 100% 18px;
	background-position: 50% 100%;
}

section#a01::before {
	background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100.86 4.15"><path fill="%23FEEED8" d="M100.86 4.15V.65a9.07 9.07 0 0 0-9.37 1.67 9.07 9.07 0 0 0-12.1 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.06 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.09 0 9.07 9.07 0 0 0-12.08 0 9.07 9.07 0 0 0-12.08 0A9.07 9.07 0 0 0 0 .04v4.1z"/></svg>');
}

section#a02::before {
	background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100.86 4.15"><path fill="%23ffe6e6" d="M100.86 4.15V.65a9.07 9.07 0 0 0-9.37 1.67 9.07 9.07 0 0 0-12.1 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.06 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.09 0 9.07 9.07 0 0 0-12.08 0 9.07 9.07 0 0 0-12.08 0A9.07 9.07 0 0 0 0 .04v4.1z"/></svg>');
}

section#a03::before {
	background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100.86 4.15"><path fill="%23E2F4F5" d="M100.86 4.15V.65a9.07 9.07 0 0 0-9.37 1.67 9.07 9.07 0 0 0-12.1 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.06 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.09 0 9.07 9.07 0 0 0-12.08 0 9.07 9.07 0 0 0-12.08 0A9.07 9.07 0 0 0 0 .04v4.1z"/></svg>');
}

section#a04::before {
	background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100.86 4.15"><path fill="%23E4E7F4" d="M100.86 4.15V.65a9.07 9.07 0 0 0-9.37 1.67 9.07 9.07 0 0 0-12.1 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.06 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.09 0 9.07 9.07 0 0 0-12.08 0 9.07 9.07 0 0 0-12.08 0A9.07 9.07 0 0 0 0 .04v4.1z"/></svg>');
}

section#a05::before {
	background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100.86 4.15"><path fill="%23feeed8" d="M100.86 4.15V.65a9.07 9.07 0 0 0-9.37 1.67 9.07 9.07 0 0 0-12.1 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.06 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.09 0 9.07 9.07 0 0 0-12.08 0 9.07 9.07 0 0 0-12.08 0A9.07 9.07 0 0 0 0 .04v4.1z"/></svg>');
}

section#a06::before {
	background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100.86 4.15"><path fill="%23FFFCE4" d="M100.86 4.15V.65a9.07 9.07 0 0 0-9.37 1.67 9.07 9.07 0 0 0-12.1 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.06 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.09 0 9.07 9.07 0 0 0-12.08 0 9.07 9.07 0 0 0-12.08 0A9.07 9.07 0 0 0 0 .04v4.1z"/></svg>');
}

section#a07::before {
	background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100.86 4.15"><path fill="%23ffe6e6" d="M100.86 4.15V.65a9.07 9.07 0 0 0-9.37 1.67 9.07 9.07 0 0 0-12.1 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.06 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.09 0 9.07 9.07 0 0 0-12.08 0 9.07 9.07 0 0 0-12.08 0A9.07 9.07 0 0 0 0 .04v4.1z"/></svg>');
}

/* section#a08::before {
	background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 100.86 4.15"><path fill="%23DCECDD" d="M100.86 4.15V.65a9.07 9.07 0 0 0-9.37 1.67 9.07 9.07 0 0 0-12.1 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.06 0 9.07 9.07 0 0 0-12.11 0 9.07 9.07 0 0 0-12.09 0 9.07 9.07 0 0 0-12.08 0 9.07 9.07 0 0 0-12.08 0A9.07 9.07 0 0 0 0 .04v4.1z"/></svg>');
} */


@media screen and (min-width: 768px) {
	section#a01::before,
	section#a02::before,
	section#a03::before,
	section#a04::before,
	section#a05::before,
	section#a06::before,
	section#a07::before,
	section#a08::before,
	section#a09::before {
		content:'';
		font-family:'shape divider from ShapeDividers.com';
		position: absolute;
		z-index: 3;
		pointer-events: none;
		background-repeat: no-repeat;
		bottom: -0.1vw;
		left: 0;
		right: 0;
		top: -0.1vw;
		background-size: 100% 31px;
		background-position: 50% 100%;
	}
}

/*------------------------------------------------------------
	section別 タイトル装飾
------------------------------------------------------------*/
section h1,
section h2 {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 600;
	font-style: normal;
}

section h1 {
	font-size: 23px;
	text-align: center;
	line-height: 1.8rem;
}

section h2 {
	font-size: 12px;
	text-align: center;
  margin-top: 0.5rem;
}

@media screen and (min-width: 768px) {
	section h1,
	section h2 {
		font-weight: 500;
	}

	section h1 {
		font-size: 40px;
		line-height: 3.5rem;
	}

	section h2 {
		font-size: 14px;
	  margin-top: 0.45rem;
	}
}


section#a01 h1,
section#a01 h2 {
	color: #E64960;
}

section#a02 h1,
section#a02 h2 {
	color: #F89900;
}

section#a03 h1,
section#a03 h2 {
	color: #4F9F58;
}

section#a04 h1,
section#a04 h2 {
	color: #19A9AF;
}

section#a05 h1,
section#a05 h2 {
	color: #4A62B4;
}

section#a06 h1,
section#a06 h2 {
	color: #F89900;
}

section#a07 h1,
section#a07 h2 {
	color: #F89900;
}

section#a08 h1,
section#a08 h2 {
	color: #d32f2f;
}

section#a09 h1,
section#a09 h2 {
	color: #E64960;
}


/*------------------------------------------------------------
	装飾画像
------------------------------------------------------------*/
img.deco_img_A,
img.deco_img_B {
  width: 140px;
}

img.deco_img_A {
  position: absolute;
  top: -100px;
  right: 2%;
  z-index: 3;
}

img.deco_img_B {
  position: absolute;
  top: -100px;
  left: 2%;
  z-index: 3;
}

@media screen and (max-width: 767px) {
	img.deco_img_A,
	img.deco_img_B {
		width: 100px;
	}
	img.deco_img_A {
	  top: -40px;
	}

	img.deco_img_B {
	  top: -40px;
	}
}


/*------------------------------------------------------------
	お知らせ
------------------------------------------------------------*/
.news-box {
	width: 90%;
	height: 60px;
	padding: 2% 3%;
	margin: 0 auto;
	background: #ffffffc7;
	border-radius: 20px;
}

.news-list{
	width: 98%;
	margin: 0 auto;
	list-style: none outside;

	overflow-y: auto; /* スクロールバーを表示 */
	max-height: 50px; /* 最大高さを指定 */
}

/* スクロールバーのスタイル */
.news-list::-webkit-scrollbar {
	width: 8px; /* スクロールバーの幅 */
}

.news-list::-webkit-scrollbar-track {
	background: #f1f1f1; /* トラックの背景色 */
	border-radius: 10px;
}

.news-list::-webkit-scrollbar-thumb {
	background: #F1A09F; /* サム（つまみ）の色 */
	border-radius: 10px;
}

.news-list::-webkit-scrollbar-thumb:hover {
	background: #DE8D8C; /* サムのホバー時の色 */
}

.news-list .item{
	display: flex;
	flex-wrap: nowrap;
	text-decoration: none;
	color: #333;
	/* border-bottom: 1px solid #CCC; */
	padding: 1px 5px;
}
.news-list .item:first-child a{
  /* border-top: 1px solid #CCC; */
}
.news-list .item .date{
  margin: 0;
  min-width: 18%;
  font-size: 0.75rem;
  color: #999;
  padding: 0 10px 0 0;
}

.news-list .item .title{
  margin: 0;
  line-height: 1rem;
  font-size: 0.75rem;
  width: 100%;
}
.news-list .item .title a{
  font-size: 0.75rem;
  display: inline;
}
.news-list .item a:hover .title{
  color: #00F;
}

@media screen and (min-width: 768px) {
	.news-box {
		width: 90%;
		height: 50px;
		padding: 20px 3%;
	}
	.news-list .item .date{
	  margin: 0;
	  min-width: 90px;
	  font-size: 14px;
	  color: #999;
	  padding: 0 10px 0 0;
	}
	.news-list .item .title{
	  font-size: 1rem;
	}
	.news-list .item .title a{
	  font-size: 1rem;
	}
}

/*------------------------------------------------------------
	コンセプト
------------------------------------------------------------*/
	section#a01 .txtArea p {
		font-family: "Zen Maru Gothic", serif;

		font-size: 0.9rem;
		line-height: 1.2rem;
		font-weight: bold;
		text-align: center;
		margin-bottom: 20px;
	}


@media screen and (min-width: 768px) {
	section#a01 .txtArea p {
		font-size: 15px;
		line-height: 1.6rem;
	}
}


/*------------------------------------------------------------
	会場マップ・ブース
------------------------------------------------------------*/

section#a02 .grid {
	display: grid;
  grid-template-columns: repeat(auto-fit, minmax(49%, 2%));
  gap: 4% 2%;
  max-width: 100%;
  margin: 0 auto 30px;
  align-content: center;
  justify-items: center;
  justify-content: space-around;
}

section#a02 .grid .btn {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	font-style: normal;

  position: relative;
  border: none;
  color: white;
  padding: 2px 13px 8px 13px;
  font-size: 18px;
  font-weight: bold;
  border-radius: 100px;
  cursor: pointer;
  box-shadow: 0 5px 0 rgba(0, 0, 0, 0.1);
  min-width: 100%;
  height: 58px;
  transition: all 0.15s ease;
}

section#a02 .grid .btn:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
}

section#a02 .grid .btn:active {
  transform: translateY(4px);
  box-shadow: 0 0px 0 rgba(0, 0, 0, 0.2);
}

section#a02 .grid .btn .small {
  font-size: 12px;
  font-weight: normal;
  display: block;
}

section#a02 .grid .btn::after {
  content: "▼";
  font-size: 9px;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
}

.green { background-color: #4CAF50; }
.teal { background-color: #38bdbc; }
.blue { background-color: #3f51b5; }
.yellow { background-color: #f3c500; color: #fff; }
.orange { background-color: #f57c00; }
.red { background-color: #d32f2f; }

section#a02 button a {
	font-size: 0.9rem;
	color: #fff;
	text-decoration: none;
}

@media screen and (min-width: 768px) {
	section#a02 .grid {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	  gap: 15px;
	  max-width: 100%;
	  margin: 0 auto 30px;
	}

	section#a02 .grid .btn {
	  position: relative;
	  border: none;
	  color: white;
	  padding: 15px 25px;
	  font-size: 18px;
	  font-weight: bold;
	  border-radius: 100px;
	  cursor: pointer;
	  box-shadow: 0 5px 0 rgba(0,0,0,0.1);
	  min-width: 180px;
		width: 100%;
	  height: 80px;
	  transition: all 0.15s ease;
	}

	section#a02 .grid .btn::after {
	  font-size: 15px;
	  right: 20px;
	}

	section#a02 .grid .btn .small {
	  font-size: 14px;
	}

	section#a02 button a {
		font-size: 20px;
	}
}

/* プレゼント抽選会ボタン */

.present-button {
	width: 100%;
  position: relative;
  display: inline-block;
  background-color: #e84863;
  color: white;
  border: none;
  border-radius: 200px;
  padding: 20px 40px;
  font-family: 'sans-serif';
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  box-shadow: 0 6px 0 rgba(0,0,0,0.1);
  cursor: pointer;
  transition: all 0.2s ease;
}

/* 押し込むようなhover/active */
.present-button:hover {
  transform: translateY(2px);
  box-shadow: 0 3px 0 rgba(0,0,0,0.2);
}

.present-button:active {
  transform: translateY(4px);
  box-shadow: 0 0px 0 rgba(0,0,0,0.2);
}

.present-button .subtitle {
	font-family: "Zen Maru Gothic", serif;
	display: block;
	font-weight: 500;
	font-style: normal;

  font-size: 15px;
}

.present-button .main-title {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	font-style: normal;

  font-size: 20px;
  display: inline-block;
}

/* ▼を疑似要素で追加 */
.present-button::after {
  content: "▼";
  font-size: 14px;
  color: white;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}




@media screen and (min-width: 768px) {
	.present-button .subtitle {
	  font-size: 22px;
	}

	.present-button .main-title {
	  font-size: 40px;
	}
}


/*------------------------------------------------------------
	ワークショップ
------------------------------------------------------------*/

.workshop-box {
	margin-bottom: 40px;
}

.schedule-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.schedule-list li {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  padding-bottom: 8px;
	border-bottom: none;
}

ul.schedule-list li {
	border-bottom: 1px dashed #ccc;
}

ul.schedule-list li:last-child {
    border-bottom: none;
}

ul.schedule-list ul li {
	border-bottom: none;
	margin-bottom: 6px;
  padding-bottom: 0;
}

ul.schedule-list ul li:last-child {
	margin-bottom: 0;
}


.workshop-time {
	font-family: "Zen Maru Gothic", serif;
  background: #eee;
  padding: 8px 12px;
  border-radius: 8px;
  margin-right: 2px;
  font-size: 0.92rem;
  font-weight: bold;
  white-space: nowrap;
}

.event-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex; /* ← 追加 */
  flex-direction: column; /* ← 縦に並べる */
  justify-content: center; /* ← これで天地中央 */
}

.event-list li {
  font-size: 16px;
  margin-bottom: 0;
  padding-left: 16px;
  position: relative;
}

.event-list li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #333;
}

.event-list a {
	color: #000;
	font-size: 0.86rem;
	line-height: 0.88rem;
}

.schedule-menu a.day1_green {
  color: #4F9F58;
  border: 2px solid #4F9F58;
  background-color: #fff;
}

.schedule-menu a.day2_green {
  color: #fff;
  border: 2px solid #4F9F58;
  background-color: #4F9F58;
}

.schedule-menu a.day1_green:hover {
  background-color: #4F9F58;
  color: #ffffff;
}

.schedule-menu a.day2_green:hover {
  background-color: #fff;
  color: #4F9F58;
}

.day-column h3.day1_green,
.day-column h3.day2_green {
	font-family: "Zen Maru Gothic", serif;
  position: relative;
  text-align: center;
  border-radius: 25px;
  width: fit-content;
  margin: 0 auto 20px auto;
  font-weight: bold;

	  font-size: 1rem;
	  padding: 5px 20px;
}

.day-column h3.day1_green {
  color: #4F9F58;
  border: 2px solid #4F9F58;
  background-color: #fff;
}

.day-column h3.day2_green {
  color: #fff;
  border: 2px solid #4F9F58;
  background-color: #4F9F58;
}

@media screen and (min-width: 768px) {
	.workshop-box {
		margin-bottom: 60px;
	}

	.day-column h3.day1_green,
	.day-column h3.day2_green {
	  font-size: 18px;
	  padding: 5px 20px 6px 20px;
	}

	.workshop-time {
		padding: 12px 12px;
		margin-right: 10px;
		font-size: 17px;
	}

	.event-list a {
		color: #000;
		font-size: 16px;
	}

	ul.schedule-list ul li {
		margin-bottom: 10px;
	}

}

/*------------------------------------------------------------
	イベントブース
------------------------------------------------------------*/
span.event-label-1,
span.event-label-2 {
	display: block;
  width: 9rem;
  text-decoration: none;
  border-radius: 25px;
  padding: 2px 11px;
  margin: 0 auto 10px auto;
  text-align: center;
  font-weight: bold;
  transition: background-color 0.2s ease, color 0.2s ease;
}

span.event-label-1 {
  color: #fff;
  border: 2px solid #DB5167;
  background-color: #DB5167;
}

span.event-label-2 {
  color: #fff;
  border: 2px solid #19A9AF;
  background-color: #19A9AF;
}


/*------------------------------------------------------------
	ステージ発表会
------------------------------------------------------------*/

.schedule-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.schedule-menu {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.schedule-menu a {
  text-decoration: none;
  border-radius: 25px;
  padding: 6px 16px;
  font-weight: bold;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.schedule-menu a.day1 {
  color: #4A62B4;
  border: 2px solid #4A62B4;
  background-color: #fff;
}

.schedule-menu a.day2 {
  color: #fff;
  border: 2px solid #4A62B4;
  background-color: #4A62B4;
}

.schedule-menu a.day1:hover {
  background-color: #4A62B4;
  color: #ffffff;
}

.schedule-menu a.day2:hover {
  background-color: #fff;
  color: #4A62B4;
}

.day-column {
  background: #ffffff;
  border-radius: 15px;
  padding: 20px 20px 0 20px;
  width: 45%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.day-column h3.day1,
.day-column h3.day2 {
	font-family: "Zen Maru Gothic", serif;
  position: relative;
  text-align: center;
  font-size: 18px;
  border-radius: 25px;
  padding: 5px 20px 6px 20px;
  width: fit-content;
  margin: 0 auto 20px auto;
  font-weight: bold;
}

.day-column h3.day1 {
  color: #4A62B4;
  border: 2px solid #4A62B4;
  background-color: #fff;
}

.day-column h3.day2 {
  color: #fff;
  border: 2px solid #4A62B4;
  background-color: #4A62B4;
}

.slot {
  display: flex;
  gap: 12px;
  margin-bottom: 11px;
  border-bottom: 1px dashed #ccc;
}

.slot:last-child {
  border-bottom: none;
}

.slot img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
}

.slot-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.name {
	font-family: "Zen Maru Gothic", serif;
	font-size: 1.1rem;
  font-weight: bold;
  color: #4A62B4;
  margin: 0;
}

.desc {
  color: #333;
  margin: 4px 0;
}

.sponsor {
  font-size: 0.85em;
  color: #666;
  margin: 4px 0;
}

.link {
  display: inline-block;
  font-size: 0.9em;
  margin-right: 10px;
}

.time {
	font-family: "Zen Maru Gothic", serif;
  width: 100%;
  font-weight: bold;
  color: #4A62B4;
  margin-bottom: 8px;
  font-size: 20px;
}

.instagram {
  color: #d13c3c;
}

.official {
  color: #2b50d4;
}

.sponsor {
  font-size: 0.85em;
  color: #666;
  margin: 4px 0;
}

@media (max-width: 768px) {
  .schedule-container {
    flex-direction: column;
    align-items: center;
  }

  .day-column {
    width: 90%;
  }

	.day-column h3.day1,
	.day-column h3.day2 {
	  font-size: 1rem;
	  padding: 5px 20px;
	}

	.slot img {
	    height: 80px;
	}

	.slot {
		margin-bottom: 10px;
		gap: 8px;
	}

	.time {
    margin-bottom: 2px;
		font-size: 1.2rem;
	}

	.desc {
		font-size: 0.8rem;
		line-height: 0.9rem;
		margin: 2px 0;
	}
	.link {
	  font-size: 0.75em;
	}
	.link a {
	  font-size: 0.75em;
	}
}


/*------------------------------------------------------------
	プレゼント
------------------------------------------------------------*/
.present-box,
.line-section {
  background: #ffffff;
	width: 94%;
	padding: 6% 3%;
	box-shadow: 0px 24px 25px -22px #0000001f;
  border-radius: 14px;
 }

.present-box {
	margin-top: 30px;
}

.present-box h3,
.line-section h3 {
	color: #E64960;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.3rem;
	margin-bottom: 10px;
}

.present-box .prize-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  justify-content: center;
  gap: 6px;
  margin-bottom: 20px;
}

.present-box .prize {
  width: calc(48% - 6px);
  text-align: center;
}

.present-box .prize img {
  width: 100%;
  border-radius: 8px;
  object-fit: cover;
}

.present-box .prize h4 {
  margin: 8px 0 4px;
  font-size: 0.8rem;
	line-height: 1.1rem;
}

.present-box .prize small {
	display: inline-block;
	font-size: 0.8rem;
	color: #000;
	background: #eeeeee;
	border-radius: 30px;
	padding: 2px 12px;
	margin: 8px 0;
}

.present-box .prize a {
  display: inline-block;
  font-size: 0.75rem;
  color: #0FB1AD;
  text-decoration: underline;
  margin-top: 2px;
}

.present-box .reward-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 7px 0;
  color: #000;
  border-bottom: 3px dotted #ddd;
}

.present-box .level {
  font-weight: bold;
  width: 92px;
  padding: 23px 4px;
  border-radius: 20px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  margin-right: 12px;
  white-space: nowrap;
}

.present-box .stamp_10 { background: linear-gradient(to right, #EFCA28, #EFCA28); }
.present-box .stamp_20 { background: linear-gradient(to right, #F48D23, #F48D23); }
.present-box .stamp_all { background: linear-gradient(to right, #D63C3C, #D63C3C); }

.details {
  flex: 1;
  font-size: 0.9rem;
  line-height: 1.4rem;
}

.present-box .highlight {
  color: #e60039;
  font-weight: bold;
  font-size: 1rem;
}

.present-box .extra-section {
	background-color: #0fb1ad;
	color: white;
	text-align: center;
	border-radius: 60px;
	margin: 30px auto 0 auto;
	padding: 10px 20px;
	font-weight: bold;
	margin-bottom: 20px;
	width: 80%;
}

.present-box .note {
	display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
  width: 90%;
  margin: 0 auto 10px auto;
  padding-left: 1rem;
}
.present-box .note p {
	font-size: 0.9rem;
}

.present-box .note-dot {
  width: 10px;
  height: 10px;
  background-color: #e60039;
  border-radius: 50%;
  margin-right: 10px;
  margin-top: 7px;
  flex-shrink: 0;
}

button.line-button {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
  position: relative;
  border: none;
  padding: 12px 13px 17px 13px;
	font-size: 1rem;
  font-weight: bold;
  border-radius: 100px;
  cursor: pointer;
  box-shadow: 0 5px 0 rgba(0, 0, 0, 0.1);
  min-width: 100%;
  height: 58px;
  transition: all 0.15s ease;
  background: #e84863;
  color: #fff;
  display: block;
}

button.line-button:hover {
    transform: translateY(2px);
    box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
}

button.line-button::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}

@media (max-width: 600px) {
  .reward-box {
    align-items: flex-start;
  }
  .level {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  .prize {
    width: calc(50% - 10px);
  }
  .stamp-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media screen and (max-width: 480px) {
  .prize {
    width: 100%;
  }
  .line-item {
    width: 45%;
  }
}

@media screen and (min-width: 768px) {
	.present-box,
	.line-section {
		padding: 3%;
	 }

	.present-box h3,
	.line-section h3 {
		font-size: 27px;
	}

	.present-box .reward-box {
	  padding: 12px;
	}

	.present-box .prize h4 {
	  font-size: 1rem;
	}
	.present-box .prize-grid {
	  display: flex;
	  flex-wrap: wrap;
	  justify-content: space-between;
	  justify-content: center;
	  gap: 12px;
	}
	.present-box .prize {
	  width: calc(24% - 6px);
	  text-align: center;
	}
	.present-box .prize a {
	  font-size: 0.9rem;
	  line-height: 1.1rem;
	}
	.present-box .prize small {
		font-size: 1rem;
	}

	.present-box .level {
	font-weight: bold;
	width: 140px;
	padding: 30px 20px;
	border-radius: 20px;
	color: #fff;
	font-size: 1.1rem;
	text-align: center;
	margin-right: 15px;
	white-space: nowrap;
	}

	.details {
	  flex: 1;
	  font-size: 17px;
	}

	.present-box .note p {
		font-size: 15px;
	}

	.present-box .highlight {
	  font-size: 1.2rem;
	}

	button.line-button {
		min-width: 60%;
	  width: 60%;
	  margin: 0 auto;
	  font-size: 1.2rem;
	}
}

/*------------------------------------------------------------
	イベント概要
------------------------------------------------------------*/
section#a10 .logo_B {
	width: 70%;
}

section.access .txtArea {
	border: 2px solid #3E3E3E;
	padding: 3% 4% 4% 4%;
	margin: 30px 0;
	border-radius: 20px;
}

section.access .kome {
	font-size: 0.9rem;
}

section.access h2 {
  font-size: 1.2rem;
  margin-bottom: 20px;
  text-align: center;
}

section#a10 .accessBox iframe {
	width: 100%;
}

@media screen and (min-width: 768px) {
	section.access .kome {
	  font-size: 15px;
	}

	section.access h2 {
	  font-size: 20px;
	}

	section#a10 .logo_B {
		width: 360px;
	}
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	background: #EF938E;
	padding-top: 40px;
}

#gFooter .fLogo {
  display: block;
  width: 200px;
  margin: 0 auto 30px auto;
  text-align: center;
}

#gFooter .fLogo a {
  display: inline-block;
}

#gFooter .txt {
    margin: 35px 10px;
	color: #FFF;
	font-size: 12px;
	text-align: center;
	line-height: 1.79;
}

#gFooter .txt a {
	color: #FFF;
	text-decoration: none;
}

#gFooter .copyright {
	padding: 9px 10px 7px;
	color: #FFF;
	text-align: center;
	font-size: 10px;
}


@media screen and (min-width: 768px) {
	#gFooter .fLogo {
	  width: 300px;
	}
}

/*------------------------------------------------------------
	動画
------------------------------------------------------------*/
.movie {
    border: 1px solid #fff;
    padding: 10px;
    margin: 0 auto 40px auto;
    width: 70%;
    height: 400px;
}

.movie iframe {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.movie {
	    padding: 6px;
	    margin: 0 auto 30px auto;
	    width: 96%;
	    height: 190px;
	}
}

/*------------------------------------------------------------
	ピックアップ
------------------------------------------------------------*/


@media screen and (max-width: 767px) {

.pickup .flex-item{
    position: relative;
}

.pickup .flex-item:not(:last-child){
  margin-bottom: 20px;
}

.pickup .flex-item__img-typeA {
  width: 70%;
	position: relative;
}

.pickup .flex-item__img-typeB {
    width: 70%;
    display: block;
    margin: 0 0 0 auto;
	position: relative;
}

.pickup .flex-item__img-typeA img.content-img,
.pickup .flex-item__img-typeB img.content-img{
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 30px;
}


.pickup .flex-item__img-typeA img.status-icon {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 90px;
}

.pickup .flex-item__img-typeB img.status-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 90px;
}

.pickup .flex-item__txtA{
	width: 200px;
    position: absolute;
    padding-left: 40px;
    z-index: 10;
    right: 0;
    top: 30px;
}

.pickup .flex-item__txtB{
    position: absolute;
    z-index: 10;
    left: 0;
    top: 30px;
}

.pickup .flex-item__txtA h2,
.pickup .flex-item__txtB h2 {
  padding-top: 20px;
}



/* ピックアップribbon	 h2タイトル */
.pickup h2.ribbon-pickup-white {
	margin:0 auto 30px auto;
	font-size: 15px;
    letter-spacing: 0.1em;
    z-index: 1;
}

.pickup h2.ribbon-pickup-white span {
    padding: 10px 15px;
	display: inline-block;
	background: #fff;
    color: #0A0F29;
}


.pickup h2.ribbon-pickup-white span:first-child {
	margin-bottom: 10px;
}

.moreLink {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
	color: #fff;
	position: relative;
	right: 0;
	margin-top: 10px;
	float: right;
	padding-right: 20px;
}

.moreLink-B {
    position: relative;
    left: 0;
    margin-top: 10px;
    padding-right: 20px;
    float: left;
}

.moreLink:before {
	content: "Check!";
	position: absolute;
	bottom:5px;
	left: 10px;
}

.moreLink-B:before {
	content: "Check!";
	position: absolute;
	bottom:5px;
	left: 10px;
}

.moreLink:hover .lineArrow  {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
}
.moreLink:hover {
    color: #fff;
}
.lineArrow {
  width: 76px;
  height: 8px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skew(45deg);
  margin: -10px 0 0 -5px;
}

}



@media screen and (min-width: 768px) {
	.pickup .flex-item{
	  display: flex;
	  justify-content: space-between;
	}

	.pickup .flex-item:not(:last-child){
	  margin-bottom: 50px;
	}

	.pickup .flex-item:nth-child(even){
	  flex-direction: row-reverse;
	}

	.pickup .flex-item__img {
	  width: 47%;
	  align-items: center;
	  padding-right: 10px;
	}


	.pickup .flex-item__img-typeA,
	.pickup .flex-item__img-typeB {
	  position: relative;
	}

	.pickup .flex-item__img-typeA img.status-icon {
	    position: absolute;
	    top: 10px;
	    left: 10px;
	    width: 110px;
	}

	.pickup .flex-item__img-typeB img.status-icon {
	    position: absolute;
	    top: 10px;
	    right: 20px;
	    width: 110px;
	}

	.pickup .flex-item__img img.content-img{
		width: 100%;
	    height: 300px;
	    object-fit: cover;
	    border-radius: 30px;
	}

	.pickup .flex-item__txt{
	  width: 47%;
	}

	.pickup .flex-item__txt h2 {
	  padding-top: 20px;
	}

	/* ピックアップribbon	 h2タイトル */
	.pickup h2.ribbon-pickup-white {
		margin:0 auto 30px auto;
		font-size: 24px;
	    letter-spacing: 0.16em;
	    z-index: 1;
	}

	.pickup h2.ribbon-pickup-white span {
	    padding: 10px 20px;
		display: inline-block;
		background: #fff;
	    color: #d13447;
	}

	.pickup h2.ribbon-pickup-white span:first-child {
		margin-bottom: 10px;
	}

	.pickup .flex-item__txt p{
	  line-height: 1.5;
	  color:#fff;
	}

	.moreLink {
	  -webkit-transition: all 0.3s ease;
	  -moz-transition: all 0.3s ease;
	  -o-transition: all 0.3s ease;
	  transition: all  0.3s ease;
	    color: #d13447;
	    position: relative;
	    right: 0;
	    margin-top: 60px;
	    float: right;
	    padding-right: 30px;
	}

	.moreLink:before {
		content: "Check!";
		position: absolute;
		bottom:5px;
		left: 10px;
	}

	.moreLink:hover .lineArrow  {
	    border-bottom: 1px solid #C31E32;
	    border-right: 1px solid #C31E32;
	}
	.moreLink:hover {
	    color: #C31E32;
	}
	.lineArrow {
	  width: 90px;
	  height: 8px;
	  border-bottom: 1px solid #d13447;
	  border-right: 1px solid #d13447;
	  transform: skew(45deg);
	  margin: -10px 0 0 -5px;
	}

}


/*------------------------------------------------------------
	ミライノヒメジ
------------------------------------------------------------*/


/*------------------------------------------------------------
	ステージ
------------------------------------------------------------*/

ol.marche-list {
	width: 100%;
	counter-reset: my-counter;
	list-style: none;
	padding: 0;

    display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
}


ol.marche-list.later21 {
    counter-reset: my-counter 21;
    padding: 0;
}

ol.marche-list li {
  width: 40%;
  margin-bottom: 10px;
  padding-left: 30px;
  position: relative;
  display: inline-block;
  vertical-align: top;
  font-size: 11px;
}

ol.marche-list li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #cea754;
	color: #fff;
	display: block;
	float: left;
	line-height: 22px;
	margin-left: -30px;
	text-align: center;
	height: 22px;
	width: 22px;
	border-radius: 50%;
}

ol.marche-list li a {
  color: #006836;
  font-weight: bold;
  font-size: 12px;
  word-break: break-all;
}

ol.marche-list li span {
  color: #000;
  display: block;
  font-size: 11px;
  line-height: 1em;
  margin-top: 4px;
}

/*
ol.marche-list li span.ws {
  color: #000;
  background: #fff;
  display: block;
  width: 9em;
  text-align: center;
  border-radius: 4px;
  font-size: 12px;
  padding: 2px 0;
}
*/

.kome-marche {
	font-size: 13px;
	text-align: center;
	margin-bottom: 20px;
}
@media screen and (min-width: 768px) {

	ol.marche-list li {
		width: 30%;
		margin-bottom: 10px;
		padding-left: 30px;
		position: relative;
		display: inline-block;
		vertical-align: top;
		font-size: 14px;
	}

	ol.marche-list li span {
	  font-size: 13px;
	}

	ol.marche-list li a {
	  font-size: 14px;
	}

}


/*------------------------------------------------------------
	title deco
------------------------------------------------------------*/
.gacha-title {
	margin:0 auto 20px auto;
	text-align: center;
}
.gacha-title img {
	width: 90%;
}

.gacha-obje {
	position: absolute;
	right: 10px;
	bottom: -20px;
	width: 80px;
	transform:rotate(15deg);
}

@media screen and (min-width: 768px) {
	.gacha-title {
		margin:0 auto 40px auto;
		text-align: center;
		width: 450px;
	}
	.gacha-title img {
		width: 550px;
	}

	.gacha-obje {
		position: absolute;
		right: 10px;
		bottom: -20px;
		width: 140px;
		transform:rotate(15deg);
	}

}

/*------------------------------------------------------------
	タイトル deco
------------------------------------------------------------*/
/* #a02 h2 {
	z-index: 10;
}

#a02 h2:before {
	content: '';
    display: inline-block;
    width: 300px;
    height: 109px;
    background-image: url(../image/title-logo-2.png);
    background-size: contain;
    vertical-align: middle;
} */

.title-logo {
	position: relative;
}

.title-logo-img {
	position: absolute;
	top: -63px;
    left: -3%;
    width: 200px;
    z-index: 1;
}

.status-icon {
	display: block;
	width: 120px;
	margin:0 auto 20px auto;
}


@media screen and (min-width: 768px) {
	.title-logo-img {
    top: -65px;
    left: -5%;
    width: 300px;
	}
}

/*------------------------------------------------------------
	スクロール
------------------------------------------------------------*/
a.scroll-down {
  display: inline-block;
  position: absolute;
  right: 18px;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 40px;
  overflow: hidden;
  color: #fff;
  font-size: 9px;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}

a.scroll-down::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 30px;
  background: #fff;
}

a.scroll-down::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 30px;
  background: rgba(255, 255, 255, .4);
  z-index: 2;
}
a.scroll-down::after {
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  z-index: 2;
}


@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@media screen and (min-width: 768px) {
	a.scroll-down {
	  right: 40px;
	  padding: 10px 10px 90px;
	  }

	a.scroll-down::after {
	  height: 80px;
	}

	a.scroll-down::before {
	  height: 80px;
	}
}
