@charset "UTF-8";
html {
	overflow-x: hidden;
}
a:hover img {
	opacity: 0.8;
}
/* パララックス */
.inVtop {
	transform: translate(0, -20px);
	-webkit-transform: translate(0, -20px);
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: 0.4s;
}
.inV {
	transform: translate(0, 40px);
	-webkit-transform: translate(0, 40px);
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
}
.inVright {
	transform: translate(40px, 0);
	-webkit-transform: translate(40px, 0);
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
}
.inVleft {
	transform: translate(-40px, 0);
	-webkit-transform: translate(-40px, 0);
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
}
.inVopen {
	transform: scale(.5);
	-webkit-transform: scale(.5);
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
	transition-delay: 0.8s;
}
.inV1 {
	transition-delay: 0.8s;
}
.inV2 {
	transition-delay: 1.2s;
}
.inV3 {
	transition-delay: 1.6s;
}
.inV4 {
	transition-delay: 2.0s;
}
.inValpha {
	filter: alpha(opacity=0);
	opacity: 0.0;
	-moz-opacity: 0.0;
	transition: .8s;
	/*transition-delay: 0.8s;*/
}
.inSc,
.inVp,
.inVsc {
	transform: scale(.8);
	filter: alpha( opacity=0 );
	opacity: 0;
	transition: .3s;
	transition-delay: 1s;
}
.inAnime {
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	filter: alpha(opacity=100);
	opacity: 1.0;
	-moz-opacity: 1.0;
}
.zoom {
	opacity: 0;
}
.zoom.is-animated {
	animation: zoom 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
	animation-delay: 0.4s;
}
@keyframes zoom {
	0% {
		opacity: 0;
		transform: scale(1);
	}
	50% {
		transform: scale(1.2);
	}
	65% {
		transform: scale(0.9);
	}
	100% {
		transform: scale(1);
	}
	20%,
	100% {
		opacity: 1;
	}
}

main {
	font-family: YakuHanJP, "Noto Sans JP", Meiryo, sans-serif;
}
header {
	top: 0;
}
.header {
	position: relative;
}
#main_img {
	padding-bottom: 70px;
	position: relative;
	background-image: url("../images/bg_main02.png"), linear-gradient(0deg, rgba(129, 196, 231, 1), rgba(157, 215, 244, 1));
	background-position: center top;
	background-repeat: no-repeat;
	font-family: YakuHanJP, "Noto Sans JP", Meiryo, sans-serif;
}
#navi,
#navi_flow {
	width: 100%;
	z-index: 999;
	position: relative;
	background-color: #5C3F31;
}
#navi_flow.fixed {
	display: block;
	position: fixed;
	top: 0;
}
#navi ul,
#navi_flow ul {
	width: 1000px;
	display: flex;
	margin: 0 auto;
	justify-content: space-between;
	background: #fff;
}
#navi li,
#navi_flow li {
	width: 332px;
}
#navi a,
#navi_flow a {
	height: 50px;
}
#navi_flow,
#navi2 {
	display: none;
}
#navi a:hover,
#navi_flow a:hover,
#navi2 a:hover {
	opacity: 0.9;
}
body {
	overflow-x: hidden;
}
h1 {
	margin: 0 auto;
	padding: 89px 0 120px;
	position: relative;
	text-align: center;
	background: url("../images/bg_main01.png") center top 46px no-repeat;
}

section {
/*
	padding-top: 50px;
	margin-top: -50px;
*/
	margin-top: 10px;
	padding-bottom: 80px;
	position: relative;
}
#present {
	width: 800px;
	margin: 0 auto;
	background: url("../images/bg_present.png"), #fff;
	background-position: right 30px top 48px;
	background-repeat: no-repeat;
	background-size: 142px;
	border: 2px solid #0068B6;
	border-radius: 1em;
}
#contents {
	background: url("../images/bg_contents.png");
}
#event {
	background: url("../images/bg_event.png");
}
#info {
	background: url("../images/bg_info.png");
}



h2 {
	padding-top: 65px;
	text-align: center;
}
#present h2 {
	margin-bottom: 5px;
	padding: 0;
}
#present h2 span {
	margin-bottom: 12px;
	display: block;
	background: #0068B6;
	color: #fff;
	border-radius: 0.5em 0.5em 0 0;
	font-family: YakuHanJP, "Noto Sans JP", Meiryo, sans-serif;
	font-size: 1.9rem;
	font-weight: 500;
}
#present h2 img {
	width: 420px;
}
#contents h2 img {
	width: 389px;
}
#event h2 img {
	width: 329px;
}
#info h2 img {
	width: 305px;
}
#info h2 {
	margin-bottom: 40px;
}
h3, h4, h5, h6 {
	text-align: center;
}
h3.present_head {
	width: 264px;
	margin: 0 auto;
}
.op_wrap .contents01 h4,
#event h3.inV,
#event h3 span.inV,
#event .event_rika h4 {
	margin: 50px auto 35px;
	color: #0075C2;
	font-size: 2.4rem;
	font-weight: 800;
	line-height: 1.0;
}
#event .rika02 h4,
#event .rika03 h4,
#event .rika04 h4 {
	margin: 50px auto 20px;
}
.op_wrap .contents01 h4 {
	margin: 0 -225px 35px;
	color: #000;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
	position: relative;
}
.op_wrap .contents01 h4 img {
	width: 1000px;
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
}
#event h3 span.inV {
	display: block;
	margin-bottom: 0;
}
#event h3 .wday_head {
	margin-top: 15px;
	display: block;
	color: #000;
	font-size: 1.2rem;
	font-weight: 500;
}
.event_rika h3 {
	width: 355px;
}

#event .event_rika h4 {
	width: 600px;
	padding-bottom: 0.25em;
	/*border-bottom: 1px solid #0075C2;*/
}
#event .rika01 h4 {
	width: auto;
	margin: 0 auto 20px 0;
	border-bottom: none;
	font-size: 1.8rem;
	text-align: left;
}
#event .event_rika h4 span {
	/*margin-right: 0.5em;
	font-size: 1.8rem;*/
	font-weight: 800;
}
#event .rika04 h4 span {
	margin: 0 0 0.5em 0;
	display: block;
	font-size: 1.8rem;
	font-weight: 800;
}
.challenge h4 {
	font-size: 2.0rem;
}
.challenge h4 span {
	display: block;
	font-weight: 800;
}
.challenge h4 img {
	margin: 0 auto 5px;
	display: block;
}
#event .wday h4 {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.0;
}
#event .wday > div > div > h4 {
	width: 290px;
	margin: 0 auto 10px;
}
.op_wrap h5 {
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #00508E;
	font-size: 1.8rem;
	line-height: 1.5;
}
.op_wrap h5 span span {
	background: linear-gradient(to bottom , #fff, #fff 55%, #FFF496 55%, #FFF496 95%, #fff 95%);
	font-weight: 800;
}
.op_wrap h5:before {
	content: url("../images/bg_h5l.svg");
	margin: 0.25em 1.25em 0 0;
}
.op_wrap h5:after {
	content: url("../images/bg_h5r.svg");
	margin: 0.25em 0 0 1.25em;
}
.challenge h5 {
	margin-bottom: -0.5em;
	color: #E76D83;
	font-size: 1.7rem;
	font-weight: 700;
}
.join h5 {
	width: 100%;
}
h6 {
	margin-bottom: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #00508E;
	font-weight: 600;
}
.op_wrap h6:before {
	content: url("../images/bg_h6l.svg");
	margin: 0.25em 0.5em 0 0;
}
.op_wrap h6:after {
	content: url("../images/bg_h6r.svg");
	margin: 0.25em 0 0 0.5em;
}
#present h3 {
	margin-bottom: 20px;
}
.op h3 {
	width: 286px;
	margin-left: 35px;
	margin-bottom: 207px;
}
.entry h4 {
	text-align: left;
}
.entry h4 img {
	margin-left: -5px;
}
.op_wrap h4 {
	margin-bottom: -20px;
}
.op_wrap h4 img {
	width: 444px;
}
h4.reco {
	margin: 0 -100px 30px;
	font-weight: 500;
}
.op_wrap h4.reco img {
	width: 1000px;
	margin-bottom: -6em;
}

