@charset "UTF-8";

:root {
  --font-fam: "Zen Maru Gothic";
  --theme-color: #fff;
  --font-color: #333333;
  --hover-color: #FF546B;
}

.renaisim .inner {
  --inner-max: 800px;
}

.renaisim .sim-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(100%, 448px);
  height: 80px;
  font-size: clamp(2rem, 1.95vw, 2.6rem);
  font-weight: bold;
  color: #FFFFFF;
  margin-inline: auto;
  background-color: #FF546B;
  border-radius: 8px;
  border: solid 2px #FFFFFF;
  box-shadow: 0 3px 0 #AF6E76;
  position: relative;
  transition: opacity 0.2s;
}

.renaisim .sim-btn::after {
  content: "";
  display: block;
  min-width: 16px;
  min-height: 16px;
  border-right: solid 3px #FFFFFF;
  border-bottom: solid 3px #FFFFFF;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%) rotate(-45deg);
}

@media (min-width: 1024px) {
  .renaisim .sim-btn:hover {
    opacity: 0.7;
  }
}

.renaisim #progress label {
  cursor: auto;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(0.8rem, 0.78vw, 1.6rem);
  color: #333333;
  font-size: 1.4rem;
}

.renaisim #progress #progress_bar {
  appearance: none;
  width: calc(100% - clamp(0.8rem, 0.78vw, 1.6rem));
  block-size: 10px;
  inline-size: 100%;
  border-radius: 99px;
  background-color: rgba(175, 110, 118, 0.2);
}

.renaisim #progress progress::-webkit-progress-bar {
  background-color: transparent;
  border-radius: 15px;
}

.renaisim #progress progress::-webkit-progress-value {
  background-color: #AF6E76;
  border-radius: 15px;
}

.renaisim #progress progress::-moz-progress-bar {
  background-color: #AF6E76;
  border-radius: 15px;
}

.renaisim #progress progress::-ms-fill {
  background-color: #AF6E76;
  border-radius: 15px;
}

.renaisim .btn-lst {
  margin-top: clamp(3rem, 2.92vw, 4.8rem);
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.97vw, 2rem);
  width: min(100%, 349px);
  margin-inline: auto;
}

.renaisim .btn-lst .grade-btn {
  margin-bottom: 0;
  margin-inline: 0;
  padding-block: 0;
}

.renaisim .btn-lst .grade-btn span {
  padding-block: 12px;
}

.renaisim .btn-lst .grade-btn button {
  font-family: var(--font-fam), sans-serif;
  appearance: none;
  width: 100%;
  height: 100%;
  font-size: clamp(1.4rem, 1.36vw, 1.8rem);
  font-weight: bold;
  color: #fff;
}

.renaisim .btn-lst .grade-btn .error-text {
  width: 100%;
  color: #333;
  position: absolute;
  top: calc(clamp(2.6rem, 2.53vw, 3.6rem) * -1);
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(1.2rem, 1.17vw, 1.4rem);
  font-weight: 500;
}

.renaisim .btn-lst .reset-btn {
  width: 100%;
  padding-block: 12px;
  color: #333333;
  font-size: clamp(1.4rem, 1.36vw, 1.8rem);
  font-weight: bold;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-inline: auto;
  margin-bottom: 8px;
  border: solid 2px #CCCCCC;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 0;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.renaisim .btn-lst .reset-btn button {
  font-family: var(--font-fam), sans-serif;
  color: #333333;
  font-size: clamp(1.4rem, 1.36vw, 1.8rem);
  font-weight: bold;
  appearance: none;
  width: 100%;
  height: 100%;
  background-color: transparent;
}

.renaisim .btn-lst .reset-btn::after {
  content: "";
  display: block;
  min-width: 9px;
  min-height: 9px;
  border-right: solid 2px #AF6E76;
  border-bottom: solid 2px #AF6E76;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) rotate(-45deg);
}

@media (min-width: 1024px) {
  .renaisim .btn-lst .reset-btn:hover {
    border-color: rgba(255, 84, 107, 0.16);
    box-shadow: 0 3px 6px rgba(255, 84, 107, 0.16);
  }
}

.renaisim .btn-lst .result-btn-box {
  display: none;
}

.renaisim .top .img_box {
  width: min(100%, 560px);
  margin-inline: auto;
}

.renaisim .top .img_box+p {
  margin-top: clamp(1.6rem, 1.56vw, 2.8rem);
  font-size: 1.4rem;
  font-weight: 500;
  width: fit-content;
  margin-inline: auto;
}

.renaisim .top .sim-btn {
  margin-top: clamp(2rem, 1.95vw, 3rem);
}

