@charset "UTF-8";

/* ==========================================================================
   Base Typography & Styles
   ========================================================================== */
/* アイコン以外の全ての要素に和欧混植（英文=明朝、和文=ゴシック）を強制 */
body, body *:not(.material-symbols-outlined) {
    font-family: 'Noto Serif', 'Noto Sans JP', sans-serif !important;
}

/* FVのキャッチコピーは和文もすべて明朝体に強制 */
.fv-catchcopy, .fv-catchcopy *:not(.material-symbols-outlined) {
    font-family: 'Noto Serif JP', serif !important;
}

/* ==========================================================================
   Animations
   ========================================================================== */
/* ローディングバーのアニメーション */
@keyframes loading-bar {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* じんわり出現アニメーション (Scroll Fade) */
.js-ready .js-blur-fade {
    opacity: 0;
    filter: blur(15px);
    transform: translateY(30px);
    transition-property: opacity, filter, transform;
    transition-duration: 2.5s;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.js-ready .js-blur-fade.is-active {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
}

/* ==========================================================================
   Utilities
   ========================================================================== */
/* Recruit FV用マスククリップ */
.organic-clip-inner { 
    clip-path: ellipse(150% 100% at 50% 0%); 
}

/* Recruit FVズームアニメーション */
@keyframes fv-zoom {
    0% { transform: scale(1); }
    100% { transform: scale(1.08); }
}
.animate-fv-zoom { 
    animation: fv-zoom 20s ease-out forwards; 
}

/* 縦書き指定 */
.vertical-rl { 
    writing-mode: vertical-rl; 
    text-orientation: upright; 
}

/* ==========================================================================
   Forms (Entry Page specific overrides)
   ========================================================================== */
/* Flatpickr カレンダーデザイン上書き */
.flatpickr-calendar {
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
    font-family: 'Noto Serif', 'Noto Sans JP', sans-serif !important;
}
/* 選択された日付の背景色を濃紺に */
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, 
.flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, 
.flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, 
.flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, 
.flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, 
.flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    background: #293753 !important;
    border-color: #293753 !important;
}
/* ホバー時の背景色 */
.flatpickr-day:hover {
    background: #f4eee6;
    border-color: #f4eee6;
    color: #293753;
}
/* 曜日の色をゴールドに */
span.flatpickr-weekday {
    color: #c6a87c;
    font-weight: bold;
}
/* 月・年の文字色を濃紺に */
.flatpickr-current-month .flatpickr-monthDropdown-months, 
.flatpickr-current-month .numInputWrapper {
    color: #293753;
    font-weight: bold;
}