@charset "utf-8";

/*759px以下*/
@media screen and (max-width: 759.9px) {
#wrapper {line-height: 1.4;}
.spnone{display:none;}

/* CSS */
#dirPathBlock,
#anchorLinkBlock {
font-size: 10px;
margin: 1% 1% 0 1%;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}
h1 {
font-size: 12px;
margin: 0 1%;
}
.inner{
width: 96%;
margin: 0 2%;
padding: 24px 0;
box-sizing: border-box;
}

main img {
width: 100%;
height: auto;
}
}

/*760px以上*/
@media screen and (min-width: 760px) {
/* CSS */
#wrapper {line-height: 1.231;}
#dirPathBlock,
h1,
.iframe_end-content_gadget,
#anchorLinkBlock{
width: 100%;
max-width:970px;
min-width:760px;
margin: auto;
}

/*panlist&back*/
#dirPathBlock,
#anchorLinkBlock {
width: 100%;
margin: 0 auto;
display: block;
font-size: 12px;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}
h1 {
font-size: 14px;
width: auto;
max-width: 970px;
margin: 0 auto 5px;
}
.inner{
width: 96%;
max-width:970px;
margin: 0 auto;
padding:48px 0;
display: block;
}
u{text-decoration-color: red;}

main img {
width: 100%;
height: auto;
}
}


/*======================================

original setting

======================================*/

main {overflow-x: hidden;}

article {
background:#fff url(../images/bg_cnt.png);
font-feature-settings: 'palt';
position: relative;
}

.disnone{display:none;}

.fx {
display: flex;
align-items: flex-start;
flex-wrap: wrap;
justify-content: space-between;
}

figure {
margin:0;
padding:0;
}

.bg_full {
background-color: #fff;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
}

