@charset "utf-8";
@import url(../fonts/fonts.css);

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    border: 0;
    clip: rect(0 0 0 0);
}

html,
body {
    padding: 0;
    margin: 0;
    width: 100%;
    color: #4C5258;
}

* {
    background-repeat: no-repeat;
}

p,
span,
h1,
h2,
h3,
h4,
h5,
b,
small,
strong {
    padding: 0;
    margin: 0;
}

ul,
ol,
li {
    padding: 0;
    margin: 0;
    list-style: none;
}

a {
    color: inherit;
    text-decoration: none;
}

b,
strong {
    font-weight: 700;
}

body.shadow {
    overflow: hidden;
}

.text-point {
    color: #F6708A;
}

.container>.content {
    max-width: 640px;
    min-width: 360px;
    margin: 0 auto;
    position: relative;
}

header {
    display: flex;
    padding: 8px 16px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    margin-bottom: 16px;
}

header>a.mamThera {
    display: inline-block;
}

header>button.menu {
    width: 20px;
    height: 20px;
    background-image: url("../images/icon-menu.svg");
    background-size: 18px auto;
    background-position: center;
    border: 0;
    background-color: #ffffff;
}

.main-cont {
    padding: 0 16px;
}

.main-cont>.main-title {
    background-image: url("../images/main-image.svg");
    padding: 20px 0 20px 125px;
}

.main-cont>.main-title>p:first-of-type {
    font-size: 22px;
    color: #10141A;
}

.main-cont>.main-title>p:last-of-type {
    color: #82868C;
    font-size: 12px;
    margin-top: 5px;
}

.main-cont>.main-title>p:last-of-type>span {
    font-weight: 700;
}

