@charset "utf-8";
/*
  IRIS Theme - 個人情報の取り扱いページ 専用スタイル
  職業安定法 第5条の5 / 同法施行規則 第4条の4 対応ページ用
  2026-08-06 追加
*/

/* ==========================================================================
   0. スマホメニュー（ドロワー）の重なり修正 ※全ページに効きます
   --------------------------------------------------------------------------
   .drawer が z-index:9998 で重なりの基準を作るため、その内側にある
   .drawer__overlay（z-index:9997）がメニューのリンクより手前に来てしまい、
   項目をタップしても遷移せず「閉じる」だけになっていた。
   header.php でオーバーレイを .drawer の外に出して修正済みだが、
   万一 header.php が差し替わっていない環境でも効くよう保険をかけている。
   ========================================================================== */
.drawer .drawer__nav {
    position: relative;
    z-index: 10000;
}

/* ==========================================================================
   16. 個人情報の取り扱いページ（職業安定法 第5条の5 対応）
   ========================================================================== */
.privacy-hero {
    position: relative;
    padding: 150px 0 70px;
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 55%, #8fc6d2 100%);
    color: #fff;
    overflow: hidden;
}

.privacy-hero::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -80px;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(255,255,255,0.22) 0%, transparent 68%);
    border-radius: 50%;
    pointer-events: none;
}

.privacy-hero::after {
    content: '';
    position: absolute;
    bottom: -90px;
    left: -60px;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(240,168,180,0.30) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.privacy-hero__inner {
    position: relative;
    z-index: 2;
}

.privacy-hero__en {
    display: block;
    font-family: 'Noto Serif JP', serif;
    font-size: 0.85rem;
    letter-spacing: 0.32em;
    opacity: 0.85;
    margin-bottom: 12px;
}

/* 既存の「main h2」共通スタイルを上書きするため2クラス指定にしている */
.privacy-hero .privacy-hero__title {
    font-family: 'Noto Serif JP', serif;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 22px;
    color: #fff;
    text-align: left;
    letter-spacing: 0.04em;
    text-shadow: 0 2px 12px rgba(0,0,0,0.12);
}

.privacy-hero .privacy-hero__title span {
    display: inline-block;
    font-size: inherit;
    font-family: inherit;
    font-weight: inherit;
    color: inherit;
    letter-spacing: inherit;
    text-transform: none;
    margin-top: 0;
    border-bottom: 4px solid var(--accent);
    padding-bottom: 4px;
}

/* タイトルの改行位置制御（スマホのみ改行させる） */
.privacy-br { display: none; }

.privacy-hero__lead {
    max-width: 760px;
    font-size: 1rem;
    line-height: 2.1;
    opacity: 0.97;
    margin: 0;
}

.privacy-law {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.privacy-law span {
    display: inline-block;
    background: rgba(255,255,255,0.16);
    border: 1px solid rgba(255,255,255,0.4);
    border-radius: 50px;
    padding: 7px 20px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    backdrop-filter: blur(4px);
}

/* 本文エリア */
.privacy-body {
    padding: 80px 0 100px;
    background: var(--bg-cream);
}

.privacy-block {
    margin-bottom: 60px;
}

.privacy-block:last-child { margin-bottom: 0; }

.privacy-block__head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 26px;
}

.privacy-block__num {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent) 0%, #ffb956 100%);
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    font-size: 1.05rem;
    font-weight: 700;
    box-shadow: 0 5px 16px rgba(248, 183, 57, 0.35);
}

.privacy-block__title {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.42rem;
    font-weight: 700;
    color: var(--primary-dark);
    margin: 0;
    line-height: 1.6;
}

.privacy-block__text {
    font-size: 0.98rem;
    line-height: 2.1;
    margin: 0 0 22px;
}

/* 利用目的カード（2枚組・色分け） */
.privacy-purpose {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
}

.privacy-card {
    position: relative;
    background: #fff;
    border-radius: 22px;
    padding: 34px 30px 30px;
    box-shadow: 0 1px 2px rgba(90,158,174,0.06),
                0 6px 18px rgba(90,158,174,0.07),
                0 14px 40px rgba(90,158,174,0.05);
    overflow: hidden;
}

.privacy-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 6px;
}

