@charset "UTF-8";

/* ==========================================================================
   1. BENESSE HEADER & FOOTER COMMON (Đã cập nhật cho cả PC và SP)
   ========================================================================== */

/* Thêm #benesse-header-sp vào danh sách để nhận style chung */
#benesse-header,
#benesse-header-sp,
#benesse-footer,
#benesse-footer-pc,
.ms-footer {
    background-color: #fff !important;
    color: #000 !important;
    font: 12px/1.231 "Hiragino Kaku Gothic Pro", Meiryo, sans-serif !important;
    position: relative !important;
    z-index: 999999 !important; 
}

.ms-header {
    position: relative !important;
    z-index: 999998 !important;
}

/* Reset style cho các thành phần bên trong */
#benesse-header *,
#benesse-header-sp *,
#benesse-footer *,
#benesse-footer-pc *,
.ms-footer * {
    position: static !important;
    float: none !important;
    margin: 0;
    padding: 0 !important;
    color: #000 !important;
    border: none !important;
    font: 12px/1.231 "Hiragino Kaku Gothic Pro", Meiryo, sans-serif !important;
    list-style: none !important;
}

/* Style cho thẻ A chung */
#benesse-header a,
#benesse-header-sp a,
#benesse-footer a,
#benesse-footer-pc a {
    color: #0070cb !important;
    text-decoration: underline !important;
}

/* Cấu trúc Inner (Khung giới hạn chiều rộng) */
#benesse-header .benesse-header__inner,
#benesse-header-sp .benesse-header__inner,
#benesse-footer .benesse-footer__inner,
#benesse-footer-pc .benesse-footer__inner {
    margin-right: auto !important;
    margin-left: auto;
    max-width: 926px; 
    padding: 12px !important;
    -webkit-box-sizing: content-box !important;
    box-sizing: content-box !important;
    zoom: 1 !important; 
}

/* Clearfix */
#benesse-header .benesse-header__inner:before,
#benesse-header .benesse-header__inner:after,
#benesse-header-sp .benesse-header__inner:before,
#benesse-header-sp .benesse-header__inner:after,
#benesse-footer .benesse-footer__inner:before,
#benesse-footer .benesse-footer__inner:after,
#benesse-footer-pc .benesse-footer__inner:before,
#benesse-footer-pc .benesse-footer__inner:after {
    content: "" !important;
    display: block !important;
    overflow: hidden !important;
}
#benesse-header .benesse-header__inner:after,
#benesse-header-sp .benesse-header__inner:after,
#benesse-footer .benesse-footer__inner:after,
#benesse-footer-pc .benesse-footer__inner:after {
    clear: both !important;
}

/* --- HEADER STYLES (Áp dụng cho cả #benesse-header và #benesse-header-sp) --- */

#benesse-header,
#benesse-header-sp {
    border-bottom: 1px solid #333333 !important; 
    background-color: #ffffff !important;
    margin: 0 !important;
}

#benesse-header .benesse-header__inner,
#benesse-header-sp .benesse-header__inner {
    padding-bottom: 0 !important;
}

/* Logo bên trái */
#benesse-header .benesse-header__logo,
#benesse-header-sp .benesse-header__logo {
    float: left !important;
    display: inline !important; 
    margin: -12px 0 0 -12px !important;
}

#benesse-header .benesse-header__logo a,
#benesse-header-sp .benesse-header__logo a {
    display: inline-block !important;
}

#benesse-header .benesse-header__logo img,
#benesse-header-sp .benesse-header__logo img {
    display: block !important;
    width: 130px !important;
    height: 43px !important;
}

/* Link list bên phải */
#benesse-header .benesse-header__link,
#benesse-header-sp .benesse-header__link {
    float: right !important;
    margin-top: -1px !important;
    margin-bottom: 8px !important;
}

#benesse-header .benesse-header__link li,
#benesse-header-sp .benesse-header__link li {
    display: inline !important;
    margin-left: 12px !important;
}

#benesse-header .benesse-header__link a,
#benesse-header-sp .benesse-header__link a {
    padding: 4px 0 4px 10px !important;
    background: url(../img/icon-arrow@2x.png) left center / 6px 6px no-repeat !important;
    display: inline-block !important;
}