#event .campaign h4 {
	margin-top: 0;
	color: #CD3E75;
	border: none;
}
.period {
	margin-bottom: 15px;
	text-align: center;
}
.period span {
	margin-right: 1em;
	padding: 0 0.5em 0.25em;
	background: #E62E8B;
	color: #fff;
	border-radius: 1em;
	font-size: 1.2rem;
}
.entry {
	width: 720px;
	margin: 0 auto 35px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 35px 1fr;
	gap: 0px 24px;
	grid-template-areas: "step1 step2 step3" "cont1 cont2 cont3";
	background: url("../images/bg_present03.svg"), url("../images/bg_present01.svg"), url("../images/bg_present02.svg");
	background-position:  center top, center center, center top;
	background-repeat: repeat-x, no-repeat, repeat-y;
}
.step1_head { 
	grid-area: step1;
}
.step2_head {
	grid-area: step2;
}
.step3_head {
	grid-area: step3;
}
.step1 {
	grid-area: cont1;
}
.step2 {
	grid-area: cont2;
}
.step3 {
	grid-area: cont3;
}
.entry > div {
	min-height: 260px;
	width: 224px;
	position: relative;
	background: url("../images/bg_entry02.png") center bottom no-repeat;
	font-size: 1.2rem;
}
.entry > div:nth-child(2) {
	background: url("../images/bg_entry01.png") center bottom no-repeat;
}
.entry > div:last-child {
	background: url("../images/bg_entry03.png") center bottom no-repeat;
}
.entry p {
	line-height: 1.2;
}
.entry > div:first-child p {
	line-height: 1.35;
	letter-spacing: -0.0325em;
}
.entry span {
	font-size: 0.8rem;
}
.entry span.marker {
	background: linear-gradient(transparent 20%, #FFEF00 20%);
	font-size: 1.2rem;
}
.entry span.line {
	background: linear-gradient(transparent 95%, #F00 95%);
}
.entry span.word {
	margin-right: 0.25em;
	padding: 0.125em 0.5em;
	background: #E62E8B;
	border-radius: 1em;
	color: #fff;
	font-size: 1.0rem;
	line-height: 1.6;
	letter-spacing: -0.065em;
}
.entry span.word span {
	color: #FFF13F;
	font-size: 1.2rem;
	font-weight: 600;
}
.entry > div p:last-child {
	width: 280px;
	position: absolute;
	left: -3em;
	bottom: 0;
	font-size: 10px;
	transform: scale(0.8);
	-webkit-transform: scale(0.8);
	-moz-transform: scale(0.8);
	-ms-transform: scale(0.8);
	-o-transform: scale(0.8);
}
.entry > div.step3 span {
	width: 280px;
	display: block;
	margin-left: -3em;
	font-size: 10px;
	transform: scale(0.8);
	-webkit-transform: scale(0.8);
	-moz-transform: scale(0.8);
	-ms-transform: scale(0.8);
	-o-transform: scale(0.8);
}
.entry > div.step3 p:last-child span {
	margin-left: 0;
	color: #E60012;
	font-size: 12px;
	white-space: nowrap;
	transform: scale(1.0);
	-webkit-transform: scale(1.0);
	-moz-transform: scale(1.0);
	-ms-transform: scale(1.0);
	-o-transform: scale(1.0);
}
.entry a {
	display: block;
	text-decoration: none;
	color: #E60012;
	font-size: 12px;
}
.entry a span {
	display: inline-block;
	transform: rotate(90deg);
}
.entry .register {
	position: absolute;
	left: 2px;
	bottom: 7px;
	font-size: 0.8rem;
}
.prize {
	width: 630px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.prize div {
	width: 150px;
	padding: 8px 0 0 8px;
	position: relative;
	background: #FFF7B9;
	border-radius: 1em;
}
.prize p {
	text-align: center;
	font-size: 1.1rem;
	line-height: 1.2;
}
.prize p:first-child {
	margin-bottom: 8px;
}
.prize p:last-child img {
	max-width: 135px;
	max-width: 100%;
}
.prize p.item {
	position: absolute;
	left: 67px;
	top: 32px;
	text-align: left;
	line-height: 1.1;
}
.prize > div:last-child p.item {
	letter-spacing: -0.065em;
}
.prize div .pic {
	margin: 0 12px 0 4px;
}
.prize div:nth-child(3) .pic {
	margin: 0 6px 0 0 2px;
}
.prize div:last-child .pic {
	margin: 0 8px 0 0;
}
.more {
	margin: 1em 0;
	color: #E62E8B;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
}
.op {
	background: url("../images/bg_op.png") center top 7px no-repeat;
}
.op div {
	width: 673px;
	margin: -14px auto 0;
	padding: 130px 0 0;
	position: relative;
}
.op .comment {
	padding-bottom: 264px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #674837;
	text-align: center;
	font-size: 1.65rem;
	line-height: 1.5;
}
.op .comment:before {
	content: url("../images/bg_comment01.png");
	margin: 0.25em 0.5em 0 0;
}
.op .comment:after {
	content: url("../images/bg_comment02.png");
	margin: 0.25em 0 0 0.5em;
}
.op .center {
	color: #00508E;
	font-size: 1.5rem;
}
.op_wrap {
	width: 800px;
	margin: 0 auto 30px;
	padding: 75px 0 55px;
	background: #fff;
	border: 3px solid #6FA3C8;
	border-radius: 2em;
}
.op_wrap > p {
	width: 605px;
	margin: 0 auto 35px;
	font-size: 1.2rem;
}
.op_item01 {
	width: 605px;
	margin: 0 auto 40px;
	display: flex;
	justify-content: space-between;
}
.op_item01 p {
	width: 228px;
	font-size: 1.4rem;
	line-height: 1.3;
}
.op_item01 p:first-child,
.op_item01 p:last-child {
	width: 187px;
}
.op_item01 a,
.op_item02 a {
	margin-bottom: 0.75em;
	display: block;
}
.op_item02 {
	width: 540px;
	margin: 0 auto 50px;
	display: flex;
	justify-content: space-between;
}
.op_item02 p {
	width: 270px;
	font-size: 1.4rem;
	line-height: 1.3;
}
.mshop img {
	width :505px;
}
.contents01 {
	width: 600px;
	margin: 0 auto;
	padding: 50px 25px 0;
	position: relative;
	/*background: url("../images/bg_opw.png"), #FBECF0;
	background-position: center top;
	background-repeat: no-repeat;
	border-radius: 2em;*/
}
#contents .contents01 table {
	margin-top: 6.5em;
}

.tp_item {
	width: 540px;
	margin: 0 auto 70px;
	padding: 30px 30px 1px;
	background: #FFF7B9;
	border-radius: 1em;
}
.tp_item > div {
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
}
.tp_guide p,
.tp_item > div p,
.challenge p {
	font-size: 1.2rem;
}
.tp_item > div p {
	line-height: 1.4;
}
.tp_item > div p span {
	display: block;
	margin-bottom: 1em;
}
.tp_guide p:first-child,
.tp_item > div p:first-child {
	flex-shrink: 0;
}
.tp_guide p:first-child {
	width: 300px;
	margin-right: 30px;
}
.tp_item > div p:first-child {
	width: 205px;
	margin-right: 20px;
}
.challenge {
	width: 800px;
	margin: 0 auto;
	padding: 7px;
	background: #fff;
}
.challenge > div {
	border: 2px solid #E76D83;
	padding: 40px 90px;
}
.challenge > div > div {
	width: 600px;
	display: flex;
	justify-content: space-between;
	background: url("../images/bg_challenge.svg") center no-repeat;
}
.challenge > div > div > div {
	min-height: 230px;
	width: 128px;
	position: relative;
}
.challenge p {
	margin-top: 0.5em;
	text-align: center;
	line-height: 1.3;
	letter-spacing: -0.075em;
}
.challenge div p:last-child {
	position: absolute;
	bottom: 0;
}
#event > div {
	width: 800px;
	margin: 40px auto 0;
	background: #fff;
	border: 2px solid #0075C2;
}
.contents01 .detail p,
#event .detail p {
	font-size: 1.2rem;
}
#event .detail .coupon {
	margin: 0.5em 0 1em -1.5em;
	transform: scale(0.9);
}
#event .detail .coupon .marker {
	display: inline;
	background: linear-gradient(transparent 20%, #FFEF00 20%);
}
.wday > div {
	width: 600px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.wday > div > div {
	margin-top: 30px;
}
.detail {
	display: flex;
	justify-content: space-between;
}
.contents01 .detail,
#event .detail {
	margin: 0 auto;
}
.contents01 .detail div,
#event .detail div {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: baseline;
}
.contents01 .detail {
	justify-content: flex-start;
	align-items: flex-start;
}
.contents01 .detail .pic {
	margin-right: 30px;
}
.contents01 .detail div p {
	margin-bottom: 5em;
}
#event .event01 .detail {
	width: 645px;
	margin: 0 auto 0 100px;
}
#event .event01 .detail div {
	width: 315px;
}
#event .wday .detail {
	width: 380px;
	margin-left: 125px;
}
#event .wday .program2.detail {
	margin-left: 60px;
}
#event .wday .program1_wrap {
	width: 450px;
	display: flex;
	justify-content: space-between;
}
#event .wday .program1_wrap div {
	width: 135px;
}
#event .wday .detail.program2 {
	width: 350px;
	justify-content: flex-start;
}
.event_rika .rika01,
.event_rika .rika02,
.event_rika .rika04 {
	padding-bottom: 40px;
	background: url("../images/border_rika.svg") center bottom no-repeat;
}
#event .event_rika .detail div p {
	font-size: 1.2rem;
}
#event .event_rika .detail {
	margin: 0 auto 0 100px;
	justify-content: flex-start;
}
#event .rika01 .detail {
	align-items: center;
}
#event .rika02,
#event .rika04 {
	width: 600px;
	margin: 0 auto;
}
.event_rika .detail td {
	padding-left: 0.5em;
}
#event .rika02 .detail {
	margin: 0 auto;
	display: grid;
	grid-template-columns: 300px 1fr;
	grid-template-rows: auto 1fr;
	gap: 0 15px;
	align-items: stretch; 
	grid-template-areas: "a d" "b d" "e e";
}
#event .rika02 .detail .pic {
	grid-area: a;
}
#event .rika02 .detail .pic2 {
	grid-area: b;
}
#event .rika02 .detail .rika02_d {
	margin-top: -0.5em;
	font-size: 1.4rem;
}
#event .rika02 .detail .rika02_h {
	grid-area: e;
}
.rika02_h,
.join_sub,
.join_caution {
	padding: 0.75em 0;
	background: #FFE130;
	text-align: center;
	font-size: 1.2rem;
}
.join_caution {
	margin: 15px auto 0;
}
.detail .rika02_h span,
.detail .join_sub span {
	font-size: 1.2rem;
}
#event .rika02 .detail .rika02_h span.caution,
#event .rika04 .join_sub span.caution,
#event .rika04 .join_caution span.caution {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.2;
}
#event .rika02 .detail .rika02_h span,
#event .rika04 .join_sub span,
#event .rika04 .join_caution span {
	display: inline;
	color: #CF0023;
}
#event .rika02 .detail .rika02_h span.marker {
	margin-bottom: 0.5em;
	padding: 0 0.25em;
	display: inline-block;
	background: #FFE130;
	color: #000;
	font-size: 1.2rem;
	letter-spacing: -0.075em;
}
#event .detail .terms {
	padding-bottom: 0.25em;
	color: #fff;
	background: #0075C2;
	letter-spacing: -0.05em;
}
#event .detail .terms2 span {
	display: inline-block;
	font-size: 1.6rem;
	color: #0075C2;
}
#event .rika02 .detail > div {
	grid-area: d;
}
#event .rika03 .detail > div > p:first-child {
	margin-bottom: 0;
}
#event .event_rika .pic {
	width: 275px;
	margin-right: 30px;
	flex-shrink: 0;
}
#event .rika01 .pic {
	width: 240px;
	margin-left: 35px;
}