.main-cont>.sub-cont {
    display: flex;
    flex-direction: column;
    padding: 16px;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
    border-radius: 20px;
    background: linear-gradient(180deg, #F2F4F8 0.36%, #FEF0F3 99.64%);
    margin-bottom: 20px;
}

.main-cont>.sub-cont>span {
    padding-left: 22px;
    background-image: url("../images/icon-loves.svg");
}

.main-cont>.sub-cont>p {
    font-size: 16px;
}

.main-cont>.sub-cont>p>span {
    font-weight: 700;
    font-size: 18px;
}

.main-cont>.sub-cont>button {
    padding: 13px 16px;
    font-size: 16px;
    font-weight: 700;
    background-color: #F6708A;
    border-radius: 12px;
    border: 0;
    color: #ffffff;
    width: 100%;
}

.main-link {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 0 16px 30px;
}

.main-link>.link-box {
    position: relative;
    width: calc(50% - 38px);
    padding: 12px 16px;
    border-radius: 16px;
    background-color: #F2F4F8;
    min-height: 136px;
}

.main-link>.link-box:nth-child(1) {
    background-image: url("../images/main_01.svg");
    background-size: 140px auto;
    background-position: right bottom;
}

.main-link>.link-box:nth-child(2) {
    background-image: url("../images/main_02.svg");
    background-size: 75px auto;
    background-position-x: calc(100% - 20px);
    background-position-y: bottom;
}

.main-link>.link-box:nth-child(3) {
    background-image: url("../images/main_03.svg");
    background-size: 95px auto;
    background-position-x: calc(100% - 20px);
    background-position-y: bottom;
}

.main-link>.link-box:nth-child(4) {
    background-image: url("../images/main_04.svg");
    background-size: 75px auto;
    background-position-x: calc(100% - 20px);
    background-position-y: bottom;
}

.main-link>.link-box>span {
    font-weight: 700;
}

.main-link>.link-box>a {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url("../images/icon-next.svg");
    background-position: center;
    position: absolute;
    top: 16px;
    right: 16px;
}

.slide-menu.open {
    display: block;
}

.slide-menu {
    position: relative;
    display: none;
}

.slide-menu::before {
    content: "";
    position: fixed;
    background-color: rgba(0, 0, 0, 0.6);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.menu-cont {
    position: fixed;
    background-color: #ffffff;
    top: 0;
    right: 0;
    bottom: 0;
    padding: 17px 24px;
    z-index: 1;
}

.menu-cont>.menu-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
}

.menu-cont>.menu-top>span {
    font-size: 16px;
    font-weight: 700;
    color: #10141A;
}

.menu-cont>.menu-top>button {
    width: 24px;
    height: 24px;
    background-image: url("../images/icon-close.svg");
    background-color: #ffffff;
    background-position: center;
    border: 0;
}

.menu-cont>ul>li {
    border-bottom: solid 1px #E2E6EC;
    padding: 18px 0;
}

.menu-cont>ul>li>a {
    font-weight: 700;
    min-width: 210px;
    width: 100%;
    display: inline-block;
    background-image: url("../images/icon-next.svg");
    background-position: right center;
}

.menu-cont>a.more-info {
    position: absolute;
    bottom: 24px;
    left: 17px;
    right: 17px;
    display: inline-block;
    min-width: 210px;
    background-image: url("../images/icon-next.svg");
    background-position: right center;
    font-size: 16px;
}

.sub-page {
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: center;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    flex-direction: column;
}

.sub-top {
    padding: 16px;
}

.sub-top>a {
    color: #10141A;
    font-size: 16px;
    font-weight: 700;
    padding-left: 30px;
    background-image: url("../images/icon-back.svg");
}

.sub-top.close>a {
    background-image: url("../images/icon-close.svg");
}

.sub-content {
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    justify-self: center;
}

.sub-top2>a {
    color: #10141A;
    font-size: 16px;
    font-weight: 700;
    padding-left: 30px;
    background-image: url("../images/icon-back.svg");
}

.sub-top2.close>a {
    background-image: url("../images/icon-close.svg");
}

.sub-top2 {
    display: flex;
    padding-left: 16px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    margin-bottom: 12px;
}

.sub-top2>a.mamThera {
    display: inline-block;
}

.sub-top2>button.menu {
    width: 20px;
    height: 20px;
    background-image: url("../images/home.png");
    background-size: 18px auto;
    background-position: center;
    border: 0;
    background-color: #ffffff;
}

.know-heart {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.know-heart>.title {
    text-align: center;
}

.know-heart>.title>h1 {
    font-size: 28px;
    margin-bottom: 12px;
}

.know-heart>.title>p {
    font-size: 16px;
    margin-bottom: 20px;
}

.know-heart>.title>p>span {
    font-weight: 700;
}

.know-heart>p.count {
    margin-top: 40px;
    margin-bottom: 20px;
}

.know-heart>button.start {
    background-color: #F6708A;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    padding: 13px 16px;
    border-radius: 12px;
    border: 0;
    width: 100%;
    max-width: 360px;
}

.sns-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 25px;
}

.sns-link>button {
    border: 0;
    background-color: transparent;
    width: 48px;
    height: 48px;
}

.sns-link>button:nth-child(1) {
    background-image: url("../images/icon-sns-01.svg");
}

.sns-link>button:nth-child(2) {
    background-image: url("../images/icon-sns-02.svg");
}

.sns-link>button:nth-child(3) {
    background-image: url("../images/icon-sns-03.svg");
}

.sns-link>button:nth-child(4) {
    background-image: url("../images/icon-sns-04.svg");
}

.link-copy {
    position: relative;
}

.link-copy>button {
    background-color: #10141A;
    color: #ffffff;
    padding: 16px;
    border-radius: 12px;
    border: 0;
    font-size: 16px;
    min-width: 328px;
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%, 0);
}

.progress-bar {
    width: 100%;
    background-color: #E2E6EC;
    height: 10px;
    border-radius: 4px;
    overflow: hidden;
}

.progress-bar .fill {
    width: 10%;
    height: 10px;
    background-color: #F6708A;
}

.pgnation {
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
}

.pgnation>button {
    background-color: #F2F4F8;
    padding: 6px 12px 6px 24px;
    color: #10141A;
    background-image: url("../images/icon-back12.svg");
    background-position: 8px center;
    border-radius: 20px;
    border: 0;
}

