@charset "UTF-8";

/* =========================================================
   日興リカ 採用サイト  事業紹介  -  jigyo.css
   （共通トークン・ヘッダー・フッターは style.css を参照）
   デザイン: 00nikkorica202604_03jigyo_04.ai（1920幅・コンテンツ1200）
   実測:
     HERO背景 = 青グラデ #0059BD 40% → #0078FF 79% → #009FE8 100%
     部屋イラスト = (110,322) 1700x1197（jigyo-room.png・_05.ai再測）＋ピン7個（ぷかぷか→モーダル）
     製品と社会パネル = 1200x372 rgba(0,106,225,.5)
     製品セクション = 青グラデ #0059BD 27%→#0078FF 39%→#009FE8 69%
     受託製造 = #E9EBF5 / トレーディング = #009FE8 / その他 = #007EE8
     カード 585x635 白（写真554x335・グラデ帯554x65白26px・キャッチ20px・本文16px/26）
   ========================================================= */

.jigyo {
    position: relative;
    padding-top: 80px;
    /* 固定ヘッダー分 */
    background: #fff;
    color: #464646;
    overflow-x: clip;
}

/* 共通：セクションタイトル・リード */
.jigyo-sec-title {
    margin: 0;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: .1em;
    text-align: center;
    color: #fff;
}

.jigyo-sec-title--dark {
    color: #464646;
}

.jigyo-lead {
    margin: 35px 0 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    color: #fff;
}

.jigyo-lead b {
    display: block;
    margin-bottom: 26px;
}

.jigyo-lead--dark {
    color: #464646;
}

/* =========================================================
   HERO（部屋イラスト＋ぷかぷかピン＋つながりパネル）
   ========================================================= */
.jigyo-hero {
    position: relative;
    background: linear-gradient(180deg, #0059bd 40%, #0078ff 79%, #009fe8 100%);
    padding: 140px 0 150px;
    color: #fff;
}

/* 背景装飾：理科系ドゥードル */
.jigyo-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1500px;
    max-height: 100%;
    background: url("../images/creed-hero-doodle.png") center top / cover no-repeat;
    opacity: .4;
    pointer-events: none;
    z-index: 0;
}

.jigyo-hero>.container-rica,
.jigyo-stage {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: auto;

}

.jigyo-hero .sec-title {
    font-size: 50px;
    font-weight: 700;
    letter-spacing: .1em;
    margin: 0;
}

.jigyo-hero .sec-sub {
    margin: 6px 0 0;
    color: #53c5ff;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 25px;
    letter-spacing: .2em;
}

/* 部屋イラストステージ（1920幅基準・ピンは%配置） */
.jigyo-stage {
    /* 実測（_05.ai再測）: イラスト上端 y=322 */
    margin-top: -11px;
}

.jigyo-room {
    display: block;
    /* 実測（_05.ai再測）: x=110 / 1700幅（1920基準） */
    width: 88.542%;
    margin-left: 5.729%;
    height: auto;
}

/* ぷかぷか浮くピン */
.jigyo-pin {
    position: absolute;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    animation: jigyoPinFloat 3.2s ease-in-out infinite;
    animation-delay: var(--delay, 0s);
    z-index: 2;
}

.jigyo-pin img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform .25s ease;
    filter: drop-shadow(0 10px 14px rgba(0, 30, 90, .35));
}

.jigyo-pin:hover img,
.jigyo-pin:focus-visible img {
    transform: scale(1.18);
}

@keyframes jigyoPinFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-14px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .jigyo-pin {
        animation: none;
    }
}

/* 製品と社会のつながり（半透明青パネル・イラストの影に少し重なる） */
.jigyo-intro-panel {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 76px;
    margin-top: -10px;
    background: rgba(0, 106, 225, .5);
    border-radius: 20px;
    padding: 64px 60px 70px 79px;
    z-index: 1;
}

.jigyo-intro-title {
    flex: 0 0 385px;
    margin: 0;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: .1em;
    color: #fff;
}