#event .rika04 .detail {
	margin: 0 auto;
}
#event .rika04 .pic {
	margin: 0 15px 0 10px;
}
#event .rika04 .join {
	width: 580px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #E62E8B;
}
#event .rika04 .join > div {
	width: 300px;
}
#event .rika04 .join > div:last-child {
	width: 260px;
}
#event .rika04 .detail th span {
	min-width: 5.75em;
}
#event .rika04 .detail .pc_only span {
	margin: -1em 0;
}
.step01,
.step02,
.step03 {
	margin-bottom: 0.375em;
	padding-bottom: 0.375em;
	display: flex;
	font-size: 1.2rem;
	line-height: 1.2;
	border-bottom: 1px dotted #000;
}
.step03 {
	border: none;
}
.step01:before {
	content: '';
	display: inline-block;
	width: 23px;
	height: 23px;
	background: url(../images/join1.svg) center top no-repeat;
	background-size: cover;
	margin-right: 6px;
	flex-shrink: 0;
}
.step02:before {
	content: '';
	display: inline-block;
	width: 23px;
	height: 23px;
	background: url(../images/join2.svg) center top no-repeat;
	background-size: cover;
	margin-right: 6px;
	flex-shrink: 0;
}
.step03:before {
	content: '';
	display: inline-block;
	width: 23px;
	height: 23px;
	background: url(../images/join3.svg) center top no-repeat;
	background-size: cover;
	margin-right: 6px;
	flex-shrink: 0;
}
.story {
	padding: 10px 6px 16px;
	background: url("../images/bg_story.png"), #FBECF0;
	background-position: right center;
	background-repeat: no-repeat;
}
.story h6 {
	margin-bottom: 0;
}
.story p {
	font-size: 1.1rem;
	line-height: 1.1;
}
.story p {
	width: 16em;
}
/*
.join_sub {
	font-size: 1.0rem;
}
.join_sub span {
	color: #E62E8B;
}
*/
.campaign {
	width: 600px;
	margin: 45px auto;
	padding: 45px 0;
	background: #FBECF0;
	border-radius: 2em;
}
#event .campaign .detail {
	width: 510px;
	margin: 0 auto;
	justify-content: space-between;
}
#event .campaign .detail div:first-child {
	width: 300px;
}
#event .campaign .detail div:last-child {
	width: 200px;
}
#event .campaign .detail div:first-child p {
	width: 100%;
	text-align: center;
}
#event .campaign .detail div:first-child span {
	font-size: 1.4rem;
}
#event .campaign .detail div:first-child span.marker {
	padding: 0 0.25em;
	display: inline;
	background: #FFF062;
}
#event .campaign .detail div:first-child span.coupon {
	margin-bottom: 0;
	color: #D14780;
	font-weight: 600;
}
#event .campaign .detail div:first-child p.pic {
	width : 270px;
	margin: 0 auto;
}
.campaign .detail th span {
	background: #fff;
	border: 1px solid #CD3E75;
	color: #CD3E75;
}



.detail th span.nospace {
	padding: 0 0.25em 0.125em;
	letter-spacing: -0.0625em;
}
#event .event_rika .detail p {
	margin-bottom: 1em;
}
.rika03 .detail p span {
	width: 28em;
	color: #DE306C;
}

.detail p {
	line-height: 1.4;
}
.detail p.pic {
	flex-shrink: 0;
	width: 300px;
}
.wday p.pic {
	flex-shrink: 0;
	width: 135px;
	margin-right: 10px;
}
.wday table tr {
	display: grid;
	grid-auto-columns: 1fr;
	grid-template-rows: 1fr;
	justify-items: start;
}
.wday .program1 table {
	margin: 2em auto 0;
}
.wday .program1 table tr,
.wday .program2 table tr {
	display: flex;
}
.wday .program1 table th,
.wday .program2 table th {
	margin-right: 1em;
}
.wday .program1 table td,
.wday .program2 table td {
	padding-top: 0.125em;
}
.wday .program1 table span,
.wday .program2 table span {
	margin-left: 1em;
}
.wday .program1 table span.godiva {
	margin-left: 0.5em;
}
#info p {
	text-align: center;
	margin-top: 40px;
}
#info p:last-child {
	margin-top: 30px;
}

#main_img .deco {
	display: inline-block;
	position: absolute;
	left: 0;
	right: 0;
	top: 60px;
	margin: auto;
	text-align: center;
	animation: horizontal 2s ease-in-out infinite alternate;
	animation-duration: 1.0s;
	z-index: 1;
}
#main_img .deco img {
	animation: vertical 4s ease-in-out infinite alternate;
}
@keyframes horizontal {
	0% {
		transform: translateX( -10px);
	}
	100% {
		transform: translateX( 0px);
	}
}
@keyframes vertical {
	0% {
		transform: translateY( -10px);
	}
	100% {
		transform: translateY( 0px);
	}
}
.op .deco {
	position: absolute;
	left: 0;
	top: 45px;
}
/*
.contents01 .deco {
	position: absolute;
	top: 45px;
	left: -200px;
	right: -200px;
	margin: auto;
}
*/

.detail th {
	font-size: 1.2rem;
	line-height: 1.8;
	vertical-align: top;
	white-space: nowrap;
}
.detail th span {
	margin: 0 0 0.75em;
	padding: 0 0.75em 0.125em;
	display: inline-block;
	border: 1px solid #0075C2;
	border-radius: 1em;
	color: #0075C2;
	vertical-align: middle;
	font-weight: 500;
	line-height: 1.3;
}
.contents01 .detail th span {
	border: 2px solid #EF7970;
	background: #fff;
	color: #EF7970;
}
.detail th span.space {
	letter-spacing: 0.75em;
	padding-right: 0;
}
.detail th span.no_space {
	padding: 0.25em;
}
.detail td {
	padding: 0 0 0.75em 1.0em;
	vertical-align: middle;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.2;
}
.detail td span,
.detail p span {
	display: block;
	font-size: 1.0rem;
	font-weight: 500;
}
.program1.detail td span {
	display: inline-block;
}
.detail td span.godiva {
	font-size: 1.4rem;
}
.detail td span.tr_nowrap {
	margin-left: 0.5em;
}
.detail td span.indent {
	text-indent: -1em;
	padding-left: 1em;
	display: block;
	font-size: 1.0rem;
}


.wday .detail th span {
	margin: 0 0 0.125em;
}
.wday .detail td {
	padding: 0 0 0.5em 0;
}
.detail table {
	margin: 0;
}

