/* ===== RESET & BASE ===== */
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    html { font-size: 16px; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
    body {
      font-family: 'Noto Sans JP', sans-serif;
      color: #343434;
      background: #fff;
      overflow-x: hidden;
    }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; height: auto; display: block; }
    .container { max-width: 1440px; margin: 0 auto; }

    /* ===== ANNOUNCEMENT BAR (PC) ===== */
    .announcement-bar {
      background: #F8BBBB;
      height: 80px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      position: relative;
      z-index: 101;
    }
    .announcement-bar .ann-text {
      font-size: 16px;
      font-weight: 700;
      color: #343434;
      letter-spacing: 1.6px;
    }
    .announcement-bar .ann-btn {
      display: inline-flex;
      align-items: center;
      padding: 10px 24px;
      border: none;
      border-radius: 30px;
      background: #fff;
      color: #343434;
      font-size: 16px;
      font-weight: 700;
      letter-spacing: 1.6px;
      transition: background 0.3s, color 0.3s;
    }
    .announcement-bar .ann-btn:hover {
      background: #f0f0f0;
      color: #343434;
    }

    /* ===== PC HEADER ===== */
    .pc-header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(255,255,255,0.95);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    }
    .pc-header-inner {
      max-width: 1440px;
      margin: 0 auto;
      padding: 10px 40px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      flex-wrap: nowrap;
    }
    .pc-header-logo {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-shrink: 0;
    }
    .pc-header-logo img {
      height: 60px;
      width: auto;
    }
    .pc-header-logo .logo-text {
      display: flex;
      flex-direction: column;
      white-space: nowrap;
    }
    .pc-header-logo .logo-subtitle {
      font-size: 11px;
      color: #343434;
      letter-spacing: 0.5px;
    }
    .pc-header-logo .logo-brand {
      font-family: 'Shippori Mincho', serif;
      font-size: 20px;
      font-weight: 600;
      color: #f49b9b;
      letter-spacing: 2px;
    }
    .pc-nav {
      display: flex;
      align-items: center;
      gap: 18px;
    }
    .pc-nav a {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 16px;
      font-weight: 400;
      color: #343434;
      letter-spacing: 1.6px;
      transition: color 0.3s;
      white-space: nowrap;
    }
    .pc-nav a:hover { color: #f49b9b; }
    .pc-header-cta {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-shrink: 0;
    }
    .pc-header-cta .header-cta-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 8px 24px;
      border-radius: 30px;
      font-size: 16px;
      font-weight: 500;
      letter-spacing: 1.6px;
      transition: opacity 0.3s;
      white-space: nowrap;
      border: none;
      background: #F8BBBB;
      color: #343434;
    }
    .pc-header-cta .header-cta-btn:hover {
      background: #f49b9b;
      color: #343434;
    }

    /* ===== SP HEADER ===== */
    .sp-header {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      background: rgba(255,255,255,0.5);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
    }
    .sp-header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 27px 28px 0;
      height: 84px;
    }
    .sp-header-logo img { height: 59px; width: auto; }
    .hamburger-btn {
      background: none;
      border: none;
      cursor: pointer;
      padding: 0;
      width: 27px;
      height: 19px;
    }
    .hamburger-btn span {
      display: block;
      width: 100%;
      height: 2px;
      background: #343434;
      margin-bottom: 6px;
    }
    .hamburger-btn span:last-child { margin-bottom: 0; }

    /* ===== MOBILE MENU ===== */
    .mobile-menu {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(255,255,255,0.97);
      z-index: 200;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 24px;
    }
    .mobile-menu.active { display: flex; }
    .mobile-menu a {
      font-family: 'Shippori Mincho', serif;
      font-size: 20px;
      color: #343434;
      letter-spacing: 2px;
    }
    .mobile-menu .close-btn {
      position: absolute;
      top: 30px;
      right: 30px;
      background: none;
      border: none;
      font-size: 32px;
      cursor: pointer;
      color: #343434;
    }

    /* ===== TICKER BAR ===== */
    .ticker-bar {
      background: #ffdfdf;
      height: 36px;
      overflow: hidden;
      display: flex;
      align-items: center;
      position: relative;
    }
    .ticker-track {
      display: flex;
      white-space: nowrap;
      animation: ticker-scroll 30s linear infinite;
    }
    .ticker-item {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-size: 14px;
      color: #343434;
      padding: 0 20px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .ticker-item::before {
      content: '｜';
      display: inline-block;
      color: #343434;
      font-size: 14px;
      flex-shrink: 0;
    }
    @keyframes ticker-scroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* ===== HERO SECTION ===== */
    .hero {
      position: relative;
      width: 100%;
      min-height: 600px;
      overflow: hidden;
      display: flex;
      align-items: center;
    }
    .hero-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url('../images/sky-hero.svg') center center / cover no-repeat;
    }
    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 1440px;
      margin: 0 auto;
      padding: 80px 80px 120px;
      width: 100%;
    }
    .hero-headline {
      font-family: 'Shippori Mincho', 'Yu Mincho', serif;
      font-weight: 600;
      font-size: 48px;
      color: #fff;
      line-height: 1.5;
      text-shadow: 0 0 6px #567596;
      margin-bottom: 24px;
      letter-spacing: 6px;
    }
    .hero-headline .highlight {
      font-size: 60px;
    }
    .hero-subtext {
      font-family: 'Shippori Mincho', 'Yu Mincho', serif;
      font-size: 20px;
      font-weight: 600;
      color: #343434;
      line-height: 1.5;
      letter-spacing: 2px;
    }
    .hero-airplane {
      position: absolute;
      right: -40px;
      bottom: 60px;
      width: 55%;
      max-width: 700px;
      z-index: 1;
    }
    .hero-airplane img {
      width: 100%;
      height: auto;
    }

    /* SP Announcement Bar (below hero) */
    .sp-announcement-bar {
      display: none;
      background: #b51230;
      padding: 14px 28px;
      text-align: center;
    }
    .sp-announcement-bar .sp-ann-text {
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      letter-spacing: 1px;
    }
    .sp-announcement-bar .sp-ann-btn {
      display: inline-block;
      margin-top: 8px;
      padding: 6px 24px;
      border: 1.5px solid #fff;
      border-radius: 30px;
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.5px;
    }

    /* ===== SECTION COMMON ===== */
    .section-header-left {
      margin-bottom: 30px;
    }
    .section-header-left .section-en {
      font-family: 'Dancing Script', cursive;
      font-size: 18px;
      color: #f49b9b;
    }
    .section-header-left .section-title {
      font-family: 'Shippori Mincho', serif;
      font-weight: 600;
      font-size: 28px;
      color: #343434;
      letter-spacing: 4px;
    }
    /* Shared deco styles */
    .section-deco {
      display: flex;
      align-items: center;
      gap: 0;
      margin-top: 4px;
    }
    .dashed-line {
      height: 0;
      border-top: 2px dashed #f49b9b;
      opacity: 0.6;
    }
    .airplane-icon {
      margin-left: -4px;
    }
    .airplane-icon img,
    .airplane-icon svg {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .section-header-left .section-deco { /* inherits shared */ }
    .section-header-left .dashed-line { width: 160px; }
    .section-header-left .airplane-icon { width: 24px; height: 24px; }
    .section-header-center {
      text-align: center;
      margin-bottom: 40px;
    }
    .section-header-center .section-en {
      font-family: 'Dancing Script', cursive;
      font-size: 18px;
      color: #f49b9b;
      margin-bottom: 4px;
    }
    .section-header-center .section-title {
      font-family: 'Shippori Mincho', serif;
      font-weight: 600;
      font-size: 32px;
      color: #b51230;
      letter-spacing: 6px;
    }
    .section-header-center .section-deco { justify-content: center; }
    .section-header-center .dashed-line { width: 200px; }
    .section-header-center .airplane-icon { width: 24px; height: 24px; }

    /* ===== INFORMATION / NEWS ===== */
    .info-section {
      background: #fff;
      padding: 80px 180px;
    }
    .info-list {
      margin-top: 24px;
    }
    .info-item {
      display: flex;
      align-items: baseline;
      gap: 40px;
      padding: 18px 0;
      border-bottom: 1px solid #eee;
    }
    .info-item:last-child { border-bottom: none; }
    .info-date {
      font-size: 14px;
      color: #999;
      flex-shrink: 0;
      min-width: 140px;
    }
    .info-text {
      font-size: 15px;
      color: #343434;
      line-height: 1.6;
    }

    /* ===== PINK CLOUD CTA ===== */
    .cloud-cta-section {
      position: relative;
      padding: 60px 40px 80px;
      background: #f9c8c8;
      text-align: center;
    }
    .cloud-cta-section::before {
      content: '';
      position: absolute;
      top: -60px;
      left: 0;
      width: 100%;
      height: 80px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80'%3E%3Cpath fill='%23f9c8c8' d='M0,80 C120,20 240,60 360,40 C480,20 600,60 720,50 C840,40 960,70 1080,30 C1200,0 1320,50 1440,40 L1440,80 L0,80 Z'/%3E%3C/svg%3E") center bottom / 100% auto no-repeat;
    }
    .cloud-cta-buttons {
      display: flex;
      justify-content: center;
      gap: 30px;
      max-width: 900px;
      margin: 0 auto;
    }
    /* Shared pink CTA button base */
    .pink-cta-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 10px 20px;
      background: #F8BBBB;
      color: #343434;
      border-radius: 30px;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 2px;
      line-height: 30px;
      text-align: center;
      transition: opacity 0.3s;
      box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    }
    .pink-cta-btn:hover { opacity: 0.85; }
    .cloud-cta-btn { width: 252px; }

    /* ===== RESULTS / CONGRATULATION ===== */
    .results-section {
      background: #fff;
      padding: 80px 40px;
    }
    .results-inner {
      max-width: 1100px;
      margin: 0 auto;
      text-align: center;
    }
    .results-main-stat {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 30px;
      margin: 40px 0;
    }
    .results-main-stat .stat-desc {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 20px;
      color: #343434;
      line-height: 1.8;
      text-align: left;
    }
    .results-main-stat .stat-desc .airplane-deco {
      display: inline-block;
      width: 40px;
      margin-left: 8px;
    }
    .results-main-stat .stat-big {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .results-main-stat .stat-big .laurel {
      width: 60px;
      height: auto;
    }
    .results-main-stat .stat-big .stat-number {
      font-family: 'Shippori Mincho', serif;
      font-weight: 700;
      font-size: 100px;
      color: #b51230;
      line-height: 1;
    }
    .results-main-stat .stat-big .stat-unit {
      font-family: 'Shippori Mincho', serif;
      font-size: 36px;
      color: #b51230;
    }
    .results-sub-stats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      justify-items: center;
      gap: 24px 60px;
      margin: 30px auto 40px;
      max-width: 700px;
    }
    .results-sub-stat {
      display: flex;
      align-items: baseline;
      gap: 12px;
    }
    .results-sub-stat .sub-label {
      font-size: 18px;
      color: #343434;
    }
    .results-sub-stat .sub-label.blue {
      color: #003399;
      font-weight: 700;
    }
    .results-sub-stat .sub-number {
      font-family: 'Shippori Mincho', serif;
      font-weight: 700;
      font-size: 52px;
      color: #b51230;
      line-height: 1;
    }
    .results-sub-stat .sub-unit {
      font-family: 'Shippori Mincho', serif;
      font-size: 22px;
      color: #b51230;
    }
    /* Medal badges */
    .results-medals {
      display: flex;
      justify-content: center;
      gap: 40px;
      margin: 40px 0;
    }
    .medal-svg-img {
      width: 342px;
      height: auto;
      max-width: 100%;
    }
    /* Shared outline button base */
    .outline-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 40px;
      padding: 16px 80px;
      border: 1px solid #343434;
      border-radius: 30px;
      font-size: 16px;
      font-weight: 500;
      color: #343434;
      transition: all 0.3s;
      max-width: 400px;
    }
    .outline-btn:hover {
      background: #f49b9b;
      color: #fff;
    }
    .results-more-btn { /* uses outline-btn */ }
    .results-more-btn:hover {
      background: #343434;
      color: #fff;
    }

    /* ===== BLOG SECTION ===== */
    .blog-section {
      background: #fff;
      padding: 80px 180px;
    }
    .blog-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
      margin-top: 30px;
    }
    .blog-card {
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0 0 4px rgba(97, 58, 58, 0.25);
      transition: transform 0.3s;
    }
    .blog-card:hover { transform: translateY(-4px); }
    .blog-card-img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      background: #f0e0e0;
    }
    .blog-card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .blog-card-meta {
      padding: 12px 20px 0;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .blog-card-meta .blog-date {
      font-size: 13px;
      color: #999;
    }
    .blog-card-meta .blog-tag {
      font-size: 12px;
      color: #f49b9b;
      background: #fff0f0;
      padding: 2px 10px;
      border-radius: 20px;
    }
    .blog-card-body {
      padding: 12px 20px 20px;
      background: linear-gradient(to bottom, #fff 0%, #fde8e8 100%);
    }
    .blog-card-title {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 16px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 8px;
    }
    .blog-card-desc {
      font-size: 13px;
      color: #666;
      line-height: 1.7;
    }
    .blog-more-btn { margin: 40px auto 0; /* extends outline-btn */ }

    /* ===== SNS FOLLOW SECTION ===== */
    .sns-follow-section {
      background: #fff;
      padding: 60px 40px;
      text-align: center;
    }
    .sns-follow-label {
      font-size: 18px;
      color: #343434;
      margin-bottom: 24px;
      letter-spacing: 2px;
    }
    .sns-follow-icons {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 30px;
    }
    .sns-follow-icons a img {
      border-radius: 50%;
      object-fit: contain;
      transition: transform 0.3s;
    }
    .sns-follow-icons a:hover img { transform: scale(1.1); }
    .sns-follow-icons .ig-icon img {
      width: 145px;
      height: 145px;
    }
    .sns-follow-icons .line-icon img {
      width: 100px;
      height: 100px;
    }
    .sns-follow-icons .yt-icon img {
      width: 126px;
      height: 118px;
      border-radius: 14px;
    }
    .sns-follow-icons .note-icon img {
      border-radius: 0;
      width: 69px;
      height: 69px;
    }

    /* ===== WELCOME TO SCA ===== */
    .welcome-section {
      position: relative;
      min-height: 700px;
      overflow: hidden;
    }
    .welcome-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url('../images/hero-bg.svg') center center / cover no-repeat;
    }
    .welcome-overlay {
      position: relative;
      z-index: 2;
      max-width: 900px;
      margin: 0 auto;
      padding: 80px 60px;
      background: rgba(255,255,255,0.80);
      border-radius: 30px;
      margin-top: 60px;
      margin-bottom: 60px;
    }
    .welcome-title-row {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 24px;
      justify-content: center;
    }
    .welcome-title-row .welcome-en {
      font-family: 'Dancing Script', cursive;
      font-size: 28px;
      color: #f49b9b;
    }
    .welcome-title-row .airplane-icon {
      width: 30px;
    }
    .welcome-headline {
      font-family: 'Shippori Mincho', serif;
      font-size: 26px;
      font-weight: 600;
      color: #343434;
      text-align: center;
      margin-bottom: 30px;
      line-height: 1.6;
    }
    .welcome-headline .pink-bold {
      color: #b51230;
      font-weight: 700;
    }
    .welcome-body p {
      font-size: 15px;
      line-height: 2.2;
      color: #343434;
      margin-bottom: 16px;
    }
    .welcome-body .highlight-text {
      color: #b51230;
      font-weight: 700;
    }
    .welcome-features {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 24px;
      margin-top: 40px;
      flex-wrap: wrap;
    }
    .welcome-icon-svg {
      height: auto;
      max-width: 180px;
    }
    .welcome-more-btn { margin: 40px auto 0; /* extends outline-btn */ }

    /* ===== LESSON / COURSE ===== */
    .lesson-section {
      background: #fff;
      padding: 80px 40px;
    }
    .lesson-section .section-header-center .section-en {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 4px;
      color: #343434;
    }
    .lesson-subtitle {
      text-align: center;
      font-size: 15px;
      color: #666;
      margin-top: -20px;
      margin-bottom: 40px;
    }
    .course-area {
      background: #FFDFDF;
      border-radius: 30px;
      padding: 50px 60px;
      max-width: 1100px;
      margin: 0 auto 40px;
    }
    .course-area-header {
      display: flex;
      align-items: baseline;
      gap: 20px;
      margin-bottom: 30px;
    }
    .course-area-header .area-label {
      font-family: 'Shippori Mincho', serif;
      font-size: 26px;
      font-weight: 700;
      color: #b51230;
      letter-spacing: 4px;
    }
    .course-area-header .area-desc {
      font-size: 14px;
      color: #555;
    }
    .course-card {
      background: #fff;
      border-radius: 16px;
      padding: 40px;
      margin-bottom: 24px;
      display: flex;
      gap: 30px;
    }
    .course-card-text { flex: 1; }
    .course-card-text .course-sub {
      font-size: 14px;
      color: #555;
      margin-bottom: 8px;
    }
    .course-card-text .course-name {
      font-family: 'Shippori Mincho', serif;
      font-size: 28px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 4px;
    }
    .course-card-text .course-name-deco {
      display: flex;
      align-items: center;
      gap: 0;
      margin-bottom: 16px;
    }
    .course-card-text .course-name-deco .dashed-line { width: 120px; }
    .course-card-text .course-name-deco .airplane-icon { width: 20px; }
    .course-card-text .course-desc {
      font-size: 14px;
      line-height: 1.8;
      color: #555;
    }
    .course-card-text .course-detail-btn {
      display: inline-flex;
      align-items: center;
      margin-top: 16px;
      padding: 10px 30px;
      background: #fde8e8;
      color: #343434;
      border-radius: 30px;
      font-size: 14px;
      font-weight: 500;
      transition: background 0.3s;
    }
    .course-card-text .course-detail-btn:hover { background: #f9c8c8; }
    .course-card-img {
      flex: 0 0 280px;
      border-radius: 12px;
      overflow: hidden;
    }
    .course-card-img img {
      width: 100%;
      height: 200px;
      object-fit: cover;
    }
    /* 単発対策 */
    .tanpatsu-area {
      border: 3px solid #F49B9B;
      border-radius: 30px;
      padding: 50px 60px;
      max-width: 1100px;
      margin: 0 auto;
      position: relative;
      overflow: hidden;
    }
    .tanpatsu-area .area-header {
      display: flex;
      align-items: baseline;
      gap: 20px;
      margin-bottom: 24px;
    }
    .tanpatsu-silhouettes {
      position: absolute;
      right: -20px;
      bottom: 40px;
      width: 220px;
      height: 260px;
      opacity: 0.12;
      z-index: 0;
    }
    .tanpatsu-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 0;
      position: relative;
      z-index: 1;
    }
    .tanpatsu-card {
      background: #fff;
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0px 4px 4px rgba(97, 58, 58, 0.25);
    }
    .tanpatsu-card-img {
      width: 100%;
      height: 160px;
      background: linear-gradient(135deg, #f8e8e8, #fdf0f0);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }
    .tanpatsu-card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .tanpatsu-card-body {
      padding: 20px 20px;
      text-align: center;
    }
    .tanpatsu-card-body .tanpatsu-title {
      font-size: 17px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 10px;
    }
    .tanpatsu-card-body .tanpatsu-desc {
      font-size: 13px;
      color: #666;
      line-height: 1.7;
      margin-bottom: 16px;
      text-align: left;
    }
    .tanpatsu-card-body .tanpatsu-btn {
      display: inline-flex;
      align-items: center;
      padding: 10px 28px;
      background: #fde8e8;
      color: #343434;
      border-radius: 30px;
      font-size: 13px;
      font-weight: 500;
      transition: background 0.3s;
    }
    .tanpatsu-card-body .tanpatsu-btn:hover { background: #f9c8c8; }
    .lesson-cta-area {
      text-align: center;
      margin-top: 60px;
    }
    .lesson-cta-bubble {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 263px;
      height: 169px;
      margin-bottom: 20px;
      transform: rotate(-11deg);
    }
    .lesson-cta-bubble svg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .lesson-cta-bubble span {
      position: relative;
      z-index: 1;
      color: #fff;
      font-family: 'katsuo', 'Shippori Mincho', serif;
      font-size: 18px;
      font-weight: 500;
      line-height: 1.6;
      letter-spacing: 1.8px;
      text-align: center;
      transform: rotate(11deg);
      padding: 0 30px;
    }
    .lesson-cta-btn {
      width: 304px;
      padding: 16px 40px;
      color: #fff;
      font-size: 16px;
      letter-spacing: 1.6px;
      line-height: 24px;
      /* extends pink-cta-btn */
    }

    /* ===== VOICE / TESTIMONIALS ===== */
    .voice-section {
      background: #fff;
      padding: 80px 0;
      overflow: hidden;
    }
    .voice-section .section-header-center {
      padding: 0 40px;
    }
    .voice-subtitle {
      text-align: center;
      font-size: 15px;
      color: #555;
      margin-top: -20px;
      margin-bottom: 30px;
      padding: 0 40px;
    }
    /* Floating speech bubbles (SVG cloud shapes per Figma) */
    .voice-bubbles {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 30px;
      padding: 20px 80px;
      position: relative;
      min-height: 380px;
    }
    .voice-bubbles-bg {
      position: absolute;
      width: 720px;
      height: auto;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 0;
    }
    .voice-bubble {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      flex-shrink: 0;
    }
    .voice-bubble svg {
      width: 100%;
      height: 100%;
      display: block;
    }
    .voice-bubble span {
      position: absolute;
      z-index: 2;
      font-family: 'katsuo', 'Shippori Mincho', serif;
      font-size: 24px;
      font-weight: 500;
      color: #E06A6A;
      line-height: 1.5;
      letter-spacing: 0.48px;
    }
    /* Blob 1: 新卒8社内定 — bottom-left, rotated 13deg */
    .voice-bubble:nth-of-type(1) {
      width: 200px;
      align-self: flex-end;
      transform: rotate(13deg);
      z-index: 1;
      margin-right: -30px;
      margin-bottom: -10px;
    }
    .voice-bubble:nth-of-type(1) span {
      transform: rotate(-13deg);
    }
    /* Blob 2: JAL＆ANA W内定 — center-left, rotated 13deg, largest */
    .voice-bubble:nth-of-type(2) {
      width: 280px;
      transform: rotate(13deg);
      z-index: 3;
      margin-right: -20px;
      margin-top: -40px;
    }
    .voice-bubble:nth-of-type(2) span {
      transform: rotate(-13deg);
    }
    /* Blob 3: GSからCA 転職成功 — center-right, mirrored, no rotation */
    .voice-bubble:nth-of-type(3) {
      width: 260px;
      z-index: 2;
      margin-right: -20px;
    }
    /* Blob 4: 留学しながら CA内定 — bottom-right, rotated 154deg */
    .voice-bubble:nth-of-type(4) {
      width: 220px;
      align-self: flex-end;
      transform: rotate(154deg);
      z-index: 1;
      margin-bottom: -10px;
    }
    .voice-bubble:nth-of-type(4) span {
      transform: rotate(-154deg);
    }
    .voice-cards-scroll {
      display: flex;
      gap: 24px;
      overflow-x: auto;
      padding: 20px 40px 20px;
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .voice-cards-scroll::-webkit-scrollbar { display: none; }
    .voice-card {
      flex: 0 0 302px;
      background: #fff;
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25), 0px 0px 4px rgba(0, 0, 0, 0.25);
    }
    .voice-card-header {
      padding: 16px 20px;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .voice-card-airline-badge {
      background: #b51230;
      color: #fff;
      padding: 6px 12px;
      border-radius: 4px;
      font-size: 13px;
      font-weight: 700;
    }
    .voice-card-quote {
      font-size: 13px;
      color: #f49b9b;
      font-weight: 500;
      line-height: 1.4;
    }
    .voice-card-name {
      padding: 0 20px;
      font-family: 'Shippori Mincho', serif;
      font-size: 16px;
      font-weight: 600;
      color: #f49b9b;
    }
    .voice-card-name-deco {
      display: flex;
      align-items: center;
      gap: 0;
      padding: 0 20px;
      margin: 4px 0;
    }
    .voice-card-name-deco .dashed-line { width: 100px; border-top-width: 1.5px; }
    .voice-card-name-deco .airplane-icon { width: 16px; }
    .voice-card-text {
      padding: 12px 20px 20px;
      font-size: 13px;
      line-height: 1.8;
      color: #555;
    }
    .voice-cta-btn {
      margin: 40px auto 0;
      padding: 10px 40px;
      max-width: 400px;
      /* extends pink-cta-btn */
    }
    /* Voice photos */
    .voice-photos {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      margin-top: 40px;
    }
    .voice-photos img {
      width: 100%;
      height: 300px;
      object-fit: cover;
    }

    /* ===== STUDY / OTHER CONTENT ===== */
    .study-section {
      position: relative;
      padding: 80px 40px;
      background: url('../images/study-bg.jpg') center center / cover no-repeat;
    }
    .study-section::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(255,255,255,0.70);
    }
    .study-inner {
      position: relative;
      z-index: 2;
      max-width: 1100px;
      margin: 0 auto;
    }
    .study-cards {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
      margin-top: 30px;
    }
    .study-card {
      display: block;
      border-radius: 16px;
      overflow: hidden;
      transition: transform 0.3s;
    }
    .study-card:hover { transform: translateY(-4px); }
    .study-card img {
      width: 100%;
      display: block;
      border-radius: 16px;
    }
    /* YouTube sub-section */
    .youtube-area {
      margin-top: 50px;
      text-align: center;
    }
    .youtube-area h3 {
      font-size: 24px;
      font-weight: 700;
      color: #343434;
      letter-spacing: 4px;
      margin-bottom: 24px;
    }
    .youtube-thumbs {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }
    .youtube-thumb {
      border-radius: 12px;
      overflow: hidden;
      position: relative;
    }
    .youtube-thumb img {
      width: 100%;
      height: 200px;
      object-fit: cover;
    }
    .youtube-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 24px;
      padding: 14px 60px;
      border: 1.5px solid #343434;
      border-radius: 50px;
      font-size: 16px;
      font-weight: 500;
      color: #343434;
      transition: all 0.3s;
    }
    .youtube-btn:hover {
      background: #343434;
      color: #fff;
    }

    /* ===== INSTAGRAM SECTION ===== */
    .instagram-section {
      background: #fde8e8;
      padding: 60px 40px 80px;
      text-align: center;
    }
    .instagram-section h3 {
      font-size: 24px;
      font-weight: 700;
      color: #343434;
      letter-spacing: 4px;
      margin-bottom: 24px;
    }
    .instagram-grid {
      display: flex;
      justify-content: center;
      gap: 20px;
      max-width: 1100px;
      margin: 0 auto;
    }
    .instagram-grid img {
      width: 260px;
      height: 260px;
      object-fit: cover;
      border-radius: 12px;
    }
    .instagram-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 24px;
      padding: 14px 60px;
      background: #fff;
      border-radius: 50px;
      font-size: 16px;
      font-weight: 500;
      color: #343434;
      transition: all 0.3s;
    }
    .instagram-btn:hover {
      background: #f0f0f0;
    }
    .instagram-btn img {
      width: 24px;
      height: 24px;
    }

    /* ===== PROFILE / INSTRUCTOR ===== */
    .profile-section {
      background: #fff;
      padding: 80px 40px;
    }
    .profile-content {
      display: flex;
      gap: 60px;
      max-width: 1100px;
      margin: 0 auto;
      align-items: flex-start;
    }
    .profile-image {
      flex: 0 0 380px;
      border-radius: 16px;
      overflow: hidden;
    }
    .profile-image img {
      width: 100%;
      height: auto;
    }
    .profile-info { flex: 1; }
    .profile-name {
      font-family: 'Shippori Mincho', serif;
      font-size: 28px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 24px;
    }
    .profile-bio {
      font-size: 15px;
      line-height: 2.2;
      color: #343434;
    }
    .profile-bio p { margin-bottom: 20px; }
    .profile-points {
      margin-top: 20px;
      list-style: none;
    }
    .profile-points li {
      font-size: 15px;
      line-height: 2;
      color: #343434;
      padding-left: 20px;
      position: relative;
    }
    .profile-points li::before {
      content: '・';
      position: absolute;
      left: 0;
    }

    /* ===== FOOTER ===== */
    /* Footer styles loaded from common footer.html */

    /* ===== TABLET RESPONSIVE ===== */
    @media (max-width: 1100px) and (min-width: 768px) {
      .pc-header-inner { padding: 10px 20px; gap: 16px; }
      .pc-header-logo .logo-text { display: none; }
      .pc-header-logo img { height: 50px; }
      .pc-nav { gap: 14px; }
      .pc-nav a { font-size: 14px; letter-spacing: 1px; }
      .pc-header-cta .header-cta-btn { padding: 8px 18px; font-size: 13px; }
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 767px) {
      .announcement-bar { display: none; }
      .pc-header { display: none; }
      .sp-header { display: block; }

      .hero { min-height: 400px; }
      .hero-content { padding: 40px 28px 80px; }
      .hero-headline { font-size: 28px; letter-spacing: 3px; }
      .hero-headline .highlight { font-size: 36px; }
      .hero-subtext { font-size: 14px; letter-spacing: 1px; }
      .hero-airplane { right: -20px; bottom: 30px; width: 70%; }
      .sp-announcement-bar { display: block; }

      .info-section { padding: 50px 28px; }
      .info-item { flex-direction: column; gap: 8px; }

      .cloud-cta-buttons { flex-direction: column; align-items: center; gap: 12px; }
      .cloud-cta-btn { max-width: 100%; }

      .results-section { padding: 50px 28px; }
      .results-main-stat { flex-direction: column; gap: 16px; }
      .results-main-stat .stat-big .stat-number { font-size: 64px; }
      .results-sub-stats { grid-template-columns: 1fr; gap: 16px; }
      .results-medals { flex-direction: column; align-items: center; gap: 24px; }
      .medal-svg-img { width: 260px; }

      .blog-section { padding: 50px 28px; }
      .blog-cards { grid-template-columns: 1fr; }

      .sns-follow-icons .ig-icon img { width: 100px; height: 100px; }
      .sns-follow-icons .line-icon img { width: 70px; height: 70px; }
      .sns-follow-icons .yt-icon img { width: 88px; height: 82px; }
      .sns-follow-icons .note-icon img { width: 48px; height: 48px; }

      .welcome-overlay { margin: 20px; padding: 30px 20px; }
      .welcome-icon-svg { max-width: 120px; }

      .lesson-section { padding: 50px 28px; }
      .course-area { padding: 30px 20px; }
      .course-card { flex-direction: column; }
      .course-card-img { flex: none; width: 100%; }
      .tanpatsu-area { padding: 30px 20px; }
      .tanpatsu-cards { grid-template-columns: 1fr; }

      .voice-bubbles { min-height: 240px; padding: 10px 10px; }
      .voice-bubbles-bg { width: 360px; }
      .voice-bubble:nth-of-type(1) { width: 120px; margin-right: -15px; }
      .voice-bubble:nth-of-type(2) { width: 160px; margin-right: -10px; }
      .voice-bubble:nth-of-type(3) { width: 150px; margin-right: -10px; }
      .voice-bubble:nth-of-type(4) { width: 130px; }
      .voice-bubble span { font-size: 13px; letter-spacing: 0; }
      .voice-card { flex: 0 0 260px; }

      .study-section { padding: 40px 16px; }
      .study-cards {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 20px;
      }
      .study-card { border-radius: 12px; }
      .study-card img { border-radius: 12px; }
      .youtube-area { margin-top: 32px; }
      .youtube-area h3 {
        font-size: 18px;
        letter-spacing: 2px;
        margin-bottom: 16px;
      }
      .youtube-thumbs {
        grid-template-columns: 1fr;
        gap: 12px;
      }
      .youtube-thumb img {
        height: auto;
        aspect-ratio: 16 / 9;
      }
      .youtube-btn {
        padding: 12px 40px;
        font-size: 14px;
        margin-top: 16px;
      }
    html { font-size: 16px; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
    body {
      font-family: 'Noto Sans JP', sans-serif;
      color: #343434;
      background: #fff;
      overflow-x: hidden;
    }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; height: auto; display: block; }
    .container { max-width: 1440px; margin: 0 auto; }

    /* ===== ANNOUNCEMENT BAR (PC) ===== */
    .announcement-bar {
      background: #F8BBBB;
      height: 80px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      position: relative;
      z-index: 101;
    }
    .announcement-bar .ann-text {
      font-size: 16px;
      font-weight: 700;
      color: #343434;
      letter-spacing: 1.6px;
    }
    .announcement-bar .ann-btn {
      display: inline-flex;
      align-items: center;
      padding: 10px 24px;
      border: none;
      border-radius: 30px;
      background: #fff;
      color: #343434;
      font-size: 16px;
      font-weight: 700;
      letter-spacing: 1.6px;
      transition: background 0.3s, color 0.3s;
    }
    .announcement-bar .ann-btn:hover {
      background: #f0f0f0;
      color: #343434;
    }

    /* ===== PC HEADER ===== */
    .pc-header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(255,255,255,0.95);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    }
    .pc-header-inner {
      max-width: 1440px;
      margin: 0 auto;
      padding: 10px 40px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      flex-wrap: nowrap;
    }
    .pc-header-logo {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-shrink: 0;
    }
    .pc-header-logo img {
      height: 60px;
      width: auto;
    }
    .pc-header-logo .logo-text {
      display: flex;
      flex-direction: column;
      white-space: nowrap;
    }
    .pc-header-logo .logo-subtitle {
      font-size: 11px;
      color: #343434;
      letter-spacing: 0.5px;
    }
    .pc-header-logo .logo-brand {
      font-family: 'Shippori Mincho', serif;
      font-size: 20px;
      font-weight: 600;
      color: #f49b9b;
      letter-spacing: 2px;
    }
    .pc-nav {
      display: flex;
      align-items: center;
      gap: 18px;
    }
    .pc-nav a {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 16px;
      font-weight: 400;
      color: #343434;
      letter-spacing: 1.6px;
      transition: color 0.3s;
      white-space: nowrap;
    }
    .pc-nav a:hover { color: #f49b9b; }
    .pc-header-cta {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-shrink: 0;
    }
    .pc-header-cta .header-cta-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 8px 24px;
      border-radius: 30px;
      font-size: 16px;
      font-weight: 500;
      letter-spacing: 1.6px;
      transition: opacity 0.3s;
      white-space: nowrap;
      border: none;
      background: #F8BBBB;
      color: #343434;
    }
    .pc-header-cta .header-cta-btn:hover {
      background: #f49b9b;
      color: #343434;
    }

    /* ===== SP HEADER ===== */
    .sp-header {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      background: rgba(255,255,255,0.5);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
    }
    .sp-header-inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 27px 28px 0;
      height: 84px;
    }
    .sp-header-logo img { height: 59px; width: auto; }
    .hamburger-btn {
      background: none;
      border: none;
      cursor: pointer;
      padding: 0;
      width: 27px;
      height: 19px;
    }
    .hamburger-btn span {
      display: block;
      width: 100%;
      height: 2px;
      background: #343434;
      margin-bottom: 6px;
    }
    .hamburger-btn span:last-child { margin-bottom: 0; }

    /* ===== MOBILE MENU ===== */
    .mobile-menu {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(255,255,255,0.97);
      z-index: 200;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 24px;
    }
    .mobile-menu.active { display: flex; }
    .mobile-menu a {
      font-family: 'Shippori Mincho', serif;
      font-size: 20px;
      color: #343434;
      letter-spacing: 2px;
    }
    .mobile-menu .close-btn {
      position: absolute;
      top: 30px;
      right: 30px;
      background: none;
      border: none;
      font-size: 32px;
      cursor: pointer;
      color: #343434;
    }

    /* ===== TICKER BAR ===== */
    .ticker-bar {
      background: #ffdfdf;
      height: 36px;
      overflow: hidden;
      display: flex;
      align-items: center;
      position: relative;
    }
    .ticker-track {
      display: flex;
      white-space: nowrap;
      animation: ticker-scroll 30s linear infinite;
    }
    .ticker-item {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-size: 14px;
      color: #343434;
      padding: 0 20px;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .ticker-item::before {
      content: '｜';
      display: inline-block;
      color: #343434;
      font-size: 14px;
      flex-shrink: 0;
    }
    @keyframes ticker-scroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* ===== HERO SECTION ===== */
    .hero {
      position: relative;
      width: 100%;
      min-height: 600px;
      overflow: hidden;
      display: flex;
      align-items: center;
    }
    .hero-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url('../images/sky-hero.svg') center center / cover no-repeat;
    }
    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 1440px;
      margin: 0 auto;
      padding: 80px 80px 120px;
      width: 100%;
    }
    .hero-headline {
      font-family: 'Shippori Mincho', 'Yu Mincho', serif;
      font-weight: 600;
      font-size: 48px;
      color: #fff;
      line-height: 1.5;
      text-shadow: 0 0 6px #567596;
      margin-bottom: 24px;
      letter-spacing: 6px;
    }
    .hero-headline .highlight {
      font-size: 60px;
    }
    .hero-subtext {
      font-family: 'Shippori Mincho', 'Yu Mincho', serif;
      font-size: 20px;
      font-weight: 600;
      color: #343434;
      line-height: 1.5;
      letter-spacing: 2px;
    }
    .hero-airplane {
      position: absolute;
      right: -40px;
      bottom: 60px;
      width: 55%;
      max-width: 700px;
      z-index: 1;
    }
    .hero-airplane img {
      width: 100%;
      height: auto;
    }

    /* SP Announcement Bar (below hero) */
    .sp-announcement-bar {
      display: none;
      background: #b51230;
      padding: 14px 28px;
      text-align: center;
    }
    .sp-announcement-bar .sp-ann-text {
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      letter-spacing: 1px;
    }
    .sp-announcement-bar .sp-ann-btn {
      display: inline-block;
      margin-top: 8px;
      padding: 6px 24px;
      border: 1.5px solid #fff;
      border-radius: 30px;
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.5px;
    }

    /* ===== SECTION COMMON ===== */
    .section-header-left {
      margin-bottom: 30px;
    }
    .section-header-left .section-en {
      font-family: 'Dancing Script', cursive;
      font-size: 18px;
      color: #f49b9b;
    }
    .section-header-left .section-title {
      font-family: 'Shippori Mincho', serif;
      font-weight: 600;
      font-size: 28px;
      color: #343434;
      letter-spacing: 4px;
    }
    /* Shared deco styles */
    .section-deco {
      display: flex;
      align-items: center;
      gap: 0;
      margin-top: 4px;
    }
    .dashed-line {
      height: 0;
      border-top: 2px dashed #f49b9b;
      opacity: 0.6;
    }
    .airplane-icon {
      margin-left: -4px;
    }
    .airplane-icon img,
    .airplane-icon svg {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .section-header-left .section-deco { /* inherits shared */ }
    .section-header-left .dashed-line { width: 160px; }
    .section-header-left .airplane-icon { width: 24px; height: 24px; }
    .section-header-center {
      text-align: center;
      margin-bottom: 40px;
    }
    .section-header-center .section-en {
      font-family: 'Dancing Script', cursive;
      font-size: 18px;
      color: #f49b9b;
      margin-bottom: 4px;
    }
    .section-header-center .section-title {
      font-family: 'Shippori Mincho', serif;
      font-weight: 600;
      font-size: 32px;
      color: #b51230;
      letter-spacing: 6px;
    }
    .section-header-center .section-deco { justify-content: center; }
    .section-header-center .dashed-line { width: 200px; }
    .section-header-center .airplane-icon { width: 24px; height: 24px; }

    /* ===== INFORMATION / NEWS ===== */
    .info-section {
      background: #fff;
      padding: 80px 180px;
    }
    .info-list {
      margin-top: 24px;
    }
    .info-item {
      display: flex;
      align-items: baseline;
      gap: 40px;
      padding: 18px 0;
      border-bottom: 1px solid #eee;
    }
    .info-item:last-child { border-bottom: none; }
    .info-date {
      font-size: 14px;
      color: #999;
      flex-shrink: 0;
      min-width: 140px;
    }
    .info-text {
      font-size: 15px;
      color: #343434;
      line-height: 1.6;
    }

    /* ===== PINK CLOUD CTA ===== */
    .cloud-cta-section {
      position: relative;
      padding: 60px 40px 80px;
      background: #f9c8c8;
      text-align: center;
    }
    .cloud-cta-section::before {
      content: '';
      position: absolute;
      top: -60px;
      left: 0;
      width: 100%;
      height: 80px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80'%3E%3Cpath fill='%23f9c8c8' d='M0,80 C120,20 240,60 360,40 C480,20 600,60 720,50 C840,40 960,70 1080,30 C1200,0 1320,50 1440,40 L1440,80 L0,80 Z'/%3E%3C/svg%3E") center bottom / 100% auto no-repeat;
    }
    .cloud-cta-buttons {
      display: flex;
      justify-content: center;
      gap: 30px;
      max-width: 900px;
      margin: 0 auto;
    }
    /* Shared pink CTA button base */
    .pink-cta-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 10px 20px;
      background: #F8BBBB;
      color: #343434;
      border-radius: 30px;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 2px;
      line-height: 30px;
      text-align: center;
      transition: opacity 0.3s;
      box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    }
    .pink-cta-btn:hover { opacity: 0.85; }
    .cloud-cta-btn { width: 252px; }

    /* ===== RESULTS / CONGRATULATION ===== */
    .results-section {
      background: #fff;
      padding: 80px 40px;
    }
    .results-inner {
      max-width: 1100px;
      margin: 0 auto;
      text-align: center;
    }
    .results-main-stat {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 30px;
      margin: 40px 0;
    }
    .results-main-stat .stat-desc {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 20px;
      color: #343434;
      line-height: 1.8;
      text-align: left;
    }
    .results-main-stat .stat-desc .airplane-deco {
      display: inline-block;
      width: 40px;
      margin-left: 8px;
    }
    .results-main-stat .stat-big {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .results-main-stat .stat-big .laurel {
      width: 60px;
      height: auto;
    }
    .results-main-stat .stat-big .stat-number {
      font-family: 'Shippori Mincho', serif;
      font-weight: 700;
      font-size: 100px;
      color: #b51230;
      line-height: 1;
    }
    .results-main-stat .stat-big .stat-unit {
      font-family: 'Shippori Mincho', serif;
      font-size: 36px;
      color: #b51230;
    }
    .results-sub-stats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      justify-items: center;
      gap: 24px 60px;
      margin: 30px auto 40px;
      max-width: 700px;
    }
    .results-sub-stat {
      display: flex;
      align-items: baseline;
      gap: 12px;
    }
    .results-sub-stat .sub-label {
      font-size: 18px;
      color: #343434;
    }
    .results-sub-stat .sub-label.blue {
      color: #003399;
      font-weight: 700;
    }
    .results-sub-stat .sub-number {
      font-family: 'Shippori Mincho', serif;
      font-weight: 700;
      font-size: 52px;
      color: #b51230;
      line-height: 1;
    }
    .results-sub-stat .sub-unit {
      font-family: 'Shippori Mincho', serif;
      font-size: 22px;
      color: #b51230;
    }
    /* Medal badges */
    .results-medals {
      display: flex;
      justify-content: center;
      gap: 40px;
      margin: 40px 0;
    }
    .medal-svg-img {
      width: 342px;
      height: auto;
      max-width: 100%;
    }
    /* Shared outline button base */
    .outline-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 40px;
      padding: 16px 80px;
      border: 1px solid #343434;
      border-radius: 30px;
      font-size: 16px;
      font-weight: 500;
      color: #343434;
      transition: all 0.3s;
      max-width: 400px;
    }
    .outline-btn:hover {
      background: #f49b9b;
      color: #fff;
    }
    .results-more-btn { /* uses outline-btn */ }
    .results-more-btn:hover {
      background: #343434;
      color: #fff;
    }

    /* ===== BLOG SECTION ===== */
    .blog-section {
      background: #fff;
      padding: 80px 180px;
    }
    .blog-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
      margin-top: 30px;
    }
    .blog-card {
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0 0 4px rgba(97, 58, 58, 0.25);
      transition: transform 0.3s;
    }
    .blog-card:hover { transform: translateY(-4px); }
    .blog-card-img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      background: #f0e0e0;
    }
    .blog-card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .blog-card-meta {
      padding: 12px 20px 0;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .blog-card-meta .blog-date {
      font-size: 13px;
      color: #999;
    }
    .blog-card-meta .blog-tag {
      font-size: 12px;
      color: #f49b9b;
      background: #fff0f0;
      padding: 2px 10px;
      border-radius: 20px;
    }
    .blog-card-body {
      padding: 12px 20px 20px;
      background: linear-gradient(to bottom, #fff 0%, #fde8e8 100%);
    }
    .blog-card-title {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 16px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 8px;
    }
    .blog-card-desc {
      font-size: 13px;
      color: #666;
      line-height: 1.7;
    }
    .blog-more-btn { margin: 40px auto 0; /* extends outline-btn */ }

    /* ===== SNS FOLLOW SECTION ===== */
    .sns-follow-section {
      background: #fff;
      padding: 60px 40px;
      text-align: center;
    }
    .sns-follow-label {
      font-size: 18px;
      color: #343434;
      margin-bottom: 24px;
      letter-spacing: 2px;
    }
    .sns-follow-icons {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 30px;
    }
    .sns-follow-icons a img {
      border-radius: 50%;
      object-fit: contain;
      transition: transform 0.3s;
    }
    .sns-follow-icons a:hover img { transform: scale(1.1); }
    .sns-follow-icons .ig-icon img {
      width: 145px;
      height: 145px;
    }
    .sns-follow-icons .line-icon img {
      width: 100px;
      height: 100px;
    }
    .sns-follow-icons .yt-icon img {
      width: 126px;
      height: 118px;
      border-radius: 14px;
    }
    .sns-follow-icons .note-icon img {
      border-radius: 0;
      width: 69px;
      height: 69px;
    }

    /* ===== WELCOME TO SCA ===== */
    .welcome-section {
      position: relative;
      min-height: 700px;
      overflow: hidden;
    }
    .welcome-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url('../images/hero-bg.svg') center center / cover no-repeat;
    }
    .welcome-overlay {
      position: relative;
      z-index: 2;
      max-width: 900px;
      margin: 0 auto;
      padding: 80px 60px;
      background: rgba(255,255,255,0.80);
      border-radius: 30px;
      margin-top: 60px;
      margin-bottom: 60px;
    }
    .welcome-title-row {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 24px;
      justify-content: center;
    }
    .welcome-title-row .welcome-en {
      font-family: 'Dancing Script', cursive;
      font-size: 28px;
      color: #f49b9b;
    }
    .welcome-title-row .airplane-icon {
      width: 30px;
    }
    .welcome-headline {
      font-family: 'Shippori Mincho', serif;
      font-size: 26px;
      font-weight: 600;
      color: #343434;
      text-align: center;
      margin-bottom: 30px;
      line-height: 1.6;
    }
    .welcome-headline .pink-bold {
      color: #b51230;
      font-weight: 700;
    }
    .welcome-body p {
      font-size: 15px;
      line-height: 2.2;
      color: #343434;
      margin-bottom: 16px;
    }
    .welcome-body .highlight-text {
      color: #b51230;
      font-weight: 700;
    }
    .welcome-features {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 24px;
      margin-top: 40px;
      flex-wrap: wrap;
    }
    .welcome-icon-svg {
      height: auto;
      max-width: 180px;
    }
    .welcome-more-btn { margin: 40px auto 0; /* extends outline-btn */ }

    /* ===== LESSON / COURSE ===== */
    .lesson-section {
      background: #fff;
      padding: 80px 40px;
    }
    .lesson-section .section-header-center .section-en {
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 4px;
      color: #343434;
    }
    .lesson-subtitle {
      text-align: center;
      font-size: 15px;
      color: #666;
      margin-top: -20px;
      margin-bottom: 40px;
    }
    .course-area {
      background: #FFDFDF;
      border-radius: 30px;
      padding: 50px 60px;
      max-width: 1100px;
      margin: 0 auto 40px;
    }
    .course-area-header {
      display: flex;
      align-items: baseline;
      gap: 20px;
      margin-bottom: 30px;
    }
    .course-area-header .area-label {
      font-family: 'Shippori Mincho', serif;
      font-size: 26px;
      font-weight: 700;
      color: #b51230;
      letter-spacing: 4px;
    }
    .course-area-header .area-desc {
      font-size: 14px;
      color: #555;
    }
    .course-card {
      background: #fff;
      border-radius: 16px;
      padding: 40px;
      margin-bottom: 24px;
      display: flex;
      gap: 30px;
    }
    .course-card-text { flex: 1; }
    .course-card-text .course-sub {
      font-size: 14px;
      color: #555;
      margin-bottom: 8px;
    }
    .course-card-text .course-name {
      font-family: 'Shippori Mincho', serif;
      font-size: 28px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 4px;
    }
    .course-card-text .course-name-deco {
      display: flex;
      align-items: center;
      gap: 0;
      margin-bottom: 16px;
    }
    .course-card-text .course-name-deco .dashed-line { width: 120px; }
    .course-card-text .course-name-deco .airplane-icon { width: 20px; }
    .course-card-text .course-desc {
      font-size: 14px;
      line-height: 1.8;
      color: #555;
    }
    .course-card-text .course-detail-btn {
      display: inline-flex;
      align-items: center;
      margin-top: 16px;
      padding: 10px 30px;
      background: #fde8e8;
      color: #343434;
      border-radius: 30px;
      font-size: 14px;
      font-weight: 500;
      transition: background 0.3s;
    }
    .course-card-text .course-detail-btn:hover { background: #f9c8c8; }
    .course-card-img {
      flex: 0 0 280px;
      border-radius: 12px;
      overflow: hidden;
    }
    .course-card-img img {
      width: 100%;
      height: 200px;
      object-fit: cover;
    }
    /* 単発対策 */
    .tanpatsu-area {
      border: 3px solid #F49B9B;
      border-radius: 30px;
      padding: 50px 60px;
      max-width: 1100px;
      margin: 0 auto;
      position: relative;
      overflow: hidden;
    }
    .tanpatsu-area .area-header {
      display: flex;
      align-items: baseline;
      gap: 20px;
      margin-bottom: 24px;
    }
    .tanpatsu-silhouettes {
      position: absolute;
      right: -20px;
      bottom: 40px;
      width: 220px;
      height: 260px;
      opacity: 0.12;
      z-index: 0;
    }
    .tanpatsu-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-top: 0;
      position: relative;
      z-index: 1;
    }
    .tanpatsu-card {
      background: #fff;
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0px 4px 4px rgba(97, 58, 58, 0.25);
    }
    .tanpatsu-card-img {
      width: 100%;
      height: 160px;
      background: linear-gradient(135deg, #f8e8e8, #fdf0f0);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }
    .tanpatsu-card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .tanpatsu-card-body {
      padding: 20px 20px;
      text-align: center;
    }
    .tanpatsu-card-body .tanpatsu-title {
      font-size: 17px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 10px;
    }
    .tanpatsu-card-body .tanpatsu-desc {
      font-size: 13px;
      color: #666;
      line-height: 1.7;
      margin-bottom: 16px;
      text-align: left;
    }
    .tanpatsu-card-body .tanpatsu-btn {
      display: inline-flex;
      align-items: center;
      padding: 10px 28px;
      background: #fde8e8;
      color: #343434;
      border-radius: 30px;
      font-size: 13px;
      font-weight: 500;
      transition: background 0.3s;
    }
    .tanpatsu-card-body .tanpatsu-btn:hover { background: #f9c8c8; }
    .lesson-cta-area {
      text-align: center;
      margin-top: 60px;
    }
    .lesson-cta-bubble {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 263px;
      height: 169px;
      margin-bottom: 20px;
      transform: rotate(-11deg);
    }
    .lesson-cta-bubble svg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .lesson-cta-bubble span {
      position: relative;
      z-index: 1;
      color: #fff;
      font-family: 'katsuo', 'Shippori Mincho', serif;
      font-size: 18px;
      font-weight: 500;
      line-height: 1.6;
      letter-spacing: 1.8px;
      text-align: center;
      transform: rotate(11deg);
      padding: 0 30px;
    }
    .lesson-cta-btn {
      width: 304px;
      padding: 16px 40px;
      color: #fff;
      font-size: 16px;
      letter-spacing: 1.6px;
      line-height: 24px;
      /* extends pink-cta-btn */
    }

    /* ===== VOICE / TESTIMONIALS ===== */
    .voice-section {
      background: #fff;
      padding: 80px 0;
      overflow: hidden;
    }
    .voice-section .section-header-center {
      padding: 0 40px;
    }
    .voice-subtitle {
      text-align: center;
      font-size: 15px;
      color: #555;
      margin-top: -20px;
      margin-bottom: 30px;
      padding: 0 40px;
    }
    /* Floating speech bubbles (SVG cloud shapes per Figma) */
    .voice-bubbles {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 30px;
      padding: 20px 80px;
      position: relative;
      min-height: 380px;
    }
    .voice-bubbles-bg {
      position: absolute;
      width: 720px;
      height: auto;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 0;
    }
    .voice-bubble {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      flex-shrink: 0;
    }
    .voice-bubble svg {
      width: 100%;
      height: 100%;
      display: block;
    }
    .voice-bubble span {
      position: absolute;
      z-index: 2;
      font-family: 'katsuo', 'Shippori Mincho', serif;
      font-size: 24px;
      font-weight: 500;
      color: #E06A6A;
      line-height: 1.5;
      letter-spacing: 0.48px;
    }
    /* Blob 1: 新卒8社内定 — bottom-left, rotated 13deg */
    .voice-bubble:nth-of-type(1) {
      width: 200px;
      align-self: flex-end;
      transform: rotate(13deg);
      z-index: 1;
      margin-right: -30px;
      margin-bottom: -10px;
    }
    .voice-bubble:nth-of-type(1) span {
      transform: rotate(-13deg);
    }
    /* Blob 2: JAL＆ANA W内定 — center-left, rotated 13deg, largest */
    .voice-bubble:nth-of-type(2) {
      width: 280px;
      transform: rotate(13deg);
      z-index: 3;
      margin-right: -20px;
      margin-top: -40px;
    }
    .voice-bubble:nth-of-type(2) span {
      transform: rotate(-13deg);
    }
    /* Blob 3: GSからCA 転職成功 — center-right, mirrored, no rotation */
    .voice-bubble:nth-of-type(3) {
      width: 260px;
      z-index: 2;
      margin-right: -20px;
    }
    /* Blob 4: 留学しながら CA内定 — bottom-right, rotated 154deg */
    .voice-bubble:nth-of-type(4) {
      width: 220px;
      align-self: flex-end;
      transform: rotate(154deg);
      z-index: 1;
      margin-bottom: -10px;
    }
    .voice-bubble:nth-of-type(4) span {
      transform: rotate(-154deg);
    }
    .voice-cards-scroll {
      display: flex;
      gap: 24px;
      overflow-x: auto;
      padding: 20px 40px 20px;
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .voice-cards-scroll::-webkit-scrollbar { display: none; }
    .voice-card {
      flex: 0 0 302px;
      background: #fff;
      border-radius: 30px;
      overflow: hidden;
      box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25), 0px 0px 4px rgba(0, 0, 0, 0.25);
    }
    .voice-card-header {
      padding: 16px 20px;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .voice-card-airline-badge {
      background: #b51230;
      color: #fff;
      padding: 6px 12px;
      border-radius: 4px;
      font-size: 13px;
      font-weight: 700;
    }
    .voice-card-quote {
      font-size: 13px;
      color: #f49b9b;
      font-weight: 500;
      line-height: 1.4;
    }
    .voice-card-name {
      padding: 0 20px;
      font-family: 'Shippori Mincho', serif;
      font-size: 16px;
      font-weight: 600;
      color: #f49b9b;
    }
    .voice-card-name-deco {
      display: flex;
      align-items: center;
      gap: 0;
      padding: 0 20px;
      margin: 4px 0;
    }
    .voice-card-name-deco .dashed-line { width: 100px; border-top-width: 1.5px; }
    .voice-card-name-deco .airplane-icon { width: 16px; }
    .voice-card-text {
      padding: 12px 20px 20px;
      font-size: 13px;
      line-height: 1.8;
      color: #555;
    }
    .voice-cta-btn {
      margin: 40px auto 0;
      padding: 10px 40px;
      max-width: 400px;
      /* extends pink-cta-btn */
    }
    /* Voice photos */
    .voice-photos {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      margin-top: 40px;
    }
    .voice-photos img {
      width: 100%;
      height: 300px;
      object-fit: cover;
    }

    /* ===== STUDY / OTHER CONTENT ===== */
    .study-section {
      position: relative;
      padding: 80px 40px;
      background: url('../images/study-bg.jpg') center center / cover no-repeat;
    }
    .study-section::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(255,255,255,0.70);
    }
    .study-inner {
      position: relative;
      z-index: 2;
      max-width: 1100px;
      margin: 0 auto;
    }
    .study-cards {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
      margin-top: 30px;
    }
    .study-card {
      display: block;
      border-radius: 16px;
      overflow: hidden;
      transition: transform 0.3s;
    }
    .study-card:hover { transform: translateY(-4px); }
    .study-card img {
      width: 100%;
      display: block;
      border-radius: 16px;
    }
    /* YouTube sub-section */
    .youtube-area {
      margin-top: 50px;
      text-align: center;
    }
    .youtube-area h3 {
      font-size: 24px;
      font-weight: 700;
      color: #343434;
      letter-spacing: 4px;
      margin-bottom: 24px;
    }
    .youtube-thumbs {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }
    .youtube-thumb {
      border-radius: 12px;
      overflow: hidden;
      position: relative;
    }
    .youtube-thumb img {
      width: 100%;
      height: 200px;
      object-fit: cover;
    }
    .youtube-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 24px;
      padding: 14px 60px;
      border: 1.5px solid #343434;
      border-radius: 50px;
      font-size: 16px;
      font-weight: 500;
      color: #343434;
      transition: all 0.3s;
    }
    .youtube-btn:hover {
      background: #343434;
      color: #fff;
    }

    /* ===== INSTAGRAM SECTION ===== */
    .instagram-section {
      background: #fde8e8;
      padding: 60px 40px 80px;
      text-align: center;
    }
    .instagram-section h3 {
      font-size: 24px;
      font-weight: 700;
      color: #343434;
      letter-spacing: 4px;
      margin-bottom: 24px;
    }
    .instagram-grid {
      display: flex;
      justify-content: center;
      gap: 20px;
      max-width: 1100px;
      margin: 0 auto;
    }
    .instagram-grid img {
      width: 260px;
      height: 260px;
      object-fit: cover;
      border-radius: 12px;
    }
    .instagram-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 24px;
      padding: 14px 60px;
      background: #fff;
      border-radius: 50px;
      font-size: 16px;
      font-weight: 500;
      color: #343434;
      transition: all 0.3s;
    }
    .instagram-btn:hover {
      background: #f0f0f0;
    }
    .instagram-btn img {
      width: 24px;
      height: 24px;
    }

    /* ===== PROFILE / INSTRUCTOR ===== */
    .profile-section {
      background: #fff;
      padding: 80px 40px;
    }
    .profile-content {
      display: flex;
      gap: 60px;
      max-width: 1100px;
      margin: 0 auto;
      align-items: flex-start;
    }
    .profile-image {
      flex: 0 0 380px;
      border-radius: 16px;
      overflow: hidden;
    }
    .profile-image img {
      width: 100%;
      height: auto;
    }
    .profile-info { flex: 1; }
    .profile-name {
      font-family: 'Shippori Mincho', serif;
      font-size: 28px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 24px;
    }
    .profile-bio {
      font-size: 15px;
      line-height: 2.2;
      color: #343434;
    }
    .profile-bio p { margin-bottom: 20px; }
    .profile-points {
      margin-top: 20px;
      list-style: none;
    }
    .profile-points li {
      font-size: 15px;
      line-height: 2;
      color: #343434;
      padding-left: 20px;
      position: relative;
    }
    .profile-points li::before {
      content: '・';
      position: absolute;
      left: 0;
    }

    /* ===== FOOTER ===== */
    /* Footer styles loaded from common footer.html */

    /* ===== TABLET RESPONSIVE ===== */
    @media (max-width: 1100px) and (min-width: 768px) {
      .pc-header-inner { padding: 10px 20px; gap: 16px; }
      .pc-header-logo .logo-text { display: none; }
      .pc-header-logo img { height: 50px; }
      .pc-nav { gap: 14px; }
      .pc-nav a { font-size: 14px; letter-spacing: 1px; }
      .pc-header-cta .header-cta-btn { padding: 8px 18px; font-size: 13px; }
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 767px) {
      .announcement-bar { display: none; }
      .pc-header { display: none; }
      .sp-header { display: block; }

      .hero { min-height: 400px; }
      .hero-content { padding: 40px 28px 80px; }
      .hero-headline { font-size: 28px; letter-spacing: 3px; }
      .hero-headline .highlight { font-size: 36px; }
      .hero-subtext { font-size: 14px; letter-spacing: 1px; }
      .hero-airplane { right: -20px; bottom: 30px; width: 70%; }
      .sp-announcement-bar { display: block; }

      .info-section { padding: 50px 28px; }
      .info-item { flex-direction: column; gap: 8px; }

      .cloud-cta-buttons { flex-direction: column; align-items: center; gap: 12px; }
      .cloud-cta-btn { max-width: 100%; }

      .results-section { padding: 50px 28px; }
      .results-main-stat { flex-direction: column; gap: 16px; }
      .results-main-stat .stat-big .stat-number { font-size: 64px; }
      .results-sub-stats { grid-template-columns: 1fr; gap: 16px; }
      .results-medals { flex-direction: column; align-items: center; gap: 24px; }
      .medal-svg-img { width: 260px; }

      .blog-section { padding: 50px 28px; }
      .blog-cards { grid-template-columns: 1fr; }

      .sns-follow-icons .ig-icon img { width: 100px; height: 100px; }
      .sns-follow-icons .line-icon img { width: 70px; height: 70px; }
      .sns-follow-icons .yt-icon img { width: 88px; height: 82px; }
      .sns-follow-icons .note-icon img { width: 48px; height: 48px; }

      .welcome-overlay { margin: 20px; padding: 30px 20px; }
      .welcome-icon-svg { max-width: 120px; }

      .lesson-section { padding: 50px 28px; }
      .course-area { padding: 30px 20px; }
      .course-card { flex-direction: column; }
      .course-card-img { flex: none; width: 100%; }
      .tanpatsu-area { padding: 30px 20px; }
      .tanpatsu-cards { grid-template-columns: 1fr; }

      .voice-bubbles { min-height: 240px; padding: 10px 10px; }
      .voice-bubbles-bg { width: 360px; }
      .voice-bubble:nth-of-type(1) { width: 120px; margin-right: -15px; }
      .voice-bubble:nth-of-type(2) { width: 160px; margin-right: -10px; }
      .voice-bubble:nth-of-type(3) { width: 150px; margin-right: -10px; }
      .voice-bubble:nth-of-type(4) { width: 130px; }
      .voice-bubble span { font-size: 13px; letter-spacing: 0; }
      .voice-card { flex: 0 0 260px; }

      .study-cards { grid-template-columns: 1fr; }
      .youtube-thumbs { grid-template-columns: 1fr; }

      .instagram-grid { flex-wrap: wrap; }
      .instagram-grid img { width: calc(50% - 10px); height: 180px; }

      .profile-content { flex-direction: column; gap: 30px; }
      .profile-image { flex: none; width: 100%; }

      /* Footer mobile styles loaded from common footer.html */
    }
