@charset "UTF-8";

/* structure
====================================================================================================================================== */
html,
body {
	width: 100%;
}

html {
	height: 100%;
}

body {
	color: var(--black);
	background: var(--white);
	overflow-y: scroll;
	overflow-x: hidden;
	width: 100%;
	min-width: 0;
	-webkit-overflow-scrolling: touch;
}

#container {
	width: 100%;
	font-size: 1rem;
	line-height: 1.8;
	overflow: hidden;
}

.wrapper {
	overflow: visible;
	margin: 0;
	padding-left: 20px;
	padding-right: 20px;
	width: auto !important;
}

.wrapper:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

/* header
====================================================================================================================================== */
#header {
	position: fixed;
	display: flex;
	align-items: center;
	left: 0;
	top: 0;
	width: 100%;
	height: 70px;
	background: url("../../common/images/bg_pattern.webp") repeat left top, var(--red);
	background-size: 576px auto, auto;
	text-align: center;
	z-index: 100;
}

#header,
#header a {
	color: var(--white);
}

#header.coupon_header {
	height: 105px;
}

#header .header_attention {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: var(--red);
	padding: 0.3em 0;
	font-size: 0.9em;
	font-weight: bold;
}

#header .header_attention:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -10px;
	left: 50%;
	width: 0px;
	height: 0px;
	margin-left: -3.5px;
	border-style: solid;
	border-width: 10px 7px 0 7px;
	border-color: var(--red) transparent transparent transparent;
}

#container {
	margin-top: 70px;
}

#container.page_coupon {
	margin-top: 85px;
}

#header #site_title {
	margin: 0 auto;
}

#header #site_title img {
	height: 56px;
	width: auto;
}

#header #site_title.text_in {
	position: relative;
	width: 100%;
	padding-top: 0;
	font-size: 1.3em;
	display: flex;
	justify-content: center;
	align-items: center;
}

#header #site_title.text_in img {
	position: absolute;
	left: 6px;
	top: -8px;
}

#header .tit {
	padding-top: 0;
	display: inline-block;
}

#header .tit.column02 {
	line-height: 1.25;
}

#header .tit .sub_tit {
	display: block;
	font-size: 0.8rem;
	opacity: 0.8;
	padding-top: 0.1rem;
}

#header .header_menu_wrap {
	position: absolute;
	right: 2px;
	top: 11px;
	z-index: 1;
}

#header .header_menu_wrap.menu_left {
	right: auto;
	left: 6px;
}

#header .header_menu_wrap .header_menu {
	float: right;
	position: static;
	margin: 0;
}

#header .howto {
	position: absolute;
	right: 0;
	bottom: 0;
}

#header .header_btn {
	display: inline-block;
	width: 60px;
	height: auto;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 34px auto;
	background-image: url("../images/icon/icon_hatena.webp");
	text-indent: 0;
	padding: 35px 0 5px;
	line-height: 1.2;
	font-size: 0.7em;
	font-weight: bold;
	vertical-align: bottom;
}

#header .header_btn.story {
	background-image: url("../images/icon/icon_book.webp");
}

#header .header_btn.back {
	background-image: url("../images/icon/icon_back.webp");
	background-size: 25px auto;
	background-position: center 5px;
}

#header .tooltip {
	bottom: auto;
	top: 55px;
	right: 6px;
	color: var(--black);
}

#header .tooltip:before {
	bottom: auto;
	top: -10px;
	border-width: 0px 7px 10px 7px;
	border-color: transparent transparent var(--white) transparent;
}

/* status */
#header .head_status {
	position: absolute;
	right: 5px;
	top: 3px;
	display: flex;
	float: right;
	font-size: 0.65em;
	line-height: 1.4;
}

#header .head_status:before {
	content: "";
	display: block;
	position: absolute;
	left: 10px;
	bottom: 16px;
	width: calc(100% - 20px);
	border-top: solid 2px var(--gray-text);
}

.head_status li {
	position: relative;
	margin: 0 2.5px;
	display: inline-block;
}

.head_status li p {
	margin: 0;
	font-weight: bold;
	opacity: 0;
}

.head_status li .icon {
	display: inline-block;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: solid 1px var(--gray-text);
	background: var(--black) url("../images/item/status/scop_no_head.webp") no-repeat center center;
	background-size: 90% 90%;
}

.head_status li.get .icon {
	border-color: var(--white);
	background-color: var(--white);
}

/* icon */
.head_status li.map .icon {
	background-image: url("../images/item/status/map_no_head.webp");
}

.head_status li.flower .icon {
	background-image: url("../images/item/status/flower_no_head.webp");
	background-size: 100% 100%;
}

/* get */
.head_status.scop .scop p,
.head_status.map .map p {
	opacity: 1;
}

.head_status li.get .icon {
	background-image: url("../images/item/status/scop.webp");
}

.head_status li.map.get .icon {
	background-image: url("../images/item/status/map.webp");
}

.head_status li.flower.get .icon {
	background-image: url("../images/item/status/flower.webp");
	background-size: 100% 100%;
}

/* ヘッダー真下 */
.header_bottom {
	position: relative;
	padding: 7px 5px;
	line-height: 1.2;
	background: var(--yellow-light);
	color: var(--red-shadow);
	font-weight: bold;
	text-align: center;
}

.header_bottom .text_mini {
	display: block;
	font-size: 0.7em;
}

/* contents
====================================================================================================================================== */
#conts {
	padding: 1.5em 0 0;
	overflow: hidden;
}

.page_coupon #conts {
	padding-top: 3em;
}

.page_nazo #conts {
	padding-top: 0;
}

.page_score #conts {
	margin-bottom: 0;
	padding-bottom: 0;
	padding-top: 0.5em;
	background: url("../images/bg_stage_long.webp") repeat-x center -7.8rem;
	background-size: auto 260px;
}

.head_visual #conts,
.page_quiz_answer #conts {
	position: relative;
	overflow: visible;
}