.link {
	width: 305px;
	margin: 50px auto;
	text-align: center;
	position: relative;
	z-index: 2;
}
#contents .link {
	width: 263px;
}
#contents .op_wrap .link {
	width: 335px;
	margin-bottom: 70px;
}
#contents .contents01 .link {
	width: 195px;
	margin: 55px auto 0;
}
#present .link,
#event .link {
	width: 191px;
}
#event .link {
	margin: 30px auto 50px;
}
#present .link {
	margin: 20px auto 40px;
}
#present .entry .link {
	width: 197px;
	margin: 0 auto 6px;
}
.op .link {
	margin: 32px auto 0;
	padding-bottom: 70px;
}
.live {
	width: auto;
	margin: 0 auto 10px;
}
.live tr {
	display: flex;
	align-items: center;
}
.live th {
	width: 70px;
	padding-top: 4px;
	line-height: 1.0;
}
.live td {
	padding-left: 10px;
	font-size: 2.0rem;
}
.live td span {
	font-size: 2.4rem;
}

.bf_foot {
	width: 735px;
	margin: 0 auto;
	background: url("../images/bg_foot01.png") center bottom no-repeat;
}
.bf_foot span {
	display: block;
	padding-left: 1em;
	color: #000;
	text-align: center;
	font-size: 3.4rem;
	font-weight: 700;
}


.attension {
	background: #fff;
	font-size: 1.4rem;
}
.attension p {
	width: 950px;
	margin: 0 auto;
	padding-top: 4em;
	font-family: YakuHanJP, "Noto Sans JP", Meiryo, sans-serif;
	transform: rotate(0.0deg);
}
.attension p:last-child {
	padding-top: 1.5em;
}
#page_top {
	width: 60px;
	height: 60px;
	text-decoration: none;
	position: fixed;
	right: 0;
	bottom: -60px;
	opacity: 0.6;
	z-index: 100;
}
#page_top i {
	font-weight: 900;
	font-size: 50px;
	color: #333;
}
.center {
	text-align: center;
}
.pc_only {
	display: block !important;
}
.sp_only {
	display: none !important;
}
@media (max-width: 768px) {
	.header {
		width: 100vw;
	}
	#main_img {
		padding-bottom: 4.76vw;
		background-image: url("../images/bg_main02_sp.png"), linear-gradient(0deg, rgba(129, 196, 231, 1), rgba(157, 215, 244, 1));
		background-position: center top;
		background-repeat: no-repeat;
		background-size: contain;
	}
	#navi {
		width: 100vw;
	}
	#navi ul,
	#navi_flow ul {
		width: 100%;
	}
	#navi li,
	#navi_flow li {
		width: 33.16vw;
	}
	#navi a,
	#navi2 a,
	#navi2 span {
		height: 9.33vw;
	}
	#navi a,
	#navi_flow a {
		height: 10.67vw;
	}
	#navi2 {
		display: block;
		background: #81C4E7;
	}
	#navi2 ul {
		width: 80vw;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	#navi2 li {
		width: 25.85vw;
	}
	#navi2 a {
		height: 14.67vw;
	}



	h1 {
		padding: 15.17vw 0 71.23vw;
		background: url("../images/bg_main01_sp.png") center top no-repeat;
		background-size: contain;
	}
	section {
		overflow-x: hidden;
	/*
		padding-top: 18.66vw;
		margin-top: -18.66vw;
		padding-bottom: 18.66vw;
	*/
		margin-top: 1.33vw;
		padding-bottom: 10.67vw;
	}
	#present {
		width: 93.33vw;
		overflow: hidden;
		background: url("../images/bg_present.png"), #fff;
		background-position: right 0.75vw top 10.91vw;
		background-repeat: no-repeat;
		background-size: 19.74vw;
		border: 0.4vw solid #0068B6;
	}
	#contents {
		margin-top: 0;
		padding-top: 20.09vw;
		background: url("../images/bg_op_sp.png"), url("../images/bg_contents02_sp.png"), url("../images/bg_contents_sp.png");
		background-position: center top 30vw, center top, center;
		background-repeat: no-repeat, no-repeat, repeat-y;
		background-size: contain;
	}
	#event {
		padding-top: 13.5vw;
		background: url("../images/bg_event_sp.png");
		background-size: contain;
	}
	#info {
		padding-top: 13.5vw;
		background: url("../images/bg_info_sp.png");
		background-size: contain;
	}
	h2 {
		width: 100vw;
		display: inline-block;
		margin-top: -10.67vw;
		padding-top: 10.67vw;
		text-align: center;
	}
	#present h2 {
		width: 100%;
		margin-top: 0;
		margin-bottom: 2.56vw;
	}
	#present h2 span {
		margin-bottom: 2.36vw;
		border-radius: 0;
		font-size: 4.5vw;
	}
	#present h2 img {
		width: 93.33vw;
	}
	#contents h2 img {
		width: 86.37vw;
	}
	#event h2 img {
		width: 73.05vw;
	}
	#info h2 img {
		width: 67.62vw;
	}
	#info h2 {
		margin-bottom: 0;
	}
	#present h3 {
		width: 80vw;
		margin: 0 auto 2.87vw;
	}
	.op h3 {
		width: 78.25vw;
		margin: 0 auto;
	}
	#present h3.present_head {
		width: 70.45vw;
		margin: 7.32vw auto 6vw;
	}
	#event h3.inV,
	#event h3 span.inV {
		margin: 10.5vw auto 3vw;
		font-size: 5vw;
	}
	#event h3.inV {
		margin: 10.5vw auto 5.91vw;
	}
	#event h3 .wday_head {
		margin-top: 1.5em;
		font-size: 4vw;
	}
	#event .event_rika h3 {
		width: 79.79vw;
		margin: 0 auto 6.4vw;
	}
	#event .event01 h3 {
		line-height: 1.4;
	}
	#event .event_rika h4 {
		width: 100%;
		padding-bottom: 0.25em;
		font-size: 4.5vw;
		/*border-bottom: 0.27vw solid #0075C2;*/
	}
	#event .event_rika h4 span {
		font-size: 4.25vw;
	}
	#event .rika02 h4,
	#event .rika03 h4 {
		margin: 5vw auto 2vw;
	}
	#event .rika03 h4 {
		margin: 10vw auto 2vw;
	}
