@charset "UTF-8";
/* ==========================================================================
   PC講座ページ専用スタイル（/kouza/PCkouza/）
   - movabletype.net 組み込み用に、クラス名・ID・CSS変数へ独自の接頭辞を付与
   - すべてのセレクタは .ucpc-page 配下に限定（テーマ側のCSSと衝突させない）
   - 接頭辞の対応: c-*→ucpc-*  /  u-*→ucpc-u-*  /  sec-*→ucpc-s-*
                   sec__*→ucpc-s__*  /  js-*→ucpc-js-*  /  is-*→ucpc-is-*
                   CSS変数 --uc-*→--ucpc-*  /  属性 data-theme→data-ucpc-theme
   - 元ファイル: index_ver2_2.html（PC講座ページ ver2_2）+ 共通 style.css
   - このファイルは _build/build_mt.py で書き出したもの。直接編集せず、元ファイルを直して書き出し直す
   ========================================================================== */

/* 親テーマの余白・文字色を持ち込まないための最小限のリセット */
.ucpc-page { font-size: 17px; line-height: 1.47; }
.ucpc-page ul,
.ucpc-page ol { list-style: none; margin: 0; padding: 0; }
.ucpc-page p,
.ucpc-page h1, .ucpc-page h2, .ucpc-page h3,
.ucpc-page h4, .ucpc-page h5, .ucpc-page h6 { margin: 0; }
.ucpc-page img { max-width: 100%; height: auto; display: block; }
.ucpc-page table { border-collapse: collapse; width: 100%; }