.pgnation>.page {
    color: #82868C;
}

.qes-list {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding-top: 10rem;
    background-position: center 20px;
    background-image: url("../images/emotion01.svg");
    background-size: 112px auto;
    height: 100%;
    max-width: 560px;
}

.qes-list>.qes-title {
    text-align: center;
    min-height: 1.5rem;
    padding: 0 1rem;
}

.qes-list>.qes-title>span {
    color: #10141A;
    font-weight: 700;
    word-break: keep-all;
}

.qes-list>.qes-title>span:first-of-type {
    color: #F6708A;
}

.qes-list>ul {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 20px;
}

.qes-list>ul>li {
    padding: 12px;
    border-radius: 12px;
    background-color: #F2F4F8;
}

.btn-wrap .selected {
    background-color: #F6708A;
    border-radius: 12px;
    border: 0;
    color: #ffffff;
    font-weight: 700;
    width: 100%;
}

.btn-wrap {
    position: sticky;
    bottom: 0;
    padding: 20px 0;
    display: flex;
    justify-content: center;
}


.custom-radio {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: #10141A;
    font-weight: 700;
}

.custom-radio input[type='radio'] {
    display: none;
}

.custom-radio .indicator {
    background-image: url("../images/radio-check.svg");
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
}

.custom-radio input[type="radio"]:checked+.indicator {
    background-image: url("../images/radio-checked.svg");
}

.alert-page.open {
    display: flex;
}

.alert-page {
    display: none;
    padding: 32px 16px 16px 16px;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    align-self: stretch;
    background-color: #ffffff;
    border-radius: 20px;
    position: fixed;
    top: 300px;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 300px;
}

.alert-page>p {
    font-size: 16px;
    font-weight: 700;
    color: #10141A;
}

.alert-page>.alert-btns {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
}

.alert-page>.alert-btns>button {
    width: 100%;
}

button {
    background-color: #F2F4F8;
    color: #10141A;
    font-size: 16px;
    font-weight: 700;
    border: 0;
    border-radius: 8px;
    padding: 9px 16px;
}

button.bg-point {
    background-color: #F6708A;
    color: #ffffff;
}

.know-heart-result {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 16px;
    padding-top: 30px;
}

.result-type {
    text-align: center;
    margin-bottom: 40px;
}

.result-type>span {
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
    color: #F6708A;
    text-align: center;
    background-color: #FEF0F3;
    border-radius: 22px;
    padding: 8px 16px;
    min-width: 168px;
}

.result-type>p {
    padding-top: 180px;
    background-position: center top;
    margin-top: 20px;
    word-break: keep-all;
    line-height: 150%;
}

.result-type.type01>p {
    background-image: url("../images/result-type01.svg");
}

.result-type.type02>p {
    background-image: url("../images/result-type02.svg");
}

.result-type.type03>p {
    background-image: url("../images/result-type03.svg");
}

.result-type.type04>p {
    background-image: url("../images/result-type04.svg");
}

.result-type>.link {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: #F6708A;
    text-align: center;
    background-color: #FEF0F3;
    border-radius: 22px;
    padding: 8px 16px;
    min-width: 100px;
}

.result-type>.link .highlight {
    font-weight: 900;
    /* 더 두꺼운 글꼴 */
}

.result-share {
    text-align: center;
    position: relative;
}

.result-share::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 100%;
    height: 1px;
    background-color: #E2E6EC;
    z-index: 0;
}

.result-share>span {
    font-size: 16px;
    color: #A2A6AC;
    font-weight: 700;
    display: inline-block;
    background-color: #ffffff;
    z-index: 1;
    position: relative;
}

.result-btns {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    align-self: stretch;
    margin: 0 15px;
}

.result-btns>button {
    width: 100%;
    padding: 1rem 5rem;
}

.result-btns>button.return>span {
    padding-left: 20px;
    background-image: url("../images/icon-return-12.svg");
    background-position: left center;
    font-weight: 700;
}

.take-rest {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    padding: 0 16px;
}

