/* =========================================
   EXA Motto / Award Page Content Styles
   extracted from inline <style>
========================================= */

:root {
            --navy-dark: #00173c;
            --gold-subtle: #b89b6a;
            --bg-gray: #f2f4f7;
        }

        .page-content { background-color: #fff; overflow-x: hidden; }

        /* =======================================================
           ▼ AWARD
           ======================================================= */
        .philosophy-section {
            padding: 140px 0 40px;
            text-align: center;
        }
        .philosophy-block {
            margin-bottom: 120px;
        }
        .philosophy-block:last-child {
            margin-bottom: 60px;
        }
        .philosophy-label {
            font-family: 'Noto Serif JP', serif;
            font-size: 20px;
            color: var(--navy-dark);
            margin-bottom: 25px;
            letter-spacing: 0.2em;
        }
        .philosophy-title {
            font-family: 'Noto Serif JP', serif;
            font-size: 56px;
            font-weight: 700;
            color: var(--navy-dark);
            letter-spacing: 0.1em;
            margin-bottom: 50px;
            line-height: 1.2;
        }
        .philosophy-text {
            font-family: 'Noto Serif JP', serif;
            font-size: 20px;
            line-height: 2.4;
            color: var(--navy-dark);
            letter-spacing: 0.1em;
            max-width: 860px;
            margin: 0 auto;
            text-align: left;
            display: inline-block;
        }

        @media (max-width: 991px) {
            .philosophy-section { padding: 80px 15px 20px; }
            .philosophy-block { margin-bottom: 80px; }
            .philosophy-label { font-size: 16px; }
            .philosophy-title { font-size: 36px; margin-bottom: 35px; }
            .philosophy-text { font-size: 16px; line-height: 2.2; display: block; }
        }


        .award-header {
            padding: 120px 0 60px;
            text-align: center;
        }
        .award-header .en-title {
            font-family: 'Montserrat', sans-serif;
            font-size: 14px;
            letter-spacing: 0.5em;
            color: var(--gold-subtle);
            margin-bottom: 10px;
            display: block;
        }
        .award-header h2 {
            font-family: 'Noto Serif JP', serif;
            font-size: 36px;
            color: var(--navy-dark);
            font-weight: 700;
        }

        .award-item {
            display: flex;
            align-items: flex-start;
            padding: 80px 0;
            border-bottom: 1px solid #e0e0e0;
        }
        .award-item:last-child { border-bottom: none; }

        .award-frame-container {
            flex: 0 0 400px;
            padding-right: 60px;
        }
        .award-frame {
            position: relative;
            background: #fff;
            padding: 15px; 
            box-shadow: 0 15px 45px rgba(0,0,0,0.1); 
            transition: transform 0.4s ease, box-shadow 0.4s ease;
        }
        

        .popup-gallery:hover .award-frame {
            transform: translateY(-5px);
            box-shadow: 0 25px 50px rgba(0,0,0,0.15);
        }
        .popup-gallery a {
            display: block;
            cursor: pointer;
            position: relative;
        }

        .popup-gallery a::after {
            content: '\f00e';
            font-family: 'FontAwesome';
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0, 23, 60, 0.1);
            color: #fff;
            font-size: 24px;
            display: flex; align-items: center; justify-content: center;
            opacity: 0; transition: opacity 0.3s;
        }
        .popup-gallery:hover a::after { opacity: 1; }

        .award-frame img {
            width: 100%;
            height: auto;
            display: block;
            border: none;
        }
        
        .award-frame.no-img {
            aspect-ratio: 1.414 / 1; 
            background: var(--bg-gray);
            display: flex;
            align-items: center;
            justify-content: center;
            pointer-events: none;
        }
        .award-frame.no-img::after {
            content: "CERTIFICATE";
            font-family: 'Montserrat', sans-serif;
            font-size: 12px;
            letter-spacing: 0.3em;
            color: #ccc;
        }

        .award-info-box {
            flex: 1;
            padding-top: 30px;
        }
        
        .award-year-label {
            font-weight: 700;
            color: var(--gold-subtle);
            font-size: 14px;
            letter-spacing: 0.1em;
            margin-bottom: 15px;
            display: block;
        }
        .award-main-title {
            font-family: 'Noto Serif JP', serif;
            font-size: 24px;
            color: var(--navy-dark);
            margin-bottom: 25px;
            line-height: 1.5;
        }
        
        .award-spec {
            list-style: none;
            padding: 0;
            margin: 0;
            max-width: 500px;
        }
        .award-spec li {
            display: flex;
            padding: 12px 0;
            border-bottom: 1px dotted #ccc;
            font-size: 15px;
        }
        .award-spec .label {
            width: 90px;
            font-weight: 700;
            color: var(--navy-dark);
            flex-shrink: 0;
        }
        .award-spec .val { color: #555; }


        .js-reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
        }
        .js-reveal.is-active {
            opacity: 1;
            transform: translateY(0);
        }

        .delay-1 { transition-delay: 0.2s; }

        .mfp-bg { background: rgba(0, 23, 60, 0.9); }
        .mfp-zoom-in .mfp-with-anim {
            opacity: 0;
            transition: all 0.3s ease-in-out; 
            transform: scale(0.95);
        }
        .mfp-zoom-in.mfp-bg {
            opacity: 0;
            transition: all 0.3s ease-out;
        }
        .mfp-zoom-in.mfp-ready .mfp-with-anim {
            opacity: 1;
            transform: scale(1);
        }
        .mfp-zoom-in.mfp-ready.mfp-bg { opacity: 0.9; }
        .mfp-zoom-in.mfp-removing .mfp-with-anim {
            transform: scale(0.95);
            opacity: 0;
        }
        .mfp-zoom-in.mfp-removing.mfp-bg { opacity: 0; }
        .mfp-title {
            font-family: 'Noto Serif JP', serif;
            color: #fff;
            font-size: 15px;
            letter-spacing: 0.05em;
        }

        @media (max-width: 991px) {
            .award-item {
                flex-direction: column;
                padding: 50px 0;
            }
            .award-frame-container {
                padding-right: 0;
                margin-bottom: 30px;
                width: 100%;
                max-width: 450px;
            }
            .award-info-box { padding-top: 0; }
        }

        .award-text-list {
            width: 100%;
            max-width: 1120px;
            margin: 0 auto 130px;
        }

        .award-text-item {
            position: relative;
            display: grid;
            grid-template-columns: 1fr;
            margin: 0 0 24px;
            overflow: hidden;
            background:
                linear-gradient(135deg, rgba(184, 155, 106, 0.08), rgba(255, 255, 255, 0) 34%),
                #ffffff;
            border: 1px solid rgba(0, 23, 60, 0.12);
            border-left: 4px solid var(--gold-subtle);
            box-shadow: 0 18px 48px rgba(0, 23, 60, 0.07);
            transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
        }

        .award-text-item:hover {
            transform: translateY(-4px);
            border-color: rgba(184, 155, 106, 0.48);
            box-shadow: 0 24px 60px rgba(0, 23, 60, 0.11);
        }

        .award-text-year {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            padding: 24px 34px 0;
            background: transparent;
            border-right: none;
        }

        .award-text-year::after {
            display: none;
        }

        .award-text-list .award-year-label {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: auto;
            margin: 0;
            padding: 8px 11px 7px;
            color: var(--gold-subtle);
            border: 1px solid rgba(184, 155, 106, 0.45);
            background: rgba(255, 255, 255, 0.72);
            font-family: 'Montserrat', 'Noto Serif JP', serif;
            font-size: 12px;
            line-height: 1.4;
            font-weight: 600;
            letter-spacing: 0.12em;
            white-space: nowrap;
        }

        .award-text-body {
            position: relative;
            z-index: 1;
            padding: 22px 34px 34px;
        }

        .award-text-list .award-main-title {
            margin: 0 0 22px;
            padding-right: 0;
            font-family: 'Noto Serif JP', serif;
            font-size: 25px;
            line-height: 1.58;
            color: var(--navy-dark);
            font-weight: 700;
            letter-spacing: 0.04em;
        }

        .award-text-list .award-spec {
            max-width: none;
            margin: 0;
            padding: 0;
            list-style: none;
            border-top: 1px solid rgba(0, 23, 60, 0.1);
        }

        .award-text-list .award-spec li {
            display: grid;
            grid-template-columns: 96px minmax(0, 1fr);
            gap: 18px;
            align-items: start;
            padding: 13px 0;
            border-bottom: 1px solid rgba(0, 23, 60, 0.1);
            font-size: 15px;
            line-height: 1.85;
        }

        .award-text-list .award-spec .label {
            position: relative;
            width: auto;
            color: var(--navy-dark);
            font-weight: 700;
            flex-shrink: 0;
            letter-spacing: 0.05em;
        }

        .award-text-list .award-spec .label::before {
            content: "";
            display: inline-block;
            width: 6px;
            height: 6px;
            margin: 0 9px 2px 0;
            border-radius: 50%;
            background: var(--gold-subtle);
        }

        .award-text-list .award-spec .val {
            color: #4f5660;
        }

        @media (max-width: 991px) {
            .award-text-year {
                padding: 22px 30px 0;
            }

            .award-text-body {
                padding: 20px 30px 30px;
            }

            .award-text-list .award-main-title {
                font-size: 22px;
            }
        }

        @media (max-width: 767px) {
            .award-text-list {
                margin-bottom: 82px;
            }

            .award-text-item {
                grid-template-columns: 1fr;
                margin-bottom: 20px;
                border-left-width: 3px;
                box-shadow: 0 14px 34px rgba(0, 23, 60, 0.08);
            }

            .award-text-year {
                padding: 20px 22px 0;
            }

            .award-text-body {
                padding: 20px 22px 24px;
            }

            .award-text-list .award-main-title {
                margin-bottom: 18px;
                font-size: 20px;
                line-height: 1.7;
            }

            .award-text-list .award-spec li {
                grid-template-columns: 1fr;
                gap: 4px;
                padding: 12px 0;
                font-size: 14px;
                line-height: 1.85;
            }
        }