.head_visual #conts:before,
.page_quiz_answer #conts:before {
	content: "";
	display: block;
	width: 100%;
	height: 12px;
	position: absolute;
	left: 0;
	top: -11px;
	background: url("../images/bg_top.webp") repeat-x left bottom;
	background-size: auto 100%;
	z-index: 10;
}

/* footer
====================================================================================================================================== */
#footer {
	background: url("../../common/images/bg_pattern.webp") repeat left top, var(--red);
	background-size: 576px auto, auto;
	color: var(--white);
	padding: var(--space-xl) 0;
	text-align: center;
}

#footer a,
#footer a:link,
#footer a:visited {
	color: var(--white);
}

#footer .tit {
	margin-bottom: 1rem;
}

#footer small {
	font-size: 0.8em;
	line-height: 1.6;
	display: block;
}

/* side_fixed_box
====================================================================================================================================== */
.top_page {
	display: block;
	position: fixed;
	right: 10px;
	bottom: 20px;
	background: url("../images/icon/arrow_top_w.svg") no-repeat center center;
	background-size: 50% auto;
	background-color: var(--black);
	width: 52px;
	height: 52px;
	z-index: 900;
	text-indent: 110%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 50%;
}

/* 出題画面
====================================================================================================================================== */

.nazo_wrap {
	text-align: center;
	background: url("../images/bg_stripe.webp");
	background-size: 60px auto;
	margin: 0 -20px 3em;
	border-bottom: solid 3px var(--black);
	padding: 0 20px 2em;
}

.nazo_wrap .tit_top_wrap,
.level_wrap .tit_top_wrap {
	margin-bottom: 3em;
}

.nazo_wrap .tit_top_wrap .tit_wrap:before,
.level_wrap .tit_top_wrap .tit_wrap:before {
	display: none;
}

.nazo_wrap .tit_top_wrap h2 {
	background: url("../images/bg_stripe.webp");
	background-size: 60px auto;
}

.level_wrap .tit_top_wrap h2 {
	background: var(--yellow-light);
}

.nazo_box {
	position: relative;
	padding: 3px;
	margin: 1.5em 0 25px;
	overflow: visible;
}

.nazo_box .nazo_text {
	padding: 6vw;
	margin: 0 auto 1em;
	background: var(--white);
	border: solid 4px var(--black);
	text-align: center;
	overflow: hidden;
	font-size: 1.1em;
	font-weight: bold;
	border-radius: 14px;
	box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.1);
}

/* ミッション */
.mission_box {
	background: url("../images/bg_mokume.webp") repeat-y center top;
	background-size: 100% auto;
	padding: 1em 25px 1.6em;
	margin: 0 -25px;
	border-top: solid 3px var(--black);
}

.mission_box .place {
	color: var(--white);
}

.mission_box .nazo_box .nazo_number {
	top: -5px;
	padding-top: 0.9em;
}

.mission_box .nazo_box .nazo_text {
	line-height: 1.5;
	padding-top: 1em;
}

.mission_box .nazo_text .font_sm,
.mission_box .nazo_text .font_xs {
	display: block;
}

.mission_box .nazo_text .font_sm {
	padding: 0.5em 0 0;
	font-size: 0.7em;
	letter-spacing: -0.01em;
	margin-bottom: 0.2em;
}

.mission_box .nazo_text .font_sm+br {
	display: none;
}

/* 回答 */
form.nazo_answer fieldset {
	position: relative;
	background: var(--black);
	color: var(--white);
	padding: 1em;
	margin: 0 auto 1em;
	border-radius: 12px;
	text-align: left;
	font-size: 1.2em;
}

form.nazo_answer fieldset:before {
	content: "";
	display: block;
	position: absolute;
	left: 4px;
	top: 4px;
	width: calc(100% - 12px);
	height: calc(100% - 12px);
	border: solid 2px var(--white);
	border-radius: 10px;
}

form.nazo_answer .answer_select {
	position: relative;
	display: block;
	border-bottom: dotted 2px var(--gray-line);
}

form.nazo_answer .answer_select:last-child {
	border-bottom: 0;
}

form.nazo_answer .answer_select label {
	display: block;
	margin: 0;
	padding: 0.5em 0.6em;
	padding-left: 45px;
	font-weight: bold;
}

.answer_select label img {
	width: 2.25em;
	margin-right: 0.2em;
	margin-bottom: -0.15em;
}

form.nazo_answer .answer_select input {
	opacity: 0;
	position: absolute;
	left: 1.6em;
	top: 1.2em;
}

/* select */
form.nazo_answer .answer_select input:checked+label {
	background: rgba(255, 255, 255, 0.2);
	color: var(--yellow);
}

form.nazo_answer .answer_select input+label:before,
form.nazo_answer .answer_select input:checked+label:after {
	content: "";
	display: block;
	position: absolute;
	left: 13px;
	top: 50%;
	margin-top: -11px;
	width: 18px;
	height: 18px;
	border: solid 3px var(--gray-line);
	z-index: 10;
	border-radius: 50%;
	overflow: hidden;
}

form.nazo_answer .answer_select input:checked+label:before {
	border-color: var(--yellow);
}

form.nazo_answer .answer_select input:checked+label:after {
	left: 19px;
	margin-top: -5px;
	width: 12px;
	height: 12px;
	background: var(--yellow);
	border: 0;
}

.nazo_answer_help {
	font-size: 0.9em;
	font-weight: bold;
	margin: 0 auto 0.1em;
}

form.form_nazo input[type=text] {
	border: solid 3px var(--black);
	font-weight: bold;
	font-size: 1.2em;
	padding: 1em;
	margin-bottom: 0.6em;
	width: 88vw;
	max-width: 400px;
	border-radius: 8px;
}

form.form_nazo input[type=text]::placeholder {
	color: #aaa;
}

.btn_form_box {
	padding-top: 0.5em;
	text-align: center;
}

#conts .btn_answer {
	padding-right: 65px;
	background-image: url("../images/icon/oval_check_w.webp");
	background-position: right 20px center;
	background-repeat: no-repeat;
	background-size: 34px auto;
}

.nazo_answer_back {
	margin: 7em 0 2em;
}

.nazo_answer_back .btn {
	min-width: 0;
}

/* MAP */

