@charset "UTF-8";
/* ==========================================================
   INTER BEE AWARD 2026（index.php 用）
   デザイン幅 1920px 基準
   ========================================================== */

.award26 {
    --award26-black: #111;
    --award26-text: #333;
    --award26-gray: #777;
    --award26-line: #222;
    --award26-bg: #f7f6f3;
    --award26-base: #f7f6f3; /* ページの地の色 */
    --award26-plain: #e9e6e1; /* 無地の部門の地の色（白いカードが浮き、明るい紙テクスチャの部門とも区別できるよう一段濃く。英語見出しの文字色もこの色） */
    --award26-serif: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
    --award26-sans: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
    --award26-en: "Cormorant Garamond", "Times New Roman", serif;

    color: var(--award26-text);
    font-family: var(--award26-sans);
    background: var(--award26-base);
    overflow-x: hidden;
}

.award26 *,
.award26 *::before,
.award26 *::after {
    box-sizing: border-box;
}

.award26 img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* 最大幅は現行のAWARDページ（css/style.css の .award_inner / .nominate_inner：max-width 1300px）に揃える */
.award26 {
    --award26-content: 1300px;
    /* 部門の英語見出しがはみ出せる範囲の最大幅（広い画面で右端に寄りすぎないように） */
    --award26-en-max: 1600px;
}

.award26-inner {
    width: 100%;
    max-width: calc(var(--award26-content) + 60px);
    margin: 0 auto;
    padding: 0 30px;
}

/* ----- Hero ----- */
/* 背景 mv_bg の上にロゴ・数字を重ねる（位置はデザイン幅1920×846基準の%指定） */
/* 背景画像は画面幅いっぱいに広げ、ロゴ・数字は最大1920px幅の中に配置 */
.award26-hero {
    background: #efede8 url("../../../../assets/img/forvisitors/award/mv_bg.webp?261021") no-repeat center / cover;
}

.award26-hero__inner {
    position: relative;
    max-width: 1920px;
    margin: 0 auto;
    aspect-ratio: 1920 / 846;
}

.award26-hero__logo,
.award26-hero__num,
.award26-hero__edition {
    position: absolute;
    margin: 0;
    line-height: 0;
}

.award26-hero img {
    display: block;
    width: 100%;
    height: auto;
}

/* 1920×846 の枠で、ロゴの文字が x196〜1056・y140〜470、03 が x1119〜1637・y224〜684 に来る値
   （ロゴは余白なしの切り抜き、03 は周りに透明の余白があるので余白ごと画像の左上で合わせている） */
.award26-hero__logo {
    left: 10.21%;
    top: 16.55%;
    width: 44.79%;
}

.award26-hero__num {
    left: 55.97%;
    top: 13.84%;
    width: 35.28%;
}

.award26-hero__edition {
    left: 10.1%;
    top: 73.4%;
    padding-top: min(3vw, 58px);
    font-family: var(--award26-sans);
    font-size: min(1.6vw, 31px);
    line-height: 1;
    letter-spacing: 0.3em;
    color: var(--award26-black);
}

.award26-hero__edition::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: min(4.74vw, 91px);
    height: 1px;
    background: var(--award26-black);
}

/* ----- News ----- */
.award26-news {
    background: var(--award26-bg);
    border-top: 1px solid var(--award26-line);
    border-bottom: 1px solid var(--award26-line);
}

.award26-news .award26-inner {
    display: flex;
    align-items: center;
    gap: 40px;
    min-height: 80px;
}

.award26-news__label {
    margin: 0;
    font-family: var(--award26-serif);
    font-size: 20px;
    letter-spacing: 0.08em;
    color: var(--award26-black);
}

.award26-news__list {
    margin: 0;
    padding: 0 0 0 40px;
    list-style: none;
    border-left: 1px solid #999;
    line-height: 1;
}

.award26-news__list li {
    font-family: var(--award26-serif);
    font-size: 17px;
    color: var(--award26-black);
}

.award26-news__list a {
    color: var(--award26-black);
    text-decoration: none;
}

.award26-news__list a:hover {
    opacity: 0.6;
}

.award26-news__arrow {
    display: inline-block;
    margin-left: 0.4em;
    transition: transform 0.3s;
}

.award26-news__list a:hover .award26-news__arrow {
    transform: translateX(4px);
}

/* ----- Lead ----- */
.award26-lead {
    padding: 70px 0 120px;
    background: linear-gradient(to bottom, var(--award26-bg) 70%, var(--award26-base) 100%);
}

.award26-lead__en {
    margin: 0;
    font-family: var(--award26-sans);
    font-size: 14px;
    letter-spacing: 0.18em;
    color: var(--award26-black);
}

.award26-lead__catch {
    margin: 10px 0 0;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--award26-line);
    font-family: var(--award26-serif);
    font-weight: 700;
    font-size: clamp(32px, 4.4vw, 64px);
    line-height: 1.3;
    letter-spacing: 0.04em;
    color: var(--award26-black);
}

.award26-lead__body {
    display: flex;
    align-items: center;
    margin-top: 40px;
}