.take-rest>h1 {
    font-size: 18px;
    margin-bottom: 10px;
}

.take-rest>p {
    word-break: keep-all;
}

.take-rest>img {
    margin: 15px 0;
}

.take-rest>ul {
    margin-top: 30px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.take-rest>ul>li {
    border-radius: 16px;
    background: linear-gradient(90deg, #F2F4F8 40%, #FEF0F3 100%);
}

.take-rest>ul>li>a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 20px;
    background-position-x: calc(100% - 20px);
    background-position-y: center;
    background-repeat: no-repeat;
}

.take-rest>ul>li:nth-child(1)>a {
    background-image: url("../images/rest-image01.svg");
}

.take-rest>ul>li:nth-child(2)>a {
    background-image: url("../images/rest-image02.svg");
}

.take-rest>ul>li:nth-child(3)>a {
    background-image: url("../images/rest-image03.svg");
}

.take-rest>ul>li:nth-child(4)>a {
    background-image: url("../images/rest-image04.svg");
}

.take-rest>ul>li>a>span:nth-of-type(1) {
    font-size: 16px;
    font-weight: 700;
}

.take-rest>ul>li>a>span:nth-of-type(2) {
    color: #A2A6AC;
}

.rest-type {
    text-align: center;
    margin-top: 20px;
}

.rest-type>span {
    min-width: 136px;
    border-radius: 22px;
    background-color: #FEF0F3;
    color: #F6708A;
    font-size: 20px;
    font-weight: 700;
    display: inline-block;
    padding: 7px 16px;
}

.rest-type>p {
    font-size: 16px;
    margin: 20px 0;
    line-height: 1.5;
}

.rest-type>img {
    margin: 10px 0;
}

.play-area {
    padding: 0 16px;
    margin-top: 80px;
}

.play-bar {
    background: #000000;
    width: 100%;
    height: 1px;
    position: relative;
}

.play-bar>.point {
    height: 12px;
    width: 12px;
    border-radius: 50%;
    background-color: #F6708A;
    position: absolute;
    top: -6px;
}

.play-bar>.time {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
}

.play-bar>.time>span {
    font-size: 11px;
    color: #A2A6AC;
}

.play-control {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    margin-top: 40px;
}

.play-control>button {
    width: 44px;
    height: 44px;
    background-color: transparent;
    border: 0;
}

.play-control>button.prev10 {
    background-image: url("../images/play-prev10.svg");
}

.play-control>button.next10 {
    background-image: url("../images/play-next10.svg");
}

.play-control>button.play {
    width: 56px;
    height: 56px;
    background-image: url("../images/icon-play.svg");
}

.play-control>button.pause {
    width: 56px;
    height: 56px;
    background-image: url("../images/icon-pause.svg");
}

.peri-dep {
    display: flex;
    flex-direction: column;
    padding: 0 20px;
}

.peri-dep>.dep-title {
    text-align: center;
    margin: 30px 0 50px;
}

.peri-dep>section {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-bottom: solid 1px #E2E6EC;
    padding: 48px 0;
}

.peri-dep>section>* {
    margin-bottom: 16px;
    word-break: keep-all;
}

.peri-dep>section>*:last-child {
    margin-bottom: 0;
}

.peri-dep>section>span {
    color: #C4C8CE;
    border-bottom: solid 1px #C4C8CE;
    font-size: 18px;
}

.peri-dep>section>.q-text {
    color: #10141A;
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 140%;
}

.peri-dep>section>.text-point {
    font-size: 16px;
    line-height: 140%;
}

.peri-dep>section>.sm-text-check {
    padding-left: 22px;
    background-image: url("../images/icon-bullet-check.svg");
    background-position: left top;
    line-height: 1.7;
}

.peri-dep>section>article {
    margin-bottom: 40px;
}

.peri-dep>section>article:last-of-type {
    margin-bottom: 0;
}

.peri-dep>section>article>p {
    font-size: 16px;
    padding: 20px 0 20px 92px;
    background-image: url("../images/image01.svg");
}

.peri-dep>section>.image01>p {
    background-image: url("../images/image01.svg");
}

.peri-dep>section>.image02>p {
    background-image: url("../images/image02.svg");
}

.peri-dep>section>article>p>b {
    font-size: 18px;
}

ul.check-list {
    margin-top: 10px;
}

ul.check-list>li {
    padding-left: 25px;
    background-image: url("../images/icon-bullet-check.svg");
    background-position: left top;
    line-height: 1.7;
    word-break: keep-all;
}

ul.reason-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

ul.reason-list>li {
    background-position: right center;
    padding: 40px 180px 40px 0;
}

ul.reason-list>li:nth-child(1) {
    background-image: url("../images/image03.png");
}

ul.reason-list>li:nth-child(2) {
    background-image: url("../images/image04.svg");
}

ul.reason-list>li:nth-child(3) {
    background-image: url("../images/image05.svg");
}

ul.reason-list>li:nth-child(4) {
    background-image: url("../images/image06.svg");
}

ul.reason-list>li>p:nth-of-type(1) {
    font-size: 16px;
    font-weight: 700;
    word-break: keep-all;
    line-height: 2;
}

ul.reason-list>li>p:nth-of-type(2) {
    line-height: 1.5;
}

ul.risk-factor {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

ul.risk-factor>li {
    text-align: center;
    width: 100%;
    padding-top: 160px;
    margin-bottom: 40px;
}

ul.risk-factor>li:last-child {
    margin-bottom: 0;
}

ul.risk-factor>li:nth-child(1) {
    background-image: url("../images/image07.svg");
    background-position: center 30px;
}

ul.risk-factor>li:nth-child(2) {
    background-image: url("../images/image08.svg");
    background-position: center top;
}

ul.risk-factor>li:nth-child(3) {
    background-image: url("../images/image09.svg");
    background-position: center 30px;
}

ul.risk-factor>li:nth-child(4) {
    background-image: url("../images/image10.svg");
    background-position: center 5px;
}

ul.risk-factor>li>p {
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
}

ul.risk-factor ol li {
    line-height: 160%;
}

.help-area {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-top: 40px;
}

.help-area>section {
    border-bottom: solid 1px #E2E6EC;
    text-align: center;
}

.help-area>section>p {
    margin-top: 20px;
    margin-bottom: 32px;
    font-size: 18px;
}

ul.heping-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
    padding: 0 30px 50px;
}

ul.heping-list>li {
    padding-top: 180px;
    width: 100%;
}

ul.heping-list>li:nth-child(1) {
    background-image: url("../images/image11.svg");
    background-position: center 20px;
}

ul.heping-list>li:nth-child(2) {
    background-image: url("../images/image12.svg");
    background-position: center 20px;
}

ul.heping-list>li:nth-child(3) {
    background-image: url("../images/image13.svg");
    background-position: center 20px;
}

ul.heping-list>li:nth-child(4) {
    background-image: url("../images/image14.png");
    background-position: center 30px;
}

ul.heping-list>li>p:nth-child(1) {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
}

ul.heping-list>li>p:nth-child(2) {
    line-height: 1.5;
    word-break: keep-all;
}

ul.heping-list ol li {
    line-height: 1.5;
    word-break: keep-all;
}

ul.heping-list2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
    padding: 0 30px 50px;
    justify-content: center;
}