.map_iframe {
	margin: 0 calc(var(--space-side) * -1);
	height: 64.8vw;
	margin-bottom: 0;
}

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

.page_quiz .map_iframe {
	margin-top: -1.5rem;
}

.page_score .map_iframe {
	margin: 0 0 0.5rem;
	height: 95vw;
}

.page_score .map_iframe iframe {
	border: solid 2px var(--black);
	border-radius: 16px;
}

/* レベルアップ */
.level_wrap {
	border-bottom: solid 3px var(--black);
	background: var(--yellow-light);
	border-left: 0;
	border-right: 0;
	margin: 0 -20px 2em;
	padding: 0 20px;
}

.level_wrap .score_box .score_data {
	width: auto;
	background: #F59B00;
	display: inline-block;
	padding-right: 2.5em;
	padding-left: 2.5em;
}

/* SNS */
.share_wrap,
.about_wrap {
	text-align: center;
	padding: 2.5em 20px;
	margin: 0 -25px;
}

.share_wrap {
	padding: 0;
	margin: 0 0 2em;
}

.share_wrap>p {
	font-weight: bold;
	margin: 0;
}

.share_wrap>p:before {
	content: "＼";
	margin-right: 0.2em;
}

.share_wrap>p:after {
	content: "／";
}

.share_wrap li {
	display: inline;
}

.share_wrap a {
	display: inline-block;
	margin: 0 0.25em;
	width: 40px;
}

/* 概要 */
.about_wrap {
	background: var(--sumi-black);
	color: var(--white);
	padding-top: 0;
	margin: 0 -20px;
	overflow: hidden;
}

.about_wrap .main_visual {
	margin: 0 -20px 1.5em;
}

.about_wrap .main_visual img {
	width: 100%;
}

.about_wrap .point_box {
	color: var(--black);
	margin-bottom: 3em;
}

.paper_wrap_img {
	margin-left: -20px;
	margin-right: -20px;
}

/* story */
.mission {
	line-height: 1.7;
}

.story .img_box {
	margin-top: 1.5em;
	margin-bottom: 2em;
}

.story .img_box img {
	width: 100%;
}

.img_box img {
	width: 100%;
}

.over_time {
	position: relative;
	margin: 0.5em auto 1.5em;
}

.over_time,
.over_time:before,
.over_time:after {
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	background: var(--gray-line);
	border-radius: 50%;
	overflow: visible;
}

.story .over_time,
.story .over_time:before,
.story .over_time:after {
	background: #666;
}

.over_time:before,
.over_time:after {
	content: "";
	position: absolute;
	left: 0;
}

.over_time:before {
	top: -1em;
}

.over_time:after {
	bottom: -1em;
}

.chara_message {
	font-weight: bold;
	line-height: 1.6;
	font-size: 0.9em;
}

.chara_message img {
	position: relative;
	float: left;
	max-width: 40vw;
	margin: -3em 0 -3em -2em;
	z-index: 10;
}

.chara_message p {
	overflow: hidden;
}

.chara_message .font_la {
	display: inline-block;
	margin-top: 0.25em;
	font-size: 1.3em;
}

/* lead story */
.lead_story {
	position: relative;
	background: url("../images/bg_wood.webp") no-repeat center center;
	background-size: cover;
	padding: 9vw 17vw;
}

.lead_story .photo {
	display: inline-block;
	border: solid 4px var(--black);
	border-radius: 3px;
	overflow: hidden;
	transform: rotate(5deg);
	box-shadow: 6px 6px 0 rgba(63, 44, 28, 0.2);
}

.lead_story .photo img {
	width: 63vw;
	height: 44vw;
	object-fit: cover;
	border: solid 8px #F4DDA5;
}

.lead_story .tit {
	position: absolute;
	left: 8vw;
	top: 5vw;
	width: 44vw;
}

/* spot title */
.lead_story.spot_tit {
	background: url("../images/bg_stage_long.webp") repeat-x center bottom;
	background-size: auto 260px;
	padding: 2.2em 20px 4em;
	font-weight: bold;
	text-align: center;
}

.lead_story.spot_tit.extra {
	background-image: url("../images/bg_stage_yellow.webp")
}

.spot_tit .nazo_number {
	font-size: 0.9em;
	margin-top: 0;
}

.spot_tit .nazo_number .num {
	font-size: 1.2em;
	color: var(--yellow);
}

.spot_tit .spot_name {
	position: relative;
	font-size: 1.5em;
	line-height: 1.4;
	padding-top: 0.4em;
	-webkit-text-stroke: 10px #fff;
	/*text-shadow:3px 3px 0 #FFF, -3px -3px 0 #FFF,
              -3px 3px 0 #FFF, 3px -3px 0 #FFF,
              0px 3px 0 #FFF,  0 -3px 0 #FFF,
              -3px 0 0 #FFF, 3px 0 0 #FFF;*/
}

.spot_tit .spot_name .fuchi_over {
	position: absolute;
	left: 0;
	top: 0.4em;
	width: 100%;
	-webkit-text-stroke: 0;
}

/* ページ上部の見出し */
.tit_top_wrap {
	border-top: solid 3px var(--black);
	margin: 0px -20px 1em;
	position: relative;
	text-align: center;
}

.tit_top_wrap .tit_wrap {
	position: absolute;
	left: 0;
	bottom: -0.33px;
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 1;
}

.tit_top_wrap .tit_wrap:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 3px;
	width: 100%;
	height: 6px;
	background: rgba(0, 0, 0, 0.15);
}

.tit_top_wrap h2 {
	position: relative;
	display: inline-block;
	background: var(--white);
	padding: 0.65em 1.2em 0;
	margin: 0;
	border: solid 3px var(--black);
	border-bottom: 0;
	border-top-right-radius: 20px;
	border-top-left-radius: 20px;
	font-size: 1em;
	line-height: 1.1;
}

/* 使い方
====================================================================================================================================== */
.flow_list {
	line-height: 1.6;
}

.flow_list li {
	position: relative;
	font-weight: bold;
	margin: 0;
}

.flow_list li:before {
	display: none;
}