/*
	#event .rika02 h4 span,
	#event .rika03 h4 span {
		font-size: 3vw;
	}
*/
	#event .rika04 h4 {
		font-size: 4.125vw;
		margin: 10vw auto 5.89vw;
	}
	#event .rika04 h4 span {
		display: block;
		margin: 0 0 0.375em 0;
		font-size: 3.85vw;
	}
	#event .event_rika .campaign h4 {
		border: none;
	}
	#contents h4 {
		margin-bottom: 12.4vw;
	}
	.entry h4 {
		margin-bottom: 1vw;
		text-align: center;
	}
	#contents .op_wrap h4 {
		width: 86.67vw;
		margin: 0 auto -1em;
		padding: 1.5em 0 0;
	}
	#contents .op_wrap h4.reco {
		width: 100vw;
		height: 33.38vw;
		margin: 0 calc(50% - 50vw) 3.88vw;
		position: relative;
		font-size: 4vw;
		line-height: 1.3;
	}
	.op_wrap h4.reco img {
		width: 100vw;
		margin: auto;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
	}
	#contents .contents01 h4 {
		width: auto;
		margin: 0 -16.67vw 8.25vw;
		padding: 0;
		font-size: 4vw;
	}
	.op_wrap .contents01 h4 img {
		width: 100vw;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	h4.wday_head img {
		width: 81.03vw;
	}
	h4.wend_head img {
		width: 87.43vw;
	}
	#contents .challenge h4 {
		margin-bottom: 9vw;
		font-size: 5.5vw;
		line-height: 1.4;
	}
	.challenge h4 img {
		width: 64vw;
		margin: 0 auto 3.6vw;
	}
	#event h4 {
		margin-bottom: 0.5em;
		padding-bottom: 0.5em;
		font-size: 3.5vw;
	}
	#event .wday h4 {
		font-size: 3.5vw;
	}
	#event .wday > div > div > h4 {
		width: 100%;
		margin: 0 auto 0.5em;
	}
	.op_wrap h5 {
		margin-bottom: 7.25vw;
		font-size: 4.5vw;
	}
	.op_wrap h5:before {
		width: 3.84vw;
		height: 12.51vw;
		margin: 0.25em 0.5em 0 0;
		content: "";
		display: inline-block;
		background: url("../images/bg_h5l_sp.svg") center center no-repeat;
		background-size: contain;
	}
	.op_wrap h5:after {
		width: 3.84vw;
		height: 12.51vw;
		margin: 0.25em 0 0 0.5em;
		content: "";
		display: inline-block;
		background: url("../images/bg_h5r_sp.svg") center center no-repeat;
		background-size: contain;
	}
	.challenge h5 {
		font-size: 4.35vw;
	}
	h6 {
		font-size: 3.5vw;
		line-height: 1.3;
	}
	.op_wrap h6:before {
		width: 3.55vw;
		height: 8.6vw;
		content: "";
		display: inline-block;
		background: url("../images/bg_h6l_sp.svg") center center no-repeat;
		background-size: contain;
	}
	.op_wrap h6:after {
		width: 3.55vw;
		height: 8.6vw;
		content: "";
		display: inline-block;
		background: url("../images/bg_h6r_sp.svg") center center no-repeat;
		background-size: contain;
	}
	.period {
		margin-bottom: 7.25vw;
		font-size: 3.6vw;
	}
	.period span {
		width: fit-content;
		margin: 0 auto;
		padding: 0 0.5em 0.25em;
		display: block;
		font-size: 3vw;
	}
	.entry {
		width: 80vw;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		background: none;
	}
	.entry > div {
		min-height: 66.14vw;
		width: 100%;
		margin-bottom: 3.5vw;
		background: url("../images/bg_entry02_sp.png") center top no-repeat;
		background-size: contain;
	}
	.entry > div:nth-child(2) {
		min-height: 59.01vw;
		background: url("../images/bg_entry01_sp.png") center top no-repeat;
		background-size: contain;
	}
	.entry > div:last-child {
		min-height: 71.67vw;
		margin-bottom: 0;
		background: url("../images/bg_entry03_sp.png") center top no-repeat;
		background-size: contain;
	}
	.entry p,
	.entry span,
	.entry span.marker,
	.entry span.word {
		/*font-size: 3.125vw;*/
		font-size: 3vw;
	}
	.entry p {
		line-height: 1.4;
	}
	.entry span.word {
		padding: 0.125em 0.5em 0.25em;
	}
	.entry span.word span {
		font-size: 3.84vw;
	}
	.entry > div p:last-child {
		width: 100%;
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: 2.67vw;
		transform: scale(1.0);
	}
	.entry > div.step3 span {
		width: 100%;
		margin-left: 0;
		/*font-size: 2.67vw;*/
		font-size: 2.5vw;
		transform: scale(1.0);
	}
	.entry > div.step3 p:last-child span {
		font-size: 3vw;
		transform: scale(1.0);
	}
	.entry a {
		font-size: 3vw;
	}
	.entry .register {
		position: absolute;
		left: 3vw;
		bottom: 2vw;
		font-size: 2.42vw;
	}
	.prize {
		width: 84vw;
		margin: 0 auto;
		flex-wrap: wrap;
	}
	.prize div {
		width: 40vw;
		margin-bottom: 4vw;
		padding: 2vw 0 0.7vw 2vw;
	}
	.prize p {
		font-size: 2.75vw;
	}
	.prize p:first-child {
		margin-bottom: 1.93vw;
	}
	.prize p:last-child {
		max-width: 36vw;
	}
	.prize p.item {
		position: absolute;
		left: 18.15vw;
		top: 8.68vw;
	}
	.prize div .pic,
	.prize div:nth-child(3) .pic {
		margin: 0 2.93vw 0.89vw 1.07vw;
	}
	.prize div:last-child .pic {
		margin: 0 1.88vw 0.89vw 0.39vw;
	}
	.more {
		margin: 0 0 1em;
		font-size: 5vw;
	}
	.op {
		background: none;
	}
	.op div {
		width: 100vw;
		padding: 24vw 0 0;
	}
	.op .comment {
		width: auto;
		margin: 106.99vw 0 0;
		padding-bottom: 51.35vw;
		font-size: 3.97vw;
	}
	.op .comment:before {
		content: '';
		display: inline-block;
		width: 12.28vw;
		height: 20.81vw;
		background: url("../images/bg_comment01_sp.png") center top no-repeat;
		background-size: contain;
		margin: 4.33vw -3.87vw 0 0;
	}
	.op .comment:after {
		content: '';
		display: inline-block;
		width: 12.24vw;
		height: 20.82vw;
		background: url("../images/bg_comment02_sp.png") center top no-repeat;
		background-size: contain;
		margin: 4.33vw 0 0 -3.87vw;
	}
	.op .center {
		font-size: 3.25vw;
		line-height: 1.4;
	}
	.op_wrap {
		width: 93.33vw;
		margin: 0 auto 5vw;
		padding: 8.79vw 0 10vw;
	}
	.op_wrap > p {
		width: 80vw;
		margin: 0 auto 7.85vw;
		font-size: 3.25vw;
	}
	.op_item01 {
		width: 86.67vw;
		margin: 0 auto 11.15vw;
		padding: 0 4.5vw;
		display: grid;
		grid-auto-flow: row dense;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr 1fr;
		gap: 3vw 4vw;
		align-items: stretch; 
		grid-template-areas: "a b" "a c";

	}
	.op_item01 p {
		grid-area: b;
	}
	.op_item01 p:first-child {
		grid-area: a;
	}
	.op_item01 p:last-child {
		grid-area: c;
	}
	.op_item01 p {
		width: 36.67vw;
		font-size: 3vw;
	}
	.op_item01 p:first-child,
	.op_item01 p:last-child {
		width: 36.67vw;
	}
	.op_item02 {
		width: 86.67vw;
		margin: 0 auto 13vw;
	}
	.op_item02 p {
		width: 41.33vw;
		font-size: 3vw;
	}
	.op_item02 p:last-child {
		width: 45.33vw;
	}
	.mshop img {
		width :78vw;
	}
	.contents01 {
		width: 80vw;
		margin: 0 auto;
		padding: 10.79vw 6.67vw 0;
		/*background: url("../images/bg_opw_sp.png"), #FBECF0;
		background-position: center top;
		background-repeat: no-repeat;
		background-size: contain;
		border-radius: 2em;*/
	}
	#contents .contents01 table {
		margin-top: 0;
	}

	.tp_guide {
		width: 80vw;
		margin: 0 auto 8vw;
		flex-direction: column;
	}
	.tp_item {
		width: 80vw;
		margin: 0 auto 13.5vw;
		padding: 7.5vw 5vw 0.1vw;
	}
	.tp_item > div {
		margin-bottom: 8vw;
		flex-direction: column;
	}
	.tp_guide p,
	.tp_item > div p,
	.challenge p {
		font-size: 3.25vw;
		line-height: 1.4;
	}
	.tp_item > div p span {
		text-align: center;
	}
	.tp_guide p:first-child {
		width: 66.67vw;
		margin: 0 auto 5vw;
	}
	.tp_item > div p:first-child {
		width: 54.67vw;
		margin: 0 auto 1em;
	}
	.challenge {
		width: 93.33vw;
		padding: 1.33vw;
	}
	.challenge > div {
		border: 0.4vw solid #E76D83;
		padding: 11.25vw 5vw;
	}
	.challenge > div > div {
		width: 80vw;
		flex-wrap: wrap;
		background: none;
	}
	.challenge > div > div > div {
		min-height: 60vw;
		width: 40vw;
		border-right: 0.27vw solid #9A9B9B;
	}
	.challenge > div > div > div:nth-child(2),
	.challenge > div > div > div:last-child {
		border-right: none;
	}
	.challenge > div > div > div:nth-child(n+3) {
		border-bottom: none;
	}
	.challenge > div > div > div:first-child,
	.challenge > div > div > div:nth-child(4) {
		padding: 0 4vw 0 0;
	}
	.challenge > div > div > div:nth-child(2),
	.challenge > div > div > div:last-child {
		padding: 0 0 0 4vw;
	}
	hr {
		height: 0.27vw;
		width: 100%;
		margin: 4vw 0;
		background : #9A9B9B;
	}
	.challenge div p.logo01,
	.challenge div p.logo02 {
		position: absolute;
		bottom: 0;
	}
	.challenge div p.logo04 {
		position: absolute;
		bottom: -2vw;
	}
	#event > div {
		width: 93.33vw;
		margin: 5.21vw auto 0;
		border: 0.4vw solid #0075C2;
	}
	.contents01 .detail p,
	#event .detail p {
		/*font-size: 3.5vw;*/
		font-size: 4.25vw;
		font-weight: 600;
	}
	#event .event01 .detail p {
		margin: 2em auto 0;
		font-size: 3.5vw;
		text-align: center;
	}
	#event .event_rika .detail p {
		font-size: 2.75vw;
	}
	#event .event_rika .rika01 .detail p {
		font-size: 4.25vw;
	}
	#event .event_rika .rika01 .pic {
		width: 70.5vw;
	}
	#event .detail .coupon {
		margin: 0.25em 0 0 0;
		font-size: 2.5vw;
		text-align: left;
		transform: scale(1.0);
	}
	#event .detail .coupon .marker {
		font-size: 3.0vw;
	}
	#event .detail div table {
		margin-left: 2.5em;
	}
	.wday > div {
		width: 80vw;
	}
	.wday > div > div {
		margin-top: 6vw;
	}
