
  
  
  
  body {
    background-color: #faf9f8;
    color: #1c3950;
    /* font-family: 'Noto Sans JP', 'Inter', 'Pretendard', 'SF Pro Display', 'Arial', sans-serif; */
    line-height: 1.8;
    font-size: 16px;
    margin: 0;
    padding: 0;
  }
  .custom-area {
      background-color: #faf9f8;
    color: #1c3950;
    line-height: 1.8;
    font-size: 16px;
    margin: 0;
    padding: 0;
}
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background-color: #1a2e49;
    color: rgb(0, 0, 0);
    font-weight: bold;
    border-radius: 0 0 10px 10px;
}

.menu-icon {
    font-size: 24px;
    color: rgb(0, 0, 0);
    cursor: pointer;
    margin-right: 10px;
    background: none;
    border: none;
}

.header-title {
    text-align: left;
    margin-left: 10px;
    color: #fff;
}
/* 📌 메뉴 스타일 */
.menu-items {
    position: absolute;
    top: 60px;
    right: 10px;
    background: rgba(30, 30, 30, 0.5);
    /* 어두운 반투명 배경 */
    border-radius: 14px;
    /* 더 둥글게 */
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
    /* 더 깊은 그림자 */
    width: 180px;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-10px);
    max-height: 0;
    transition: opacity 0.3s ease, transform 0.3s ease, max-height 0.3s ease-in-out;
    backdrop-filter: blur(15px);
    z-index: 1000;
    /* 유리 같은 블러 효과 추가 */
}

/* 메뉴가 열릴 때 */
.menu-items.show {
    opacity: 1;
    transform: translateY(0);
    max-height: 380px;
}

/* 📌 메뉴 내부 항목 */
.menu-items a {
    padding: 11px 18px;
    /* 더 넓은 패딩 */
    text-decoration: none;
    color: white;
    font-size: 17px;
    text-align: left;
    display: block;
    font-weight: 400;
    /* 굵은 폰트 */
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}

/* 마지막 항목 테두리 제거 */
.menu-items a:last-child {
    border-bottom: none;
}

/* 📌 호버 효과 */
.menu-items a:hover {
    background: rgba(255, 255, 255, 0.2);
    /* 부드러운 반투명 호버 */
    color: #ffd21e;
    /* 골드 컬러 강조 */
    border-radius: 5px;
}

/* 📌 메뉴 버튼 스타일 */
.menu-icon {
    font-size: 24px;
    color: #fff;
    cursor: pointer;
    margin-right: 10px;
    background: none;
    border: none;
    transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

/* 버튼을 누를 때 애니메이션 */
.menu-icon:active {
    transform: scale(0.9);
    opacity: 0.7;
}
/* ✅ 모바일 (767px 이하): 데스크탑 메뉴 숨김 */
@media (max-width: 767px) {
    .desktop-menu {
      display: none !important;
    }
    .select-situation-btn {
        width: 50%;
    }
    .container {
        flex-direction:column;
    }
  }
  
/* ✅ PC에서는 상단 우측에 항상 보이도록 */
@media (min-width: 768px) {
    /* 햄버거 버튼과 드롭다운 메뉴 숨기기 */
    .menu-icon,
    .menu-items {
      display: none !important;
    }

    .select-situation-btn {
        margin-right: 20px !important;
    }
    .container {
        flex-direction:row !important;
    }
  
    /* PC 전용 네비게이션 */
    .desktop-menu {
      display: flex;
      gap: 24px;
      margin-left: auto;
      align-items: center;
    }
  
    .desktop-menu a {
      color: white;
      text-decoration: none;
      font-weight: 500;
      font-size: 16px;
      padding: 10px 12px;
      transition: color 0.2s ease, border-bottom 0.2s ease;
      border-bottom: 2px solid transparent;
    }
  
    .desktop-menu a:hover {
      color: #ffcc00;
      border-bottom: 2px solid #ffcc00;
    }
  }
  .section-top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 20px;
  max-width: 1080px;
  margin: 0 auto;
  margin-top: 28px;
  color: #777;
  font-size: 14px;
  font-weight: 500;
}

.section-label {
  color: #1c3950;
  font-weight: 400;
  border-bottom: 1px solid #1c3950; /* 밑줄 추가 */
font-size: 15px;  /* 살짝 줄여 정보성 느낌 */
padding-bottom: 4px;
margin-bottom: 12px;
}

.section-labellist {
  position: relative;
  color: #222;
  font-size: 20px;
  font-weight: 800;
  display: inline-block;
  padding-bottom: 8px;
}

.section-labellist::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background-color: #ddd;
  border-radius: 2px;
}

.section-labellist::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 10%; /* 검은색 밑줄 길이 */
  height: 4px;
  background-color: #222;
  border-radius: 2px;
}