.bg_type1,.bg_type2 {
margin:80px calc(50% - 50vw);
position: relative;
}
.bg_type1::before,
.bg_type1::after,
.bg_type2::before,
.bg_type2::after {
content: '';
display: block;
height:100%;
width: 100%;
position: absolute;
}
.bg_type1::before,
.bg_type2::before {
	background-color: #ea869c;
	transform: skewY(1deg);
	transform-origin: top right;
	-webkit-transform: skewY(1deg);
	-moz-transform: skewY(1deg);
	-ms-transform: skewY(1deg);
	-o-transform: skewY(1deg);
}
.bg_type2::before {background-color: #15ac97;}
.bg_type1::after,
.bg_type2::after {
 background-color: #fff;
 transform: skewY(-1.5deg);
 transform-origin: top right;
 top:1.5em;
 -webkit-transform: skewY(-1.5deg);
 -moz-transform: skewY(-1.5deg);
 -ms-transform: skewY(-1.5deg);
 -o-transform: skewY(-1.5deg);
}
.inner {position: relative;z-index: 2;}

/* ============================================================
SP
============================================================ */

@media screen and (max-width: 759.9px) {
.only_sp {display: block;}

.bg_type1,.bg_type2 {
margin:40px calc(50% - 50vw);
}

.fx_row_2 > *,
.fx_row_3 > * {width:100%;}
.fx_row_4 > * {width:48.6%;}

.title {
background: #15ac97;
box-shadow:0 1px 3px rgba(0,0,0,0.25);
box-sizing: border-box;
color:#fff;
font-size:24px;
font-weight: 700;
margin: 0 auto 40px;
width: 86%;
position: relative;
padding:8px 0;
text-align: center;
}
.title::before,
.title::after{
border: 22px solid #15ac97;
content: '';
height: 0;
width: 0;
position: absolute;
top:16px;
z-index:-1;
}
.title::before{
border-right-color: transparent;
right: -34px;
}
.title::after{
border-left-color: transparent;
left: -34px;
}
.title span{display:block;}
.title span::before,
.title span::after{
border: 5px solid transparent;
border-top: 5px solid #0f7466;
content: '';
height: 0;
width: 0;
position: absolute;
top: 100%;
}
.title span::before{
border-left: 5px solid #0f7466;
right: 0;
}
.title span::after{
border-right: 5px solid #0f7466;
left: 0;
}

.tx_lead {
font-size:20px;
margin-bottom:24px;
text-align: center;
}

.tx_note {font-size:12px;}
.tx_al_right {text-align: right;}

.visible_pc {display: none;}

/* ===== MV ===== */
.mv_wrap {
position: relative;
}
.mv_wrap::after {
background: url(../images/bg_flag.png) repeat-x 50%;
background-size: cover;
content: '';
height: 40px;
width: 100%;
position: absolute;
left:0;
top:4px;
z-index: 2;
}
.mv_wrap .inner {padding: 16px 0;}
.mv_wrap h2 {margin-left:-2%;}
/* end MV */

/* ===== INTRO ===== */
.intro_wrap {margin-top:24px;}
.intro_wrap figure {margin-top:-40px}
.intro_wrap figcaption {
	font-size:10px;
	margin: 8px 0 16px;
	text-align: right;
	}

.intro_title {
background-color: #ea869c;
box-shadow:0 1px 3px rgba(0,0,0,0.25);
color:#fff;
font-size:28px;
font-weight: 700;
line-height: 1.6;
margin: 16px auto 24px;
text-align: center;
width: 100%;
position: relative;
}
.intro_title::before,
.intro_title::after {
content:'';
border:6px solid transparent;
border-top:6px solid #ae3b54;
height:0;
width: 0;
position: absolute;
top:100%;
}
.intro_title::before {
right: 0;
border-left: 6px solid #ae3b54;
}
.intro_title::after {
left: 0;
border-right: 6px solid #ae3b54;
}

.intro_lead {
color:#ea869c;
font-size:18px;
font-weight: 700;
margin: 0 auto 32px;
text-align: center;
}

.challenge_list {
margin:auto;
width: 90%;
}
.challenge_list li {}
.challenge_list li + li {margin-top:32px}
.challenge_list li dl {
	border:1px solid #15ac97;
	border-radius: 8px;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 4px;
	padding-bottom: 16px;
	width: 100%;
	position: relative;
	z-index: 1;
}
.challenge_list li dt {
color: #15ac97;
font-family: 'Oswald', sans-serif;
font-size:30px;
margin-bottom: -24px;
position: relative;
top:-28px
}
.challenge_list li dt::before {
content:'CHALLENGE';
font-size:16px;
font-weight: 500;
}
.challenge_list li dt::after {
background: #fff;
content:'';
display: block;
height:1em;
width: 110%;
position: absolute;
z-index: -1;
top:.25em;
left:-5%;
}
.challenge_list li dd {
font-size:18px;
font-weight: 700;
text-align: center;
}
.challenge_list li dd > span {
display: block;
font-size:14px;
}
.challenge_list li dd.event_links {margin-top:1em;}
.challenge_list li dd.event_links > a {
background-color: #15ac97;
border-radius: 16px;
color:#fff;
font-size:15px;
padding: 8px 16px;
}
.challenge_list li p {
font-size:14px;
text-align: center;
}


.flow_list {
margin:0 auto;
width: 90%;
}
.flow_list.fx_row_3 > * {
margin:auto;
max-width: 280px;
width: 100%;
}

.intro_map {
margin:32px auto 24px;
width: 90%;
}
.intro_map p {
	font-size:15px;
	font-weight: 700;
	margin-bottom: 8px;
	text-align: center;
}
.intro_map img {border:1px solid #666;}

.intro_map + p {
font-size:15px;
margin:24px 0 16px;
text-align: center;
}
/* end INTRO */

/* ===== PRIZE ===== */
.prize_challenge .tx_colophon {
font-size:20px;
font-weight:700;
margin: 8px auto 32px;
text-align: center;
}

.challenge_box {
	background-color: #fff;
	border:4px solid #15ac97;
	border-radius: 8px;
	margin-bottom: 16px;
	padding:24px;
	position: relative;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
}
.challenge_box .ch_title {
border-bottom: 4px solid #ddd;
display: flex;
flex-direction: row-reverse;
justify-content: flex-end;
align-items: center;
margin-bottom: 16px;
padding-bottom: 16px;
}
.challenge_box .ch_title h3 {
font-size:18px;
padding-left: 24px;
font-weight: 700;
}
.challenge_box .ch_title h3 > span {
display: block;
font-size:14px;
}
.challenge_box .ch_title p {
color: #15ac97;
font-family: 'Oswald', sans-serif;
font-size: 18px;
line-height: 3;
position: relative;
}
.challenge_box .ch_title p > em {
font-size: 36px;
line-height: 0.7;
}
.challenge_box .ch_title p::after {
background-color: #000;
content:'';
display: block;
height: 100%;
width: 1px;
position: absolute;
top:0;
right: -16px;
}

.challenge_box  .tx_lead {
font-size:16px;
margin-bottom:8px;
text-align: left;
}

.challenge_box .ch_prize {margin-top:8px;}
.challenge_box .ch_prize .ch_pr_summary {padding-top: 8px;}
.challenge_box .ch_prize .ch_pr_summary h4 {
	font-size:16px;
	font-weight: 700;
	display: flex;
	align-items: center;
}
.challenge_box .ch_prize .ch_pr_summary h4::before {
	content:'●';
	font-size:16px;
}
.challenge_box .ch_prize .ch_pr_summary h4 > em {color:#ed015a;}

.challenge_box .ch_prize .ch_pr_limited {
	background-color: #ed015a;
	border-radius: 16px;
	color:#fff;
	font-size:18px;
	font-weight: 700;
	line-height: 32px;
	margin: 16px 0;
	text-align: center;
	width: 100%;
	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	-ms-border-radius: 16px;
	-o-border-radius: 16px;
}

.challenge_box .ch_prize .tx_prizes {
	color: #15ac97;
	font-size:16px;
	font-weight: 700;
}
.challenge_box .ch_prize .tx_prizes > em {
color:#ed015a;
padding: 0 8px;
}
.challenge_box .ch_prize .tx_prizes > span {color:#000;}

.challenge_box .ch_prize .tx_extend {
font-size:14px;
margin-top: 8px;
}
.challenge_box .ch_prize .tx_extend > span {font-weight: 700;}

.prize_attention {
background-color: rgba(255,255,255,.6);
padding: 24px;
}
.prize_attention .pr_at_box {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
}
.prize_attention .pr_at_box h4 {
background-color: #333;
border-radius: 16px;
color:#fff;
font-size:18px;
line-height: 32px;
padding: 2em 0;
width: 32px;
writing-mode: vertical-rl;
}
.prize_attention .pr_at_box .pr_at_summary {
line-height: 1.6;
width: calc(100% - 48px);
}
.prize_attention .pr_at_box .pr_at_summary p.tx_primary,
.prize_attention .pr_at_box .pr_at_summary dt {font-size:16px;}
.prize_attention .pr_at_box .pr_at_summary dt > em {
color:#ed015a;
font-weight: 700;
}
.prize_attention .pr_at_box .pr_at_summary dd {
border-bottom:1px solid #000;
font-size:14px;
margin-bottom: 16px;
padding-bottom: 8px;
}

.prize_attention .pr_at_box .pr_at_summary ul {
font-size:14px;
margin: 8px 0;
}
.prize_attention .pr_at_box .pr_at_summary li {
border-bottom:1px solid #000;
margin-bottom: 4px;
padding: 4px 0;
}
.prize_attention .pr_at_box .pr_at_summary li > span {
display: block;
}

.pr_at_box + .pr_at_box {margin-top:24px}

.prize_attention .pr_at_box .tx_senchaku {
font-size:14px;
margin-top: 16px;
}
.prize_attention .pr_at_box .tx_senchaku > em {
color: #ed015a;
display: block;
font-weight: 700;
}
/* end PRIZE */


/* ===== SPOT ===== */
.spot_wrap .title {margin-top:32px;}
.spot_box {
	border-bottom: 4px solid #ddd;
margin:0 auto 40px;
padding-bottom: 16px;
width: 90%;
}
.spot_box figure {
margin:0 auto 8px;
max-width: 384px;
}

.spot_box .spot_title {
border-bottom: 4px solid #ddd;
display: flex;
flex-direction: row-reverse;
justify-content: flex-end;
align-items: center;
margin-bottom: 16px;
padding-bottom: 16px;
}
.spot_box .spot_title h3 {
font-size:20px;
padding-left: 28px;
font-weight: 700;
}
.spot_box .spot_title h3 > span {
color: #ed015a;
display: block;
font-size:14px;
margin-top: 4px;
}
.spot_box .spot_title h3 > span > span {
color:#000;
display: block;
font-size:12px;
}
.spot_box .spot_title h3 > span.tx_blk {color:#000;}
.spot_box .spot_title p {
color: #ea869c;
font-family: 'Oswald', sans-serif;
font-size: 18px;
line-height: 2;
position: relative;
}
.spot_box .spot_title p > em {
font-size: 36px;
line-height: 0.7;
position: relative;
top:4px;
}
.spot_box .spot_title p::after {
background-color: #000;
content:'';
display: block;
height: 100%;
width: 1px;
position: absolute;
top:0;
right: -16px;
}

.spot_box .summary .tx_primary {
font-size:18px;
font-weight: 700;
margin-bottom: 16px;
}
.spot_box .summary .spot_info {
font-size:14px;
line-height: 1.8;
}
/* end SPOT */


/* ===== JOIN ===== */
.join_box {
	background-color: #fff;
	border:4px solid #15ac97;
	border-radius: 8px;
	margin-bottom: 24px;
	padding:24px;
	position: relative;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-ms-border-radius: 8px;
	-o-border-radius: 8px;
}
.join_box .join_title {
border-bottom: 4px solid #ddd;
display: flex;
flex-direction: row-reverse;
justify-content: flex-end;
align-items: center;
margin-bottom: 16px;
padding-bottom: 16px;
}
.join_box .join_title.no_border {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.join_box .join_title h3 {
font-size:18px;
padding-left: 24px;
font-weight: 700;
}
.join_box .join_title h3 > em {
color: #ed015a;
font-size:22px;
}
.join_box .join_title p {
color: #15ac97;
font-family: 'Oswald', sans-serif;
font-size: 18px;
line-height: 3;
position: relative;
}
.join_box .join_title p > em {
font-size: 36px;
line-height: 0.7;
}
.join_box .join_title p::after {
background-color: #000;
content:'';
display: block;
height: 100%;
width: 1px;
position: absolute;
top:0;
right: -16px;
}

.join_box .join_list_1 {
align-items: center;
margin:auto;
}
.join_box .join_list_1 li:nth-child(1) {width:27.18%;}
.join_box .join_list_1 li:nth-child(2) {width:26.21%;}
.join_box .join_list_1 li:nth-child(3) {width:32.68%;}

.join_box .join_list_2.fx_row_3 > *,
.join_box .join_list_2.fx_row_4 > * {width:100%;}
.join_box .join_list_2 li {
margin-bottom: 40px;
position: relative;
}
.join_box .join_list_2 li:not(:last-child)::after {
	border-style: solid;
	border-width: 16px 12px 0 12px;
	border-color: #15ac97 transparent transparent transparent;
	content:'';
	height: 0;
	width: 0;
	position: absolute;
	left:50%;
	bottom:-24px;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
.join_box .join_list_2 p {
font-size:16px;
line-height: 1.5;
}
.join_box .join_list_2 p strong {
color: #15AC97;
font-weight: bold;
}
.join_box .join_list_2 figure {
margin:16px auto 8px;
max-width: 220px;
width: 100%;
}
.join_box .join_list_2 .tx_caption {
font-size:14px;
text-align: center;
}
.join_box .jpoin_stamp_txt {
margin-bottom: 20px;
font-size:18px;
font-weight: bold;
}

.join_box .tx_join {
font-size: 16px;
line-height: 1.5;
}
.join_box .join_list_3 {margin:16px auto;}
.join_box .join_list_3 li {
background-color: #ea869c;
color:#fff;
font-size:14px;
margin-bottom: 8px;
padding: 4px 8px;
}
.join_box .join_list_3 li em {
font-size:18px;
font-weight: 700;
}
.join_box .extend_note p {
font-size:14px;
font-weight: 700;
}
.join_box .extend_note ol {margin-top:8px;}
.join_box .extend_note li {
padding-left: 1em;
text-indent: -1em;
}
/* end JOIN */

/* ===== ATTENTION ===== */
.attention_wrap {margin-bottom: 120px;}
.attention_wrap .kiyaku {
display: flex;
justify-content: center;
}
.attention_wrap .kiyaku a {
	background-color: #ed015a;
	border-radius:32px;
	color:#fff;
	display: inline-block;
	font-size:20px;
	margin:0 auto 32px;
	padding: .25em 1em;
	text-align: center;
}
.attention_wrap .kiyaku a > span {
	display: block;
	font-size:14px;
}

.attention_wrap h2 {
color: #ed015a;
font-size: 20px;
font-weight: 700;
margin-bottom: 16px;
text-align: center;
}

.attention_wrap .apli {
width: 90%;
margin: auto;
}
.attention_wrap .img_wester1 {
width: 170px;
padding: 0;
margin: 0 auto;
}
.attention_wrap .apli dl {
width: 90%;
padding: 20px 0 0;
margin: 0 auto 20px;
}
.attention_wrap .apli dl::after {
clear:both;
content: '';
display: block;
}
.attention_wrap .apli dt {
font-size: 20px;
font-weight: 700;
text-align: center;
padding: 0;
margin: 0 0 25px
}
.attention_wrap .apli dd {
float: left;
width: 39.03%;
padding: 0;
margin: 0
}
.attention_wrap .apli dd:last-child {
float:right;
width: 48.91%;
}
.attention_wrap .txt_wester2 {
font-size: 14px;
text-align: center;
padding: 0;
margin-top:16px;
}
/* end ATTENTION */

/* ===== CAUTION ===== */
.caution_wrap h2 {
font-size:20px;
font-weight: 700;
margin-bottom: 32px;
text-align: center;
}
.caution_wrap h2 > span {
display: block;
font-size:14px;
}

.caution_wrap dl {
	margin:auto;
	width:90%;
}
.caution_wrap dt {
font-size:15px;
font-weight: 700;
margin:16px 0 8px;
}
.caution_wrap dd {
font-size:14px;
line-height: 1.5;
margin-bottom: .5em;
padding-left: 1.25em;
position: relative;
}
.caution_wrap dd::before {
color:#ea869c;
content:'●';
display: inline-block;
position: absolute;
left:0;
top:0;
}

.contact_box {
border:1px solid #ddd;
box-sizing: border-box;
background-color: #efefef;
font-size:14px;
margin:32px auto 0;
padding: 1.5em;
text-align: center;
width: 90%;
}
.contact_box h3 {
font-size:20px;
font-weight: 700;
margin-bottom: 16px;
}
.contact_box .tx_primary {
font-size:16px;
margin-bottom: 8px;
}
/* end CAUTION */

/* ===== event_info ===== */
.event_info {
    margin-top: 20px;
    padding: 0 15px;
    color: #cc0000;
    font-weight: normal;
}
.event_info strong {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
}
.challenge_box .event_info,
.pr_at_box .event_info {
    padding: 0;
    font-size: 14px;
}
.challenge_box .event_info strong,
.pr_at_box .event_info strong {
    margin-bottom: 0;
}
/* end event_info */


} /* end @media */



/* ============================================================
PC
============================================================ */

@media screen and (min-width: 760px) {
.fx_row_2 > * {width:48.6%;}
.fx_row_3 > * {width:33.33%;}
.fx_row_4 > * {width:25%;}

.title {
background: #15ac97;
box-shadow:0 1px 3px rgba(0,0,0,0.25);
box-sizing: border-box;
color:#fff;
font-size:40px;
font-weight: 700;
margin: 0 auto 64px;
width: 14em;
position: relative;
padding:8px 0;
text-align: center;
}
.title::before,
.title::after{
border: 28px solid #15ac97;
content: '';
height: 0;
width: 0;
position: absolute;
top:18px;
z-index:-1;
}
.title::before{
border-right-color: transparent;
right: -44px;
}
.title::after{
border-left-color: transparent;
left: -44px;
}
.title span{display:block;}
.title span::before,
.title span::after{
border: 5px solid transparent;
border-top: 5px solid #0f7466;
content: '';
height: 0;
width: 0;
position: absolute;
top: 100%;
}
.title span::before{
border-left: 5px solid #0f7466;
right: 0;
}
.title span::after{
border-right: 5px solid #0f7466;
left: 0;
}

.tx_lead {
font-size:24px;
margin-bottom:32px;
text-align: center;
}

.tx_note {font-size:14px;}
.tx_al_right {text-align: right;}

.visible_sp {display: none;}

/* ===== MV ===== */
.mv_wrap {
position: relative;
}
.mv_wrap::after {
background: url(../images/bg_flag.png) repeat-x 50%;
background-size: cover;
content: '';
height: 68px;
width: 100%;
position: absolute;
left:0;
top:16px;
z-index: 2;
}
.mv_wrap .inner {padding: 16px 0;}
.mv_wrap h2 {
margin-left:-24px;
}
/* end MV */


/* ===== INTRO ===== */
.intro_wrap figure {margin-top:-80px}
.intro_wrap figcaption {
font-size:12px;
text-align: right;
}

.intro_title {
background-color: #ea869c;
box-shadow:0 1px 3px rgba(0,0,0,0.25);
color:#fff;
font-size:48px;
font-weight: 700;
line-height: 1.6;
margin: 24px auto 40px;
text-align: center;
width: 14em;
position: relative;
}
.intro_title::before,
.intro_title::after {
content:'';
border:8px solid transparent;
border-top:8px solid #ae3b54;
height:0;
width: 0;
position: absolute;
top:100%;
}
.intro_title::before {
right: 0;
border-left: 8px solid #ae3b54;
}
.intro_title::after {
left: 0;
border-right: 8px solid #ae3b54;
}

.intro_lead {
color:#ea869c;
font-size:24px;
font-weight: 700;
margin: 0 auto 40px;
text-align: center;
}

.challenge_list.fx_row_3 > * {width:32.33%;}

.challenge_list li dl {
border:1px solid #15ac97;
border-radius: 16px;
display: inline-flex;
flex-direction: column;
align-items: center;
margin-bottom: 8px;
padding-bottom: 16px;
width: 100%;
position: relative;
z-index: 1;
}
.challenge_list li dt {
color: #15ac97;
font-family: 'Oswald', sans-serif;
font-size:40px;
margin-bottom: -24px;
position: relative;
top:-32px
}
.challenge_list li dt::before {
content:'CHALLENGE';
font-size:20px;
font-weight: 500;
}
.challenge_list li dt::after {
background: #fff;
content:'';
display: block;
height:1em;
width: 110%;
position: absolute;
z-index: -1;
top:.25em;
left:-5%;
}
.challenge_list li dd {
font-size:20px;
font-weight: 700;
text-align: center;
}
.challenge_list li dd > span {
display: block;
font-size:14px;
}
.challenge_list li dd.event_links {margin-top:1em;}
.challenge_list li dd.event_links > a {
background-color: #15ac97;
border-radius: 16px;
color:#fff;
font-size:18px;
padding: 8px 16px;
}
.challenge_list li p {
font-size:14px;
text-align: center;
}

.flow_list {
margin:0 auto;
max-width: 720px;
}
.flow_list.fx_row_3 > * {width: 32.33%;}

.intro_map {
margin:64px auto 40px;
max-width: 528px;
width: 100%;
}
.intro_map p {
	font-size:18px;
	font-weight: 700;
	margin-bottom: 8px;
	text-align: center;
}
.intro_map img {border:1px solid #666;}

.intro_map + p {
font-size:18px;
margin:40px 0 16px;
text-align: center;
}
/* end INTRO */


/* ===== PRIZE ===== */
.prize_challenge .tx_colophon {
font-size:24px;
font-weight:700;
margin: 16px auto 40px;
text-align: center;
}

.challenge_box {
background-color: #fff;
border:4px solid #15ac97;
border-radius: 16px;
margin-bottom: 24px;
padding:32px;
position: relative;
}
.challenge_box .ch_title {
border-bottom: 4px solid #ddd;
display: flex;
flex-direction: row-reverse;
justify-content: flex-end;
align-items: center;
margin-bottom: 16px;
padding-bottom: 16px;
}
.challenge_box .ch_title h3 {
font-size:24px;
padding-left: 32px;
font-weight: 700;
}
.challenge_box .ch_title h3 > span {
display: block;
font-size:16px;
}
.challenge_box .ch_title p {
color: #15ac97;
font-family: 'Oswald', sans-serif;
font-size: 32px;
line-height: 1;
position: relative;
}
.challenge_box .ch_title p > em {
font-size: 56px;
line-height: 0.7;
}
.challenge_box .ch_title p::after {
background-color: #000;
content:'';
display: block;
height: 100%;
width: 1px;
position: absolute;
top:0;
right: -16px;
}

.challenge_box  .tx_lead {
font-size:18px;
margin-bottom:8px;
text-align: left;
}

.challenge_box .ch_prize {
display: flex;
align-items: flex-start;
margin-top:8px;
}
.challenge_box .ch_prize .ch_pr_summary {
padding-top: 8px;
}
.challenge_box .ch_prize .ch_pr_summary h4 {
	font-size:24px;
	display: flex;
	align-items: center;
}
.challenge_box .ch_prize .ch_pr_summary h4::before {
	content:'●';
	font-size:16px;
}
.challenge_box .ch_prize .ch_pr_summary h4 > em {color:#ed015a;}

.challenge_box .ch_prize .ch_pr_limited {
background-color: #ed015a;
border-radius: 20px;
color:#fff;
font-size:20px;
font-weight: 700;
line-height: 40px;
margin-left: 32px;
text-align: center;
width: 10em;
}

.challenge_box .ch_prize .tx_prizes {
	color: #15ac97;
	font-size:24px;
}
.challenge_box .ch_prize .tx_prizes > em {
color:#ed015a;
padding: 0 8px;
}
.challenge_box .ch_prize .tx_prizes > span {color:#000;}

.challenge_box .ch_prize .tx_extend {
font-size:16px;
margin-top: 8px;
}
.challenge_box .ch_prize .tx_extend > span {font-weight: 700;}

.prize_attention {
background-color: rgba(255,255,255,.6);
padding: 32px;
}
.prize_attention .pr_at_box {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
}
.prize_attention .pr_at_box h4 {
background-color: #333;
border-radius: 16px;
color:#fff;
font-size:18px;
line-height: 32px;
text-align: center;
width: 15%;
}
.prize_attention .pr_at_box .pr_at_summary {
line-height: 1.6;
width: 83%;
}
.prize_attention .pr_at_box .pr_at_summary p.tx_primary,
.prize_attention .pr_at_box .pr_at_summary dt {font-size:20px;}
.prize_attention .pr_at_box .pr_at_summary dt > em {
color:#ed015a;
font-weight: 700;
}
.prize_attention .pr_at_box .pr_at_summary dd {font-size:16px;}
.prize_attention .pr_at_box .pr_at_summary dd + dt {margin-top:16px;}

.prize_attention .pr_at_box .pr_at_summary ul {
font-size:16px;
margin: 8px 0;
}
.prize_attention .pr_at_box .pr_at_summary li {
border-bottom:1px solid #000;
margin-bottom: 4px;
padding: 4px 0;
}
/*.prize_attention .pr_at_box .pr_at_summary li > span {
display: inline-block;
width: 18em;
}*/

.pr_at_box + .pr_at_box {margin-top:24px}

.prize_attention .pr_at_box .tx_senchaku {
font-size:16px;
margin-top: 24px;
}
.prize_attention .pr_at_box .tx_senchaku > em {
color: #ed015a;
display: block;
font-weight: 700;
}
/* end PRIZE */


/* ===== SPOT ===== */
.spot_wrap .title {margin-top: 64px;}
.spot_box {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 40px;
}
.spot_box figure {width:39.58%;}
.spot_box .summary {width:57.42%;}

.spot_box .spot_title {
border-bottom: 4px solid #ddd;
display: flex;
flex-direction: row-reverse;
justify-content: flex-end;
align-items: center;
margin-bottom: 16px;
padding-bottom: 16px;
}
.spot_box .spot_title h3 {
font-size:24px;
padding-left: 32px;
font-weight: 700;
}
.spot_box .spot_title h3 > span {
color: #ed015a;
display: block;
font-size:16px;
margin-top: 4px;
}
.spot_box .spot_title h3 > span > span {
color:#000;
display: block;
font-size:14px;
}
.spot_box .spot_title h3 > span.tx_blk {color:#000;}
.spot_box .spot_title p {
color: #ea869c;
font-family: 'Oswald', sans-serif;
font-size: 32px;
line-height: 1.6;
position: relative;
}
.spot_box .spot_title p > em {
font-size: 56px;
line-height: .7;
position: relative;
top:4px;
}
.spot_box .spot_title p::after {
background-color: #000;
content:'';
display: block;
height: 100%;
width: 1px;
position: absolute;
top:0;
right: -16px;
}

.spot_box .summary .tx_primary {
font-size:20px;
font-weight: 700;
line-height: 1.6;
margin-bottom: 24px;
}

.spot_box .summary .spot_info {
font-size:16px;
line-height: 1.8;
}
/* end SPOT */


/* ===== JOIN ===== */
.join_box {
background-color: #fff;
border:4px solid #15ac97;
border-radius: 16px;
margin-bottom: 24px;
padding:32px;
position: relative;
}
.join_box .join_title {
border-bottom: 4px solid #ddd;
display: flex;
flex-direction: row-reverse;
justify-content: flex-end;
align-items: center;
margin-bottom: 16px;
padding-bottom: 16px;
}
.join_box .join_title.no_border {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.join_box .join_title h3 {
font-size:24px;
padding-left: 32px;
font-weight: 700;
}
.join_box .join_title h3 > em {
color: #ed015a;
font-size:28px;
}
.join_box .join_title p {
color: #15ac97;
font-family: 'Oswald', sans-serif;
font-size: 32px;
line-height: 3;
position: relative;
}
.join_box .join_title p > em {
font-size: 56px;
line-height: 0.7;
}
.join_box .join_title p::after {
background-color: #000;
content:'';
display: block;
height: 100%;
width: 1px;
position: absolute;
top:0;
right: -16px;
}

.join_box .join_list_1 {
align-items: center;
margin:auto;
max-width: 618px;
width: 100%;
}
.join_box .join_list_1 li:nth-child(1) {width:27.18%;}
.join_box .join_list_1 li:nth-child(2) {width:26.21%;}
.join_box .join_list_1 li:nth-child(3) {width:32.68%;}

.join_box .join_list_2.fx_row_3 {
margin:auto;
max-width: 740px;
}
.join_box .join_list_2.fx_row_3 > * {width: 31%;}
.join_box .join_list_2.fx_row_4 > * {width:22%;}
.join_box .join_list_2 li {position: relative;}
.join_box .join_list_2 li:not(:last-child)::after {
border-style: solid;
border-width: 12px 0 12px 16px;
border-color: transparent transparent transparent #15ac97;
content:'';
height: 0;
width: 0;
position: absolute;
right:-13.5%;
top:50%;
}
.join_box .join_list_2 p {
font-size:18px;
line-height: 1.5;
}
.join_box .join_list_2 p strong {
color: #15AC97;
font-weight: bold;
}
.join_box .join_list_2 figure {
margin:16px auto 8px;
max-width: 168px;
width: 100%;
}
.join_box .join_list_2 .tx_caption {
font-size:14px;
text-align: center;
}
.join_box .jpoin_stamp_txt {
margin-bottom: 20px;
font-size:25px;
font-weight: bold;
text-align: center;
}

.join_box .tx_join {
font-size: 20px;
line-height: 1.5;
}
.join_box .join_list_3 {margin:16px auto;}
.join_box .join_list_3 li {
background-color: #ea869c;
color:#fff;
font-size:18px;
margin-bottom: 8px;
padding: 8px 16px;
}
.join_box .join_list_3 li em {
font-size:22px;
font-weight: 700;
}
.join_box .extend_note p {
font-size:16px;
font-weight: 700;
}
.join_box .extend_note ol {margin-top:8px;}
.join_box .extend_note li {
font-size:16px;
padding-left: 1em;
text-indent: -1em;
}
/* end JOIN */


/* ===== ATTENTION ===== */
.attention_wrap {margin-bottom: 120px;}
.attention_wrap .kiyaku {
display: flex;
justify-content: center;
}
.attention_wrap .kiyaku a {
background-color: #ed015a;
border-radius:32px;
color:#fff;
display: inline-block;
font-size:24px;
margin:0 auto 48px;
padding: .25em 1em;
text-align: center;
}
.attention_wrap .kiyaku a > span {
	display: block;
	font-size:14px;
}

.attention_wrap h2 {
color: #ed015a;
font-size: 24px;
font-weight: 700;
margin-bottom: 1em;
text-align: center;
}

.attention_wrap .apli {
width: 640px;
margin: 0 auto
}
.attention_wrap .img_wester1 {
float: left;
width: 170px;
padding: 0;
margin: 0 0 20px
}
.attention_wrap .apli dl {
float: right;
width: 415px;
padding: 20px 0 0;
margin: 0 0 20px
}
.attention_wrap .apli dt {
font-size: 25px;
font-weight: 700;
text-align: center;
padding: 0;
margin: 0 0 25px
}
.attention_wrap .apli dd {
float: left;
width: 39.03%;
padding: 0;
margin: 0
}
.attention_wrap .apli dd:last-child {
float:right;
width: 48.91%;
}
.attention_wrap .txt_wester2 {
clear: both;
font-size: 16px;
text-align: center;
padding: 0;
margin: 0
}
/* end ATTENTION */

/* ===== CAUTION ===== */
.caution_wrap h2 {
font-size:24px;
font-weight: 700;
margin-bottom: 40px;
text-align: center;
}
.caution_wrap h2 > span {
display: block;
font-size:16px;
}

.caution_wrap dt {
font-size:18px;
font-weight: 700;
margin:24px 0 8px;
}
.caution_wrap dd {
font-size:16px;
line-height: 1.5;
margin-bottom: .5em;
padding-left: 1.25em;
position: relative;
}
.caution_wrap dd::before {
color:#ea869c;
content:'●';
display: inline-block;
position: absolute;
left:0;
top:0;
}

.contact_box {
border:1px solid #ddd;
background-color: #efefef;
font-size:16px;
margin-top:48px;
padding: 1.5em;
text-align: center;
}
.contact_box h3 {
font-size:24px;
font-weight: 700;
margin-bottom: 16px;
}
.contact_box .tx_primary {
font-size:20px;
margin-bottom: 8px;
}
/* end CAUTION */

/* ===== event_info ===== */
.event_info {
    margin-top: 20px;
    padding: 0 15px;
    color: #cc0000;
    font-weight: normal;
}
.event_info strong {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
}
.challenge_box .event_info,
.pr_at_box .event_info {
    padding: 0;
    font-size: 16px;
}
.challenge_box .event_info strong,
.pr_at_box .event_info strong {
    margin-bottom: 0;
}

/* end event_info */

} /* end @media */