/*
	.wday > div > div {
		margin-top: 8vw;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1.5em 1fr;
		grid-template-areas: "a b" ". c";
	}
	.wday > div > div:first-child {
		margin-top: 0;
	}
	.wday > div > div .detail {
		display: contents;
	}
	.wday > div > div h4 {
		width: 37.33vw;
		grid-area: b;
	}
	.wday > div > div .detail table {
		grid-area: c;
	}
	.wday > div > div .detail .pic {
		grid-area: a;
		grid-row: 1/3;
	}
*/
	.contents01 .detail,
	#event .detail {
		width: 80vw;
		flex-direction: column-reverse;
	}
	#event .event_rika .detail {
		width: 100%;
	}
	.contents01 .detail {
		width: auto;
		align-items: center;
	}
	.contents01 .detail div,
	#event .detail div {
		display: contents;
	}
	.contents01 .detail div p.
	#event .detail div p {
		margin: 1em 0 1.5em;
		text-align: center;
	}
	.contents01 .detail .pic {
		margin-right: 0;
	}
	.contents01 .detail div p {
		margin: 0;
		order: 1;
		text-align: center;
	}
	.contents01 .detail table {
		margin: 9vw auto 9.25vw;
	}
	.contents01 .detail th span,
	.contents01 .detail td {
		font-size: 4vw;
	}

	#event .event01 .detail {
		width: 80vw;
		margin: 0 auto;
	}
	#event .wday .detail,
	#event .wday .program2.detail {
		width: 38vw;
		margin-left: auto;
		flex-direction: column;
	}
	#event .wday .detail {
		width: 100%;
	}
	#event .wday .program1_wrap {
		width: 100%;
		flex-wrap: wrap;
	}
	#event .wday .program1_wrap div,
	#event .wday .detail.program2 .pic {
		width: 38vw;
	}
	#event .wday .program1_wrap div {
		margin-bottom: 0.5em;
	}
	#event .wday .detail.program2 {
		width: 80vw;
		flex-direction: row;
	}
	.event_rika .rika01,
	.event_rika .rika02,
	.event_rika .rika04 {
		padding-bottom: 5vw;
		background: url("../images/border_rika_sp.svg") center bottom no-repeat;
		background-size: contain;
	}
	#event .event_rika .detail div p {
		font-size: 2.5vw;
	}

	#event .event_rika {
		padding: 10vw 5.13vw 13.15vw;
/*
		display: grid;
		grid-template-columns: 39.45vw 39.45vw;
		gap: 0px 3.2vw;
		grid-template-areas: "a a" "b b" "c d" "e e" "f f"; 
		justify-items: stretch;
		align-items: stretch;
*/
	}
/*
	.event_rika h3 {
		grid-area: a;
	}
	.rika01 {
		grid-area: b;
	}
	.rika02 {
		grid-area: c;
	}
	.rika03 {
		grid-area: d;
	}
	.rika04 {
		grid-area: e;
	}
	#event .event_rika .link {
		grid-area: f;
		margin: 10vw auto 0;
	}
*/
	#event .rika02,
	#event .rika04 {
		width: 100%;
		margin: 0 auto;
	}
	#event .rika02 .detail {
		margin: 0 auto;
		display: grid;
		grid-template-columns: 38vw 1fr;
		grid-template-rows: auto;
		gap: 0 4vw;
		grid-template-areas: "a a" "b c" "b d" "b e" "f f" "g g" "h h" "i i";
		justify-items: flex-start;
	}
	#event .rika02 .detail > div > p:first-child {
		grid-area: a;
		text-align: center;
		width: 100%;
	}
	#event .rika02 .detail .pic {
		grid-area: b;
	}
	#event .rika02 .detail .pic2 {
		grid-area: f;
		margin-top: 1em;
	}
	#event .rika02 .detail .rika02_c {
		grid-area: c;
	}
	#event .rika02 .detail .rika02_d {
		grid-area: d;
		margin-bottom: 0;
		font-size: 2.5vw;
		font-weight: 500;
	}
	#event .rika02 .detail .rika02_e {
		grid-area: e;
		font-weight: 500;
	}
	#event .rika02 .detail .rika02_f {
		grid-area: g;
	}
	#event .rika02 .detail .rika02_g {
		grid-area: h;
		margin-bottom: 0;
		font-weight: 500;
	}
	.rika02_g.terms2 span {
		margin-top: 0;
	}
	#event .rika02 .detail .rika02_h {
		grid-area: i;
		/*font-size: 2.5vw;*/
		font-weight: 500;
	}
#event .rika02 .detail .rika02_h,
#event .rika04 .join_sub {
	padding: 0.75em;
	font-size: 3.5vw;
	text-align: left;
	line-height: 1.3;
}
	#event .rika02 .detail .rika02_h span,
	#event .rika04 .join_sub span {
		font-size: 3.5vw;
	}
	#event .rika02 .detail .rika02_h span.caution,
	#event .rika04 .join_sub span.caution {
		font-size: 3.75vw;
	}
	#event .rika02 .detail .rika02_h span.caution {
		width: fit-content;
		margin: 0 auto;
		paddig-left: 1em;
		text-indent: -1em;
	}
	#event .rika04 .join_sub span.caution {
		text-align: center;
	}

	#event .rika02 .detail .rika02_h span.marker {
		display: block;
		width: fit-content;
		letter-spacing: -0.05em;
	}
	#event .rika02 .detail div table {
		margin-left: 0;
	}

	#event .rika02 .detail tr {
		margin-bottom: 0.25em;
	}
	#event .rika02 .detail th {
		line-height: 1.2;
	}
	#event .rika02 .detail th span {
		margin-bottom: 0.25em;
	}
	#event .rika02 .detail td {
		padding-bottom: 0.25em;
	}
	#event .rika02 .detail .rika02_d span {
		font-size: 1.5vw;
	}

	.rika03 .detail {
		display: grid;
		grid-auto-columns: 1fr;
		grid-template-columns: 38vw 1fr;
		grid-template-rows: auto;
		gap: 0 4vw;
		grid-template-areas: "a a" "b c" "b d";
		justify-items: stretch;
		align-items: stretch;
	}
	#event .rika03 .detail > div {
		display: contents;
	}
	#event .rika03 .detail > div > p:first-child {
		grid-area: a;
		width: 100%;
		margin-bottom: 1em;
	}
	#event .rika03 .pic {
		grid-area: b;
	}
	#event .rika03 div table {
		grid-area: c;
		margin-left: 0;
	}
	#event .rika03 .detail > div > p:last-child {
		grid-area: d;
	}

	.rika04 .detail {
		align-items: flex-start;
	}
	.rika04 .detail div {
		display: contents;
	}
	#event .rika04 .detail div p:first-child {
		order: 6;
		width: 100%;
		margin: 0 auto 3.45vw;
	}
	#event .rika04 .pic {
		order: 5;
		margin: 0 auto;
	}
	.rika04 .detail div table:nth-child(2) {
		order: 4;
	}
	.rika04 .detail div table:nth-child(4) {
		order: 3;
	}
	.rika04 .detail div table:nth-child(5) {
		order: 2;
	}
	.rika04 .detail div p:last-child {
		order: 1;
		margin-top: 0;
	}
	#event .rika04 .detail div table {
		margin-left: 0;
	}
	#event .rika04 div div p.terms2,
	#event .rika04 div div p.terms2 span {
		margin-top: 0;
		text-align: left;
		font-size: 3.5vw;
		font-weight: 500;
	}
	#event .rika04 div div p.terms2 span {
		font-size: 4.5vw;
	}
	#event .rika04 .join {
		width: 100%;
		margin-bottom: 2em;
		flex-direction: column;
		border-bottom: 0.4vw solid #E62E8B;
	}
	#event .rika04 .join > div,
	#event .rika04 .join > div:last-child {
		width: 100%;
	}
	#event .rika04 div.join div p {
		margin-top: 1em;
		text-align: left;
	}
	.step01,
	.step02,
	.step03 {
		font-size: 3vw;
		border-bottom: 1px dotted #000;
	}
	.step03 {
		border: none;
	}
	.step01:before {
		content: '';
		display: inline-block;
		width: 7.27vw;
		height: 7.27vw;
		background: url(../images/join1.svg) center top no-repeat;
		background-size: cover;
		margin-right: 1.69vw;
		flex-shrink: 0;
	}
	.step02:before {
		content: '';
		display: inline-block;
		width: 7.27vw;
		height: 7.27vw;
		background: url(../images/join2.svg) center top no-repeat;
		background-size: cover;
		margin-right: 1.69vw;
		flex-shrink: 0;
	}
	.step03:before {
		content: '';
		display: inline-block;
		width: 7.27vw;
		height: 7.27vw;
		background: url(../images/join3.svg) center top no-repeat;
		background-size: cover;
		margin-right: 1.69vw;
		flex-shrink: 0;
	}
	.story {
		padding: 2.75vw 2vw 2.75vw;
		background: url("../images/bg_story_sp.png"), #FBECF0;
		background-position: right top;
		background-repeat: no-repeat;
		background-size: cover;
	}
	#event .rika04 div div .story p {
		width: auto;
		margin: 0.5em 0 0;
		font-size: 2vw;
	}
	.campaign {
		width: 100%;
		margin: 10vw auto 13vw;
		padding: 9.5vw 0 9vw;
	}
	#event .campaign h4 {
		margin-bottom: 6.28vw;
		font-size: 6vw;
	}
	#event .campaign .detail {
		width: 66.67vw;
		flex-direction: column;
	}
	#event .campaign .detail div:first-child {
		width: auto;
	}
	#event .campaign .detail div:last-child {
		width: auto;
	}
	#event .campaign .detail div:first-child p {
		width: 100%;
		text-align: center;
	}
	#event .campaign .detail div:first-child span {
		font-size: 3.75vw;
	}
	#event .campaign .detail div:first-child span.marker {
		margin-top: 0;
		display: inline-block;
	}
	#event .campaign .detail div:first-child span.coupon {
		margin: 1em -5vw 0;
		display: block;
		text-align: center;
	}
	#event .campaign .detail div:first-child p.pic {
		width : 71.2vw;
		margin: 1em auto 2em;
	}
	#event .campaign .detail div table {
		margin-left: 0;
	}