.award26-lead__question {
    flex: 1 1 50%;
    margin: 0;
    padding-right: 20px;
    font-family: var(--award26-serif);
    font-weight: 500;
    font-size: clamp(17px, 1.5vw, 21px);
    line-height: 2.1;
    letter-spacing: 0.04em;
    color: var(--award26-black);
}

.award26-lead__text {
    flex: 1 1 50%;
    padding: 4px 0 4px 36px;
    border-left: 1px solid var(--award26-line);
}

.award26-lead__text p {
    margin: 0;
    font-family: var(--award26-serif);
    font-size: 15px;
    line-height: 1.95;
    letter-spacing: 0.04em;
    color: var(--award26-black);
}

.award26-lead__text p + p {
    margin-top: 1.9em;
}

/* ----- Nominate ----- */
.award26-nominate {
    padding-bottom: 0;
}

.award26-nominate__title {
    margin: 0;
    font-family: var(--award26-serif);
    font-weight: 700;
    font-size: clamp(26px, 2.4vw, 36px);
    letter-spacing: 0.04em;
    color: var(--award26-black);
}

/* タブ */
.award26-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
    /* 下：背景ありの部門が直後に来た時、下線と背景の始まりがくっつかないように空ける */
    margin: 40px 0 24px;
    padding: 0;
    list-style: none;
}

.award26-tabs__btn {
    position: relative;
    padding: 0 0 12px;
    border: none;
    background: none;
    font-family: var(--award26-sans);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    letter-spacing: 0.04em;
    color: var(--award26-text);
    cursor: pointer;
    transition: color 0.3s;
}

.award26-tabs__btn small {
    display: block;
    font-size: 0.7em;
}

.award26-tabs__btn::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--award26-black);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s;
}

.award26-tabs__btn:hover,
.award26-tabs__btn.is-active {
    color: var(--award26-black);
}

.award26-tabs__btn.is-active::after {
    transform: scaleX(1);
}

/* 部門ブロック */
.award26-category {
    --award26-title-size: clamp(20px, 1.9vw, 27px);
    --award26-en-size: clamp(32px, 3.4vw, 64px);
    /* 英語見出しの右端の、画面右端からの距離 */
    --award26-en-right: max(30px, 3.4vw, (100vw - var(--award26-en-max)) / 2);

    position: relative;
    padding: 50px 0 90px;
    scroll-margin-top: 20px;
    background: var(--award26-plain);
}

.award26-category[hidden] {
    display: none;
}

/* 斜めの光が差す紙テクスチャ風の背景画像 */
/* 画像は縦長（1920×10913）なので、cover で部門全体を 1 枚で覆う（くり返さないので継ぎ目が出ない）。
   PC は横幅に合わせて下が切れ、タブレット・SP は部門の高さに合わせて縮小され左右が切れる */
.award26-category.is-texture {
    /* 「明るい紙」として画像の色をそのまま使う（無地の部門より明るく見せて区別する） */
    background: #f2f0ef url("../../../../assets/img/forvisitors/award/section_bg.webp?261022") no-repeat center top / cover;
}

.award26-category__en {
    /* エンボス（ニューモフィズム）：文字色＝背景色、右下に影・左上にハイライト */
    /* 文字色は部門の背景色と揃える。影は控えめにする（強くすると「浮いた文字」に見える） */
    --emboss-base: var(--award26-plain);
    --emboss-edge: rgba(0, 0, 0, 0.14);
    --emboss-shadow: rgba(0, 0, 0, 0.12);
    /* 無地の部門は地が濃く白いハイライトが広がって見えるので、テクスチャの部門より弱める */
    --emboss-light: rgba(255, 255, 255, 0.7);

    /* 通常配置で右寄せし、最後の行だけ日本語タイトルと重ねる（行数が増えると部門の高さも伸びる） */
    position: relative;
    width: fit-content;
    /* 右端はコンテンツ幅の外、画面右端から max(30px, 3.4vw) の位置まで出す（ただし --award26-en-max の幅の中まで） */
    margin: 0 min(0px, calc(var(--award26-en-right) - (100vw - 100%) / 2)) calc(var(--award26-title-size) * -1.4) auto;
    font-family: var(--award26-en);
    font-size: var(--award26-en-size);
    line-height: 1.12;
    letter-spacing: 0.1em;
    text-align: right;
    color: var(--emboss-base);
    /* ずらし幅・ぼかしは文字の大きさに比例させる（em）。64px の時に 1px / 3px・6px / 1px / 2px・2px / 4px・8px になる値。
       px で固定するとタブレット・SP の小さい文字で影とハイライトが二重にずれて見える */
    text-shadow:
        -0.016em -0.016em 0 var(--emboss-light),
        -0.047em -0.047em 0.094em var(--emboss-light),
        0.016em 0.016em 0 var(--emboss-edge),
        0.031em 0.031em 0.031em var(--emboss-shadow),
        0.0625em 0.0625em 0.125em var(--emboss-shadow);
    pointer-events: none;
    user-select: none;
}