.ai-diagnosis-button {
  background-color: #d93025; /* Google 스타일의 빨강 */
  color: #fff;
  padding: 6px 14px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.ai-diagnosis-button:hover {
  background-color: #b2221d;
}
.section-label a {
  color: inherit;          /* 부모의 글자색을 그대로 물려받음 */
  text-decoration: none;   /* 밑줄 제거 */
  cursor: pointer;         /* 클릭 가능한 손가락 모양 유지 */
}
.section-label a:visited,
.section-label a:hover,
.section-label a:active {
  color: inherit;
  text-decoration: none;
}


 .custom-area  main {
    max-width: 1080px;
    margin: 0 auto;
    padding: 4px 60px;
  }

 .custom-area h1,
 .custom-area h2, 
 .custom-area h3 {
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 1.6em;
    color: #1c3950;
  }

  .custom-area h1 {
    font-size: 1.9rem;
    border-left: 6px solid #1c3950;
    padding-left: 12px;
    margin-top: 20px;
  }

  .custom-area h2 {
    font-size: 1.5rem;
    color: #1c3950;
    margin-top: 32px;
  }

  .custom-area h3 {
    font-size: 1.2rem;
    color: #1c3950;
    margin-top: 50px;
  }

  .custom-area p {
    margin: 0 0 1.4em;
  }

  .custom-area ul {
    padding-left: 1.2em;
    margin-bottom: 1.4em;
  }

  .custom-area li {
    margin-bottom: 0.5em;
  }

  .custom-area strong {
    color: #1c3950;
    font-weight: 600;
  }

  .custom-area em {
    font-style: italic;
    color: #5d5d5d;
  }

  .custom-area blockquote {
    margin: 1.5em 0;
    padding: 1em 1.5em;
    background-color: #e3d7c1;
    border-left: 5px solid #1c3950;
    color: #333;
    font-style: italic;
  }

  /* 링크 스타일 (필요 시) */
  a {
    color: #1c3950;
    text-decoration: underline;
  }

  /* 반응형 */
  @media (max-width: 480px) {
    body {
      font-size: 15px;
    }
    .custom-area h1 {
      font-size: 1.6rem;
    }
    .custom-area h2 {
      font-size: 1.3rem;
    }
    .custom-area h3 {
      font-size: 1.1rem;
    }
    .custom-area main {
      padding: 4px 24px;
    }
  }
.tpo-image-wrapper {
  text-align: center;
  margin: 24px 0;
}

.tpo-image {
  width: 100%;
  max-width: 720px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  display: inline-block;
}
.body-wrapper {
  display: flex;
  justify-content: center;
}

   #quiz-container {
      max-width: 600px;
      min-width: 300px;
      margin: 30px 10px;
      padding: 24px;
      background: #fff;
      border-radius: 12px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

    /* 인트로 */
    #quiz-intro {
      text-align: center;
    }

    #quiz-intro h2 {
      color: #1c3950;
      font-size: 22px;
    }

    #start-btn {
      margin-top: 20px;
      padding: 14px 28px;
      font-size: 16px;
      background-color: #1c3950;
      color: white;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      transition: background 0.3s;
    }

    #start-btn:hover {
      background-color: #294e6a;
    }

    /* 퀴즈 박스 */
    .question-box {
      background: linear-gradient(135deg, #1c3950, #1d3a51);
      padding: 24px;
      border-radius: 12px;
      color: #fff;
      font-size: 18px;
      margin-bottom: 20px;
    }

    .progress {
      height: 8px;
      background: #eee;
      border-radius: 4px;
      overflow: hidden;
      margin-bottom: 10px;
    }

    .progress-bar {
      height: 100%;
      background: linear-gradient(to right, #ff9900, #d93025);
      width: 0%;
      transition: width 0.2s;
    }

    #timer {
      text-align: right;
      font-size: 14px;
      color: #666;
      margin-bottom: 16px;
    }

    .options {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .option-btn {
      padding: 14px;
      border-radius: 10px;
      border: 2px solid #ccc;
      cursor: pointer;
      background: #fff;
      font-size: 16px;
      transition: all 0.3s ease;
    }

    .option-btn:hover {
      background: #f1f1f1;
    }

    .option-btn.correct {
      background: #c5f7ec;
      border-color: #00c7a5;
    }

    .option-btn.wrong {
      background: #ffc5c5;
      border-color: #ff4f4f;
    }

    .result {
      font-size: 18px;
      font-weight: bold;
      margin-top: 20px;
      color: #333;
      text-align: center;
    }






  footer {
      text-align: center;
      margin-top: 50px;
      padding: 14px 0;
     
    }
    .footer-links {
      margin-bottom: 8px;
    }
    .footer-links a {
      margin: 0 10px;
      font-size: 0.95rem;
      color: #555;
      text-decoration: none;
    }
    .footer-links a:hover {
      text-decoration: underline;
    }
    .copyright-wrapper {
    display: flex;
    justify-content: center; /* 가운데 정렬 */
    gap: 10px;
    font-size: 12px;
    color: #434242;
    margin-bottom: 10px;
}


/* 각각 링크 스타일 */
.copyright-note {
  color: #434242;
  text-decoration: none;
}

.copyright-note:hover {
  text-decoration: underline;
  color: #666;
}

.header-link {
  text-decoration: none; /* 밑줄 제거 */
}

 /* Custom CSS for Accordion Smoothness */
        .toc-list-container {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
        }
        .toc-list-container.open {
            max-height: 500px; /* Adjust based on max expected content height */
            transition: max-height 0.3s ease-in;
        }

/* 목차 전용 스타일 */
#table-of-contents {
    background-color: #eff6ff; /* 연한 파란색 배경 */
    padding: 1rem; /* 내부 여백 */
    border-radius: 0.5rem; /* 둥근 모서리 */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); /* 그림자 */
    margin-bottom: 0.5rem; /* 아래쪽 여백 */
    margin-top: 0.5rem;
    margin-left: 20px;
    margin-right: 20px;
}
#toc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 0.5rem; /* 내부 여백 */
    background-color: #dbeafe; /* 더 연한 파란색 배경 */
    border-radius: 0.375rem; /* 둥근 모서리 */
}
#toc-header h3 {
    font-size: 1.125rem; /* 글자 크기 */
    font-weight: 700; /* 굵게 */
    color: #1e40af; /* 진한 파란색 글자 */
    margin: 0; /* 기본 마진 제거 */
}
#toc-arrow {
    width: 1.25rem; /* 너비 */
    height: 1.25rem; /* 높이 */
    color: #2563eb; /* 파란색 화살표 */
    transition: transform 0.3s ease-out; /* 변형 애니메이션 */
    transform: rotate(0deg); /* 초기 상태 (0도) */
}
#toc-arrow.rotate-180 {
    transform: rotate(180deg); /* 회전 상태 (180도) */
}
.toc-list-container {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out; /* 펼쳐짐/접힘 애니메이션 */
}
.toc-list-container.open {
    max-height: 900px; /* 목차 내용에 따라 적절히 조절 (최대 높이) */
    transition: max-height 0.3s ease-in; /* 펼쳐짐 애니메이션 */
}
#toc-list {
    margin-top: 1rem; /* 위쪽 여백 */
    list-style: none; /* 기본 목록 스타일 제거 */
    padding: 0; /* 기본 패딩 제거 */
}
#toc-list li {
    margin-bottom: 0.25rem; /* 목록 항목 사이 여백 */
}
#toc-list a {
    display: block;
    padding: 0.5rem; /* 링크 내부 여백 */
    color: #1d4ed8; /* 파란색 링크 글자 */
    border-radius: 0.375rem; /* 둥근 모서리 */
    transition: background-color 0.2s ease-in-out; /* 배경색 변경 애니메이션 */
    text-decoration: none; /* 밑줄 제거 */
}
#toc-list a:hover {
    background-color: #bfdbfe; /* 호버 시 배경색 */
}
/* 들여쓰기 스타일 */
#toc-list a.indent-level-1 {
    padding-left: 0.5rem; /* 'はじめに', '結論' 등 */
}
#toc-list a.indent-level-2 {
    padding-left: 1.5rem; /* '第1章' 등 */
}
  /* TOC Item Level Styles */
        .toc-item-level-1 {
            padding-left: 0.5rem; /* Less indentation for top-level */
            font-size: 1rem; /* Default size for top-level */
            font-weight: 600; /* Slightly bolder for top-level */
            color: #1e40af; /* Darker blue for main sections */
        }
        .toc-item-level-2 {
            padding-left: 2.5rem; /* More indentation for chapters */
            font-size: 0.9rem; /* Smaller font for chapters */
            color: #2563eb; /* Slightly lighter blue for sub-sections */
        }