/*
	.rika02,
	.rika03 {
		display: grid; 
		grid-template-columns: 100%;
		grid-template-rows: auto 1fr auto;
		grid-template-areas: "rika_a" "rika_b" "rika_c";
		justify-items: stretch;
		align-items: stretch;
	}
	.rika02 h4,
	.rika03 h4 {
		grid-area: rika_a;
	}
	#event .rika02 .detail,
	#event .rika03 .detail {
		display: contents;
	}
	#event .rika02 .detail div,
	#event .rika03 .detail div {
		grid-area: rika_b;
		display: flex;
		flex-direction: column-reverse;
	}
	#event .rika02 .pic,
	#event .rika03 .pic {
		grid-area: rika_c;
	}
	#event .rika02 .detail div table,
	#event .rika03 .detail div table {
		margin-left: 0;
	}
	#event .rika02 .detail div p,
	#event .rika03 .detail div p {
		width: 100%;
		font-size: 2.5vw;
		font-weight: 500;
	}
	#event .rika02 .detail div p {
		text-align: center;
		margin-bottom: 2em;
	}
*/
	#event .event_rika .detail {
		margin: 0 auto;
	}
	#event .event_rika .pic {
		width: 100%;
		margin-right: 0;
	}
	#event .rika01 .pic {
		margin-left: 0;
	}
	#event .rika01 div div p {
		text-align: center;
	}
	#event .rika04 div div p {
		margin: 6.4vw 0 3.45vw;
		text-align: center;
	}
	#event .rika04 .pic {
		width: 62vw;
		margin: 0 auto;
	}
	.rika02 .detail td span {
		font-size: 1.5vw;
	}
	.rika03 .detail p span {
		width: 100%;
		font-size: 2vw;
	}
	.rika02 img,
	.rika03 img {
		width: 38vw;
	}
	.rika02 .pic2 img {
		width: 100%;
	}
	.rika02 .detail th span,
	.rika02 .detail td,
	.rika03 .detail th span,
	.rika03 .detail td {
		font-size: 2.5vw;
	}



	.min_space {
		letter-spacing: -0.065em;
	}
	.detail p.pic {
		width: 100%;
	}
	.wday p.pic {
		width: 100%;
		margin-right: 2.67vw;
		margin-bottom: 0.5em;
	}
	.wday .program1 table td,
	.wday .program2 table td {
		padding-top: 0.25em;
	}
	.wday .program1 table tr {
		align-items: flex-start;
	}
	.wday .program1 table td span {
		margin-left: 0;
		display: block;
	}
	.wday .program1 table span.godiva {
		margin-left: 0;
	}
	#info p {
		width: 93.33vw;
		margin: 10.2vw auto 0;
	}
	#info p:nth-child(2) {
		margin: 5.2vw auto 0;
	}
	#info p:last-child {
		margin: 5.93vw auto 0;
	}
	#info p:nth-child(5) {
		margin: 12.76vw auto 0;
	}
	#main_img .deco {
		width: 88.65vw;
		position: absolute;
		left: 0;
		right: 0;
		top: 10.89vw;
	}
	.op .deco {
		width: 26.12vw;
		position: absolute;
		left: 13.71vw;
		top: 4.65vw;
	}


	.detail th {
		font-size: 3.5vw;
	}
	.detail th span {
		margin: 0;
	}
	.detail p,
	.detail p:last-child {
		font-size: 3.125vw;
		padding: 0;
		line-height: 1.4;
	}
	.detail p span {
		font-size: 2.75vw;
		margin-top: 0.5em;
	}

	.detail td span.bonus {
		font-size: 3.125vw;
	}
	.detail p span.bonus {
		font-size: 2.75vw;
	}
	.detail p span.bonus span {
		margin: 0;
	}

.nowrap {
	width: 100%;
}
.nowrap tbody {
	display: table;
}
.nowrap tbody th span {
	padding: 0.25em 0.5em;
}
.detail th span,
.detail td {
	font-size: 3.5vw;
}
/**/.detail th span {
	margin-bottom: 0.25em;
}
.detail td {
	/**/padding: 0 0 0.25em 0.5em
}
/*
.detail tr {
	align-items: center;
}
*/
	.detail tr {
		margin-bottom: 0.5em;
		/**//*display: block;*/
	}
.detail {
	font-size: 3.25vw;
}
.detail td span {
	font-size: 2.75vw;
}
.t_wrap {
	flex-wrap: wrap;
}
.detail .t_wrap th span {
	margin-bottom: 0.25em;
}
.t_wrap td {
	width: 100%;
}
.detail .sp_only {
	display: flex !important;
	flex-wrap: wrap;
	margin-bottom: 0.5em;
}
.detail .sp_only th span {
	margin-bottom: 0;
}
.detail td.wrap {
	padding-top: 0.5em;
}
.detail th span.no_space {
	padding: 0.25em 0.125em;
	line-height: 1.3;
}
.detail td.multi_line {
	/**/padding-top: 0.25em;
}

	.detail td span.godiva {
		font-size: 3.125vw;
	}
	.wday .detail td {
		padding: 0;
	}
	.wday .program2 table th {
		margin-right: 0.5em;
	}
	.wday .program2 table td {
		white-space: nowrap;
	}
	.detail.program2 th span.space {
		letter-spacing: 0.25em;
		padding-right: 0.5em;
	}

	.link {
		width: 70vw;
		margin: 13.33vw auto;
	}
	#present .link,
	#event .link {
		width: 56.67vw;
	}
	#present .link {
		margin: 5vw auto 11.93vw;
	}
	#present .entry .link {
		width: 52.6vw;
		margin: 0 auto 2.15vw;
	}
	.op .link {
		margin: 9.77vw auto 0;
		padding-bottom: 13.5vw;
	}
	#contents .op_wrap .link {
		width: 66.67vw;
		margin-bottom: 15.33vw;
	}
	#contents .contents01 .link {
		width: 56.67vw;
		margin: 6.5vw auto 0;
	}
	#event .link {
		margin: 5.75vw auto 10vw;
	}
	#event .event_rika .link {
		margin: 5.75vw auto 0;
	}
	.live {
		width: auto;
		margin: 0 auto 3vw;
	}
	.live th {
		width: 12.94vw;
		padding-top: 0;
		line-height: 1.0;
	}
	.live td {
		padding-left: 2vw;
		font-size: 3.5vw;
	}
	.live td span {
		font-size: 4.5vw;
	}


	.bf_foot {
		width: 93.33vw;
		background: url("../images/bg_foot01.png") center bottom no-repeat;
		background-size: 100%;
	}
	.bf_foot img {
		width: 11.35vw;
	}
	.bf_foot span {
		margin-bottom: 0.25em;
		font-size: 4.22vw;
	}

	.c02 {
		margin-top: 3vw;
	}



	.attension {
		width: 100vw;
		font-size: 3vw;
	}
	.attension p {
		padding-top: 1.5em;
		width: 90vw;
	}
	.attension p:last-child {
		padding-top: 1.5em;
	}
	.pc_only {
		display: none !important;
	}
	.sp_only {
		display: block !important;
	}

}
/* footer */
footer {
	z-index: 9999 !important;
	padding: 25px 0 0;
	background: #fff;
}
.fGroup {
	width: 980px;
	margin: 0 auto;
}
.fGroup:after {
	display: block;
	height: 0;
	/* clearfix */
	clear: both;
	visibility: hidden;
	content: " ";
}
.goHome {
	display: block;
	width: 252px;
	padding: 20px 0;
	margin: 0 auto 40px;
	font-size: 1.8rem;
	line-height: 1;
	color: #0183d3;
	text-align: center;
	border: 2px solid #0183d3;
}
footer hr {
	margin: 0 0 10px;
	border-top: solid 5px #0183d3;
}
footer hr.gray {
	margin: 0 0 20px;
	border-top: solid 1px #707070;
}
footer .copy {
	margin: 0;
}
.fNav {
	margin: 0 auto 30px;
}
.fNav li {
	display: inline-block;
	padding: 0 15px 0 0;
	margin: 0 15px 0 0;
	line-height: 1;
	border-right: solid 1px #707070;
}
.fNav li:last-child {
	padding: 0;
	margin: 0;
	border: none;
}
.fNav li a {
	font-size: 1.2rem;
	color: #000;
}
.fNav:after {
	display: block;
	height: 0;
	/* clearfix */
	clear: both;
	visibility: hidden;
	content: " ";
}
.mlogo {
	width: 182px;
}
.mlogo2 {
	width: 241px;
	margin: 0 auto 10px;
}
.logo a:hover,
.mlogo a:hover,
.mlogo2 a:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}
@media only screen and (max-width: 768px) {
	footer {
		padding: 0;
	}
	.fGroup {
		width: 100%;
		padding: 0;
	}
	.fNav {
		float: none;
		margin: 0 0 20px;
		border-top: solid 1px #707070;
	}
	.fNav li,
	.fNav li:nth-child(5),
	.fNav li:last-child {
		box-sizing: border-box;
		float: left;
		width: 60%;
		height: auto;
		padding: 10px 0;
		margin: 0;
		text-align: center;
		border-right: solid 1px #707070;
		border-bottom: solid 1px #707070;
	}
	.fNav li:nth-child(2),
	.fNav li:nth-child(4),
	.fNav li:last-child {
		width: 40%;
		border-right: none;
	}
	.fNav li:last-child {
		padding: 12px 0;
	}
	#goTop {
		right: 20px;
		bottom: 20px;
		width: 40px;
	}
	#goTop a {
		padding: 10px;
	}
}
.lightbox {
	border: none;
	outline: none;
}