.flow_list li .text_box {
	flex-grow: 1;
	padding: 15px 0;
	margin-bottom: 0;
}

.flow_list li .nazo_number {
	background: var(--black);
	margin-top: 0;
}

.flow_list li .nazo_number .num {
	color: inherit;
}

.flow_list li:last-child {
	border-bottom: dotted 2px var(--gray-line);
	padding-bottom: 0;
	margin-bottom: 1.5em;
}

.flow_list li:last-child .text_box {
	border: 0;
}

.flow_list li:last-child:before {
	display: none;
}

.flow_list li .img_box,
.flow_caution .img_box {
	float: left !important;
	margin: 0 10px 1em 0 !important;
	width: 110px;
}

.flow_caution .img_box {
	width: 83px;
	margin: 0 10px 0 0 !important;
}

.flow_caution p {
	overflow: hidden;
	line-height: 1.7;
	margin-bottom: 0;
}

/* クリア画面
====================================================================================================================================== */

.item_wrap {
	position: relative;
	background: url("../../common/images/bg_pattern.webp") repeat left top, var(--red);
	background-size: 576px auto, auto;
	padding: 0 var(--space-side) var(--space-l);
	margin-bottom: 2.5rem;
	/* 47px（1rem = 15px） */
	border-radius: 0 0 30px 30px;
}

.item_wrap:after {
	content: "";
	display: block;
	pointer-events: none;
	position: absolute;
	left: 50%;
	bottom: -18px;
	margin-left: -15px;
	width: 0;
	height: 0;
	background: none;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 20px solid var(--red);
	z-index: 50;
}

.item_wrap img {
	width: 100%;
}

/* title */
.big_title {
	width: 89.6%;
	margin: 2px auto 0;
	/* Figma8px − 行の余り分 */
}

.big_title img {
	z-index: 1;
}

.clear_spot {
	width: 89.6%;
	margin: 0 auto;
	text-align: center;
	font-size: var(--font-l);
	line-height: var(--line-height-min);
	color: var(--yellow-light);
	z-index: 10;
}

.clear_spot .name {
	display: inline-block;
}

.clear_spot .name:before,
.clear_spot .name:after {
	content: "";
	display: inline-block;
	width: 21px;
	height: 21px;
	background: url(../images/item/star.webp) no-repeat center center;
	background-size: cover;
	margin: 0 5px;
	vertical-align: -3px;
}

/* lock*/
.lock_wrap {
	width: 50vw;
	margin: 0 auto;
}

.lock_wrap .lock_top {
	position: relative;
	height: 19.5vw;
	object-fit: cover;
	object-position: top;
}

.lock_wrap .lock_bottom {
	height: 56vw;
	object-fit: cover;
	margin-top: -19vw;
}

.lock_wrap .lock {
	position: absolute;
	position: absolute;
	left: 34.1%;
	top: 53.6%;
	width: 35%;
	height: 16.1%;
	text-align: center;
}

.lock_wrap .lock span {
	display: inline-block;
	width: 25%;
	height: 100%;
	margin-left: -0.5vw;
	float: left;
	opacity: 0;
}

.lock_wrap .lock span.clear {
	background: #EC6D74;
	color: var(--white);
	border: solid 2px var(--black);
	border-width: 0.6vw;
	line-height: 8.5vw;
	clear: none;
	opacity: 1;
	font-size: 5.3vw;
}

.bg_shine {
	position: absolute;
	left: 0;
	top: -10vw;
	width: 100%;
	z-index: -1;
}

/* chara */
.item_wrap .chara img {
	position: absolute;
	width: 50vw;
	left: -12.5vw;
	bottom: 0;
	transform: rotate(10deg);
}

.item_wrap .chara img.josu {
	left: auto;
	right: -21vw;
	width: 31vw;
	bottom: 18vw;
	transform: rotate(-30deg);
}

.get_message {
	position: relative;
	z-index: 60;
}

.get_message .item_space {
	width: 90vw;
	height: 90vw;
	margin-top: -20vw;
}

/* chara-item */
.item_space {
	transform: translate(100%, 6%);
	width: 54%;
	margin-left: -30%;
}

.no_item_get .item_space {
	filter: blur(4px);
}

/* 不正解の時 */
.item_wrap.rock_close {
	background: var(--gray-base);
	text-align: center;
	padding: 18vw 0;
}

.item_wrap.rock_close img {
	width: 60vw;
	max-width: 300px;
	height: auto;
	margin: 0 auto;
}

/* extraの時 */
.item_wrap.complete {
	background: #FFC657;
	height: 128vw;
}

.sea_bottom {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 75vw;
	background: url("../images/bg_sea.webp") no-repeat center bottom -8vw;
	background-size: auto 75vw;
}

.sea_area {
	position: relative;
	height: 70.5vw;
	width: calc(100% + 50px);
	margin: -10vw -25px 4vw;
	overflow: hidden;
}

.sunset {
	position: absolute;
	left: 38vw;
	top: 5vw;
	background: #F0831A;
	width: 24vw;
	height: 24vw;
	border-radius: 50%;
}

.ktdm_sunset {
	position: absolute;
	left: 21vw;
	top: 70vw;
	width: 58vw;
	height: 58vw;
	text-align: center;
	z-index: 1;
}

.ktdm_sunset:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: var(--white);
	border: solid 5px #F59B00;
	border-radius: 50%;
	filter: blur(3vw);
	box-sizing: border-box;
}

.ktdm_sunset img {
	position: relative;
	width: 70%;
	margin-top: 17vw;
	z-index: 10;
}

/* 宝箱 */
.treasure_open_anime {
	position: relative;
	width: 80vw;
	margin: 0 auto 2em;
	overflow: hidden;
}

.treasure_open_anime .treasure {
	position: relative;
	width: 100%;
	height: 80vw;
}

.treasure_open_anime .treasure span {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	background: url("../images/item/takara_a1.webp") no-repeat center top;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
}

.treasure_open_anime .treasure span:not(.treasure_a1) {
	opacity: 0;
}

.treasure_open_anime .treasure span.treasure_a2 {
	background-image: url("../images/item/takara_a2.webp");
}