#benesse-header {
    background-color: #ffffff !important;
    position: relative !important;
    z-index: 999999 !important;
    padding: 0 !important; 
    margin: 0 !important;
    border-bottom: 1px solid #333333 !important; 
}
#benesse-header .benesse-header__inner {
    padding-bottom: 0 !important;
}
#benesse-header .benesse-header__logo {
    float: left !important;
    display: inline !important; 
    margin: -12px 0 0 -12px !important;
}

#benesse-header .benesse-header__logo a {
    display: inline-block !important;
}

#benesse-header .benesse-header__logo img {
    display: block !important;
    width: 130px !important;
    height: 43px !important;
    border: none !important;
}

#benesse-header .benesse-header__link {
    float: right !important;
    margin-top: -1px !important;
    margin-bottom: 8px !important;
    margin-left: 0 !important;
}

#benesse-footer .benesse-footer__link {
    float: left !important;
    display: inline !important; 
}

#benesse-footer .benesse-footer__copyright {
    display: block !important;
    color: #666 !important;
    font-size: 11px !important;
    text-align: left !important;
    margin-top: 8px !important;
}
#benesse-footer .benesse-footer__right img {
    display: block !important;
    width: 130px !important; 
    height: auto !important;
}
* ==========================================================================
   MS FOOTER STYLES (SỬ DỤNG GRID ĐỂ CHIA CỘT CHUẨN)
   ========================================================================== */

.ms-footer {
    background-color: #fff !important;
    width: 100%;
    border-top: none !important;
    font-family: "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    padding: 20px 0;
    position: relative;
    z-index: 9999;
    text-align: left !important; /* Bắt buộc căn trái để đè các style global */
}

/* Khung giới hạn độ rộng */
.ms-footer .innerWrap {
    max-width: 926px;
    margin: 0 auto;
    padding: 0 12px;
    box-sizing: content-box;
}

/* --- GRID LAYOUT: CHIA 2 CỘT --- */
.ms-footer .footer-bottom__wrap {
    display: grid;
    grid-template-columns: 1fr auto; /* Cột trái giãn tự động, Cột phải theo kích thước Logo */
    align-items: center; /* Căn giữa theo chiều dọc */
    gap: 5px; /* Khoảng cách giữa các hàng */
}

/* 1. Danh sách Link (Nằm ở Hàng 1, Cột 1 - Bên trái) */
.ms-footer .footer-bottom__list {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 5px 0;
    padding: 0;
    list-style: none;
    text-align: left !important;
}

.ms-footer .footer-bottom__list li {
    display: inline-block;
    margin-right: 15px;
    font-size: 12px;
    line-height: 1.5;
}

.ms-footer .footer-bottom__list li a {
    color: #0070cb;
    text-decoration: underline;
}
.ms-footer .footer-bottom__list li a:hover {
    text-decoration: none;
}

/* 2. Copyright (Nằm ở Hàng 2, Cột 1 - Bên trái, dưới Link) */
.ms-footer .copy {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    font-size: 11px;
    color: #666;
    text-align: left !important;
    line-height: 1.5;
}

/* 3. Logo (Nằm ở Cột 2 - Bên phải, Chiếm chiều cao của cả 2 hàng text) */
.ms-footer .footer-logo {
    grid-column: 2;
    grid-row: 1 / 3; /* Logo trải dài từ hàng 1 xuống hàng 2 */
    justify-self: end; /* Đẩy logo sát lề phải */
    margin-left: 20px; /* Khoảng cách an toàn với chữ */
    display: block;
}

.ms-footer .footer-logo img {
    width: 130px;
    height: auto;
    display: block;
}

/* --- RESPONSIVE MOBILE (SP) --- */
/* Khi màn hình nhỏ, chuyển về dạng cột dọc */
@media screen and (max-width: 768px) {
    .ms-footer .footer-bottom__wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start; /* Căn trái toàn bộ trên mobile */
    }
    
    .ms-footer .footer-logo {
        margin-left: 0;
        margin-top: 15px;
        align-self: flex-start; 
    }
}
/* ==========================================================================
   MS FOOTER STYLES
   ========================================================================== */