/* テクスチャ背景のセクション用（背景が少し暗いので文字色・影を合わせる） */
.award26-category.is-texture .award26-category__en {
    --emboss-base: #f3f1ef; /* section_bg.webp の右上（英語見出しの位置）の色に合わせる */
    --emboss-edge: rgba(0, 0, 0, 0.16);
    --emboss-shadow: rgba(0, 0, 0, 0.14);
    --emboss-light: rgba(255, 255, 255, 1);
}

.award26-category__title {
    position: relative;
    margin: 0 0 36px;
    font-family: var(--award26-serif);
    font-weight: 700;
    font-size: var(--award26-title-size);
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: var(--award26-black);
}

/* 共通の style.css が span に 17px・太さ 500 を当てるので、見出しの大きさと太さを引き継がせる */
/* inline-block で「（ハードウェア）部門」をひとかたまりにし、1行に収まらない幅の時だけまとめて次の行に送る */
.award26-category__sub {
    display: inline-block;
    font-size: inherit;
    font-weight: inherit;
}

.award26-category__title small {
    font-size: 0.6em;
}

/* カード */
.award26-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.award26-card a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.award26-card__img {
    margin: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #fff;
    /* 白いカードを地から少し浮かせる、うっすらした影 */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 6px 16px -8px rgba(0, 0, 0, 0.08);
}

/* 紙テクスチャの部門は光の筋の上でカードが地に溶けるので、影を一段強くする */
.award26-category.is-texture .award26-card__img {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 8px 20px -8px rgba(0, 0, 0, 0.12);
}

.award26-card__img img {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 8%;
    object-fit: contain;
    transition: transform 0.5s;
}

.award26-card a:hover .award26-card__img img {
    transform: scale(1.05);
}

/* 画像がない・読めない案件は、出展者詳細ページと同じ Coming Soon 画像を出す
   （画像 URL がない時は index.php のテンプレートが、読み込めなかった時は img の onerror が is-noimage を付ける） */
.award26-card__img.is-noimage {
    background: #fff url("https://interbee-storage.s3.amazonaws.com/img/common/img_comingsoon.webp") no-repeat center / 84% auto;
}

.award26-card__title {
    margin: 16px 0 0;
    font-family: var(--award26-serif);
    font-weight: 700;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: var(--award26-black);
}

.award26-card__company {
    margin: 10px 0 0;
    font-family: var(--award26-serif);
    font-size: 14px; /* タブレット・SP は 13px */
    line-height: 1.65;
    color: var(--award26-text);
}

.award26-card__booth {
    margin: 10px 0 0;
    padding-left: 8px;
    border-left: 3px solid #c4c4c4;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.08em;
    color: #626262; /* 無地の部門の地（#e9e6e1）の上でも読めるよう、--award26-gray より濃くする */
}

/* ==========================================================
   Tablet
   ========================================================== */
@media screen and (max-width: 1024px) {
    /* タブレット・SPは日本語タイトルと重ねず、英語の下にタイトルを置く（タイトルが折れないように） */
    .award26-category__en {
        margin-bottom: 8px;
    }

    .award26-cards {
        grid-template-columns: repeat(3, 1fr);
    }

    .award26-card__company {
        font-size: 13px;
    }
}

/* ==========================================================
   SP
   ========================================================== */
@media screen and (max-width: 767px) {
    .award26-inner {
        padding: 0 16px;
    }

    .award26-news .award26-inner {
        gap: 16px;
        min-height: 64px;
    }

    .award26-news__label {
        font-size: 16px;
    }

    .award26-news__list {
        padding-left: 16px;
    }

    .award26-news__list li {
        font-size: 14px;
    }

    .award26-lead {
        padding: 40px 0 60px;
    }

    .award26-lead__en {
        font-size: 13px;
    }

    /* 1行（12文字）に収まるよう、画面幅に合わせて縮める */
    .award26-lead__catch {
        padding-bottom: 24px;
        font-size: min(32px, calc((100vw - 32px) / 12.6));
    }

    .award26-lead__body {
        display: block;
        margin-top: 28px;
    }

    /* 長い方の行（22文字）が1行に収まるよう、画面幅に合わせて縮める */
    .award26-lead__question {
        padding-right: 0;
        font-size: min(17px, calc((100vw - 32px) / 23.5));
        line-height: 1.9;
    }

    .award26-lead__text {
        margin-top: 24px;
        padding: 24px 0 0;
        border-left: none;
        border-top: 1px solid var(--award26-line);
    }

    /* SPはタブを縦に1列で並べる（項目の間隔と、下線と文字の間を詰める） */
    .award26-tabs {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        margin-top: 24px;
    }

    .award26-tabs__btn {
        padding-bottom: 6px;
    }

    .award26-category {
        /* 英語見出しは装飾なので控えめに（Cormorant は字面が小さいので、24px で日本語タイトル 20px と同じくらいに見える） */
        --award26-en-size: 24px;
        padding: 40px 0 60px;
    }

    /* 日本語タイトルとの間を少し空ける */
    .award26-category__en {
        margin-bottom: 14px;
    }

    .award26-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 36px 16px;
    }

    .award26-card__title {
        margin-top: 14px;
    }

    .award26-card__company {
        margin-top: 8px;
    }
}