.jigyo-intro-text {
    flex: 1 1 auto;
    max-width: 580px;
}

.jigyo-intro-text p {
    margin: 0 0 30px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
}

.jigyo-intro-text p:last-child {
    margin-bottom: 0;
}

/* =========================================================
   製品カード（共通）
   ========================================================= */
.jigyo-cards {
    margin-top: 63px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

/* 単独カードは中央に */
.jigyo-cards--single {
    grid-template-columns: minmax(0, 585px);
    justify-content: center;
}

.jg-card {
    background: #fff;
    border-radius: 14px;
    padding: 15px 15px 32px;
    color: #464646;
}

.jg-card-img {
    aspect-ratio: 554 / 335;
    border-radius: 8px;
    overflow: hidden;
}

.jg-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* グラデタイトル帯 */
.jg-card-title {
    margin: 15px 0 0;
    min-height: 65px;
    display: flex;
    align-items: center;
    padding: 8px 20px;
    background: linear-gradient(90deg, #2a9bff 0%, #0078ff 50%, #0059bd 100%);
    border-radius: 8px;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.3;
    font-feature-settings: "palt" 1;
}

.jg-card-catch {
    margin: 26px 0 0;
    padding: 0 25px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    color: #464646;
}

.jg-card-text {
    margin: 10px 0 0;
    padding: 0 25px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.625;
    color: #464646;
}

/* =========================================================
   研究開発・製造販売（青グラデ）
   ========================================================= */
.jigyo-products {
    position: relative;
    background: linear-gradient(180deg, #0059bd 27%, #0078ff 39%, #009fe8 69%);
    padding: 155px 0 150px;
}

/* 装飾：左上の顕微鏡 */
.jigyo-products::before {
    content: "";
    position: absolute;
    top: -3px;
    left: -55px;
    width: 410px;
    height: 661px;
    background: url("../images/jigyo-deco-microscope.png") center / contain no-repeat;
    pointer-events: none;
    z-index: 0;
}

/* 装飾：下部の六角形クリスタル */
.jigyo-products::after {
    content: "";
    position: absolute;
    top: 2192px;
    left: 523px;
    width: 1173px;
    height: 880px;
    background: url("../images/interview-deco-sphere.png") center / contain no-repeat;
    pointer-events: none;
    z-index: 0;
}

.jigyo-products .container-rica {
    position: relative;
    z-index: 1;
}

/* =========================================================
   受託製造（淡色）
   ========================================================= */
.jigyo-outsourcing {
    position: relative;
    background: #e9ebf5;
    padding: 155px 0 150px;
}

/* 背景装飾：白ドゥードル */
.jigyo-outsourcing::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/creed-hero-doodle.png") center top / cover no-repeat;
    opacity: .6;
    pointer-events: none;
    z-index: 0;
}

/* 装飾：右下の化粧品ボトル＋細胞（bg-icon） 実測: ボトル x1403 y6816 311x451 ／ 細胞クラスタ x1284 y6751 571x352 */
.jigyo-outsourcing::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        url("../images/jigyo-deco-bottle01.png") no-repeat right 206px bottom 106px / 311px 451px,
        url("../images/bg-icon.png") no-repeat right 65px bottom 271px / 571px auto;
    pointer-events: none;
    z-index: 1;
}

.jigyo-outsourcing .container-rica {
    position: relative;
    z-index: 1;
}

/* =========================================================
   トレーディング（シアン）
   ========================================================= */
.jigyo-trading {
    position: relative;
    background: #009fe8;
    padding: 155px 0 150px;
}

/* 装飾：左上の化粧品ボトル＋細胞（bg-icon） 実測: ボトル x108 y7404 281x478 ／ 細胞クラスタ x-23 y7403 576x356（左端は画面外に見切れ） */
.jigyo-trading::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        url("../images/jigyo-deco-bottle02.png") no-repeat left 108px top 51px / 281px 478px,
        url("../images/bg-icon.png") no-repeat left -23px top 50px / 576px auto;
    pointer-events: none;
    z-index: 1;
}