.ms-footer {
    background-color: #fff !important;
    width: 100%;
    border-top: none !important;
    font-family: "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
    
    /* Khoảng cách khung xanh */
    padding-top: 50px !important;
    padding-bottom: 30px !important;
    
    position: relative;
    z-index: 9999;
    text-align: left !important;
}

.ms-footer .innerWrap {
    max-width: 926px;
    margin: 0 auto;
    padding: 0 12px;
    box-sizing: border-box;
}

/* --- GRID LAYOUT: QUAN TRỌNG --- */
.ms-footer .footer-bottom__wrap {
    display: grid !important; /* Dùng Grid thay vì Flex */
    
    /* Chia 2 cột: Cột 1 (1fr) chiếm hết khoảng trống, Cột 2 (auto) vừa đủ cho Logo */
    grid-template-columns: 1fr auto !important;
    
    /* Căn các phần tử xuống đáy để thẳng hàng đẹp mắt */
    align-items: end !important; 
    
    /* Khoảng cách giữa các hàng */
    row-gap: 5px; 
}

/* 1. Link (Đặt ở Cột 1, Hàng 1) -> Luôn bên trái */
.ms-footer .footer-bottom__list {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 5px 0 !important;
    padding: 0;
    list-style: none;
    text-align: left !important;
}

.ms-footer .footer-bottom__list li {
    display: inline-block;
    margin-right: 20px !important;
    font-size: 12px;
    line-height: 1;
}

/* Màu Link xanh */
.ms-footer .footer-bottom__list li a {
    color: #0070cb !important;
    text-decoration: underline !important;
}
.ms-footer .footer-bottom__list li a:hover {
    text-decoration: none !important;
}

/* 2. Copyright (Đặt ở Cột 1, Hàng 2) -> Luôn bên trái, dưới Link */
.ms-footer .copy {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    font-size: 11px;
    color: #666;
    text-align: left !important; /* Đảm bảo căn trái */
    line-height: 1.5;
    white-space: nowrap; /* Giữ chữ trên 1 dòng nếu có thể */
}

/* 3. Logo (Đặt ở Cột 2, Kéo dài từ Hàng 1 xuống Hàng 2) -> Luôn bên phải */
.ms-footer .footer-logo {
    grid-column: 2;
    grid-row: 1 / span 2; /* Chiếm cả 2 hàng dọc */
    display: block;
    margin-left: 20px;
}

.ms-footer .footer-logo img {
    width: 130px;
    height: auto;
    display: block;
}

/* --- RESPONSIVE MOBILE (SP) --- */
@media screen and (max-width: 768px) {
    .ms-footer .footer-bottom__wrap {
        display: flex !important; /* Về lại Flex dọc cho mobile */
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 15px;
    }
    
    .ms-footer .footer-logo {
        margin-left: 0;
        margin-top: 10px;
    }
    
    .ms-footer {
        padding-top: 30px !important;
    }
    
    .ms-footer .copy {
        white-space: normal; /* Cho phép xuống dòng trên mobile */
    }
}
/* ==========================================================================
   IMPORTANT: SCOPED STYLES
   ========================================================================== */

#campaign-web-pc .info {
    width: 100%;
    max-width: min(calc(1600 / 750 * 100vw),160rem);
    margin: 0 auto;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    color: #2a3054;
    text-align: center;
    overflow: visible !important; 
}
#campaign-web-pc .info .pc { display: inline-block; }
#campaign-web-pc .info .sp { display: none; }
#campaign-web-pc .info .palt {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

#campaign-web-pc .KV {
    position: relative;
    z-index: 1 !important;
}
#campaign-web-pc .KV.pc {
    position: relative;
    z-index: 1 !important;
}
#campaign-web-pc .KV .sp { display: inline-block; }

#campaign-web-pc .KV_CTA_pc {
    position: absolute;
    bottom: 37%;
    left: 68%;
    transform: translateX(-50%);
    z-index: 2 !important;
}
#campaign-web-pc .KV_CTA_pc img {
    width: min(27.31vw,43.7rem);
    box-sizing: border-box;
}