.footer__sns dd a {
	transition: 0s;
}
.social_list a li {
	pointer-events: none;
}
.social_item:hover {
	opacity: 0.5;
}

.footer {
	overflow: hidden;
	background: #fff;
}

.footer__inner {
	padding: 1.5em 0;
	margin: 0 auto;
}

.footer .sns__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 1.5em;
}

.footer .sns__list .sns__list-item {
	width: 10.66667%;
}

.footer .sns__list .sns__list-item:not(:first-of-type) {
	margin-left: 4%;
}

.footer .sns__list .sns__list-item a {
	display: block;
}

.footer .sns__list .sns__list-item a img {
	vertical-align: top;
}

.footer .nav__list a {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN",
		"Hiragino Sans", Meiryo, sans-serif;
	color: #111;
	text-decoration: none;
}

.footer .copyright {
	display: block;
	margin: 0 0 20px;
	font-size: 0.8rem;
	text-align: center;
	letter-spacing: -0.01rem;
}

@media (min-width: 720px) {
	.footer__inner {
		max-width: 1000px;
		padding: 0 0 40px;
		text-align: center;
	}
	.footer .sns__list .sns__list-item {
		width: 48px;
		height: 48px;
	}
	.footer .sns__list .sns__list-item:not(:first-of-type) {
		margin-left: 19px;
	}
	.footer .sns__list .sns__list-item a {
		-webkit-transition: 0.3s;
		transition: 0.3s;
	}
	.footer .sns__list .sns__list-item a:hover {
		opacity: 0.7;
	}

	.footer .nav__list {
		max-width: 800px;
		margin: 25px auto 0;
		font-size: 1.2rem;
		text-align: center;
		display: block;
	}
	.footer .nav__list.detail {
		margin-top: 0;
	}
	.footer .nav__list .nav__list-item {
		display: inline-block;
		margin-bottom: 10px;
		margin-left: 5.33333%;
	}
	.footer .nav__list .nav__list-item:first-of-type,
	.footer .nav__list .nav__list-item:nth-of-type(5) {
		margin-left: 0;
	}
	.footer .copyright {
		font-size: 1.2rem;
		letter-spacing: inherit;
	}
}
@media (max-width: 720px) {
	.footer .nav__list {
		width: 70%;
		margin: 25px auto 20px;
		margin: 1.5em auto 0;
		font-size: 1.1rem;
		text-align: center;
	}
	.footer .nav__list.detail {
		margin-top: 0;
	}
	.footer .nav__list .nav__list-item {
		display: inline-block;
		margin-bottom: 10px;
		margin-left: 5.33333%;
	}
	.footer .nav__list .nav__list-item:first-of-type,
	.footer .nav__list .nav__list-item:nth-of-type(5) {
		margin-left: 0;
	}
	/* .footer .nav__list .nav__list-item:nth-of-type(3),
	.footer .nav__list .nav__list-item:nth-of-type(4) {
		width: 100%;
		margin-left: 0;
		text-align: center;
	} */
}

/* modal */
.remodal-cancel {
	margin-top: 1em;
	color: #fff;
	background: #333;
}
.remodal-cancel:hover,
.remodal-cancel:focus {
	background: #666;
}
.remodal-wrapper {
	padding: 0;
}
.remodal {
	width: 800px;
	max-width: 800px;
	padding: 30px;
	background: #EEDED5;
}
.remodal > div {
	padding: 25px 0;
	background: #fff;
}
.remodal > div > div {
	margin: 35px auto 20px;
	display: flex;
}
.remodal h5,
.remodal p {
	font-family: YakuHanJP, "Noto Sans JP", Meiryo, sans-serif;
	font-weight: 500;
}
.remodal h5 {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url("../images/bg_modal_tit.svg") center top no-repeat;
	color: #fff;
	font-size: 2.0rem;
	font-weight: 600;
}
.remodal p {
	font-size: 1.8rem;
	text-align: left;
	line-height: 1.3;
}
.remodal span {
	font-size: 1.6rem;
	font-weight: 550;
}
.remodal .pic {
	width: 290px;
	margin: 0 25px 0 40px;
}
.remodal .logo {
	margin-bottom: 1em;
	text-align: center;
}
.modal01 .logo img {
	max-width: 142px;
}
.modal02 .logo img {
	max-width: 95px;
}
.modal03 .logo img {
	max-width: 162px;
}
.modal04 .logo img {
	max-width: 198px;
}
.modal05 .logo img {
	max-width: 85px;
}
@media (max-width: 768px) {
	.remodal {
		width: 100vw;
		max-width: 100vw;
		padding: 10vw;
	}
	.remodal > div {
		padding: 6.67vw;
	}
	.remodal > div > div {
		margin: 5.33vw auto 0;
		flex-direction: column;
	}
	.remodal h5 {
		height: 11.25vw;
		background: url("../images/bg_modal_tit_sp.svg") center top no-repeat;
		background-size: contain;
		font-size: 3.5vw;
		line-height: 1.2;
	}
	.remodal p {
		font-size: 3vw;
	}
	.remodal span {
		font-size: 2.75vw;
	}
	.remodal .pic {
		width: 66.67vw;
		margin: 0 auto;
	}
	.remodal .logo {
		margin: 1em auto;
	}
	.modal01 .logo img {
		max-width: 28vw;
	}
	.modal02 .logo img {
		max-width: 18.63vw;
	}
	.modal03 .logo img {
		max-width: 36.07vw;
	}
	.modal04 .logo img {
		max-width: 39.07vw;
	}
	.modal05 .logo img {
		max-width: 16.88vw;
	}
	.remodal-confirm,
	.remodal-cancel {
		min-width: 3em;
		margin-top: 2em;
		padding: 0.5em 1.5em;
	}
}
/* youtube modal */
.youtube {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube:before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mode_tube {
	width: 900px;
	margin: 0 auto 50px;
}
.layer_board_bg,
.layer_board {
	position: absolute;
}
.layer_board_bg {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 1000;
	top: 0;
	left: 0;
	display: none;
	cursor: pointer;
	background: #000;
}
.layer_board {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: #000;
	text-align: center;
	z-index: 2000;
	padding: 15px;
	width: 800px;
}
.layer_board p {
	margin-bottom: 50px
}
.btn_close {
	color: #fff;
	cursor: pointer;
	position: absolute;
	top: -50px;
	right: -40px;
	font-size: 4.8rem;
}
@media (max-width: 720px) {
	.mode_tube {
		width: 92vw;
		margin: 0 auto 7.5vw;
	}
	.layer_board {
		padding: 2.5vw;
		width: 100vw;
	}
	.btn_close {
		position: absolute;
		top: -12.5vw;
		right: -2.5vw;
		font-size: 10vw;
	}
}