.ucpc-page {
  --ucpc-near-black: #1d1d1f;
    --ucpc-navy: #00267f;
    --ucpc-white: #fff;
    --ucpc-gray: var(--ucpc-near-black);
    --ucpc-on-dark: #f8f8f8;
    --ucpc-on-dark-soft: rgba(255,255,255,0.92);
    --ucpc-text-secondary: rgba(0,0,0,0.56);
    --ucpc-nav-text: rgba(0,0,0,0.8);
    --ucpc-navi-blue: #00267f;
    --ucpc-teal: #0c779d;
    --ucpc-yellow: #ffc000;
    --ucpc-pink: #e52a56;
    --ucpc-gray-50: #f8f8f8;
    --ucpc-gray-100: #eaecf2;
    --ucpc-register: var(--ucpc-pink);
    --ucpc-login: var(--ucpc-navy);
    --ucpc-blue: var(--ucpc-navi-blue);
    --ucpc-green: var(--ucpc-teal);
    --ucpc-orange: var(--ucpc-pink);
    --ucpc-blue-gray: var(--ucpc-gray-100);
    --ucpc-blue-text: #00267f;
    --ucpc-green-text: #0c779d;
    --ucpc-orange-text: var(--ucpc-pink);
    --ucpc-text: var(--ucpc-near-black);
    --ucpc-bg: var(--ucpc-white);
    --ucpc-bg-gray: var(--ucpc-blue-gray);
    --ucpc-bg-dark: var(--ucpc-navy);
    --ucpc-font-text: "Noto Sans", "Noto Sans JP", sans-serif;
    --ucpc-font-display: "Noto Sans", "Noto Sans JP", sans-serif;
    --ucpc-space-0: 0; --ucpc-space-1: 4px; --ucpc-space-2: 8px; --ucpc-space-3: 12px;
    --ucpc-space-4: 16px; --ucpc-space-5: 24px; --ucpc-space-6: 32px; --ucpc-space-7: 40px;
    --ucpc-space-8: 48px; --ucpc-space-9: 64px; --ucpc-space-10: 80px; --ucpc-space-11: 96px;
    --ucpc-space-12: 120px; --ucpc-space-13: 160px;
    --ucpc-section-py: var(--ucpc-space-9);
    --ucpc-container-px: 16px;
    --ucpc-container-hero: 1680px;
    --ucpc-container: 1260px;
    --ucpc-container-narrow: 768px;
    --ucpc-container-form: 560px;
    --ucpc-grid-columns: 12;
    --ucpc-grid-gutter: var(--ucpc-space-5);
    --ucpc-radius-sm: 4px; --ucpc-radius-md: 8px; --ucpc-radius-lg: 12px;
    --ucpc-radius-xl: 20px; --ucpc-radius-pill: 980px; --ucpc-radius-circle: 50%;
    --ucpc-shadow-0: none;
    --ucpc-shadow-1: 0 1px 2px rgba(0,0,0,0.06);
    --ucpc-shadow-2: 0 2px 8px rgba(0,0,0,0.08);
    --ucpc-shadow-3: 3px 5px 30px rgba(0,0,0,0.22);
    --ucpc-shadow-4: 0 12px 40px rgba(0,0,0,0.18);
    --ucpc-shadow-5: 0 24px 64px rgba(0,0,0,0.24);
    --ucpc-ring-focus: 0 0 0 3px rgba(0,38,127,0.2);
    --ucpc-dur-1: 100ms; --ucpc-dur-2: 150ms; --ucpc-dur-3: 200ms;
    --ucpc-dur-4: 300ms; --ucpc-dur-5: 400ms; --ucpc-dur-6: 600ms;
    --ucpc-ease-out: cubic-bezier(0.32,0.72,0,1);
    --ucpc-ease-in-out: cubic-bezier(0.65,0,0.35,1);
    --ucpc-ease-standard: cubic-bezier(0.4,0,0.2,1);
    --ucpc-z-raised: 10; --ucpc-z-sticky: 100; --ucpc-z-nav: 1000;
    --ucpc-z-dropdown: 1100; --ucpc-z-overlay: 1200; --ucpc-z-modal: 1300;
    --ucpc-glass-blur: saturate(180%) blur(20px);
    --ucpc-glass-light: rgba(255,255,255,0.72);
    --ucpc-border-width: 1px;
    --ucpc-border-hairline: rgba(0,0,0,0.10);
    --ucpc-border-strong: rgba(0,0,0,0.18);
    --ucpc-border-on-dark: rgba(255,255,255,0.18);
    --ucpc-border-brand: var(--ucpc-blue);
    --ucpc-divider: var(--ucpc-border-hairline);
    --ucpc-icon-sm: 16px; --ucpc-icon-md: 20px; --ucpc-icon-lg: 24px; --ucpc-icon-xl: 32px;
    --ucpc-ratio-wide: 16 / 9;
}
@media (min-width: 834px) {
  .ucpc-page {
    --ucpc-section-py: var(--ucpc-space-10); --ucpc-container-px: 20px;
  }
}
@media (min-width: 1024px) {
  .ucpc-page {
    --ucpc-section-py: var(--ucpc-space-11); --ucpc-container-px: 24px;
  }
}
.ucpc-page, .ucpc-page *,
.ucpc-page *::before,
.ucpc-page *::after {
  box-sizing: border-box;
}
.ucpc-page {
  -webkit-text-size-adjust: 100%; scroll-behavior: smooth;
}
.ucpc-page {
  margin: 0;
    font-family: var(--ucpc-font-text);
    font-size: 17px;
    line-height: 1.47;
    letter-spacing: -0.357px;
    color: var(--ucpc-text);
    background: var(--ucpc-bg);
    -webkit-font-smoothing: antialiased;
    font-feature-settings: normal;
}
.ucpc-page img {
  max-width: 100%; height: auto; display: block;
}
.ucpc-page a {
  color: var(--ucpc-blue-text); text-decoration: none;
}
.ucpc-page button {
  font: inherit; color: inherit; cursor: pointer;
}
.ucpc-page h1,
.ucpc-page h2,
.ucpc-page h3,
.ucpc-page h4 {
  font-family: var(--ucpc-font-display); font-weight: 600; margin: 0;
}
.ucpc-page p {
  margin: 0;
}
.ucpc-page ul,
.ucpc-page ol {
  list-style: none; margin: 0; padding: 0;
}
.ucpc-page :where(a, button, input, [tabindex]):focus-visible {
  outline: none;
    box-shadow: var(--ucpc-ring-focus);
    border-radius: var(--ucpc-radius-sm);
}
.ucpc-page .ucpc-u-container {
  width: 100%;
    max-width: var(--ucpc-container);
    margin-inline: auto;
    padding-inline: var(--ucpc-container-px);
}
.ucpc-page .ucpc-u-container--narrow {
  max-width: var(--ucpc-container-narrow);
}
.ucpc-page .ucpc-u-grid {
  display: grid;
    grid-template-columns: 1fr;
    gap: var(--ucpc-space-5);
}
.ucpc-page .ucpc-u-visually-hidden {
  position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0);
    white-space: nowrap; border: 0;
}
.ucpc-page .ucpc-s__head {
  margin-bottom: var(--ucpc-space-7);
}
.ucpc-page .ucpc-s__eyebrow {
  font-size: 13px; font-weight: 600; letter-spacing: 0.04em;
    color: var(--ucpc-blue-text); margin-bottom: var(--ucpc-space-2);
}
.ucpc-page .ucpc-s__title {
  font-size: clamp(26px, 4.4vw, 40px); line-height: 1.12; letter-spacing: -0.01em;
}
.ucpc-page .ucpc-s__lead {
  margin-top: var(--ucpc-space-3); color: var(--ucpc-text-secondary);
}
.ucpc-page [data-ucpc-theme] {
  padding-block: var(--ucpc-section-py);
}
.ucpc-page [data-ucpc-theme="light"] {
  background: var(--ucpc-bg); color: var(--ucpc-text);
}
.ucpc-page [data-ucpc-theme="gray"] {
  background: var(--ucpc-bg-gray); color: var(--ucpc-text);
}
.ucpc-page [data-ucpc-theme="dark"] {
  background: var(--ucpc-bg-dark); color: var(--ucpc-on-dark);
}
.ucpc-page [data-ucpc-theme="dark"] .ucpc-s__eyebrow {
  color: var(--ucpc-yellow);
}
.ucpc-page [data-ucpc-theme="dark"] .ucpc-s__lead {
  color: var(--ucpc-on-dark-soft);
}
.ucpc-page .ucpc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--ucpc-space-2);
    min-height: 44px; padding: var(--ucpc-space-2) var(--ucpc-space-6);
    font-family: var(--ucpc-font-text); font-size: 16px; font-weight: 500; line-height: 1.2;
    letter-spacing: normal; text-align: center;
    border: var(--ucpc-border-width) solid transparent; border-radius: var(--ucpc-radius-pill);
    background: transparent; color: var(--ucpc-text);
    transition: background-color var(--ucpc-dur-3) var(--ucpc-ease-out),
                color var(--ucpc-dur-3) var(--ucpc-ease-out),
                border-color var(--ucpc-dur-3) var(--ucpc-ease-out),
                transform var(--ucpc-dur-1) var(--ucpc-ease-out);
}
.ucpc-page .ucpc-btn:active {
  transform: scale(0.98);
}
.ucpc-page .ucpc-btn--primary {
  background: var(--ucpc-navi-blue); color: var(--ucpc-white);
}
.ucpc-page .ucpc-btn--outline {
  border-color: var(--ucpc-navi-blue); color: var(--ucpc-blue-text);
}
.ucpc-page .ucpc-btn--ghost {
  color: var(--ucpc-blue-text);
}
.ucpc-page .ucpc-btn--on-dark {
  color: var(--ucpc-on-dark); border-color: var(--ucpc-border-on-dark);
}
.ucpc-page .ucpc-btn--sm {
  min-height: 36px; padding: var(--ucpc-space-2) var(--ucpc-space-4); font-size: 14px;
}
.ucpc-page .ucpc-btn--lg {
  min-height: 52px; padding: var(--ucpc-space-3) var(--ucpc-space-8); font-size: 17px;
}
@media (hover: hover) and (pointer: fine) {
  .ucpc-page .ucpc-btn--primary:hover {
    background: rgba(0,38,127,0.85);
  }
  .ucpc-page .ucpc-btn--outline:hover {
    background: rgba(0,38,127,0.06);
  }
  .ucpc-page .ucpc-btn--ghost:hover {
    background: rgba(0,38,127,0.06);
  }
  .ucpc-page .ucpc-btn--on-dark:hover {
    background: rgba(255,255,255,0.12);
  }
}
.ucpc-page [data-ucpc-theme="dark"] .ucpc-btn--primary {
  background: var(--ucpc-yellow); color: var(--ucpc-navy);
}
@media (hover: hover) and (pointer: fine) {
  .ucpc-page [data-ucpc-theme="dark"] .ucpc-btn--primary:hover {
    background: rgba(255,192,0,0.85);
  }
}
.ucpc-page .ucpc-btn--accent {
  background: var(--ucpc-yellow); color: var(--ucpc-navy);
}
@media (hover: hover) and (pointer: fine) {
  .ucpc-page .ucpc-btn--accent:hover {
    background: rgba(255,192,0,0.85);
  }
}
.ucpc-page .ucpc-tag {
  display: inline-flex; align-items: center;
    padding: 2px var(--ucpc-space-3); font-size: 12px; font-weight: 600; letter-spacing: normal;
    border-radius: var(--ucpc-radius-pill); background: rgba(0,38,127,0.10); color: var(--ucpc-blue-text);
}
.ucpc-page .ucpc-tag--sm {
  font-size: 11px; padding: 2px var(--ucpc-space-2);
}
.ucpc-page .ucpc-tag--neutral {
  background: rgba(0,0,0,0.06); color: var(--ucpc-nav-text);
}
.ucpc-page .ucpc-badge {
  display: inline-flex; align-items: center;
    padding: 2px var(--ucpc-space-2); font-size: 11px; font-weight: 700; letter-spacing: normal;
    border-radius: var(--ucpc-radius-sm); color: var(--ucpc-white); background: var(--ucpc-gray);
}
.ucpc-page .ucpc-badge--info {
  background: var(--ucpc-blue);
}
.ucpc-page .ucpc-badge--warn {
  background: var(--ucpc-orange);
}
.ucpc-page .ucpc-card__link-a {
  color: inherit;
}
@media (hover: hover) and (pointer: fine) {
  .ucpc-page .ucpc-card__link-a:hover {
    text-decoration: underline;
  }
}
.ucpc-page .ucpc-feature {
  display: flex; flex-direction: column; gap: var(--ucpc-space-3);
    padding: var(--ucpc-space-6); height: 100%;
    background: var(--ucpc-white); border: var(--ucpc-border-width) solid var(--ucpc-border-hairline);
    border-radius: var(--ucpc-radius-lg);
    transition: box-shadow var(--ucpc-dur-3) var(--ucpc-ease-out), transform var(--ucpc-dur-3) var(--ucpc-ease-out);
}
.ucpc-page .ucpc-feature--plain {
  border-color: var(--ucpc-border-hairline);
}
.ucpc-page .ucpc-feature__icon {
  display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: var(--ucpc-radius-md); background: rgba(0,38,127,0.10); color: var(--ucpc-blue);
}
.ucpc-page .ucpc-feature__title {
  font-size: 19px; line-height: 1.35;
}
.ucpc-page .ucpc-feature__text {
  font-size: 15px; color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-course {
  display: flex; flex-direction: column; background: var(--ucpc-white); border: var(--ucpc-border-width) solid var(--ucpc-border-hairline); border-radius: var(--ucpc-radius-lg); overflow: hidden; height: 100%; transition: box-shadow var(--ucpc-dur-3) var(--ucpc-ease-out), transform var(--ucpc-dur-3) var(--ucpc-ease-out);
}
.ucpc-page .ucpc-course__media {
  position: relative; margin: 0; aspect-ratio: var(--ucpc-ratio-wide); background: var(--ucpc-blue-gray);
}
.ucpc-page .ucpc-course__media img {
  width: 100%; height: 100%; object-fit: cover;
}
.ucpc-page .ucpc-course__badge {
  position: absolute; top: var(--ucpc-space-3); left: var(--ucpc-space-3);
}
.ucpc-page .ucpc-course__body {
  display: flex; flex-direction: column; gap: var(--ucpc-space-2); padding: var(--ucpc-space-5); flex: 1;
}
.ucpc-page .ucpc-course__tags {
  display: flex; gap: var(--ucpc-space-2); flex-wrap: wrap;
}
.ucpc-page .ucpc-course__title {
  font-size: 18px; line-height: 1.35;
}
.ucpc-page .ucpc-course__meta {
  font-size: 14px; color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-course__actions {
  margin-top: auto; padding-top: var(--ucpc-space-3); display: flex; flex-wrap: wrap; gap: var(--ucpc-space-2);
}
@media (hover: hover) and (pointer: fine) {
  .ucpc-page .ucpc-course:hover {
    box-shadow: var(--ucpc-shadow-3); transform: translateY(-2px);
  }
}
.ucpc-page .ucpc-statistic {
  text-align: center; padding: var(--ucpc-space-5);
}
.ucpc-page .ucpc-statistic__value {
  font-family: var(--ucpc-font-display); font-size: clamp(36px, 6vw, 56px); font-weight: 600; line-height: 1; letter-spacing: -0.02em; color: var(--ucpc-blue-text);
}
.ucpc-page .ucpc-statistic__unit {
  font-size: 0.4em; margin-left: 2px; color: var(--ucpc-text);
}
.ucpc-page .ucpc-statistic__label {
  margin-top: var(--ucpc-space-3); font-size: 14px; color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-accordion {
  border-top: var(--ucpc-border-width) solid var(--ucpc-border-hairline);
}
.ucpc-page .ucpc-faq-item {
  border-bottom: var(--ucpc-border-width) solid var(--ucpc-border-hairline);
}
.ucpc-page .ucpc-faq-item__heading {
  margin: 0;
}
.ucpc-page .ucpc-faq-item__question {
  display: flex; align-items: center; justify-content: space-between; gap: var(--ucpc-space-4);
    width: 100%; padding: var(--ucpc-space-5) var(--ucpc-space-1); min-height: 44px;
    background: transparent; border: 0; text-align: left;
    font-family: var(--ucpc-font-display); font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--ucpc-text);
}
.ucpc-page .ucpc-faq-item__icon {
  position: relative; flex: none; width: 20px; height: 20px;
}
.ucpc-page .ucpc-faq-item__icon::before,
.ucpc-page .ucpc-faq-item__icon::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px;
    background: var(--ucpc-blue-text); transform: translate(-50%,-50%);
    transition: transform var(--ucpc-dur-3) var(--ucpc-ease-out), opacity var(--ucpc-dur-3) var(--ucpc-ease-out);
}
.ucpc-page .ucpc-faq-item__icon::after {
  transform: translate(-50%,-50%) rotate(90deg);
}
.ucpc-page .ucpc-faq-item__question[aria-expanded="true"] .ucpc-faq-item__icon::after {
  opacity: 0; transform: translate(-50%,-50%) rotate(0);
}
.ucpc-page .ucpc-faq-item__answer {
  padding: 0 var(--ucpc-space-1) var(--ucpc-space-5); color: var(--ucpc-text-secondary); font-size: 15px; line-height: 1.7;
}
.ucpc-page .ucpc-btn__ext {
  display: inline-flex;
}
.ucpc-page .ucpc-s-feature__list,
.ucpc-page .ucpc-s-statistics__list {
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .ucpc-page .ucpc-s-feature__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .ucpc-page .ucpc-s-statistics__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .ucpc-page .ucpc-s-feature__list {
    grid-template-columns: repeat(3, 1fr);
  }
  .ucpc-page .ucpc-s-statistics__list {
    grid-template-columns: repeat(4, 1fr);
  }
  .ucpc-page .ucpc-s-statistics__list--pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ucpc-page .ucpc-s-feature__list--split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .ucpc-page .ucpc-statistic {
    position: relative;
  }
}
.ucpc-page .ucpc-s-cta {
  position: sticky; bottom: 0; z-index: var(--ucpc-z-sticky);
    padding-block: var(--ucpc-space-4);
    box-shadow: 0 -2px 16px rgba(0,0,0,0.18);
}
.ucpc-page .ucpc-s-cta__inner {
  display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "title actions" "text actions";
    align-items: center; column-gap: var(--ucpc-space-6); row-gap: var(--ucpc-space-1);
    text-align: left;
}
.ucpc-page .ucpc-s-cta .ucpc-u-container--narrow {
  max-width: var(--ucpc-container);
}
.ucpc-page .ucpc-s-cta__title {
  grid-area: title; align-self: end; font-size: clamp(18px, 2.2vw, 24px); line-height: 1.25;
}
.ucpc-page .ucpc-s-cta__text {
  grid-area: text; align-self: start; font-size: 14px; color: var(--ucpc-on-dark-soft); max-width: 60ch;
}
.ucpc-page .ucpc-s-cta__actions {
  grid-area: actions; display: flex; flex-wrap: nowrap; gap: var(--ucpc-space-3); justify-content: flex-end; margin-top: 0;
}
.ucpc-page .ucpc-s-cta__actions .ucpc-btn {
  white-space: nowrap;
}
@media (max-width: 833px) {
  .ucpc-page .ucpc-s-cta__inner {
    grid-template-columns: 1fr; grid-template-areas: "title" "actions"; row-gap: var(--ucpc-space-2);
  }
  .ucpc-page .ucpc-s-cta__title {
    align-self: auto; text-align: center;
  }
  .ucpc-page .ucpc-s-cta__text {
    display: none;
  }
  .ucpc-page .ucpc-s-cta__actions {
    margin-top: var(--ucpc-space-1);
  }
  .ucpc-page .ucpc-s-cta__actions .ucpc-btn {
    flex: 1 1 0; min-width: 0; justify-content: center; text-align: center;
        white-space: normal; font-size: 14px; min-height: 48px;
        padding-inline: var(--ucpc-space-3);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .ucpc-page.ucpc-is-js .ucpc-u-reveal {
    opacity: 0; transform: translateY(16px); transition: opacity var(--ucpc-dur-6) var(--ucpc-ease-out), transform var(--ucpc-dur-6) var(--ucpc-ease-out);
  }
  .ucpc-page.ucpc-is-js .ucpc-u-reveal.ucpc-is-visible {
    opacity: 1; transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ucpc-page, .ucpc-page *,
  .ucpc-page *::before,
  .ucpc-page *::after {
    animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important;
  }
}
.ucpc-page .ucpc-s-flow__list {
  display: grid; grid-template-columns: 1fr; gap: var(--ucpc-space-4);
}
@media (min-width: 640px) {
  .ucpc-page .ucpc-s-flow__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .ucpc-page .ucpc-s-flow__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.ucpc-page .ucpc-flowstep {
  height: 100%; padding: var(--ucpc-space-5); background: var(--ucpc-white); border: var(--ucpc-border-width) solid var(--ucpc-border-hairline); border-radius: var(--ucpc-radius-lg);
}
.ucpc-page .ucpc-flowstep__num {
  display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: var(--ucpc-radius-circle); background: var(--ucpc-navy); color: var(--ucpc-on-dark); font-family: var(--ucpc-font-display); font-weight: 600; margin-bottom: var(--ucpc-space-3);
}
.ucpc-page .ucpc-flowstep__title {
  font-size: 17px; line-height: 1.4; margin-bottom: var(--ucpc-space-2);
}
.ucpc-page .ucpc-flowstep__text {
  font-size: 14px; color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-s-download__list {
  display: grid; grid-template-columns: 1fr; gap: var(--ucpc-space-3);
}
@media (min-width: 640px) {
  .ucpc-page .ucpc-s-download__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.ucpc-page .ucpc-download {
  display: flex; align-items: center; justify-content: space-between; gap: var(--ucpc-space-4); padding: var(--ucpc-space-4) var(--ucpc-space-5); background: var(--ucpc-white); border: var(--ucpc-border-width) solid var(--ucpc-border-hairline); border-radius: var(--ucpc-radius-lg);
}
.ucpc-page .ucpc-download__name {
  font-family: var(--ucpc-font-display); font-weight: 600; font-size: 16px;
}
.ucpc-page .ucpc-download__meta {
  font-size: 13px; color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-download .ucpc-btn {
  flex: none; white-space: nowrap;
}
.ucpc-page .ucpc-s-cat-hero {
  position: relative; overflow: hidden; padding-block: 0;
}
.ucpc-page .ucpc-s-cat-hero__media {
  position: absolute; inset: 0; z-index: 0;
}
.ucpc-page .ucpc-s-cat-hero__media::after {
  content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,38,127,0.55), rgba(0,38,127,0.85));
}
.ucpc-page .ucpc-s-cat-hero__media img {
  width: 100%; height: 100%; object-fit: cover;
}
.ucpc-page .ucpc-s-cat-hero__body {
  position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--ucpc-space-4); padding-block: var(--ucpc-space-11); color: var(--ucpc-on-dark);
}
.ucpc-page .ucpc-s-cat-hero__eyebrow {
  font-size: 14px; font-weight: 600; color: var(--ucpc-yellow);
}
.ucpc-page .ucpc-s-cat-hero__title {
  font-family: var(--ucpc-font-display); font-weight: 600; font-size: clamp(30px, 5.5vw, 56px); line-height: 1.08; letter-spacing: -0.01em;
}
.ucpc-page .ucpc-s-cat-hero__lead {
  font-size: clamp(15px, 2.2vw, 19px); line-height: 1.6; color: var(--ucpc-on-dark-soft); max-width: 46ch;
}
.ucpc-page .ucpc-s-cat-hero__actions {
  display: flex; flex-wrap: wrap; gap: var(--ucpc-space-3); margin-top: var(--ucpc-space-2);
}
.ucpc-page .ucpc-s-cat-hero--split {
  display: grid; grid-template-columns: 1fr; align-items: center; gap: var(--ucpc-space-6); max-width: var(--ucpc-container); margin-inline: auto; padding-inline: var(--ucpc-container-px); background: var(--ucpc-bg);
}
.ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__media {
  inset: auto; aspect-ratio: var(--ucpc-ratio-wide); border-radius: var(--ucpc-radius-lg); overflow: hidden; background: var(--ucpc-blue-gray);
}
.ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__media::after {
  content: none;
}
.ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__body {
  max-width: none; margin: 0; padding-inline: 0; padding-block: var(--ucpc-space-9); color: var(--ucpc-text);
}
.ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__eyebrow {
  color: var(--ucpc-blue-text);
}
.ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__title {
  color: var(--ucpc-text); font-size: clamp(28px, 4.4vw, 48px);
}
.ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__lead {
  color: var(--ucpc-text-secondary); max-width: none;
}
.ucpc-page .ucpc-s-cat-hero--split .ucpc-btn--on-dark {
  color: var(--ucpc-blue-text); border: var(--ucpc-border-width) solid var(--ucpc-navi-blue); background: transparent;
}
@media (hover: hover) and (pointer: fine) {
  .ucpc-page .ucpc-s-cat-hero--split .ucpc-btn--on-dark:hover {
    background: rgba(0,38,127,0.06);
  }
}
@media (min-width: 834px) {
  .ucpc-page .ucpc-s-cat-hero--split {
    grid-template-columns: 1fr 1.1fr; gap: var(--ucpc-space-9);
  }
  .ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__media {
    position: static; order: 2;
  }
  .ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__body {
    order: 1; padding-block: var(--ucpc-space-11);
  }
}
@media (max-width: 833px) {
  .ucpc-page .ucpc-s-cat-hero--split {
    position: relative; min-height: 320px;
  }
  .ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__media {
    position: absolute; top: 0; bottom: 0; left: calc(-1 * var(--ucpc-container-px)); right: calc(-1 * var(--ucpc-container-px)); aspect-ratio: auto; border-radius: 0;
  }
  .ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__media::after {
    content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(255,255,255,0.92));
  }
  .ucpc-page .ucpc-s-cat-hero--split .ucpc-s-cat-hero__body {
    position: relative; z-index: 1; padding-block: var(--ucpc-space-8);
  }
}
.ucpc-page .ucpc-s-compare__scroll {
  overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.ucpc-page .ucpc-s-compare__scroll:focus-visible {
  outline: none; box-shadow: var(--ucpc-ring-focus); border-radius: var(--ucpc-radius-lg);
}
.ucpc-page .ucpc-schedule {
  width: 100%; border-collapse: separate; border-spacing: 0; background: var(--ucpc-white); border: var(--ucpc-border-width) solid var(--ucpc-border-hairline); border-radius: var(--ucpc-radius-lg); overflow: hidden; font-size: 14px;
}
.ucpc-page .ucpc-schedule th,
.ucpc-page .ucpc-schedule td {
  padding: var(--ucpc-space-3) var(--ucpc-space-4); text-align: left; vertical-align: top; white-space: nowrap; border-top: var(--ucpc-border-width) solid var(--ucpc-border-hairline);
}
.ucpc-page .ucpc-schedule thead th {
  border-top: 0; background: var(--ucpc-blue-gray); font-family: var(--ucpc-font-display); font-weight: 600;
}
.ucpc-page .ucpc-schedule tbody th {
  font-family: var(--ucpc-font-display); font-weight: 600; color: var(--ucpc-text);
}
.ucpc-page .ucpc-schedule tbody td {
  color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-schedule--wrap th,
.ucpc-page .ucpc-schedule--wrap td {
  white-space: normal;
}
.ucpc-page [data-ucpc-theme="gray"] .ucpc-schedule thead th {
  background: var(--ucpc-white); color: var(--ucpc-blue-text); border-bottom: 2px solid var(--ucpc-navy);
}
.ucpc-page .ucpc-schedule--compare {
  min-width: 640px; table-layout: fixed;
}
.ucpc-page .ucpc-schedule--compare th:first-child,
.ucpc-page .ucpc-schedule--compare td:first-child {
  width: 11.5em; white-space: nowrap;
}
.ucpc-page .ucpc-schedule--compare thead th {
  text-align: center;
}
.ucpc-page .ucpc-schedule__colsub {
  display: block; font-size: 12px; font-weight: 500; color: var(--ucpc-text-secondary); margin-bottom: var(--ucpc-space-1);
}
.ucpc-page .ucpc-schedule__list {
  margin: 0; padding-left: 1.1em; list-style: disc;
}
.ucpc-page .ucpc-schedule__list li + li {
  margin-top: var(--ucpc-space-1);
}
.ucpc-page .ucpc-schedule__list--dot {
  padding-left: 0; list-style: none;
}
.ucpc-page .ucpc-schedule__list--dot > li {
  position: relative; padding-left: 1em; list-style: none;
}
.ucpc-page .ucpc-schedule__list--dot > li::before {
  content: "・"; position: absolute; top: 0; left: 0;
}
.ucpc-page .ucpc-schedule td.ucpc-schedule__cta {
  text-align: center;
}
.ucpc-page [data-section="schedule"] .ucpc-schedule,
.ucpc-page [data-section="ipad-schedule"] .ucpc-schedule {
  font-size: 13px;
}
.ucpc-page [data-section="schedule"] .ucpc-schedule th,
.ucpc-page [data-section="schedule"] .ucpc-schedule td,
.ucpc-page [data-section="ipad-schedule"] .ucpc-schedule th,
.ucpc-page [data-section="ipad-schedule"] .ucpc-schedule td {
  padding: var(--ucpc-space-2) var(--ucpc-space-3);
}
@media (min-width: 768px) {
  .ucpc-page .ucpc-schedule th,
  .ucpc-page .ucpc-schedule td {
    position: relative;
  }
  .ucpc-page .ucpc-schedule th:not(:first-child)::before,
  .ucpc-page .ucpc-schedule td:not(:first-child)::before {
    content: "";
        position: absolute;
        left: 0;
        top: var(--ucpc-space-3);
        bottom: var(--ucpc-space-3);
        width: var(--ucpc-border-width);
        background: var(--ucpc-border-hairline);
  }
}
.ucpc-page .ucpc-s-statistics__list--pair {
  max-width: 760px; margin-inline: auto;
}
.ucpc-page .ucpc-donut {
  position: relative; width: 168px; max-width: 70%; aspect-ratio: 1 / 1; margin: 0 auto var(--ucpc-space-4); border-radius: var(--ucpc-radius-circle);
}
.ucpc-page .ucpc-donut::after {
  content: ""; position: absolute; inset: 27%; background: var(--ucpc-white); border-radius: var(--ucpc-radius-circle);
}
.ucpc-page .ucpc-donut__center {
  position: absolute; inset: 0; display: grid; place-items: center; color: var(--ucpc-navy);
}
.ucpc-page .ucpc-legend {
  list-style: none; max-width: 260px; margin: var(--ucpc-space-4) auto 0; padding: 0; display: grid; gap: var(--ucpc-space-1); text-align: left;
}
.ucpc-page .ucpc-legend__item {
  display: flex; align-items: center; gap: var(--ucpc-space-2); font-size: 12px; color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-legend__swatch {
  flex: none; width: 10px; height: 10px; border-radius: 2px;
}
.ucpc-page .ucpc-legend__pct {
  margin-left: auto; font-weight: 600; color: var(--ucpc-text); font-variant-numeric: tabular-nums;
}
.ucpc-page .ucpc-block + .ucpc-block {
  margin-top: var(--ucpc-space-8);
}
.ucpc-page .ucpc-block__title {
  font-family: var(--ucpc-font-display); font-weight: 600; font-size: 18px; margin-bottom: var(--ucpc-space-4);
}
.ucpc-page .ucpc-block__note {
  margin-top: var(--ucpc-space-3); font-size: 13px; color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-block__lead {
  margin-bottom: var(--ucpc-space-4); font-size: 15px; font-weight: 400; line-height: 1.7; color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-checklist {
  list-style: none; margin: 0; padding: var(--ucpc-space-6); display: grid; gap: var(--ucpc-space-4); background: var(--ucpc-white); border: var(--ucpc-border-width) solid var(--ucpc-border-hairline); border-radius: var(--ucpc-radius-lg);
}
.ucpc-page .ucpc-checklist__item {
  display: flex; align-items: center; gap: var(--ucpc-space-3); font-family: var(--ucpc-font-display); font-size: 16px; font-weight: 500; color: var(--ucpc-text);
}
.ucpc-page .ucpc-checklist__icon {
  display: inline-flex; align-items: center; justify-content: center; flex: none; width: 26px; height: 26px; border-radius: var(--ucpc-radius-circle); background: rgba(0,38,127,0.10); color: var(--ucpc-blue-text);
}
@media (max-width: 833px) {
  .ucpc-page .ucpc-course {
    flex-direction: row;
  }
  .ucpc-page .ucpc-course > .ucpc-course__media {
    flex: 0 0 clamp(110px, 38%, 190px);
        align-self: flex-start;
        aspect-ratio: 1 / 1;
        margin: var(--ucpc-space-4) 0 var(--ucpc-space-4) var(--ucpc-space-4);
        border-radius: var(--ucpc-radius-md);
        overflow: hidden;
  }
  .ucpc-page .ucpc-course > .ucpc-course__body {
    padding: var(--ucpc-space-4);
        min-width: 0;
  }
  .ucpc-page .ucpc-s-flow__list {
    grid-template-columns: 1fr;
  }
  .ucpc-page .ucpc-flowstep {
    display: grid;
        grid-template-columns: auto 1fr;
        grid-template-areas: "num title" "num text";
        column-gap: var(--ucpc-space-4);
        align-items: start;
  }
  .ucpc-page .ucpc-flowstep__num {
    grid-area: num; margin-bottom: 0;
  }
  .ucpc-page .ucpc-flowstep__title {
    grid-area: title; margin-bottom: var(--ucpc-space-1);
  }
  .ucpc-page .ucpc-flowstep__text {
    grid-area: text;
  }
  .ucpc-page .ucpc-s-feature__list:has(.ucpc-feature__icon) {
    grid-template-columns: 1fr;
  }
  .ucpc-page .ucpc-feature:has(> .ucpc-feature__icon) {
    display: grid;
        grid-template-columns: auto 1fr;
        grid-template-areas: "icon title" "icon text";
        column-gap: var(--ucpc-space-4);
        align-items: start;
  }
  .ucpc-page .ucpc-feature:has(> .ucpc-feature__icon) > .ucpc-feature__icon {
    grid-area: icon;
  }
  .ucpc-page .ucpc-feature:has(> .ucpc-feature__icon) > .ucpc-feature__title {
    grid-area: title; margin-bottom: var(--ucpc-space-1);
  }
  .ucpc-page .ucpc-feature:has(> .ucpc-feature__icon) > .ucpc-feature__text {
    grid-area: text;
  }
  .ucpc-page #checklist .ucpc-feature:has(> .ucpc-feature__icon) {
    grid-template-areas: "icon title" "text text" "more more";
        align-items: center;
  }
  .ucpc-page #checklist .ucpc-feature:has(> .ucpc-feature__icon) > .ucpc-feature__text {
    margin-top: var(--ucpc-space-1);
  }
}
.ucpc-page .ucpc-course--emph {
  border: 2px solid var(--ucpc-navy); box-shadow: var(--ucpc-shadow-3);
}
.ucpc-page .ucpc-course--emph .ucpc-course__title a {
  color: var(--ucpc-blue-text);
}
.ucpc-page .ucpc-course--mini {
  flex-direction: row;
}
.ucpc-page .ucpc-course--mini > .ucpc-course__media {
  flex: 0 0 clamp(96px, 32%, 150px); align-self: stretch; aspect-ratio: 1 / 1;
    margin: 0; border-radius: 0;
}
.ucpc-page .ucpc-course--mini > .ucpc-course__body {
  padding: var(--ucpc-space-4); gap: var(--ucpc-space-1);
}
.ucpc-page .ucpc-course--mini .ucpc-course__title {
  font-size: 15px;
}
.ucpc-page .ucpc-course--mini .ucpc-course__meta {
  font-size: 13px;
}
.ucpc-page .ucpc-s-courses__stack {
  display: grid; gap: var(--ucpc-space-5);
}
@media (min-width: 834px) {
  .ucpc-page .ucpc-course--wide {
    flex-direction: row;
  }
  .ucpc-page .ucpc-course--wide > .ucpc-course__media {
    flex: 0 0 clamp(220px, 38%, 380px); min-width: 0; align-self: stretch; margin: 0; border-radius: 0;
  }
  .ucpc-page .ucpc-course--wide > .ucpc-course__body {
    padding: var(--ucpc-space-6);
  }
  .ucpc-page .ucpc-course--wide .ucpc-course__title {
    font-size: 22px;
  }
}
.ucpc-page .ucpc-s-feature--bigicon .ucpc-feature__icon {
  width: auto; height: auto; background: none; border-radius: 0; color: var(--ucpc-blue-text);
}
.ucpc-page .ucpc-s-feature--bigicon .ucpc-feature__icon svg {
  width: 72px; height: 72px;
}
@media (max-width: 833px) {
  .ucpc-page .ucpc-s-feature--bigicon .ucpc-feature__icon svg {
    width: 48px; height: 48px;
  }
}
@media (min-width: 834px) {
  .ucpc-page .ucpc-s-feature--bigicon .ucpc-feature__title {
    text-align: center;
  }
  .ucpc-page .ucpc-s-feature--center .ucpc-feature__icon {
    align-self: center;
  }
  .ucpc-page .ucpc-s-feature--center .ucpc-feature__title {
    text-align: center;
  }
}
.ucpc-page .ucpc-notelist {
  display: flex; flex-direction: column; gap: var(--ucpc-space-2); margin: 0 0 var(--ucpc-space-6); font-size: 14px; line-height: 1.7; color: var(--ucpc-text-secondary);
}
.ucpc-page .ucpc-notelist__term {
  font-weight: 600; color: var(--ucpc-text);
}
.ucpc-page .ucpc-twocol {
  display: grid; grid-template-columns: 1fr; gap: var(--ucpc-space-5);
}
@media (min-width: 834px) {
  .ucpc-page .ucpc-twocol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.ucpc-page .ucpc-panel {
  background: var(--ucpc-white); border: var(--ucpc-border-width) solid var(--ucpc-border-hairline); border-radius: var(--ucpc-radius-lg); padding: var(--ucpc-space-6); height: 100%;
}
.ucpc-page .ucpc-panel__title {
  font-family: var(--ucpc-font-display); font-weight: 600; font-size: 18px; margin-bottom: var(--ucpc-space-4); padding-bottom: var(--ucpc-space-3); border-bottom: var(--ucpc-border-width) solid var(--ucpc-border-hairline);
}
.ucpc-page .ucpc-ticklist {
  display: flex; flex-direction: column; gap: var(--ucpc-space-3);
}
.ucpc-page .ucpc-ticklist li {
  display: flex; align-items: flex-start; gap: var(--ucpc-space-3); font-size: 15px; line-height: 1.6;
}
.ucpc-page .ucpc-ticklist li::before {
  content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; border-radius: var(--ucpc-radius-circle);
    background: rgba(0,38,127,0.10) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300267f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4 4 10-10'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.ucpc-page .ucpc-ticklist__text {
  min-width: 0;
}
.ucpc-page .ucpc-ticklist__text strong {
  white-space: nowrap;
}
.ucpc-page .ucpc-feature__actions {
  margin: var(--ucpc-space-2) 0 0; text-align: center;
}
.ucpc-page .ucpc-checklist--confirm .ucpc-checklist__icon {
  width: 24px; height: 24px;
    background: var(--ucpc-white);
    border: 2px solid var(--ucpc-navi-blue);
    border-radius: var(--ucpc-radius-sm);
}
@media (min-width: 834px) {
  .ucpc-page .ucpc-schedule--highlight.ucpc-schedule--col3 thead th:nth-child(3),
  .ucpc-page .ucpc-schedule--highlight.ucpc-schedule--col3 tbody td:nth-child(3) {
    background: var(--ucpc-navy);
        color: var(--ucpc-on-dark);
        border-top-color: rgba(255,255,255,0.24);
  }
  .ucpc-page .ucpc-schedule--highlight.ucpc-schedule--col3 thead th:nth-child(3) {
    color: var(--ucpc-white);
        border-bottom-color: rgba(255,255,255,0.45);
  }
  .ucpc-page .ucpc-schedule--highlight.ucpc-schedule--col3 thead th:nth-child(3) .ucpc-schedule__colsub {
    color: var(--ucpc-on-dark-soft);
  }
  .ucpc-page .ucpc-schedule--highlight.ucpc-schedule--col3 tbody td:nth-child(3) strong {
    color: var(--ucpc-white);
  }
  .ucpc-page .ucpc-schedule--highlight.ucpc-schedule--col3 th:nth-child(3)::before,
  .ucpc-page .ucpc-schedule--highlight.ucpc-schedule--col3 td:nth-child(3)::before {
    content: none;
  }
}
@media (max-width: 833px) {
  .ucpc-page .ucpc-s-compare__scroll--stackable {
    overflow-x: visible; padding: 0;
  }
  .ucpc-page .ucpc-schedule--stackable {
    min-width: 0; display: block; table-layout: auto; border-radius: var(--ucpc-radius-lg); overflow: hidden;
  }
  .ucpc-page .ucpc-schedule--stackable thead {
    display: none;
  }
  .ucpc-page .ucpc-schedule--stackable tbody {
    display: block;
  }
  .ucpc-page .ucpc-schedule--stackable tbody tr {
    display: block;
  }
  .ucpc-page .ucpc-schedule--stackable tbody tr + tr {
    border-top: var(--ucpc-border-width) solid var(--ucpc-border-hairline);
  }
  .ucpc-page .ucpc-schedule--stackable tbody th[scope="row"] {
    display: block; width: auto; white-space: normal;
        padding: var(--ucpc-space-3) var(--ucpc-space-4);
        background: var(--ucpc-bg-gray); color: var(--ucpc-blue-text);
        font-size: 15px; border-top: 0;
  }
  .ucpc-page .ucpc-schedule--stackable tbody td {
    display: block; width: auto; white-space: normal;
        padding: var(--ucpc-space-3) var(--ucpc-space-4);
        border-top: 0;
  }
  .ucpc-page .ucpc-schedule--stackable tbody td::before {
    content: attr(data-label);
        display: block; margin-bottom: 2px;
        font-family: var(--ucpc-font-display); font-weight: 600; font-size: 12px;
        color: var(--ucpc-text-secondary);
  }
  .ucpc-page .ucpc-schedule--compare.ucpc-schedule--stackable th:first-child,
  .ucpc-page .ucpc-schedule--compare.ucpc-schedule--stackable td:first-child {
    width: auto; white-space: normal;
  }
  .ucpc-page .ucpc-schedule--highlight.ucpc-schedule--col3.ucpc-schedule--stackable thead th:nth-child(3) {
    box-shadow: none; border-radius: 0;
  }
  .ucpc-page .ucpc-schedule--highlight.ucpc-schedule--col3.ucpc-schedule--stackable tbody td:nth-child(3) {
    box-shadow: none; border-radius: 0;
        background: rgba(0,38,127,0.05);
        border-left: 3px solid var(--ucpc-navy);
  }
  .ucpc-page .ucpc-schedule--stackable td.ucpc-schedule__cta {
    text-align: left;
  }
  .ucpc-page .ucpc-schedule--stackable td.ucpc-schedule__cta .ucpc-btn {
    display: flex; width: 100%;
  }
}
@media (max-width: 833px) {
  .ucpc-page .ucpc-course--wide {
    flex-direction: column;
  }
  .ucpc-page .ucpc-course--wide > .ucpc-course__media {
    flex: none; width: auto; align-self: auto;
        aspect-ratio: var(--ucpc-ratio-wide);
        margin: 0; border-radius: 0;
  }
  .ucpc-page .ucpc-course--wide > .ucpc-course__body {
    padding: var(--ucpc-space-5);
  }
  .ucpc-page .ucpc-course--wide .ucpc-course__actions {
    flex-direction: column; flex-wrap: nowrap; align-items: stretch;
  }
  .ucpc-page .ucpc-course--wide .ucpc-course__actions .ucpc-btn {
    width: 100%;
  }
}
@media (min-width: 834px) {
  .ucpc-page .ucpc-twocol .ucpc-course--mini > .ucpc-course__media {
    aspect-ratio: auto;
  }
}
.ucpc-page .ucpc-checklist__action {
  margin-top: var(--ucpc-space-2);
    padding-top: var(--ucpc-space-5);
    border-top: var(--ucpc-border-width) solid var(--ucpc-border-hairline);
}
.ucpc-page .ucpc-course--row > .ucpc-course__media {
  flex: 0 0 clamp(240px, 32%, 360px); align-self: flex-start;
    aspect-ratio: var(--ucpc-ratio-wide); margin: 0; border-radius: 0;
}
.ucpc-page .ucpc-course--row > .ucpc-course__media img {
  object-fit: contain;
}
@media (max-width: 833px) {
  .ucpc-page .ucpc-course--row {
    flex-direction: column;
  }
  .ucpc-page .ucpc-course--row > .ucpc-course__media {
    flex: none; width: 100%; align-self: stretch;
  }
}
.ucpc-page .ucpc-complain-list {
  margin: var(--ucpc-space-5) 0 0;
}
.ucpc-page .ucpc-complain-list + .ucpc-s__lead {
  margin-top: var(--ucpc-space-5);
}
.ucpc-page .ucpc-complain-list__list {
  list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ucpc-space-4);
}
.ucpc-page .ucpc-complain-list__item {
  display: flex; align-items: flex-start; gap: var(--ucpc-space-3); line-height: 1.6; color: var(--ucpc-text);
}
.ucpc-page .ucpc-complain-list__icon {
  flex: none; width: 24px; height: 24px; margin-top: 0.1em; color: var(--ucpc-navy);
}

/* --------------------------------------------------------------------------
   ヒーロー（サイト共通の page-mv）内のボタン列：hero-mv.html で使用
   page-mv 自体とボタン（entry-btn）のデザインはサイト共通の /css/import.css に任せ、
   ここではボタンを横に並べる枠だけを指定する。
   ※ page-mv は .ucpc-page の外にあるため、この部分だけ .ucpc-page で限定していない
     （クラス名に ucpc- を付けているので、サイトの他のクラスとは衝突しない）
   -------------------------------------------------------------------------- */
.ucpc-mv-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* --------------------------------------------------------------------------
   よくある質問の答えの中のテキストリンク（下線を付けてリンクだとわかるようにする）
   -------------------------------------------------------------------------- */
.ucpc-page .ucpc-faq-item__answer a { color: var(--ucpc-blue-text); text-decoration: underline; text-underline-offset: 2px; }
@media (hover: hover) and (pointer: fine) {
  .ucpc-page .ucpc-faq-item__answer a:hover { text-decoration-thickness: 2px; }
}

/* --------------------------------------------------------------------------
   画像なしヒーロー（メインビジュアルを movabletype.net 側で出す場合）
   hero-textonly.html を本文の先頭に置いたときの見た目を整える
   -------------------------------------------------------------------------- */
.ucpc-page .ucpc-s-cat-hero--noimage { display: block; position: static; min-height: 0; }
.ucpc-page .ucpc-s-cat-hero--noimage .ucpc-s-cat-hero__body { padding-block: var(--ucpc-space-8); }

/* --------------------------------------------------------------------------
   メインビジュアルが空のときに残る「すき間」を消したい場合
   （このCSSはこのページでしか読み込まれないため、他ページには影響しません）

   使い方：
   1. 公開したページをブラウザで開き、空になっている部分を右クリック →［検証］
   2. その要素の class 名（例: <div class="mainvisual">）を調べる
   3. 下の2行の先頭と末尾のコメント記号を外し、mainvisual の部分を実際の class 名に変える
   -------------------------------------------------------------------------- */
/*
.mainvisual { display: none; }
*/