#campaign-web-pc .character-intro {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: visible !important; 
    z-index: 1 !important;
    margin-top: 0;
}

#campaign-web-pc .character-intro__inner {
    position: relative;
    width: 100%;
    text-align: center;
}

#campaign-web-pc .layer-bg-bottom {
    position: absolute;
    top: 200px; 
    left: -5% !important; /* Căn giữa lại vì width là 110% */
    width: 110% !important; /* Dùng !important để đè max-width */
    max-width: none !important; /* Gỡ bỏ giới hạn 100% của thẻ img chung */
    height: 105%;
    object-fit: cover; 
    object-position: 80% center; 
    z-index: 1; 
    pointer-events: none;
    display: block !important; /* Đảm bảo không bị ẩn */
    opacity: 1 !important;
}

/* FIX: Gom nhóm layer-bg-top và layer-bg-top-end để cùng kiểu hiển thị */
#campaign-web-pc .layer-bg-top, 
#campaign-web-pc .layer-bg-top-end {
    position: absolute;
    top: -200px !important; 
    width: 110%; 
    left: -1%; 
    height: 110%;
    z-index: 20;
    pointer-events: none;
}

#campaign-web-pc .layer-main {
    position: relative;
    display: block;
    width: 200%;
    max-width: 1000px;
    height: auto;
    z-index: 5;
    margin: 100px auto 0;
}

#campaign-web-pc .layer-center-group {
    position: relative;
    z-index: 6;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 60px;
}

#campaign-web-pc .layer-center-group .img-block {
    display: block;
    width: 90%;
    max-width: 1000px;
    height: auto;
    margin: 0 auto;
}

/* FIX: Định dạng cho cả thẻ a và thẻ div có class link-cta */
#campaign-web-pc .layer-center-group .link-cta {
    display: block;
    width: 90%; 
    max-width: 800px; 
    margin: 60px auto 60px; 
    z-index: 20;
    position: relative;
    /* Xóa con trỏ chuột nếu không phải thẻ a */
    cursor: default;
    transition: transform 0.3s ease;
}
/* Nếu là thẻ a thì mới hiện con trỏ */
#campaign-web-pc .layer-center-group a.link-cta {
    cursor: pointer;
}

#campaign-web-pc .layer-center-group .link-cta:hover {
    transform: scale(1.05);
}

#campaign-web-pc .layer-center-group .link-cta img {
    width: 100%;
    height: auto;
}

#campaign-web-pc .green-box-wrapper {
    width: 100%; 
    background-color: #e1f0d4; 
    padding: 40px 0; 
    box-sizing: border-box; 
    display: flex;
    justify-content: center;
    align-items: center;
}

#campaign-web-pc .layer-center-group .green-box-wrapper {
    margin-bottom: 30px; 
}

#campaign-web-pc .character-intro > .green-box-wrapper {
    position: relative;
    z-index: 20; 
    margin-top: 30px; 
}

#campaign-web-pc .green-box-wrapper .img-block {
    display: block;
    width: 82%; 
    max-width: 1000px;
    height: auto;
    margin: 0 auto;
}
#campaign-web-pc .layer-center-group > img.img-block {
    width: 70% !important; 
    max-width: 715px;   
    margin: 0 auto 20px;   
}

#campaign-web-pc .campaign-notes {
    background-color: #5ab533; 
    color: #ffffff;
    padding: 50px 20px;
    width: 100%;
    box-sizing: border-box;
}

#campaign-web-pc .campaign-notes__inner {
    max-width: 900px; 
    margin: 0 auto;
}

#campaign-web-pc .notes-title {
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 40px;
    color: #ffffff;
    letter-spacing: 0.05em;
}

#campaign-web-pc .notes-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#campaign-web-pc .notes-list li {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 10px;
    padding-left: 1.5em;
    position: relative;
    text-align: left;
}

#campaign-web-pc .notes-list li::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
}

@media screen and (min-width: 768px) {
    #campaign-web-pc .section.sp { display: none !important; }
}