.jigyo-trading .container-rica {
    position: relative;
    z-index: 1;
}

/* =========================================================
   その他（環境への取り組み）
   ========================================================= */
.jigyo-other {
    position: relative;
    background: #007ee8;
    padding: 155px 0 150px;
}

/* =========================================================
   ピン詳細モーダル
   ========================================================= */
.jigyo-modal {
    width: min(640px, 92vw);
    border: none;
    border-radius: 14px;
    padding: 15px 15px 32px;
    box-shadow: 0 30px 70px rgba(0, 20, 70, .4);
}

.jigyo-modal::backdrop {
    background: rgba(0, 30, 90, .55);
}

.jigyo-modal-close {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 44px;
    height: 44px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #0077ee;
    cursor: pointer;
    z-index: 1;
    transition: background .2s;
}

.jigyo-modal-close:hover {
    background: #0059bd;
}

.jigyo-modal-close::before,
.jigyo-modal-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 2px;
    background: #fff;
}

.jigyo-modal-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.jigyo-modal-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* =========================================================
   レスポンシブ
   ========================================================= */
@media (max-width: 1240px) {
    .jigyo-products::after {
        width: 700px;
        height: 525px;
        left: auto;
        right: -200px;
    }
}

@media (max-width: 991px) {
    .jigyo-hero {
        padding: 110px 0 90px;
    }

    .jigyo-hero .sec-title {
        font-size: 38px;
    }

    .jigyo-hero .sec-sub {
        font-size: 18px;
    }

    .jigyo-stage {
        margin-top: 120px;
    }

    .jigyo-intro-panel {
        flex-direction: column;
        gap: 20px;
        margin-top: 20px;
        padding: 40px 32px;
    }

    .jigyo-intro-title {
        flex: none;
        font-size: 28px;
        line-height: 1.5;
    }

    .jigyo-intro-title br {
        display: none;
    }

    .jigyo-intro-text {
        max-width: none;
    }

    .jigyo-intro-text p {
        font-size: 16px;
        line-height: 1.75;
        margin-bottom: 22px;
    }

    .jigyo-sec-title {
        font-size: 30px;
    }

    .jigyo-lead {
        font-size: 16px;
        line-height: 1.7;
    }

    .jigyo-lead b {
        margin-bottom: 14px;
    }

    .jigyo-products,
    .jigyo-outsourcing,
    .jigyo-trading,
    .jigyo-other {
        padding: 90px 0;
    }

    .jigyo-products::before {
        width: 120px;
        height: 387px;
        left: -10%;
        top: -5%
    }

    .jigyo-products::after,
    .jigyo-outsourcing::after,
    .jigyo-trading::before {
        display: none;
    }

    .jigyo-cards {
        margin-top: 40px;
        grid-template-columns: 1fr;
        max-width: 585px;
        margin-inline: auto;
    }

    .jg-card-title {
        font-size: 21px;
        min-height: 56px;
    }
}

@media (max-width: 767px) {
    .jigyo-hero {
        padding: 70px 0 60px;
    }

    .jigyo-hero .sec-title {
        font-size: 30px;
    }

    .jigyo-hero .sec-sub {
        font-size: 15px;
    }

    .jigyo-stage {
        margin-top: 60px;
    }

    .jigyo-sec-title {
        font-size: 24px;
    }

    .jigyo-lead {
        font-size: 15px;
        line-height: 1.8;
        text-align: left;
    }

    .jigyo-products,
    .jigyo-outsourcing,
    .jigyo-trading,
    .jigyo-other {
        padding: 60px 0;
    }

    .jg-card {
        padding: 12px 12px 24px;
    }

    .jg-card-title {
        font-size: 18px;
        min-height: 48px;
        margin-top: 12px;
    }

    .jg-card-catch {
        font-size: 17px;
        padding: 0 12px;
        margin-top: 18px;
    }

    .jg-card-text {
        font-size: 15px;
        padding: 0 12px;
    }

    .jigyo-modal-close {
        top: 18px;
        right: 18px;
        width: 38px;
        height: 38px;
    }
}