ul.heping-list2>li {
    padding-top: 180px;
    width: 100%;
}

ul.heping-list2>li:nth-child(1) {
    background-image: url("../images/image15.svg");
    background-position: center 20px;
}

ul.heping-list2>li:nth-child(2) {
    background-image: url("../images/image16.svg");
    background-position: center 20px;
}

ul.heping-list2>li:nth-child(3) {
    background-image: url("../images/image17.svg");
    background-position: center 20px;
}

ul.heping-list2>li:nth-child(4) {
    background-image: url("../images/image18.png");
    background-position: center 30px;
}

ul.heping-list2>li>p:nth-child(1) {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
}

ul.heping-list2>li>p:nth-child(2) {
    line-height: 1.5;
    word-break: keep-all;
}

ul.heping-list2 ol li {
    line-height: 1.5;
    word-break: keep-all;
    padding-bottom: 20px;
}

ul.heping-list2 ol li:last-of-type {
    padding-bottom: 0;
}

ul.heping-list3 {
    display: flex;
    flex-wrap: wrap;
    /* 줄바꿈 허용 */
    gap: 40px;
    /* 항목 간 간격 */
    align-items: center;
    /* 세로 정렬 */
    justify-content: center;
    /* 중앙 정렬 */
    padding: 0 30px 30px;
}