.treasure_open_anime .treasure span.treasure_a3 {
	background-image: url("../images/item/takara_a3.webp");
}

.treasure_open_anime .treasure span.treasure_a4 {
	background-image: url("../images/item/takara_a4.webp");
}

.treasure_open_anime .treasure span.treasure_a5 {
	background-image: url("../images/item/takara_a5.webp");
}

.treasure_open_anime .tap,
.treasure_open_anime .kotodama {
	position: absolute;
	left: 0;
	top: 28%;
	width: 100%;
}

.treasure_open_anime .tap {
	pointer-events: none;
}

.treasure_open_anime .tap img {
	width: 38%;
}

.treasure_open_anime .kotodama {
	top: 20%;
	opacity: 0;
}

.treasure_open_anime .kotodama img {
	width: 60%;
	margin-left: -0.4em;
}

.nazo_box.answer_img {
	margin-top: 0;
}

/* 答え */
.img_correct {
	position: relative;
	aspect-ratio: 335 / 334;
	margin-bottom: -15.45%;
	z-index: 1;
}

/* 放射状の光（回転させるため疑似要素で持つ） */
.img_correct:before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background: url("../images/item/img_correct_parts01.webp") no-repeat center center;
	background-size: contain;
	z-index: 0;
}

.img_correct .stamp_pon {
	position: absolute;
	left: 20.3%;
	top: 15.6%;
	width: 59.7%;
	padding: 3.3%;
	background: var(--white);
	border-radius: 50%;
	transform: rotate(-10deg);
	z-index: 1;
}

.img_correct .stamp_pon img {
	display: block;
}

#conts .img_correct {
	z-index: 0;
}

.img_correct .bg_img {
	position: absolute;
	left: 50%;
	top: -30%;
	display: block;
	width: 84vw;
	height: 84vw;
	margin: 0 0 0 -42vw;
}

.img_correct .kirakira {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.img_correct .kirakira img {
	position: absolute;
	width: 5.4%;
}

.img_correct .kirakira img:first-child,
.img_correct .kirakira img:nth-child(3) {
	width: 7.2%;
}

.img_correct .kirakira img:first-child {
	left: 77%;
	top: 21%;
}

.img_correct .kirakira img:nth-child(2) {
	left: 83%;
	top: 26.6%;
}

.img_correct .kirakira img:nth-child(3) {
	left: 10%;
	top: 49.4%;
}

.img_correct .kirakira img:nth-child(4) {
	left: 80%;
	top: 64.4%;
}

h2.clear_text,
.clear_text {
	letter-spacing: 0;
	font-size: 1.2em;
	margin-bottom: 0.5em;
}


/* スコア画面
====================================================================================================================================== */
/* score */
.score_box {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	line-height: 1.5;
}

.score_box .text_box {
	flex: 1;
}

.score_box .box {
	width: 100%;
	margin: 0 3%;
	text-align: center;
}

.score_box .box p {
	margin: 0;
}

.score_box .tit {
	background: url("../images/icon/icon_stamp_b.webp") no-repeat left center;
	background-size: 2rem auto;
	padding: 0.6em 0 0.6em 2.2rem;
	margin: 0;
	font-size: 1.2em;
	font-weight: bold;
}

.score_box .fukidashi {
	background-color: var(--white);
	font-size: 0.75rem;
	color: inherit;
	line-height: 1.5;
	padding: 0.35em 0.8em;
	text-align: center;
	border: solid 1px var(--blue-light);
}

.score_box .fukidashi:after {
	left: auto;
	right: -7px;
	bottom: auto;
	top: calc(50% - 6px);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 10px solid var(--white);
	border-right: 0;
}

/* スタンプ取得率の円グラフ */
.score_graph {
	--now: 0;
	--total: 20;
	/* 取得数／総数はHTML側の style="--now: 〜; --total: 〜" で渡す */
	--rate: calc(var(--now) / var(--total) * 1turn);
	position: relative;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	background: var(--blue-light);
	border-radius: 50%;
}

/* ドーナツ本体：赤い弧＝取得済み／白い弧＝未取得 */
.score_graph:before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 90px;
	height: 90px;
	margin: -45px 0 0 -45px;
	background: conic-gradient(var(--red) var(--rate), rgba(255, 255, 255, 0.5) 0);
	border-radius: 50%;
	-webkit-mask: radial-gradient(closest-side, transparent calc(100% - 10px), #000 calc(100% - 10px));
	mask: radial-gradient(closest-side, transparent calc(100% - 10px), #000 calc(100% - 10px));
}

.score_graph .inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 4px;
	line-height: 1;
}

.score_graph .now {
	color: var(--red02);
	font-size: 1.8rem;
	font-weight: bold;
}

.score_graph .total {
	color: var(--black);
	font-size: 0.9rem;
}


.remaining_hint {
	position: relative;
	background: var(--black);
	color: var(--white);
	padding: 0.75em;
	margin-top: 12px !important;
	font-size: 0.8em;
	font-weight: bold;
	line-height: 1.3;
	border-radius: 6px;
}

.remaining_hint:before {
	content: "";
	display: block;
	position: absolute;
	top: -8px;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -3px;
	border-style: solid;
	border-width: 0px 6px 8px 6px;
	border-color: transparent transparent var(--black) transparent;
}

.caution_box {
	padding: 0.4rem 1rem;
	/* Figma12px − 行の余り分 */
	margin-bottom: 1em;
	border: solid 1px var(--red);
	color: var(--red02);
	text-align: center;
	font-weight: bold;
	line-height: var(--line-height-min);
}

/* map */
.map_box {
	position: relative;
	margin-bottom: 1.5em;
}

/* map position */
.map_area {
	position: relative;
	width: 100vw;
	height: 80vw;
	background: url("../images/bg_map.webp") no-repeat center center;
	background-size: cover;
	margin: 0 -20px 1em;
	overflow: hidden;
}

.map_area .area {
	position: absolute;
	width: 26%;
}

.map_area .area img {
	width: 100%;
	max-width: none;
}

.map_area .area.challenge:after {
	content: "";
	position: absolute;
	left: -3%;
	top: -6%;
	background: url("../images/area/challenge.webp") no-repeat left top;
	background-size: 100% auto;
	width: 15%;
	height: 50%;
	pointer-events: none;
}

/* エリア別 */
.map_area .daisen_area {
	left: 38%;
	top: 9%;
}

.map_area .yonago_area {
	left: 7%;
	top: 22%;
}

.map_area .houki_area {
	left: 29%;
	top: 42%;
}

.map_area .kofu_area {
	left: 38%;
	top: 60%;
}

.map_area .nanbu_area {
	left: 2%;
	top: 50%;
}

.map_area .hino_area {
	left: 22%;
	top: 79%;
}

.map_area .kotoura_area {
	left: 54%;
	top: 25%;
}

.map_area .kurayoshi_area {
	left: 70%;
	top: 42%;
}

.map_area .extra_area {
	left: 61%;
	top: 79%;
	width: 43%;
}

.score_list_wrap {
	position: relative;
	margin: 2.5rem calc(var(--space-side) * -1) 0;
	padding: 0 20px 2em;
	overflow: visible;
}

#score_quiz h2.bar {
	margin-bottom: 0;
}

