/* =========================================================
   Quiz — 仮スタイル（HTML/CSS は後から差し替え）
   ========================================================= */
:root{
	--blue: #3D61D3;
	--orange: #F78E26;
	--red: #EA4B4A;
	--green: #2DAA5B;
	--yellow: #FFF258;
	--true: #4FD564;
	--false: #F75C5C;
	--normal: #E5E5E5;
}

.normal{ background: #E5E5E5; }
.true{ background: var(--true); }
.false{ background: var(--false); }
.cheked{ background: var(--yellow); }

.is-hidden { display: none !important; }

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: sans-serif;
  line-height: 1.3;
  background: #fff;
  background-image: none;
  background-size: auto;
  background-image: linear-gradient(#E6E6E6 1px, transparent 1px), linear-gradient(90deg, #E6E6E6 1px, transparent 1px);
  background-size: 25px 25px;
  font-family: "a-otf-ud-shin-maru-go-pr6n", sans-serif; font-weight: 300; font-style: normal;
}

/* font */
.fot{ font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; }
.a-otf{ font-family: "a-otf-ud-shin-maru-go-pr6n", sans-serif; font-weight: 300; font-style: normal; }
.mgo{ font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 400; font-style: normal; }
.bar{ font-family: 'Barlow', sans-serif; }
.dnp{ font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 600; font-style: normal; }


/* ===============================
   QUIZ HEADER
================================ */
.quiz-header{ padding: 20px; background: #fff; }
.quiz-header__inner{ display:flex; align-items:center; justify-content:space-between; gap:30px; }
.quiz-header__tabs{ display:flex; align-items:center; justify-content: center; border-radius:40px; overflow:hidden; }
.quiz-header__tab{ display:flex; align-items:center; gap:12px; height: 60px; padding:10px 20px; font-size:18px; font-weight:700; white-space:nowrap; color:#fff; border-radius: 40px 0 0 40px; }
.quiz-header__tab--step{ width: auto; padding:10px 40px 10px 20px; }
.quiz-header__tab-icon img{ display:block; width:16px; height:auto; }
.quiz-header__tab--step{ background: var(--blue); color:#fff; border-radius:0 40px 40px 0; }

.quiz-header--trial .quiz-header__tab{ background: var(--orange); }
.quiz-header--trial .quiz-header__tab--result{ color: var(--orange); border: 1px solid var(--orange); background: transparent !important; }

.quiz-header--full .quiz-header__tab{ background: var(--red); }
.quiz-header--full .quiz-header__tab--result{ color: var(--red); border: 1px solid var(--red); background: transparent !important; }

.quiz-header__tab.step-01{ background: var(--blue); }
.quiz-header__tab.step-02{ background: var(--orange); }
.quiz-header__tab.step-03{ background: var(--red); }
.quiz-header__tab.step-04{ background: var(--green); }

.quiz-header__icons{ display:flex; align-items:center; gap: 7px; }
.quiz-header__icons img{ width:68px; height:auto; }


/* =========================================================
   モード選択画面
   ========================================================= */
[data-screen="mode"] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  gap: 24px;
  padding: 40px 20px;
}

[data-screen="mode"] h1 {
  font-size: 1.8rem;
}

.mode-buttons {
  display: flex;
  gap: 20px;
}

.mode-btn {
  padding: 16px 40px;
  font-size: 1.2rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
}

#btn-trial { background: #4CAF50; color: #fff; }
#btn-full  { background: #2196F3; color: #fff; }

/* =========================================================
   クイズ画面
   ========================================================= */
main{ width: 90%; max-width: 1100px; margin: 63px auto 100px; padding: 0 5%; box-sizing: content-box; }
.quiz-box{ background: #fff; border-radius: 20px; filter: drop-shadow(7px 7px 0px rgba(0,0,0,0.2)); transform: translateZ(0); }

/* プログレスバー */
/*
.progress-wrap{ background: #ddd; border-radius: 4px; height: 8px; margin-bottom: 8px; }
#progress-bar{ height: 100%; background: #4CAF50; border-radius: 4px; transition: width 0.3s; }
*/
.quiz-meta{ display: flex; justify-content: space-between; align-items: baseline; border-radius: 20px 20px 0 0; padding: 22px; text-align: center; font-size: 0.9rem; color: #666; }
#quiz-count{ display: none; }
.quiz-meta-titele{ width: 100%; font-size: 2rem; font-weight: bold; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 600; font-style: normal; }
.quiz-meta.step-01{ background: var(--blue); color: #fff; }
.quiz-meta.step-02{ background: var(--orange); color: #fff; }
.quiz-meta.step-03{ background: var(--red); color: #fff; }
.quiz-meta.step-04{ background: var(--green); color: #fff; }

/* 問題文 */
.puiz-body{ padding: 45px 8% 90px; }
.quiz-tags{ display: none; }
#quiz-text { font-size: 1.1rem; margin-bottom: 30px; line-height: 2; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 600; font-style: normal; }

/* 問題画像 */
.quiz-image-wrap{ margin-bottom: 60px; }
#quiz-image{ max-width: 100%; height: auto; display: block; margin: 0 auto; border: 1px solid #707070; }
.quiz-image-source{ font-size: 0.75rem; display: block; padding: 20px 0 0; text-align: left; word-break: break-all; }

/* 指示文 */
#quiz-instruction {font-size: 1.2rem; margin-bottom: 30px; text-align: center; font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; }

/* 選択肢 */
#quiz-choices{ display: flex; flex-direction: column; gap: 30px; margin-bottom: 52px; }
.choice-btn{ color: #000; display: flex; align-items: center; gap: 20px; width: 100%; padding: 10px 40px; min-height: 70px; background: var(--normal); border-radius: 50px; border: none; cursor: pointer; font-size: 1rem; text-align: left; transition: background 0.15s, border-color 0.15s; font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; font-size: 1.8rem; line-height: 1.2; }
.choice-btn:hover{ border-color: #aaa; background: var(--yellow); }
.choice-btn.is-selected{ background: var(--yellow); }
.choice-num{ }

/* 次へボタン */
#quiz-next{ transform: translateZ(0); position: relative; display: block; width: min(365px, 50%); height: 67px; margin: 0 auto; display: flex; align-items: center; justify-content: center; background: #23A95B; filter: drop-shadow(0px 6px 0px rgba(13,84,45,1)); color: #fff; border: none; border-radius: 100px; font-size: 1.1rem; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 400; font-style: normal; cursor: pointer; transition: opacity 0.2s; }
#quiz-next::after{ position: absolute; content: ""; transform: translate(0,-50%); top: 50%; right: 30px; width: 10px; height: 20px; background: #fff; clip-path: polygon(0 0, 100% 50%, 0 100%); }
#quiz-next:disabled{ opacity: 0.4; cursor: not-allowed; }


/* =========================================================
   結果画面
   ========================================================= */
/* バナー */
/*
.result-banner{ text-align: center; font-size: 2rem; font-weight: bold; padding: 24px; border-radius: 12px; margin-bottom: 20px; }

.result-banner.is-perfect { background: #FFF9C4; color: #F57F17; }
.result-banner.is-clear   { background: #E8F5E9; color: #2E7D32; }
.result-banner.is-retry   { background: #FBE9E7; color: #BF360C; }
*/

/* スコア */
#result-wrong{ display: none; }
.result-score { margin-bottom: 80px; text-align: center; }
.result-announce{ padding: 0 0 20px; font-size: 1.3rem; font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; }
.result-comment{ font-size: 1.1rem; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 600; font-style: normal; line-height: 2; }
.result-count{ display: flex; justify-content: center; align-items: flex-end; gap: 5px; padding: 0 0 35px; font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; }
.result-count p{ font-size: 2.5rem; }
.result-count p strong{ font-size: 2.8rem; }
#result-correct{ font-size: 2.8rem; }
#result-total{ font-size: 2.4rem; }

.score-item { text-align: center; }
.score-num  { font-size: 2.5rem; font-weight: bold; }
.score-label{ font-size: 0.85rem; color: #666; }

/* カテゴリ別スコア */
#result-category-scores{ display:flex; gap: 2%; margin-bottom: 70px; align-items:stretch; font-weight: 600; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 600; font-style: normal; }
.category-score-row{ width: calc(100% / 4); text-align:center; border-radius:33px; overflow:hidden; background: var(--c); will-change: transform; transform: translateZ(0); }
.category-score-row:nth-child(1){ background: var(--blue); border: 5px solid var(--blue); }
.category-score-row:nth-child(2){ background: var(--orange); border: 5px solid var(--orange); }
.category-score-row:nth-child(3){ background: var(--red); border: 5px solid var(--red); } 
.category-score-row:nth-child(4){ background: var(--green); border: 5px solid var(--green); }

.category-score-title{ height: 125px; display: flex; flex-direction: column; gap: 10px; position:relative; padding: 10px; }
.category-score-step{ display:block; color:#fff; font-size:1rem; line-height:1; }

/* タイトル/サブ */
.category-score{ padding: 10px; background: #fff; }
.category-score-label{ color:#fff; font-size: 2rem; line-height:1.1; word-break: keep-all; overflow-wrap: anywhere; }
.category-score-sublabel{ color:#fff; font-size: 1rem; line-height:1.5; }
.category-score-value{ background:#fff; font-size: 1.8rem; width: 100%; display: block; border-radius: 0 0 28px 28px; }
.category-score-sep{ display:inline-block; margin: 0 6px; color:#111; opacity:.9; font-weight:900; font-size: .95em; }

/* レビューアイテム */
.marker{ padding: 0 10px; background: linear-gradient(transparent 50%, #FFF258 50%); }
.result-annouce{ margin: 0 0 60px; text-align: center; }
.result-annouce span{ font-weight: 700; font-size: 2rem; letter-spacing: 0.07em; font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; }
.review-item{ background: #fff; border-radius: 40px; overflow: hidden; margin-bottom: 72px; filter: drop-shadow(7px 7px 0px rgba(0,0,0,0.2)); transform: translateZ(0); }
/*
.review-item.is-correct { border-color: #81C784; }
.review-item.is-wrong   { border-color: #E57373; 

.review-item.is-correct .review-header { background: #E8F5E9; }
.review-item.is-wrong   .review-header { background: #FFEBEE; }
*/

/* body */
.result-body{ padding: 50px 10%; }
.review-header{ display: flex; align-items: center; justify-content: center; gap: 2%; padding: 0 0 43px; font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; }
.review-num{ font-size: 2.5rem; letter-spacing: 0.07em; }
.review-status{ font-size: 3rem; }
.review-item.is-correct .review-status { color: var(--true); }
.review-item.is-wrong   .review-status { color: var(--false); }
.review-question-text,
.review-explanation{ padding: 0 0 35px; font-size: 1.4rem; line-height: 2; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 600; font-style: normal; }

.review-choices{ width: 90%; margin: 0 0 0 auto; list-style: none; padding: 45px 0 85px; display: flex; flex-direction: column; gap: 25px; line-height: 1.3; }
.review-choice{ position: relative; display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 30px; border-radius: 100px; font-size: 2rem; background: var(--normal); font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; }
.review-choice:before{ position: absolute; content: ""; left: -70px; top: 50%; transform: translate(0,-50%); width: 40px; height: 40px; background-position: center; background-size: cover; background-repeat: no-repeat; }

.review-choice.is-normal{ background: var(--normal); }
.review-choice.is-answer{ background: var(--true); color: #fff; }
.review-choice.is-answer:before{ background-image: url(../images/icn_true.svg); }
.review-choice.is-wrong-choice{ background: var(--false); color: #fff; }
.review-choice.is-wrong-choice:before{ background-image: url(../images/icn_false.svg); }


/* 単元・関連リテラシー */
.review-meta{ padding: 0 0 60px; }
.review-unit{ padding: 75px 0 25px; font-size: 1.3rem; line-height: 2; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 400; font-style: normal; }
.review-literacy{ padding: 25px 25px 38px; display: flex; flex-direction: column; gap: 7px; border: 3px solid #969696; border-radius: 13px; }
.review-literacy li{ font-size: 1.2rem; line-height: 1.8; list-style: none; }
.review-literacy li a{ text-decoration: underline; }
.review-literacy li::before{ content: '・'; }
.review-image{ width: 100%; height: auto; display: block; border: 1px solid #DDDDDD; }
.review-image-source{ text-align: right; }
.iframe-wrapper{ width: 100%; position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.iframe-wrapper iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.review-explanation-title{ position: relative; margin: 0 0 42px; padding: 10px; font-size: 1.8rem; text-align: center; color: #fff; font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; line-height: 1.5; }
.review-explanation-title:before,
.review-explanation-title:after{ z-index: 1; background: #fff; position: absolute; content: ""; top: 50%; transform: translate(0,-50%); width: 30px; height: 100%; }
.review-explanation-title:before{ left: 0; clip-path: polygon(0 0, 0% 100%, 100% 50%); }
.review-explanation-title:after{ right: 0; clip-path: polygon(100% 0, 0 50%, 100% 100%); }

.review-explanation-title.step-01{ background: var(--blue); }
.review-explanation-title.step-02{ background: var(--orange); }
.review-explanation-title.step-03{ background: var(--red); }
.review-explanation-title.step-04{ background: var(--green); }

/* おすすめコンテンツ */
.review-contents{ padding: 0 0 80px; }
.review-contents-label{ padding: 0 0 20px; border-bottom: 1px solid #000; font-size: 1.4rem; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 400; font-style: normal; }
.review-contents ul{ padding: 23px 0 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.review-contents li{ font-size: 1.2rem; }
.review-contents a{ text-decoration: underline; color: inherit; }

/* もう一度ボタン */
.result-btns{ display: flex; flex-direction: column; gap: 40px; }
.result-btn{ position: relative; display: flex; align-items: center; justify-content: center; width: 50%; height: 95px; margin: 0 auto; padding: 10px; text-align: center; color: #fff; border: none; border-radius: 100px; font-weight: bold; cursor: pointer; font-size: 1.5rem; }
.result-btns-icon{ position: absolute; left: 30px; top: 50%; transform: translate(0,-50%); }

#btn-retry{ background: var(--orange); filter: drop-shadow(0px 6px 0px #E57200); }
#btn-mode{ background: var(--red); filter: drop-shadow(0px 6px 0px #B42321); }
#btn-close{ background: var(--green); filter: drop-shadow(0px 6px 0px #0F542D); }


/* ===============================
   ALL CORRECT
================================ */
#allcorrect{ width: 90%; max-width: 1100px;	margin: 120px auto 80px; padding: 0 5%; box-sizing: content-box; }
.allcorrect-result{ position: relative; text-align: center; }
.allcorrect-result:before,
.allcorrect-result:after{ position: absolute; content: ""; bottom: -38%; width: 200px; height: 212px; }
.allcorrect-result:before{ left: calc(50% - 360px); background: url(../images/icn_06.svg) center/cover no-repeat; }
.allcorrect-result:after{ left: calc(50% + 160px); background: url(../images/icn_07.svg) center/cover no-repeat; }
.allcorrect-result-p{ padding: 0 0 10px; font-size: 1.2rem; font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; }
.allcorrect-result-title{ font-size: 3rem; text-align: center; color: var(--red); font-family: "fot-tsukuardgothic-std", sans-serif; font-weight: 700; font-style: normal; }
.allcorrect-result-title span{ padding: 0 10px 5px; letter-spacing: 0.07em; }
.allcorrect-trial{ padding: 30px 0 0; }
.allcorrect-trial p{ text-align: center; line-height: 2; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 600; font-style: normal; }

.allcorrect-charenge{ padding: 70px 0 40px; }
.allcorrect-charenge__inner{ margin: 0 0 40px; position: relative; background: #fff; border: 23px solid #fffdf2; border-radius: 22px; }
.allcorrect-charenge__content{ padding: 190px 50px 90px; position: relative; z-index: 2; text-align: center; }

.allcorrect-charenge__subttl{ width: min(448px, 60%); margin: 0 auto; padding: 0 0 25px; }
.allcorrect-charenge__subttl img{ width: 100%; height: auto; }
.allcorrect-charenge__ttl{ margin: 0 0 40px; font-size: 4.4rem; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 600; font-style: normal; }
.allcorrect-charenge__ttl .marker{ padding: 0 10px 5px; }

.allcorrect-charenge__message{ margin: 0 auto; width: min(720px, 90%); }
.allcorrect-charenge__message p{ margin: 0; font-size: 1.4rem; line-height: 2; font-family: "dnp-shuei-mgothic-std", sans-serif; font-weight: 400; font-style: normal; }

.allcorrect-charenge .item{ position: absolute; z-index: 1; height: auto; }
.allcorrect-charenge .item:nth-of-type(1){ left: 8%; top: 16%; width: 120px; }
.allcorrect-charenge .item:nth-of-type(2){ left: 3%; bottom: 12%; width: 140px; }
.allcorrect-charenge .item:nth-of-type(3){ left: 50%; top: 2%; transform: translateX(-50%); width: 125px; }
.allcorrect-charenge .item:nth-of-type(4){ right: 9%; top: 15%; width: 110px; }
.allcorrect-charenge .item:nth-of-type(5){ right: 5%; bottom: 12%; width: 120px; }

.allcorrect-btn{ cursor: pointer; margin: 0 auto; width: min(495px, 80%); position: relative; display: flex; align-items: center; justify-content: center; height: 75px; font-size: 1.3rem; color: #fff; text-decoration: none; font-weight: 700; filter: drop-shadow(0px 11px 0px rgb(209, 119, 30)); border: 3px solid #F78E26; background: #F78E26; border-radius: 100px; }
.allcorrect-btn span{ position: absolute; left: 20px; top: 50%; transform: translate(0,-50%); }




/* ------------------------------------------------------------ mobile ------------------------------------------------------------ */
@media only screen and (max-width: 768px) {
	
	body{ background-size: 20px 20px; }
	
/* ===============================
   QUIZ HEADER
================================ */
	.quiz-header{ padding: 15px; }
	.quiz-header__inner{ align-items: flex-start; gap: 20px; flex-direction: column; }
	.quiz-header__tabs{  justify-content: flex-start; }
	.quiz-header__tab{ gap: 7px; height: 36px; padding: 10px; font-size: 12px; }
	.quiz-header__tab-icon img{ width: 12px; }
	.quiz-header__icons{ gap: 12px; width: 100%; }
	.quiz-header__icons img{ width: calc(100% / 5 - 10px); }


/* =========================================================
   クイズ画面
   ========================================================= */
	main{ margin: 30px auto 50px; }
	.quiz-meta{ padding: 15px 10px; }
	.quiz-meta-titele{ font-size: 20px; }
	.puiz-body{ padding: 25px 5% 60px; }
	#quiz-text{ font-size: 15px; }
	.quiz-image-source{ font-size: 12px; padding: 9px 0 0; white-space: wrap; word-break: break-all; }
	.quiz-image-wrap{ margin-bottom: 25px; }
	#quiz-instruction{ font-size: 17px; margin-bottom: 20px; }
	
	.choice-btn{ gap: 12px; padding: 10px 20px; min-height: 43px; font-size: 15px; line-height: 1.4; }
	#quiz-choices{ gap: 11px; margin-bottom: 32px; }
	#quiz-next{ width: 80%; height: 57px; font-size: 18px; }
	#quiz-next::after{ right: 23px; width: 7px; height: 15px; }

	/* スコア */
	.result-announce{ padding: 0 0 10px; }
	.result-count{ padding: 0 0 18px; }
	.result-count p { font-size: 25px; }
	.result-count p strong { font-size: 28px; }
	#result-correct { font-size: 38px; }
	#result-total { font-size: 28px; }
	.result-comment{ font-size: 16px; }
	.result-score{ margin-bottom: 25px; }
	
	/* カテゴリ別スコア */
	#result-category-scores{ gap: 10px; margin-bottom: 35px; flex-wrap: wrap; }
	.category-score-row{ width: calc(100% / 2 - 5px); border-radius: 15px; }
	.category-score-title{ height: 87px; gap: 5px; padding: 7px 3px; }
	.category-score-step{ font-size: 13px; }
	.category-score-label{ font-size: 24px; }
	.category-score-sublabel{ font-size: 12px; }
	.category-score{ padding: 10px 5px; }
	.category-score-value{ font-size: 18px; }
		
	/* body */
/* 	.quiz-image-source{ white-space: wrap; word-break: break-all; } */
	.result-annouce{ margin: 0 0 30px; font-size: 30px; }
	
	.review-item{ margin-bottom: 37px; border-radius: 20px; }
	.result-body{ padding: 25px 5%; }
	.review-num{ font-size: 22px; }
	.review-status{ font-size: 29px; }
	.review-header{ padding: 0 0 20px; }
	.review-question-text,
	.review-explanation{ padding: 0 0 25px; font-size: 15px; }
	.review-image-source{ padding: 9px 0 25px; }

	.review-choices{ width: 85%; padding: 0 0 40px; gap: 11px; }
	.review-choice::before{ left: -40px; width: 28px; height: 28px; }
	.review-choice{ padding: 10px 10px 10px 16px; font-size: 15px; }
	.review-explanation-title{ margin: 0 0 20px; padding: 4px; font-size: 20px; }
	.review-explanation-title::before, .review-explanation-title::after{ width: 10px; }
	
	.review-unit{ padding: 35px 0 15px; font-size: 14px; }
	.review-literacy li{ font-size: 11px; }
	.review-literacy{ padding: 10px; border: 1px solid #969696; border-radius: 10px; }
	
	/* 単元・関連リテラシー */
	.review-meta{ padding: 0 0 30px; }
	.review-contents-label{ padding: 0 0 10px; font-size: 14px; }
	.review-contents li{ font-size: 12px; }
	.review-contents ul{ padding: 11px 0 0; }
	.review-contents{ padding: 0 0 20px; }

	.result-btns{ gap: 20px; }
	.result-btn{ width: 100%; height: 65px; font-size: 18px; }
	.result-btns-icon{ left: 13px; }


/* ===============================
   ALL CORRECT
================================ */
	#allcorrect{ width: 100%; margin: 20px auto 30px; padding: 0; box-sizing: border-box; }
	.allcorrect-result:before,
	.allcorrect-result:after{ width: 70px; height: 74px; bottom: -10px; }
	.allcorrect-result:before{ left: 0; }
	.allcorrect-result:after{ left: initial; right: 0; }
	
	.allcorrect-result-p{ padding: 0 0 8px; font-size: 15px; }
	.allcorrect-result-title{ font-size: 33px; }
	.allcorrect-result-title span{ padding: 0 6px 3px; }
	.allcorrect-trial{ padding: 20px 0 0; }
	.allcorrect-trial p{ font-size: 14px; line-height: 2; }
	
	.allcorrect-charenge{ padding: 30px 0; }
	.allcorrect-charenge__inner{ margin: 0 0 24px; border-width: 10px; border-radius: 16px; }
	.allcorrect-charenge__content{ padding: 95px 5% 40px; }
	.allcorrect-charenge__subttl{ width: min(230px, 72%); padding: 0 0 6px; }
	.allcorrect-charenge__ttl{ margin: 0 0 20px; font-size: 2.1rem; line-height: 1.5; }
	.allcorrect-charenge__ttl .marker{ padding: 0 4px 3px; }
	.allcorrect-charenge__message{ width: 100%; }
	.allcorrect-charenge__message p{ font-size: 14px; line-height: 1.9; }
	
	.allcorrect-charenge .item:nth-of-type(1){ left: -3%; top: 13%; width: 56px; }
	.allcorrect-charenge .item:nth-of-type(2){ left: -2%; bottom: -2%; width: 64px; }
	.allcorrect-charenge .item:nth-of-type(3){ top: 1%; width: 62px; }
	.allcorrect-charenge .item:nth-of-type(4){ right: -5%; top: 14%; width: 56px; }
	.allcorrect-charenge .item:nth-of-type(5){ right: -2%; bottom: -2%; width: 60px; }
	
	.allcorrect-btn{ padding-left: 7%; width: 100%; height: 58px; font-size: 15px; filter: drop-shadow(0px 7px 0px rgb(209, 119, 30)); border-width: 2px; }
	.allcorrect-btn span{ left: 16px; }
	.allcorrect-btn span img{ width: 17px; height: auto; }


	
}


