@charset "UTF-8";
:root {
  --color-brand-navy: #002f5f;
  --color-brand-navy-deep: #001f40;
  --color-brand-primary: #0177fe;
  --color-brand-cyan: #00c8ff;
  /* 濃いアクセントシアン：バッジ/見出し/組織図/各特集のアクセント・グラデ等で多用される二次シアン（基本5色とは別） */
  --color-brand-cyan-deep: #00a0e9;
  /* hero / display 用の鮮やかなシアン (Figma の空色) */
  --color-brand-sky: #1ab4e5;
  --color-brand-sky-light: #5dc5f2;
  --color-brand-blue-50: #f3f8fc;
  --color-brand-blue-100: #e5f0fa;
  --color-brand-blue-200: #cfe3f4;
  --color-brand-blue-300: #9cc3e4;
  --color-brand-blue-400: #5a9bd1;
  --color-brand-ice: #b9d9ee;
  --color-brand-magenta: #ff2d9a;
  --color-special-bg: #0a2540;
  --color-special-card: #14233b;
  /* ヘッダー CTA ボタン (Figma 296:12667 / 296:12671) */
  --color-header-button: #232735;
  --color-bg-sky: #eaf4fc;
  --color-bg-cloud: #d4ebf8;
  --color-bg-page: #d8e5e8;
  --color-bg-light: #f3faff;
  --color-text-primary: #1d2527;
  --color-text-secondary: #4b5563;
  --color-text-muted: rgb(78, 80, 86);
  --color-text-inverse: #ffffff;
  --color-black: #000;
  --color-white: #fff;
  --color-white-transparent: rgba(255, 255, 255, 0.55);
  --color-border: #d0d7de;
  --font-family-base: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, system-ui, sans-serif;
  --font-family-en: "Barlow Condensed", "Helvetica Neue", Arial, sans-serif;
  /* display 用の縦長サンセリフ (PIONEER SPIRIT / SPECIAL CONTENTS / What's HOSHIZAKI 等) */
  --font-family-display: "Barlow Condensed", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
  --font-family-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;
  --font-size-h1: 22px;
  --font-size-h2: 20px;
  --font-size-base: 16px;
  --line-height-base: 1.8;
  --page-max-width: 1600px;
  --content-max-width: 1200px;
  --spacing-xs: 8px;
  --spacing-sm: 10px;
  --spacing-md: 16px;
  --spacing-lg: 24px;
  --spacing-xl: 40px;
  --spacing-2xl: 64px;
  --spacing-3xl: 96px;
  --border-radius-sm: 8px;
  --border-radius-md: 10px;
  --border-radius-lg: 16px;
  --border-radius-xl: 24px;
  --border-radius-pill: 9999px;
  --shadow-card: 0 4px 24px rgba(0, 47, 95, 0.08);
  --transition-fast: 0.2s;
  --transition-base: 0.3s ease;
}

.p-reqcode {
    display: block;
    width: 100%;
    margin: 0 auto;
    background: var(--color-bg-page);
    overflow: hidden;
}

.p-reqcode .c-page-hero {
    padding-inline: 0;
}

.p-reqcode .c-page-hero__inner {
    max-width: 1300px;
    margin-inline: auto;
    padding-inline: clamp(20px, 4vw, 40px);
}
.p-reqcode__intro{ 
    padding-top: 64px;
    padding-bottom: 124px;
} 

.p-reqcode__intro, .p-reqcode__section, .p-reqcode__breadcrumb {
    max-width: 1300px;
    margin: 0 auto;
    padding-inline: clamp(20px, 4vw, 40px);
    box-sizing: border-box;
}

.inview-ready [data-inview]:not([data-inview=fade]):not([data-inview=shine]).is-inview {
    transform: none;
}
.inview-ready [data-inview]:not([data-inview=fade]):not([data-inview=shine]) {
    transform: translateY(var(--inview-rise, 2.4rem));
    transition: opacity var(--inview-duration, 0.8s) var(--inview-ease, cubic-bezier(0.22, 1, 0.36, 1)) calc(var(--inview-i, 0) * var(--inview-stagger, 0.09s)), transform var(--inview-duration, 0.8s) var(--inview-ease, cubic-bezier(0.22, 1, 0.36, 1)) calc(var(--inview-i, 0) * var(--inview-stagger, 0.09s));
    will-change: opacity, transform;
}

.inview-ready [data-inview].is-inview {
    opacity: 1;
}
.p-reqcode__lead {
    max-width: 1120px;
    margin: 0 auto;
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 2;
    color: var(--color-text-primary);
}

.p-reqcode__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding-inline: clamp(20px, 5vw, 40px);
}

.p-reqcode-code {
    list-style: none;
    margin: clamp(40px, 5vw, 64px) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(28px, 3.5vw, 44px);
}

.p-reqcode-code__item {
    display: flex;
    align-items: flex-start;
    gap: clamp(24px, 3vw, 48px);
}

.p-reqcode-code__body {
    flex: 1 1 auto;
    min-width: 0;
}

.p-reqcode__label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    flex-shrink: 0;
}

.p-reqcode__text{
    margin-top: 12px;
}
.p-reqcode__text:first-of-type, .p-reqcode__list:nth-child(2){
    margin-top: 24px;
}

.p-reqcode__text.right{
    text-align: right;
  margin-top: 60px;
}

.p-reqcode__list {
    margin-top: 12px;
}

.p-reqcode__ol-item {
    margin: 0;
    margin-top: 6px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.7;
    color: var(--color-text-primary);
    letter-spacing: 0.02em;
}
.p-reqcode__ul-item li{
    text-indent: 1em;
}
.p-reqcode__list.rule li{
    text-indent: -1em;
    padding-left: 1em;
  }

@media screen and (max-width: 600px) {
  .p-reqcode__intro {
    padding-top: 40px;
  }
  .p-reqcode__icon {
    width: 40px;
    height: 40px;
  }
  .p-reqcode__label-text {
    font-size: 22px;
  }
  .p-reqcode__text, .p-reqcode__ol-item, .p-reqcode__ul-item, .p-reqcode__list {
    font-size: 14px;
  }
  .p-reqcode__ul-item li{
    text-indent: -1em;
    padding-left: 2em;
  }
  
}

@media screen and (max-width: 768px) {
  .p-reqcode-code__item {
    flex-direction: column;
    gap: 18px;
  }