.privacy-card--mail::before { background: linear-gradient(90deg, var(--accent) 0%, #ffd489 100%); }
.privacy-card--info::before { background: linear-gradient(90deg, var(--pink) 0%, #f8cdd5 100%); }

.privacy-card__label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--primary-dark);
    margin-bottom: 20px;
    line-height: 1.6;
}

.privacy-card__label i {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1rem;
}

.privacy-card--mail .privacy-card__label i { background: #fff6e2; color: #d99512; }
.privacy-card--info .privacy-card__label i { background: var(--bg-pink); color: #d97d8e; }

.privacy-card__list li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 15px;
    font-size: 0.95rem;
    line-height: 1.95;
}

.privacy-card__list li:last-child { margin-bottom: 0; }

.privacy-card__list li::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 13px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.privacy-card--mail .privacy-card__list li::before { background: var(--accent); }
.privacy-card--info .privacy-card__list li::before { background: var(--pink); }

/* 補足ノート */
.privacy-note {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-top: 26px;
    padding: 22px 26px;
    background: var(--bg-blue);
    border-left: 5px solid var(--primary-light);
    border-radius: 0 16px 16px 0;
    font-size: 0.93rem;
    line-height: 2;
}

.privacy-note i {
    color: var(--primary);
    font-size: 1.05rem;
    margin-top: 6px;
}

.privacy-note p { margin: 0; }
.privacy-note strong { color: var(--primary-dark); }

/* 箇条書き（管理・第三者提供） */
.privacy-list li {
    position: relative;
    padding: 0 0 0 34px;
    margin-bottom: 16px;
    font-size: 0.97rem;
    line-height: 2.05;
}

.privacy-list li:last-child { margin-bottom: 0; }

.privacy-list li::before {
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 0;
    color: var(--primary-light);
    font-size: 0.9rem;
}

.privacy-list--dot li::before {
    content: '';
    top: 15px;
    left: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--primary-light);
}

/* 引用（求職申込書の記載文言） */
.privacy-quote {
    margin: 26px 0 0;
    padding: 28px 30px;
    background: #fff;
    border: 1px dashed rgba(90,158,174,0.45);
    border-radius: 18px;
    font-size: 0.95rem;
    line-height: 2.05;
    color: var(--text);
}

.privacy-quote__cap {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--primary);
    margin-bottom: 10px;
}

/* 窓口ボックス */
.privacy-contact {
    background: linear-gradient(135deg, #fff 0%, var(--bg-blue) 100%);
    border-radius: 24px;
    padding: 40px 40px 36px;
    box-shadow: 0 8px 30px rgba(90,158,174,0.10);
    position: relative;
    overflow: hidden;
}

.privacy-contact::after {
    content: '';
    position: absolute;
    right: -50px;
    bottom: -70px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(240,168,180,0.22) 0%, transparent 70%);
    border-radius: 50%;
}

.privacy-contact dl {
    display: grid;
    grid-template-columns: 190px 1fr;
    margin: 0;
    position: relative;
    z-index: 2;
}

.privacy-contact dt {
    font-weight: 700;
    color: var(--primary-dark);
    padding: 15px 0;
    border-bottom: 1px solid rgba(90,158,174,0.18);
    font-size: 0.94rem;
}

.privacy-contact dd {
    margin: 0;
    padding: 15px 0;
    border-bottom: 1px solid rgba(90,158,174,0.18);
    font-size: 0.96rem;
}

.privacy-contact dl > dt:last-of-type,
.privacy-contact dl > dd:last-of-type { border-bottom: none; }

.privacy-contact dd a { color: var(--primary-dark); font-weight: 700; }
.privacy-contact dd a:hover { color: var(--accent); }

.privacy-updated {
    margin-top: 46px;
    text-align: right;
    font-size: 0.85rem;
    color: var(--text-light);
}

@media (max-width: 1024px) {
    .privacy-hero { padding: 120px 0 55px; }
}

@media (max-width: 768px) {
    .privacy-hero { padding: 105px 0 48px; }
    .privacy-hero .privacy-hero__title { font-size: 1.72rem; }
    .privacy-br { display: inline; }
    .privacy-hero__lead { font-size: 0.93rem; line-height: 2; }
    .privacy-law span { font-size: 0.74rem; padding: 6px 15px; }

    .privacy-body { padding: 55px 0 70px; }
    .privacy-block { margin-bottom: 46px; }
    .privacy-block__head { gap: 12px; margin-bottom: 20px; }
    .privacy-block__num { width: 38px; height: 38px; font-size: 0.92rem; }
    .privacy-block__title { font-size: 1.16rem; }

    .privacy-purpose { grid-template-columns: 1fr; gap: 20px; }
    .privacy-card { padding: 28px 22px 24px; border-radius: 18px; }
    .privacy-card__label { font-size: 0.96rem; }

    .privacy-note { padding: 18px 20px; font-size: 0.89rem; }
    .privacy-quote { padding: 22px 20px; font-size: 0.9rem; }

    .privacy-contact { padding: 28px 22px 24px; border-radius: 18px; }
    .privacy-contact dl { grid-template-columns: 1fr; }
    .privacy-contact dt { padding: 14px 0 4px; border-bottom: none; font-size: 0.88rem; }
    .privacy-contact dd { padding: 0 0 14px; font-size: 0.94rem; }
    .privacy-contact dl > dt:last-of-type { border-bottom: none; }
}

/* 動きを減らす設定への配慮 */
@media (prefers-reduced-motion: reduce) {
    .fade-up { opacity: 1 !important; transform: none !important; transition: none !important; }
}