/* ==========================================================================
   2. MAIN STYLES (SCOPED & FIXED)
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@400;700&display=swap&ABOUTJUDGECHALLENGEIMPACTREPRODUCIBILITYENTRYQ");

#campaign-web-pc *, 
#campaign-web-pc *::before, 
#campaign-web-pc *::after { 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
}

#campaign-web-pc h1, #campaign-web-pc h2, #campaign-web-pc h3, 
#campaign-web-pc h4, #campaign-web-pc h5, #campaign-web-pc p, 
#campaign-web-pc figure, #campaign-web-pc blockquote, 
#campaign-web-pc dl, #campaign-web-pc dd { margin: 0; }

#campaign-web-pc ul[role=list], 
#campaign-web-pc ol[role=list] { list-style: none; }

#campaign-web-pc img, 
#campaign-web-pc picture { max-width: 100%; display: block; height: auto; }

#campaign-web-pc input, #campaign-web-pc button, 
#campaign-web-pc textarea, #campaign-web-pc select { font: inherit; }

#campaign-web-pc button { -moz-appearance: none; appearance: none; -webkit-appearance: none; border: none; }

#campaign-web-pc ol, #campaign-web-pc ul { list-style-type: none; padding: 0; margin: 0; }

/* FIX: Đã xóa opacity: 0 để hiện nội dung ngay lập tức */
#campaign-web-pc { 
    font-size: 62.5%; 
    font-family: "Noto Sans JP", sans-serif; 
    font-weight: 400; 
    color: #333; 
    line-height: 1.5; 
    width: 100%; 
    margin: 0 auto; 
    font-size: clamp(1.4rem, 1.3333333333vw, 1.6rem); 
    opacity: 1; /* HIỆN LUÔN, KHÔNG ẨN */
}

#campaign-web-pc .quicksand { font-family: "Quicksand", sans-serif; }
#campaign-web-pc .josefin, 
#campaign-web-pc .award-content section.judge .judge__detail-list li:before { font-family: "Josefin Sans", sans-serif; }
#campaign-web-pc .zenmaru { font-family: "Zen Maru Gothic", sans-serif; }
#campaign-web-pc .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; }
@font-face { font-family: "Noto Sans JP"; font-style: normal; font-weight: 400; src: url("../../assets/font/NotoSansJP-Regular.woff") format("woff"); }
@font-face { font-family: "Noto Sans JP"; font-style: normal; font-weight: 700; src: url("../../assets/font/NotoSansJP-Bold.woff") format("woff"); }

#campaign-web-pc .entry-button { background-color: #cc9305; color: white; width: 50.8rem; height: 7.2rem; border-radius: 6px; font-weight: bold; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 auto; position: relative; -webkit-box-shadow: 0px 8px 0 0 rgba(0, 0, 0, 0.15); box-shadow: 0px 8px 0 0 rgba(0, 0, 0, 0.15); -webkit-transition: 0.4s opacity, 0.4s -webkit-box-shadow, 0.4s -webkit-transform; transition: 0.4s opacity, 0.4s -webkit-box-shadow, 0.4s -webkit-transform; transition: 0.4s opacity, 0.4s box-shadow, 0.4s transform; transition: 0.4s opacity, 0.4s box-shadow, 0.4s transform, 0.4s -webkit-box-shadow, 0.4s -webkit-transform; }
#campaign-web-pc .entry-button:hover { opacity: 0.7; -webkit-transform: translateY(8px); transform: translateY(8px); -webkit-box-shadow: 0px 0px 0 0 rgba(0, 0, 0, 0.15); box-shadow: 0px 0px 0 0 rgba(0, 0, 0, 0.15); }
#campaign-web-pc .entry-button.disabled { pointer-events: none; }
#campaign-web-pc .entry-button.disabled::after { content: none; }
#campaign-web-pc .entry-button::after { content: ""; position: absolute; width: 9px; height: 9px; border-top: solid 2px white; border-right: solid 2px white; top: 50%; -webkit-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); right: 2.4rem; }
#campaign-web-pc .entry-button br { display: none; }
#campaign-web-pc .entry-button.more { background-color: white; border: solid 2px #cc9305; color: #cc9305; }
#campaign-web-pc .entry-button.more:after { border-color: #cc9305; }
#campaign-web-pc .entry-button.more.more--bg { background-color: #ffffff; }
#campaign-web-pc .entry-button.subject-archive { margin-top: clamp(60px, 6.7796610169vw, 80px); margin-bottom: clamp(21px, 2.3728813559vw, 28px); color: #2a3054; border-color: #2a3054; border-radius: clamp(9px, 1.0169491525vw, 12px); }
#campaign-web-pc .entry-button.subject-archive:after { border-color: #2a3054; }