/* tab */
.tab {
	display: flex;
	text-align: center;
	width: auto;
	margin: 0 calc(var(--space-side) * -1);
	background: var(--black);
	border-top: solid 3px var(--black);
	overflow: visible;
}

.tab li {
	display: inline-block;
	height: 4.5em;
	width: 33.3333%;
	padding: 0;
	margin: 0;
	border-right: dotted 2px var(--white);
	overflow: visible;
}

.tab li.select {
	border: 0;
}

.tab li:last-child {
	border-right: 0;
}

.tab li a {
	display: block;
	position: relative;
	padding: 0.5em 0 0.2em;
	margin: 0.5em 0 0;
	font-weight: bold;
	vertical-align: bottom;
	color: var(--white);
	vertical-align: bottom;
}

.tab li.select a {
	background: var(--white);
	border-top: solid 7px var(--gray-base-light);
	color: var(--black);
	margin-top: 0;
	padding-bottom: 10px;
}

.tab li .icon {
	display: block;
	width: 42px;
	height: 42px;
	background: var(--black) url("../images/icon/icon_stamp.webp") no-repeat center center;
	background-size: 80% auto;
	margin: -1em auto -0.5em;
	border-radius: 50%;
}

.tab li .icon.present {
	background-image: url("../images/icon/icon_present.webp");
}

.tab li .icon.access {
	background-image: url("../images/icon/icon_pin.webp");
}

.tab li.select .icon {
	margin-top: -1.5em;
	margin-bottom: 0;
}

.badge {
	background: var(--red);
	font-size: 0.7em;
	font-weight: normal;
	border-radius: 50%;
	position: absolute;
	display: inline-block;
	width: 2em;
	height: 2em;
	line-height: 2em;
	text-align: center;
	right: calc(50% - 30px);
	top: -5px;
	color: var(--white);
}

.tab_content {
	padding-top: 2em;
}

/* spot list */
.nazo_spot .coupon_btn {
	margin-top: 0.5em;
}

.nazo_spot {
	text-align: center;
}

.go_spot {
	display: inline-block;
	width: 90%;
	text-align: center;
	font-weight: bold;
	padding: 0;
	margin: 0 5% var(--space-m);
	font-size: 1.1rem;
	line-height: 2.3rem;
	background: url("../images/line_dot.webp") repeat left top;
	background-size: auto 2.3rem;
}

.go_spot.font_la {
	margin-bottom: 1em;
}

.next {
	background: url("../images/next.webp") no-repeat center top;
	background-size: 23px auto;
	padding: 48px 0 0;
	margin: 0 0 1rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
}

.area_block {
	margin-bottom: 3em;
}

/* エリアマップ */
.area_map {
	margin: 0 -21px;
	margin-bottom: 1em;
}

.area_map img {
	width: 100%;
}

.area_map .treasure_box {
	position: relative;
	margin: calc(-200px - 10vw) auto 0;
	width: 400px;
	font-weight: bold;
}

@media screen and (max-width: 540px) {
	.area_map .treasure_box {
		margin: calc(-150px - 10vw) auto 0;
		width: 300px;
	}

}

.area_map .treasure_box .text {
	font-size: 0.8em;
	color: var(--white);
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
	line-height: 1.5;
	position: absolute;
	left: 0;
	top: 53%;
	width: 100%;
	font-size: 0.8em;
}

.area_map .treasure_box .lock {
	display: flex;
	position: absolute;
	left: 39.45%;
	top: 84.8%;
	width: 24.1%;
	height: 6.6%;
}

.area_map .treasure_box .lock span {
	display: inline-block;
	width: 25%;
	height: 100%;
	margin-left: -2px;
	opacity: 0;
}

.area_map .treasure_box .lock span.clear {
	background: #EC6D74;
	color: var(--white);
	border: solid 2px var(--black);
	line-height: 1.4;
	clear: none;
	opacity: 1;
	font-size: 0.9em;
}

.area_map .treasure_box.clear {
	margin-bottom: -5vw;
}

.area_map p {
	margin-bottom: 0.5em;
}

/* スポット一覧 */
.spot_list {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 0 -5px;
}

.spot_list li {
	position: relative;
	width: calc((100% - 10px) / 3);
	padding: 0;
	margin: 0;
	text-align: center;
	line-height: 1.5;
	font-weight: bold;
}

.spot_list li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding-bottom: 0.5rem;
	color: var(--black);
}

/* スタンプ枠 */
.stamp_box {
	position: relative;
	width: min(26vw, 150px);
	aspect-ratio: 1/1;
	padding: 4px;
	/* 枠線とスタンプ画像のすき間 */
	background: var(--white);
	border: solid 4px var(--gray-base);
	border-radius: 50%;
}

.stamp_box .num {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	color: var(--gray-base);
}

.stamp_box img {
	display: block;
	width: 100%;
	transform: rotate(-10deg);
}