.renaisim .top article {
  margin-top: clamp(3.7rem, 3.61vw, 8rem);
  background-color: #FFFFEB;
  border-radius: 8px;
  padding-block: clamp(3.2rem, 3.12vw, 5.6rem);
  padding-inline: 22px;
  text-align: center;
}

.renaisim .top article h3 {
  font-size: clamp(2rem, 1.95vw, 3.2rem);
  font-weight: bold;
  color: #AF6E76;
  word-break: keep-all;
  text-align: center;
}

.renaisim .top article .txt {
  margin-top: clamp(2rem, 1.95vw, 2.8rem);
  font-size: clamp(1.4rem, 1.36vw, 1.6rem);
  font-weight: 500;
  display: flex;
  flex-direction: column;
  gap: clamp(1.4rem, 1.36vw, 1.8rem);
  line-height: 1.8;
}

.renaisim .top article .txt strong {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  color: #FF546B;
}

.renaisim .top .grade-btn {
  margin-top: clamp(3rem, 2.92vw, 4.8rem);
  width: min(100%, 349px);
}

.renaisim-question {
  display: none;
  margin-top: clamp(2.8rem, 2.73vw, 6rem);
  border: solid 1px #AF6E76;
  border-radius: 8px;
  padding-block: clamp(3.3rem, 3.22vw, 5rem) clamp(2.4rem, 2.34vw, 4rem);
  padding-inline: clamp(2.2rem, 2.14vw, 5rem);
}

.renaisim-question.active {
  display: block;
}

.renaisim-question>p {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(1.6rem, 1.56vw, 2.4rem);
}

.renaisim-question>p span {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  font-size: clamp(2.2rem, 2.14vw, 2.4rem);
  font-weight: 500;
  color: #FFFFFF;
  background-color: #AF6E76;
  width: fit-content;
  padding-inline: clamp(2.6rem, 2.53vw, 3.2rem);
}

.renaisim-question>p strong {
  font-size: clamp(1.8rem, 1.75vw, 2.4rem);
  font-weight: bold;
}

.renaisim-question .radio-lst {
  border-top: solid 1px #AF6E76;
  margin-top: clamp(1.6rem, 1.56vw, 2rem);
  padding-top: clamp(2rem, 1.95vw, 3.2rem);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(1.1rem, 1.07vw, 2.8rem);
}

.renaisim-question .radio-lst li {
  width: calc((100% - clamp(1.1rem, 1.07vw, 2.8rem) * 4) / 5);
}

.renaisim-question .radio-lst li label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(0.6rem, 0.58vw, 1.2rem);
  position: relative;
  cursor: pointer;
}

.renaisim-question .radio-lst li label input[type=radio] {
  appearance: none;
  position: absolute;
}

.renaisim-question .radio-lst li label span {
  display: block;
  width: clamp(4rem, 3.9vw, 6rem);
  height: clamp(4rem, 3.9vw, 6rem);
  min-width: clamp(4rem, 3.9vw, 6rem);
  min-height: clamp(4rem, 3.9vw, 6rem);
  border-radius: 50%;
  background-color: #ffffff;
  border: solid clamp(1.1rem, 1.07vw, 1.5rem) #CCCCCC;
}

.renaisim-question .radio-lst li label p {
  font-size: clamp(1rem, 0.97vw, 1.4rem);
  font-weight: 500;
  text-align: center;
}

.renaisim-question .radio-lst li label:has(input[type=radio]:checked) span {
  border-color: #AF6E76;
}

.renaisim-result>strong {
  display: block;
  font-size: clamp(2rem, 1.95vw, 2.4rem);
  font-weight: bold;
  color: #AF6E76;
  text-align: center;
  margin-bottom: clamp(1.6rem, 1.56vw, 2rem);
}

.renaisim-result .result-box .fukidashi {
  margin-inline: auto;
  border: solid 1px #AF6E76;
  border-radius: 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-block: 32px;
  width: min(100%, 400px);
  position: relative;
}

.renaisim-result .result-box .fukidashi::before {
  content: "";
  display: block;
  width: clamp(1.5rem, 1.46vw, 2rem);
  min-width: clamp(1.5rem, 1.46vw, 2rem);
  height: 15px;
  min-height: 15px;
  border-top: solid 15px #AF6E76;
  border-left: solid calc(clamp(1.5rem, 1.46vw, 2rem) / 2) transparent;
  border-right: solid calc(clamp(1.5rem, 1.46vw, 2rem) / 2) transparent;
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
}