ul.heping-list3>li {
    padding-top: 180px;
    width: 100%;
    /* 기본적으로 1단 */
}

ul.heping-list3>li:nth-child(1) {
    background-image: url("../images/image18.svg");
    background-position: center 20px;
}

ul.heping-list3>li:nth-child(2) {
    background-image: url("../images/image19.svg");
    background-position: center 40px;
}

ul.heping-list3>li:nth-child(3) {
    background-image: url("../images/image20.svg");
    background-position: center 20px;
}

ul.heping-list3>li:nth-child(4) {
    background-image: url("../images/image21.svg");
    background-position: center 30px;
}

ul.heping-list3>li>p:nth-child(1) {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
}

ul.heping-list3>li>p:nth-child(2) {
    line-height: 1.5;
    word-break: keep-all;
}



.list-box {
    position: relative;
    padding: 20px 0;
}

.list-box::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 1px;
    background-color: #E2E6EC;
}

.list-box>p {
    line-height: 1.7;
}

.list-box a {
    color: #5297d4;
    text-decoration: underline;
}

@media screen and (min-width: 640px) {
    ul.risk-factor {
        gap: 20px;
    }

    ul.risk-factor>li {
        width: calc(50% - 20px);
    }

    ul.heping-list {
        justify-content: center;
        gap: 20px;
    }

    ul.heping-list>li {
        width: calc(50% - 20px);
    }

    ul.heping-list2 {
        gap: 20px;
    }

    ul.heping-list2>li {
        width: calc(50% - 20px);
    }

    ul.heping-list3 {
        gap: 20px;
    }

    ul.heping-list3>li {
        width: calc(50% - 20px);
    }
}

.solace-page {
    display: flex;
    padding: 0px 20px;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    padding-bottom: 60px;
}

.solace-page>.title {
    text-align: center;
}

.solace-page>.title>h1 {
    font-size: 28px;
}

.talk-list {
    position: relative;
    width: 100%;
}

.talk-list>li {
    display: flex;
    justify-content: flex-end;
    position: relative;
    margin-bottom: 20px;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    padding-bottom: 70px;
}

.talk-list>li.user {
    justify-content: flex-end;
}

.talk-list>li.user::before {
    content: url("../images/arrow-grey.png");
    position: absolute;
    bottom: 48px;
    right: 25px;
}

.talk-list>li.user::after {
    content: url("../images/chat01.svg");
    position: absolute;
    bottom: 0;
}

.talk-list>li.user>.chat {
    justify-content: flex-end;
    background-color: #F2F4F8;
}

.talk-list>li.bot {
    justify-content: flex-start;
}

.talk-list>li.bot>.chat {
    background-color: #FEF0F3;
}

.talk-list>li.bot::before {
    content: url("../images/arrow-pink.png");
    position: absolute;
    bottom: 48px;
    left: 25px;
}

.talk-list>li.bot::after {
    content: url("../images/chat02.svg");
    position: absolute;
    bottom: 0;
}

.talk-list>li.first {
    opacity: 0;
    transform: translateY(50px);
}

.talk-list>li.first.visible {
    opacity: 1;
    transform: translateY(0);
}

.talk-list>li.visible {
    opacity: 1;
    transform: translateY(0);
}

.talk-list>li>.chat {
    width: 250px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    opacity: 1;
    border-radius: 20px;
}

.talk-list>li>.chat>p {
    line-height: 1.5;
    word-break: keep-all;
}