.spot_list li.clear .stamp_box {
	border-color: var(--black);
}

.spot_list li.clear .stamp_box .num {
	display: none;
}

.spot_list li .text_box {
	padding-bottom: 3px;
}

.spot_list li .area_name {
	color: var(--red02);
}

.spot_list li span {
	display: block;
}

.spot_list li .tit {
	text-decoration: underline;
}


.nazo_number {
	display: inline-block !important;
	background: var(--black);
	color: var(--white);
	padding: 0.2em 0.8em;
	margin-top: 0.7em;
	line-height: 1.1;
	font-size: 0.8em;
	border-radius: 1em;
	font-weight: bold;
}

.nazo_number .num {
	display: inline;
	font-size: 1.2em;
}

/* クリア時の色変え */
.spot_list li.clear .nazo_number {
	background: var(--gray-line);
}

.spot_list li .nazo_number .num {
	color: var(--yellow);
}

.spot_list li.clear .nazo_number .num {
	color: var(--white);
}

.spot_list li .status {
	position: absolute;
	right: 1em;
	top: 50%;
	width: 4.4em;
	height: auto;
	margin-top: -25px;
	font-size: 0.8em;
	line-height: 1.2;
	text-align: center;
	overflow: hidden;
}

.spot_list li.clear .status,
.spot_list li.challenge .status {
	margin-top: -13px;
	background: var(--yellow);
	padding: 0.4em 0;
	border-radius: 7px;
}

.spot_list li.clear .status {
	background: none;
	color: var(--red02);
	border: solid 3px var(--red);
}

.spot_list li .btn {
	display: inline-block;
	min-width: 0 !important;
	padding: 0.5em;
	margin: 0;
	font-size: 1em;
	border-radius: 8px;
	border-bottom-width: 5px;
	line-height: 1.3;
}

.spot_list li .tit .btn {
	display: block;
	min-width: 11em !important;
	font-size: 0.8em;
	margin-top: 0.2em;
	margin-bottom: 0;
}

/* clear */
.spot_list li.clear,
.spot_list li.challenge,
.spot_list li.interrupt {
	overflow: visible;
}

.spot_list li.interrupt {
	opacity: 0.6;
}

.spot_list li.challenge .img_box,
.spot_list li.clear .img_box,
.spot_list li.interrupt .img_box {
	border-color: var(--black);
}

/* present status */
.pr_space {
	margin-bottom: 1.5em;
}

.pr_space a:not(.icon_link) {
	display: block;
	width: 100%;
}

.pr_space a img {
	margin-bottom: 0.75em;
	border-radius: 12px;
}

/* tab present */
.present_form .tab li {
	width: 20%;
	height: 3.5em;
}

.present_form .tab li.first_member a {
	line-height: 1.1;
}

.present_list li {
	position: relative;
	margin-bottom: 1em;
	text-align: center;
	padding-bottom: 10px;
}

.present_list li:last-child:before {
	display: none;
}

.present_list li button {
	width: 100%;
}

#score_present .btn,
#score_present .present_status {
	display: block;
	margin: 0 auto 0.5em;
	text-align: center;
}

.present_status {
	position: relative;
	border: solid 3px var(--black);
	width: 94%;
	padding: 0.5em 0.6em;
	color: var(--black);
	line-height: 1.5;
	font-weight: bold;
}

.present_status:not(.challenge):before {
	content: "";
	display: block;
	position: absolute;
	left: -8px;
	top: -8px;
	width: 30px;
	height: 30px;
	background: url("../images/icon/oval_check_red.webp") no-repeat center center;
	background-size: cover;
}

.present_status.challenge {
	border: solid 3px var(--gray-base);
	color: var(--gray-text);
	border-radius: 3em;
}

.present_list .icon_link {
	position: absolute;
	right: 0.5em;
	bottom: -0.5em;
	text-align: right;
}


/* クーポン一覧
====================================================================================================================================== */
.coupon_list li {
	margin-bottom: 2.5em;
	line-height: 1.7;
}

.coupon_yet .coupon_list:before {
	content: "※2022年8月6日から有効";
	display: block;
	text-align: center;
	font-weight: bold;
	color: var(--red02);
	margin-bottom: 0.5em;
	font-size: 1.2em;
}

.coupon_yet .coupon_list li {
	opacity: 0.3;
}

.coupon_list li:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.coupon_list .coupon {
	position: relative;
	background: var(--white);
	border: solid 3px var(--black);
	margin: 0 0 0.7em;
	border-radius: 14px;
}

.coupon_list .coupon:before,
.coupon_list .coupon:after {
	content: "";
	display: block;
	position: absolute;
	right: 40px;
	top: -3px;
	width: 16px;
	height: 9px;
	background: url("../images/coupon_kiritori.webp") no-repeat;
	background-size: cover;
	z-index: 10;
}

.coupon_list .coupon:after {
	top: auto;
	bottom: -3px;
	transform: rotate(180deg);
}

.coupon_list .coupon .inner {
	background: var(--yellow-light);
	margin: 4px;
	padding: 2.4em 50px 0.3em 0.7em;
	border-radius: 10px;
}

.coupon_list .coupon_catch {
	position: relative;
	background: var(--gray-base);
	border: solid 2px var(--white);
	font-weight: bold;
	padding: 0.5em 0.8em;
	margin: 0 0 0.85em;
	font-size: 0.9em;
	line-height: 1.6;
	border-radius: 8px;
}

.coupon_list .coupon_catch:before,
.coupon_list .coupon_catch:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -9px;
	left: 50px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 9px 7px 0 7px;
	border-color: transparent;
	border-top-color: var(--white);
}

.coupon_list .coupon_catch:after {
	bottom: -6px;
	left: 52px;
	border-width: 7px 5px 0 5px;
	border-top-color: var(--gray-base);
}

@media screen and (max-width: 540px) {
	.coupon_list .coupon.big_coupon .inner {
		padding-top: 3.5em;
	}
}

.coupon_list .coupon p {
	margin: 0;
}