.renaisim-result .result-box .fukidashi::after {
  content: "";
  display: block;
  width: clamp(1.3rem, 1.26vw, 1.8rem);
  min-width: clamp(1.3rem, 1.26vw, 1.8rem);
  height: 14px;
  min-height: 14px;
  border-top: solid 14px #fff;
  border-left: solid calc(clamp(1.3rem, 1.26vw, 1.8rem) / 2) transparent;
  border-right: solid calc(clamp(1.3rem, 1.26vw, 1.8rem) / 2) transparent;
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
}

.renaisim-result .result-box .fukidashi p {
  font-size: 1.4rem;
  font-weight: 500;
}

.renaisim-result .result-box .fukidashi strong {
  display: block;
  font-size: clamp(2.8rem, 2.73vw, 3.2rem);
  font-weight: bold;
  color: #AF6E76;
}

.renaisim-result .result-box .img_box {
  margin-top: 32px;
  margin-inline: auto;
  width: min(100%, 380px);
}

.renaisim-result .result-box .txt {
  margin-top: 20px;
  border-radius: 8px;
  background-color: #FFFFEB;
  padding-inline: 22px;
  padding-block: clamp(2.8rem, 2.73vw, 4rem);
}

.renaisim-result .result-box .txt h3 {
  font-size: clamp(2rem, 1.95vw, 2.4rem);
  font-weight: bold;
  text-align: center;
  color: #AF6E76;
}

.renaisim-result .result-box .txt ul {
  margin-top: clamp(2rem, 1.95vw, 2.6rem);
  width: fit-content;
  margin-inline: auto;
}

.renaisim-result .result-box .txt ul li {
  font-size: 1.4rem;
  font-weight: 500;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 5px;
  line-height: 2;
}

.renaisim-result .result-box .txt ul li::before {
  content: "●";
  color: #AF6E76;
  font-size: 1rem;
  line-height: 2.8;
}

.renaisim-result .result-box+.result-box {
  margin-top: clamp(6.4rem, 6.25vw, 8rem);
}

.renaisim .result-hint {
  margin-top: clamp(7rem, 6.83vw, 11rem);
  position: relative;
}

.renaisim .result-hint .inner {
  position: relative;
  z-index: 5;
}

.renaisim .result-hint h2 {
  color: #FF546B;
  font-size: clamp(2rem, 1.95vw, 3.2rem);
  font-weight: bold;
  word-break: keep-all;
}

.renaisim .result-hint h2 span {
  display: inline-block;
}

.renaisim .result-hint p {
  font-size: clamp(1.6rem, 1.56vw, 2rem);
  font-weight: bold;
  text-align: center;
}

.renaisim .result-hint p+p {
  margin-top: clamp(1.2rem, 1.17vw, 1.6rem);
}

.renaisim .result-hint .join-btn {
  margin-top: clamp(2rem, 1.95vw, 4.1rem);
  height: clamp(8rem, 7.81vw, 12.8rem);
  font-size: clamp(2rem, 1.95vw, 3.2rem);
  max-width: 600px;
  margin-inline: auto;
}

.renaisim .result-hint .join-btn span strong {
  width: fit-content;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(0.8rem, 0.78vw, 1.2rem);
}

.renaisim .result-hint .join-btn span strong::before {
  content: "";
  display: block;
  background: url(../../img/icon/icon-join_white.svg) no-repeat;
  background-size: 100%;
  min-width: clamp(2.4rem, 2.34vw, 4rem);
  min-height: clamp(2.4rem, 2.34vw, 4rem);
}

.renaisim .result-hint .join-btn span::after {
  border-right-width: 3px;
  border-bottom-width: 3px;
  min-width: clamp(1.2rem, 1.17vw, 1.4rem);
  min-height: clamp(1.2rem, 1.17vw, 1.4rem);
  right: clamp(2.4rem, 2.34vw, 4.6rem);
}

.renaisim .renaisim-topback {
  margin-top: clamp(3.2rem, 3.12vw, 10rem);
  width: min(100%, 349px);
  margin-inline: auto;
  padding-block: 12px;
  color: #333333;
  font-size: clamp(1.4rem, 1.36vw, 1.8rem);
  font-weight: bold;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-inline: auto;
  margin-bottom: 8px;
  border: solid 2px #CCCCCC;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 0;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.renaisim .renaisim-topback::after {
  content: "";
  display: block;
  min-width: 9px;
  min-height: 9px;
  border-right: solid 2px #AF6E76;
  border-bottom: solid 2px #AF6E76;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%) rotate(-45deg);
}

@media (min-width: 1024px) {
  .renaisim .renaisim-topback:hover {
    border-color: rgba(255, 84, 107, 0.16);
    box-shadow: 0 3px 6px rgba(255, 84, 107, 0.16);
  }
}