.solace-box {
    border-top: solid 1px #E2E6EC;
    text-align: center;
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
    padding-top: 50px;
}

.solace-box>span {
    border-radius: 22px;
    padding: 7px 16px;
    background: #FEF0F3;
    color: #F6708A;
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
}

.solace-box>img {
    margin: 30px 0;
}

.solace-box>p {
    font-size: 16px;
    line-height: 1.5;
    word-break: keep-all;
}

.momthera-page {
    text-align: center;
    padding: 0 20px;
}

.momthera-page>p {
    font-size: 20px;
}

.momthera-page>p>span {
    font-size: 28px;
}

.app-page {
    display: flex;
    flex-direction: column;
    padding: 50px 0;
}

.app-page>article {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.app-page>article>img {
    width: 50%;
}

.app-page>article>p {
    text-align: left;
    line-height: 1.5;
    word-break: keep-all;
    width: 50%;
}

.app-faq {
    border-top: solid 1px #E2E6EC;
    text-align: center;
    padding-top: 50px;
}

.app-faq>p:nth-child(1) {
    font-size: 36px;
    margin-bottom: 8px;
}

.app-faq>p:nth-child(2) {
    font-size: 16px;
    color: #82868C;
    margin-bottom: 60px;
}

.app-faq>article {
    margin-bottom: 60px;
}

.app-faq>article>.question {
    padding: 16px;
    border-radius: 16px;
    background-color: #F2F4F8;
    display: flex;
    margin-bottom: 16px;
}

.app-faq>article>.question>span {
    font-size: 16px;
    font-weight: 700;
}

.app-faq>article>.answer {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    border-radius: 16px;
    background: linear-gradient(180deg, #FEF0F3 24.5%, #E9F4FF 100%);
    padding: 16px;
    text-align: left;
}

.app-faq>article>.answer>span {
    font-size: 16px;
    font-weight: 700;
}

.answer-box>span {
    font-size: 16px;
    font-weight: 700;
}

.answer-box>img {
    margin: 20px auto;
    display: block;
}

.answer-box>p {
    line-height: 1.5;
    word-break: keep-all;
}

.momthera-logo {
    border-top: solid 1px #E2E6EC;
    padding: 60px 0;
}

.momthera-logo>p {
    margin-top: 20px;
    font-size: 16px;
}


.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
}

.alert-page {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
    border: 1px solid #ccc;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    text-align: center;
}

.alert-page.open {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.overlay.open {
    display: block;
}


.prev {
    visibility: hidden;
}

.qes-list.loaded .prev {
    visibility: visible;
}

.whole-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.app-body {
    font-family: 'Pretendard', sans-serif;
    color: #10141A;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    overflow-y: auto;
}


.paragraph-start {
    flex-direction: column;
    padding: 15px 15px;
    justify-content: flex-start;
    display: flex;
}

.intro-text {
    font-size: 64px;
    line-height: 1.6;
}

.survey {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: flex-start;
}

.survey label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    line-height: 1.4;
}

.survey input[type="checkbox"] {
    width: 18px;
    height: 18px;
}

.highlight-primary {
    color: #FF98A4;
    font-weight: 800;
}

.icon-pin {
    font-size: 0.75rem;
    margin-right: 10px;
}

@media (max-height: 640px) {
    .app-body {
        padding: 12px;
    }

    .detail-container {
        padding: 8px;
    }

    .result-container {
        padding: 15px;
        justify-content: space-between;
    }

    .result-container h2.title {
        font-size: clamp(1rem, 3.5vw, 1.25rem);
        margin-bottom: 6px;
    }

    .score-box {
        font-size: 1.4rem;
    }

    .description {
        line-height: 1.45;
    }

    .cta-note,
    .contact-info {
        font-size: 0.8rem;
    }
}

.scroll-hint {
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 2.5rem;
    transform: translateX(-50%);
    transform: scale(0.75);
    z-index: 10;
    pointer-events: none;
}

.scroll-hint .arrow {
    display: block;
    width: 24px;
    height: 24px;
    border-left: 3px solid #666;
    border-bottom: 3px solid #666;
    transform: rotate(-45deg);
    animation: bounce 1.6s infinite;
    opacity: 0.7;
}

@keyframes bounce {

    0%,
    100% {
        transform: translateY(0) rotate(-45deg);
        opacity: .75;
    }

    50% {
        transform: translateY(6px) rotate(-45deg);
        opacity: 0;
    }
}

.scroll-hint.hide {
    opacity: 0;
    transition: opacity .1s;
}

.score-box {
    display: inline-block;
    background-color: #FFE5EC;
    color: #FF98A4;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 2rem 4rem;
    border-radius: 14px;
}

.score-note {
    color: #666;
    margin-top: 1rem;
    margin-bottom: 2rem;
    letter-spacing: -0.025em;
}

.space {
    height: 3%;
}

.level {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2px;
    margin-bottom: 16px;
}

.illustration-icon img {
    max-width: 2rem;
    margin-bottom: 1rem;
    height: auto;
}

.illustration-icon-cta img {
    max-width: 3rem;
    height: auto;
}

.space-medium {
    height: 10px;
}

.level-text {
    font-weight: 700;
    letter-spacing: -0.05em;
    margin-bottom: 1rem;
    color: #FF98A4;
}

@media (max-width: 767px) {
    .qes-list>.qes-title>span {
        font-size: 1rem;
    }

    .score-note {
        font-size: 0.85rem;
    }

    .level-text {
        font-size: 1.2rem;
    }

    .description {
        font-size: 0.725rem;
    }

    .cta-note {
        font-size: 0.8rem;
    }

    .contact-text {
        font-size: 1.15rem;
    }

    .contact-info {
        font-size: 0.7rem;
    }

    .btn-wrap .selected {
        font-size: 1rem;
    }
}

@media (min-width: 768px) and (min-width: 1024px) {
    .qes-list>.qes-title>span {
        font-size: 1.15rem;
    }

    .score-note {
        font-size: 0.95rem;
    }

    .level-text {
        font-size: 1.3rem;
    }

    .description {
        font-size: 1.025rem;
    }

    .cta-note {
        font-size: 0.95rem;
    }

    .contact-text {
        font-size: 1.35rem;
    }

    .contact-info {
        font-size: 0.85rem;
    }

    .btn-wrap .selected {
        font-size: 1.25rem;
    }
}

@media (min-width: 1200px) {
    .qes-list>.qes-title>span {
        font-size: 1.3rem;
    }

    .score-note {
        font-size: 1.05rem;
    }

    .level-text {
        font-size: 1.5rem;
    }

    .description {
        font-size: 1.175rem;
    }

    .cta-note {
        font-size: 1.1rem;
    }

    .contact-text {
        font-size: 1.55rem;
    }

    .contact-info {
        font-size: 1rem;
    }

    .btn-wrap .selected {
        font-size: 1.4rem;
    }
}

.highlight-primary {
    color: #FF98A4;
}

.description {
    text-align: left;
    padding: 0 5px;
    margin-bottom: 1.5rem;
    line-height: 1.5;
    letter-spacing: -0.025em;
}

.cta-note {
    line-height: 1.5;
    text-align: left;
    padding: 0 5px;
    margin-bottom: 3rem;
    font-weight: 700;
    visibility: hidden;
    height: 1.2em;
}

.cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-weight: 600;
    line-height: 1.2;
    color: #FF98A4;
    text-decoration: none;
    margin-bottom: 4px;
}

.cta .icon-cta {
    font-size: 1.25rem;
}

.contact-box {
    visibility: hidden;
    margin: 20px 30px;
    background-color: #ffe6e6;
    color: #FF98A4;
    padding: 2rem 2.5rem;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.contact-text {
    font-weight: 700;
    color: #FF87A8;
    text-align: center;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

.contact-info {
    font-weight: 500;
    color: #333;
    text-align: center;
    flex-wrap: nowrap;
    line-height: 1.5;
}