.coupon_list .coupon .store {
	position: absolute;
	left: -10px;
	top: 8px;
	background: var(--black);
	color: var(--white);
	padding: 0.4em 0.6em;
	font-weight: bold;
	line-height: 1.3;
	margin-right: 40px;
}

.coupon_list .coupon .service_item {
	margin-bottom: 0.1em;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.2;
	padding: 0 0 0.15em;
}

.coupon_list .coupon .limited {
	line-height: 1.2;
	padding: 0.1em 0 0;
}

.coupon_list .coupon .store,
.coupon_list .coupon .limited,
.coupon_list .coupon_caution,
.coupon_list .coupon_info {
	font-size: 0.85em;
}

.coupon_list .coupon .decoration {
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 49px;
	height: 100%;
	background: url("../images/coupon_kiritori_text.webp") no-repeat center center;
	background-size: 14px auto;
	border-left: dotted 2px var(--black);
}

.coupon_list .coupon_info {
	border: dotted 2px var(--black);
	border-left: 0;
	border-right: 0;
	padding: 0.5em 0;
	margin: 0;
	line-height: 1.5;
	overflow: hidden;
}

.coupon_list .coupon_info a {
	font-weight: bold;
}

.coupon_img {
	float: left;
	width: 90px;
	height: 90px;
	object-fit: cover;
	margin: 0 12px 0 0;
	border-radius: 6px;
}

.coupon_caution {
	margin-bottom: 0.8em;
	line-height: 1.5;
}

/* ポップアップ
====================================================================================================================================== */
#popup_back {
	display: none;
}

#popup_back.menu_opened {
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	background: rgba(40, 40, 40, 0.4);
}

.popup_message {
	display: none;
	background: var(--white);
	padding: 1.4rem 1.8rem;
	z-index: 1000000;
	position: fixed;
	left: 10vw;
	width: 80vw;
	top: 50%;
	border-radius: 20px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	transform: translate(0, -50%);
}

.popup_message p {
	margin-bottom: 0.5em;
}

.popup_close {
	display: block;
	max-width: 50%;
	margin: 1em auto 0;
	padding: 0.5em 2em;
	background: var(--gray-text);
	color: var(--white);
	font-weight: bold;
	border-radius: 3em;
	text-align: center;
	cursor: pointer;
}

#popup_back.menu_opened::after {
	content: "閉じる";
	position: absolute;
	left: 50%;
	bottom: 15%;
	display: block;
	padding: 0.5rem 2rem;
	font-size: 0.9rem;
	color: var(--white);
	border-radius: 2em;
	text-align: center;
	font-weight: bold;
	background: rgba(0, 0, 0, 0.3);
	transform: translate(-50%, 0);
}



/* ==========================================================================
   スポット案内（quiz_first）  Figma: node 6003:558
   ========================================================================== */

/* キャッチコピー */
.catch_copy {
	font-size: var(--font-xl);
	font-weight: bold;
	line-height: var(--line-height-min);
	color: var(--red02);
	margin-bottom: 5px;
	/* Figma21px − 行の余り分 */
}

/* スポット紹介文 */
.spot_comment {
	line-height: var(--line-height-base);
	margin-bottom: 5px;
	/* Figma21px − 行の余り分 */
}

/* 住所・営業時間ブロック */
.address_info {
	font-weight: bold;
	font-size: 0.9rem;
	line-height: var(--line-height-base);
}

/* 注意点リスト */
ul.list_style li strong.red,
ul.list_style li>.red.font_bold {
	font-size: var(--font-l);
}

ul.list_style li>.font_sm,
ul.list_style li .text_box.font_sm {
	display: block;
	margin-top: 0.2rem;
}

ul.list_style li .text_box {
	margin-bottom: 0;
}

/* ==========================================================================
   スタンプGET（answer）
   ========================================================================== */

/* はじめての方への吹き出し */
.fukidashi_wrap {
	margin-bottom: 10px;
}

.fukidashi {
	position: relative;
	background: var(--yellow-light);
	color: var(--red-shadow);
	font-size: var(--font-s);
	font-weight: bold;
	line-height: var(--line-height-min);
	border-radius: var(--radius);
	padding: 10px var(--space-s) 9px;
	/* Figma15px − 行の余り分 */
}

.fukidashi:after {
	content: "";
	position: absolute;
	left: 46px;
	bottom: -8px;
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 10px solid var(--yellow-light);
}

/* スマホイラスト＋リード文 */
.smartphone_set {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}

.smartphone_set .img_box {
	width: 120px;
	margin: 0 0 0 calc(var(--space-side) * -1);
}

.smartphone_set .go_spot {
	flex: 1;
	width: auto;
	margin-left: 0;
	margin-right: 0;
	margin-top: 1rem;
}

/* 注意書きボックス */

/* STEP1〜3のフロー */
.flow_list li.common_box {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	border-bottom: dotted 2px var(--gray-line);
	padding-bottom: 0.8rem;
	margin-bottom: 0.8rem;
}

/* .common_box の clearfix は float レイアウト時代の名残。
   flex で組むと3つ目のフラックスアイテムになり、.text_box が右端まで伸びないので打ち消す */
.flow_list li.common_box:after {
	display: none;
}

.flow_list li .img_box {
	float: none !important;
	flex: 0 0 100px;
	margin: 0 !important;
}

.flow_list li .text_box .nazo_number {
	align-items: center;
	background: var(--red);
	border-radius: 100px;
	line-height: 1.2;
	padding: 2px 10px;
	margin-bottom: 6px !important;
	/* Figma12px − 行の余り分 */
}

.flow_list li .text_box .nazo_number .num {
	font-size: var(--font-l);
	margin-left: 1px;
}

.flow_list li .text_box p:last-child {
	font-size: var(--font-l);
	line-height: var(--line-height-min);
}

/* ヒーロー直下は余白をヒーロー側で持つ */
.page_itemget #conts,
.page_quiz_answer #conts {
	padding-top: 0;
}

/* 応募状況の見出し・記録テキスト */
.page_itemget #conts .text_center>h2 {
	font-size: var(--font-xxl);
	margin-bottom: 20px !important;
	/* Figma30px − 行の余り分 */
}