#campaign-web-pc .pc-hide { display: none; }
#campaign-web-pc .sp-hide { display: block; }

#campaign-web-pc .fz20 { font-size: clamp(0.8rem, 0.8333333333vw, 1rem); }
#campaign-web-pc .fz22 { font-size: clamp(0.9rem, 0.9166666667vw, 1.1rem); }
#campaign-web-pc .fz24 { font-size: clamp(1rem, 1vw, 1.2rem); }
#campaign-web-pc .fz26 { font-size: clamp(1.1rem, 1.0833333333vw, 1.3rem); }
#campaign-web-pc .fz28, 
#campaign-web-pc .award-content section.entry .entry__flow > li .entry__flow--cont small, 
#campaign-web-pc .award-content section.entry .entry__detail-wrap dd small, 
#campaign-web-pc .award-content section.judge .judge__copy small { font-size: clamp(1.2rem, 1.1666666667vw, 1.4rem); }
#campaign-web-pc .fz30 { font-size: clamp(1.3rem, 1.25vw, 1.5rem); }
#campaign-web-pc .fz32 { font-size: clamp(1.4rem, 1.3333333333vw, 1.6rem); }
#campaign-web-pc .fz34 { font-size: clamp(1.5rem, 1.4166666667vw, 1.7rem); }
#campaign-web-pc .fz36, 
#campaign-web-pc .award-content .logo-area.form .innerWrap p, 
#campaign-web-pc .award-content section.entry .entry__detail-wrap dd, 
#campaign-web-pc .award-content section.judge .judge__indent-list li, 
#campaign-web-pc .award-content section.judge .judge__copy { font-size: clamp(1.5rem, 1.5vw, 1.8rem); }
#campaign-web-pc .fz40, 
#campaign-web-pc .award-content .logo-area .innerWrap figure figcaption, 
#campaign-web-pc .award-content section.entry .entry__detail-wrap dt, 
#campaign-web-pc .award-content section.about .innerWrap .about__paragraph p, 
#campaign-web-pc .entry-button { font-size: clamp(1.6rem, 1.6666666667vw, 2rem); }
#campaign-web-pc .fz44, 
#campaign-web-pc .award-content section.entry .entry__detail-wrap:first-child dd { font-size: clamp(2rem, 1.8333333333vw, 2.2rem); }
#campaign-web-pc .fz48, 
#campaign-web-pc .award-content section.entry .entry__flow > li .entry__flow--cont h4, 
#campaign-web-pc .award-content section.judge .judge__detail-list li:before { font-size: clamp(1.8rem, 2vw, 2.4rem); }
#campaign-web-pc .fz50 { font-size: clamp(2.3rem, 2.0833333333vw, 2.5rem); }
#campaign-web-pc .fz52 { font-size: clamp(2.4rem, 2.1666666667vw, 2.6rem); }
#campaign-web-pc .fz56, 
#campaign-web-pc .judge-wrap .judge-wrap__title { font-size: clamp(2.5rem, 2.3333333333vw, 2.8rem); }
#campaign-web-pc .fz64, 
#campaign-web-pc .award-content section.entry .entry__flow-title, 
#campaign-web-pc .award-content section.judge .judge__member h3, 
#campaign-web-pc .award-content section.about .innerWrap h3 { font-size: clamp(2.2rem, 2.6666666667vw, 3.2rem); }
#campaign-web-pc .fz72, 
#campaign-web-pc .award-content section.judge .judge__detail-list li h3 { font-size: clamp(2.4rem, 3vw, 3.6rem); }
#campaign-web-pc .fz78 { font-size: clamp(3.7rem, 3.25vw, 3.9rem); }
#campaign-web-pc .fz120 { font-size: clamp(4rem, 5vw, 6rem); }