/* 공유 플로팅 버튼 스타일 */
#floating-share-btn {
    position: fixed; /* 화면에 고정 */
    bottom: 25px;
    right: 25px;
    width: 60px;
    height: 60px;
    background-color: #d93025;
    color: white;
    border: none;
    border-radius: 50%; /* 원형 버튼 */
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000; /* 다른 요소 위에 표시 */
    transition: transform 0.2s ease-out, background-color 0.2s;
}

#floating-share-btn:hover {
    background-color: #000000;
    transform: scale(1.1); /* 호버 시 약간 확대 */
}

#floating-share-btn svg {
    width: 24px;
    height: 24px;
    fill: #FFFFFF; /* 아이콘 색상 */
}

.news-section {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 12px 0;
}

.news-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  text-decoration: none; /* 링크 밑줄 제거 */
  color: inherit;         /* 텍스트 색상 유지 */
  transition: background 0.2s ease;
  border-radius: 8px;
  padding: 4px;
}

.news-item:hover {
  background-color: #f5f5f5; /* 살짝 강조 효과 */
}


.news-thumbnail {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}

.news-content {
  flex: 1;
}

.news-title {
  font-size: 16px;
  font-weight: 600;
  color: #222;
  margin: 0 0 6px;
  line-height: 1.4;
}

.news-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #696969;
}

.news-tag {
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 12px;
}

.news-tag.hot {
  background-color: #d93025;
  color: #ffffff;
}
