body {
    -webkit-text-size-adjust: 100%
}

#info-contest-wrapper * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    background-size: contain;
    background-repeat: no-repeat;
    letter-spacing: .05em
}

#info-contest-wrapper ul,
#info-contest-wrapper ol {
    list-style: none
}

#info-contest-wrapper :where(a) {
    color: #000;
    text-decoration: none
}

#info-contest-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom
}

#info-contest-wrapper button {
    text-align: left;
    background-color: rgba(0, 0, 0, 0);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

#info-contest-wrapper summary {
    list-style: none
}

#info-contest-wrapper summary::-webkit-details-marker {
    display: none
}

@media print,
screen and (max-width: 991.98px) {
    .lgPcOnly {
        display: none
    }
}

@media print,
screen and (max-width: 767.98px) {
    .pcOnly {
        display: none
    }
}

@media print,
screen and (min-width: 992px) {
    .tabOnly {
        display: none
    }
}

@media print,
screen and (max-width: 991.98px) {
    .tabOnly {
        display: block
    }
}

@media print,
screen and (max-width: 767.98px) {
    .tabOnly {
        display: none
    }
}

@media print,
screen and (min-width: 768px) {
    .spOnly {
        display: none
    }
}

@media print,
screen and (min-width: 560px) {
    .ex-sp-only {
        display: none
    }
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important
}

.opacity-animation {
    opacity: 1;
    -webkit-transition: opacity var(--transition-primary);
    transition: opacity var(--transition-primary)
}

@media(any-hover: hover) {
    .opacity-animation:hover {
        opacity: .7
    }
}

.opacity-animation:focus-visible {
    opacity: .7
}

html {
    background-color: #f2f2f2;
    scroll-behavior: smooth
}

#info-contest-wrapper {
    --inner-width: 1200px;
    --inner-width-sm: 800px;
    --side-padding: 20px;
    --side-padding-lg: 36px;
    --section-padding-block: 53px;
    --section-padding-block-sm: 34px;
    --base-color: #1c1c1c;
    --transition-primary: 0.3s ease;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
    font-size: 14px;
    line-height: 1.75;
    letter-spacing: .05em;
    color: var(--base-color);
    background-color: #f2f2f2
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper {
        font-size: 18px
    }
}

#info-contest-wrapper button {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif
}

#info-contest-wrapper :is(a, button) {
    color: var(--base-color)
}

#info-contest-wrapper .inner {
    max-width: calc(var(--inner-width) + var(--side-padding)*2);
    margin-inline: auto;
    padding-inline: var(--side-padding)
}

#info-contest-wrapper .inner-sm {
    max-width: calc(var(--inner-width-sm) + var(--side-padding-lg)*2);
    margin-inline: auto;
    padding-inline: var(--side-padding-lg)
}

#info-contest-wrapper .group-gold {
    --group-color: #968863
}

#info-contest-wrapper .group-silver {
    --group-color: #909090
}

#info-contest-wrapper .group-bronze {
    --group-color: #8d5d1c
}

#info-contest-wrapper.group-general,
#info-contest-wrapper .group-general {
    --group-color: #797979;
    --group-lighter-color: #e6e6e6
}

#info-contest-wrapper.group-campione,
#info-contest-wrapper .group-campione {
    --group-color: #cc681c;
    --group-lighter-color: #f0e9e3
}

#info-contest-wrapper.group-newcomer,
#info-contest-wrapper .group-newcomer {
    --group-color: #4295c6;
    --group-lighter-color: #e6ecef
}

#info-contest-wrapper.group-video,
#info-contest-wrapper .group-video {
    --group-color: #469c76;
    --group-lighter-color: #e6ecea
}

#info-contest-wrapper.group-xperia,
#info-contest-wrapper .group-xperia {
    --group-color: #9470b2;
    --group-lighter-color: #ece9ee
}

#info-contest-wrapper hgroup:has(h2) {
    margin-bottom: 26px
}

#info-contest-wrapper hgroup:has(h2) p {
    font-size: 14px;
    font-weight: bold;
    margin-top: 10px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper hgroup:has(h2) p {
        font-size: 22px;
        margin-top: 9px
    }
}

#info-contest-wrapper hgroup h2 {
    height: 26px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper hgroup h2 {
        height: 34px
    }
}

#info-contest-wrapper hgroup h2 picture {
    display: block;
    height: 100%
}

#info-contest-wrapper hgroup h2 img {
    width: auto;
    height: 100% !important
}

#info-contest-wrapper h3 {
    font-size: 22px;
    margin-bottom: 16px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper h3 {
        font-size: 26px;
        margin-bottom: 21px
    }
}

#info-contest-wrapper h3 span {
    font-size: 14px;
    line-height: 1.5
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper h3 span {
        display: block
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper h3 span {
        font-size: 16px
    }
}

#info-contest-wrapper .corner-decoration {
    background-image: url("../img/part_corner_top_left-sp.svg"), url("../img/part_corner_top_right-sp.svg"), url("../img/part_corner_bottom_left-sp.svg"), url("../img/part_corner_bottom_right-sp.svg");
    background-size: 38px 38px;
    background-position: top left, top right, bottom left, bottom right;
    padding: 14px 12px 20px
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper .corner-decoration {
        margin-inline: -12px
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .corner-decoration {
        background-image: url("../img/part_corner_top_left.svg"), url("../img/part_corner_top_right.svg"), url("../img/part_corner_bottom_left.svg"), url("../img/part_corner_bottom_right.svg");
        background-size: 50px 50px;
        padding: 23px 20px 35px
    }
}

#info-contest-wrapper .borderTitle {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: bold;
    border-bottom: 2px solid currentColor
}

#info-contest-wrapper .linkText {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: currentColor;
    opacity: 1;
    -webkit-transition: var(--transition-primary);
    transition: var(--transition-primary);
    -webkit-transition-property: text-decoration-color, opacity;
    transition-property: text-decoration-color, opacity;
    color: #35719c;
    text-decoration: underline;
    text-underline-offset: 1px;
    overflow-wrap: break-word
}

@media(any-hover: hover) {
    #info-contest-wrapper .linkText:hover {
        text-decoration-color: rgba(0, 0, 0, 0);
        opacity: .7
    }
}

#info-contest-wrapper .linkText:focus-visible {
    text-decoration-color: rgba(0, 0, 0, 0);
    opacity: .7
}

#info-contest-wrapper .linkText[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url("../img/icon_blank.svg");
    margin-left: 4px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .linkText[target=_blank]::after {
        margin-left: 4px;
        margin-right: 4px
    }
}

#info-contest-wrapper .descriptionItem summary {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    column-gap: 12px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    border: solid #d8d8d8;
    border-width: 2px 0;
    cursor: pointer;
    padding: 11px 16px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem summary {
        font-size: 22px;
        padding: 14px 20px
    }
}

#info-contest-wrapper .descriptionItem summary::after {
    content: "";
    display: block;
    width: 10px;
    height: 6px;
    background-image: url("../img/icon_arrow_top.svg");
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem summary::after {
        width: 17px;
        height: 10px
    }
}

#info-contest-wrapper .descriptionItem[open] summary::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

#info-contest-wrapper .descriptionItem .accordion_content {
    overflow: hidden
}

#info-contest-wrapper .descriptionItem [style="overflow: hidden"] {
    padding-top: 16px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem [style="overflow: hidden"] {
        padding-top: 26px
    }
}

#info-contest-wrapper .descriptionItem .borderTitle {
    font-size: 16px;
    margin-bottom: 8px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem .borderTitle {
        font-size: 22px;
        margin-bottom: 14px
    }
}

#info-contest-wrapper .descriptionItem dl+* {
    margin-top: 8px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem dl+* {
        margin-top: 18px
    }
}

#info-contest-wrapper .descriptionItem ol {
    display: grid;
    row-gap: 10px;
    counter-reset: descriptionItem-number
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem ol {
        row-gap: 7px
    }
}

#info-contest-wrapper .descriptionItem ol li {
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    column-gap: 12px;
    counter-increment: descriptionItem-number
}

#info-contest-wrapper .descriptionItem ol li::before {
    content: counter(descriptionItem-number) "."
}

#info-contest-wrapper .descriptionItem ol+small {
    margin-top: 11px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem ol+small {
        margin-top: 18px
    }
}

#info-contest-wrapper .descriptionItem p+:not(p, small) {
    margin-top: 8px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem p+:not(p, small) {
        margin-top: 17px
    }
}

#info-contest-wrapper .descriptionItem small {
    display: block;
    font-size: 13px;
    margin-top: 3px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem small {
        font-size: 14px;
        margin-top: 0
    }
}

#info-contest-wrapper .descriptionItem+.descriptionItem {
    margin-top: 28px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .descriptionItem+.descriptionItem {
        margin-top: 42px
    }
}

#info-contest-wrapper .apply-container p {
    font-size: 13px;
    text-align: center
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .apply-container p {
        font-size: 14px
    }
}

#info-contest-wrapper .apply-container p a {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: currentColor;
    opacity: 1;
    -webkit-transition: var(--transition-primary);
    transition: var(--transition-primary);
    -webkit-transition-property: text-decoration-color, opacity;
    transition-property: text-decoration-color, opacity;
    color: #35719c
}

@media(any-hover: hover) {
    #info-contest-wrapper .apply-container p a:hover {
        text-decoration-color: rgba(0, 0, 0, 0);
        opacity: .7
    }
}

#info-contest-wrapper .apply-container p a:focus-visible {
    text-decoration-color: rgba(0, 0, 0, 0);
    opacity: .7
}

#info-contest-wrapper .apply-container p+.primary-button {
    margin-top: 5px
}

#info-contest-wrapper .primary-button {
    opacity: 1;
    -webkit-transition: opacity var(--transition-primary);
    transition: opacity var(--transition-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 18px;
    -moz-column-gap: 18px;
    column-gap: 18px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background-color: var(--group-color, #797979);
    border-radius: 4px;
    padding: 10px 8px
}

@media(any-hover: hover) {
    #info-contest-wrapper .primary-button:hover {
        opacity: .7
    }
}

#info-contest-wrapper .primary-button:focus-visible {
    opacity: .7
}

#info-contest-wrapper .primary-button::after {
    content: "";
    display: block;
    width: 7px;
    height: 12px;
    background-image: url("../img/icon_arrow_right.svg")
}

#info-contest-wrapper .secondary-button {
    opacity: 1;
    -webkit-transition: opacity var(--transition-primary);
    transition: opacity var(--transition-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    border: 2px solid #fff;
    border-radius: 4px;
    padding: 6px 32px
}

@media(any-hover: hover) {
    #info-contest-wrapper .secondary-button:hover {
        opacity: .7
    }
}

#info-contest-wrapper .secondary-button:focus-visible {
    opacity: .7
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .secondary-button {
        font-size: 18px;
        padding: 7px 32px
    }
}

#info-contest-wrapper .secondary-button::after {
    content: "";
    display: block;
    width: 7px;
    height: 12px;
    background-image: url("../img/icon_arrow_right.svg")
}

#info-contest-wrapper .groupList {
    display: grid;
    row-gap: 12px
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper .groupList {
        grid-template-columns: auto 1fr auto;
        row-gap: 20px
    }
}

#info-contest-wrapper .groupList>li {
    min-height: 90px;
    background-color: #eaeaea;
    border-left: 8px solid var(--group-color);
    padding: 17px 16px 20px 16px
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper .groupList>li {
        display: grid;
        grid-template-columns: subgrid;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        grid-column: 1/-1;
        padding: 18px 15px 18px 22px
    }
}

#info-contest-wrapper .groupList .heading {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .groupList .heading {
        font-size: 22px
    }
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper .groupList .heading {
        grid-column: 1/2;
        margin-right: 30px
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .groupList .theme {
        grid-column: 2/3;
        margin-right: 20px
    }
}

@media print,
screen and (max-width: 991.98px) {
    #info-contest-wrapper .groupList .theme+* {
        margin-top: 10px
    }
}

@media print,
screen and (max-width: 991.98px) {
    #info-contest-wrapper .groupList .theme+.primary-button {
        margin-top: 22px
    }
}

#info-contest-wrapper .groupList .theme dl {
    display: grid;
    grid-template-columns: auto 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    column-gap: 12px
}

#info-contest-wrapper .groupList .theme dt {
    height: 29px;
    font-size: 13px;
    font-weight: bold;
    line-height: 29px;
    border: 2px solid #000;
    border-radius: 4px;
    padding-inline: 10px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .groupList .theme dt {
        font-size: 14px
    }
}

#info-contest-wrapper .groupList .theme dd {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .groupList .theme dd {
        font-size: 18px
    }
}

#info-contest-wrapper .groupList .theme small {
    display: block;
    font-size: 13px;
    margin-top: 7px
}

@media print,
screen and (max-width: 991.98px) {
    #info-contest-wrapper .groupList .theme small {
        margin-bottom: -8px
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .groupList .theme small {
        font-size: 14px
    }
}

#info-contest-wrapper .groupList .apply-container {
    width: 221px
}

@media print,
screen and (max-width: 991.98px) {
    #info-contest-wrapper .groupList .apply-container {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px);
        margin-inline: auto
    }
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper .groupList .apply-container {
        width: 229px;
        grid-column: 3/4
    }
}

#info-contest-wrapper .groupList+h3 {
    margin-top: 33px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .groupList+h3 {
        margin-top: 41px
    }
}

#info-contest-wrapper .mv {
    color: #fff;
    background-color: #000;
    background-image: url("../img/bg_mv-sp.png");
    background-size: 100% auto;
    background-position: right top;
    padding-block: 40px 40px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv {
        background-image: url("../img/bg_mv.png");
        background-size: 1200px auto;
        background-position: center 60px;
        padding-block: 40px 96px
    }
}

#info-contest-wrapper .mv picture {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 15px
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper .mv picture {
        margin-inline: -20px
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv picture {
        margin-bottom: 56px
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv picture img {
        max-width: 1063px;
        width: 100%;
        margin-inline: auto
    }
}

#info-contest-wrapper .mv nav {
    margin-inline: auto;
    margin-bottom: 36px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv nav {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-bottom: 42px
    }
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper .mv nav ul {
        display: grid;
        gap: 16px 8px;
        grid-template-columns: repeat(2, 1fr)
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-column-gap: 28px;
        -moz-column-gap: 28px;
        column-gap: 28px
    }
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper .mv nav ul {
        -webkit-column-gap: 40px;
        -moz-column-gap: 40px;
        column-gap: 40px
    }
}

#info-contest-wrapper .mv nav a {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 8px;
    -moz-column-gap: 8px;
    column-gap: 8px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    border-bottom: 2px solid currentColor
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper .mv nav a {
        letter-spacing: 0
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv nav a {
        font-size: 22px;
        -webkit-column-gap: 20px;
        -moz-column-gap: 20px;
        column-gap: 20px
    }
}

#info-contest-wrapper .mv nav a::after {
    content: "";
    display: block;
    width: 10px;
    height: 6px;
    background-image: url("../img/icon_arrow_bottom_white.svg");
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: -webkit-transform .4s;
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv nav a::after {
        width: 17px;
        height: 10px
    }
}

#info-contest-wrapper .mv nav a:hover::after {
    -webkit-transform: translateY(3px);
    transform: translateY(3px)
}

#info-contest-wrapper .mv p {
    max-width: 756px;
    font-size: 16px;
    margin-inline: auto
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv p {
        font-size: 18px;
        text-align: center
    }
}

#info-contest-wrapper .mv p+p {
    margin-top: 8px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv p+p {
        margin-top: 18px
    }
}

#info-contest-wrapper .mv .announce {
    margin-inline: auto;
    margin-top: 12px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .mv .announce {
        margin-top: 26px
    }
}

#info-contest-wrapper .announce {
    max-width: 756px;
    width: 100%;
    color: #fff;
    font-weight: bold;
    background-color: #a02828;
    padding: 8px 12px 4px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .announce {
        padding: 9px 16px
    }
}

#info-contest-wrapper #category {
    padding-block: 48px 44px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #category {
        padding-block: 105px 105px
    }
}

#info-contest-wrapper #category .corner-decoration+* {
    margin-top: 40px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #category .corner-decoration+* {
        margin-top: 32px
    }
}

#info-contest-wrapper .info {
    background-color: #fdfdfd;
    padding: 32px 18px
}

#info-contest-wrapper .info::before {
    content: "";
    display: block;
    width: 108px;
    height: 12px;
    background-image: url("../img/icon_group_colors.svg");
    margin-inline: auto;
    margin-bottom: 6px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .info::before {
        margin-bottom: 4px
    }
}

#info-contest-wrapper .info .heading {
    font-size: 22px;
    font-weight: bold;
    text-align: center
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .info .heading {
        font-size: 26px
    }
}

#info-contest-wrapper .info dl {
    margin-top: 8px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .info dl {
        margin-top: 5px
    }
}

#info-contest-wrapper .info dt {
    font-size: 18px;
    line-height: 1.5;
    margin-inline: auto;
    margin-bottom: 10px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .info dt {
        font-size: 22px
    }
}

#info-contest-wrapper .info dd {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

#info-contest-wrapper #nominate-list {
    padding-block: 48px 44px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #nominate-list {
        padding-block: 105px 105px
    }
}

#info-contest-wrapper #nominate-list .corner-decoration+* {
    margin-top: 40px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #nominate-list .corner-decoration+* {
        margin-top: 32px
    }
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper #nominate-list .groupList .primary-button {
        max-width: 295px
    }
}

@media print,
screen and (max-width: 991.98px) {
    #info-contest-wrapper #nominate-list .groupList .primary-button {
        margin-inline: auto
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #nominate-list .groupList .primary-button {
        width: 279px
    }
}

#info-contest-wrapper #award-winning-works-list {
    padding-block: 48px 44px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #award-winning-works-list {
        padding-block: 105px 105px
    }
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper #award-winning-works-list hgroup h2 {
        height: 66px
    }
}

#info-contest-wrapper #award-winning-works-list .corner-decoration+* {
    margin-top: 40px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #award-winning-works-list .corner-decoration+* {
        margin-top: 32px
    }
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper #award-winning-works-list .groupList .primary-button {
        max-width: 295px
    }
}

@media print,
screen and (max-width: 991.98px) {
    #info-contest-wrapper #award-winning-works-list .groupList .primary-button {
        margin-inline: auto
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #award-winning-works-list .groupList .primary-button {
        width: 223px
    }
}

#info-contest-wrapper #judges,
#info-contest-wrapper #judges-comments {
    scroll-margin-top: 18px;
    padding-block: 0 36px
}

@media print,
screen and (min-width: 768px) {

    #info-contest-wrapper #judges,
    #info-contest-wrapper #judges-comments {
        scroll-margin-top: 46px;
        padding-block: 0 92px
    }
}

#info-contest-wrapper .judgeList {
    display: grid;
    row-gap: 35px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .judgeList {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px 32px
    }
}

#info-contest-wrapper .judgeList>li {
    display: grid;
    gap: 18px 20px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .judgeList>li {
        grid-template-columns: 27.4% 1fr
    }
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper .judgeList>li img {
        width: 65.7%
    }
}

#info-contest-wrapper .judgeList .label {
    margin-bottom: 14px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .judgeList .label {
        margin-top: -6px
    }
}

#info-contest-wrapper .judgeList .name {
    font-size: 18px;
    font-weight: bold
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .judgeList .name {
        font-size: 22px;
        line-height: 1.5
    }
}

#info-contest-wrapper .judgeList .title {
    font-size: 16px;
    line-height: 1.6875;
    margin-bottom: 8px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .judgeList .title {
        font-size: 18px;
        line-height: 1.5;
        margin-top: 3px;
        margin-bottom: 10px
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .judgeList p:not([class]) {
        font-size: 14px
    }
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper .title+.comments {
        margin-top: 11px
    }
}

#info-contest-wrapper .comments dt {
    font-size: 16px;
    font-weight: bold
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper .comments dt {
        line-height: 1.5;
        margin-bottom: 4px
    }
}

#info-contest-wrapper .comments dd {
    font-size: 14px
}

#info-contest-wrapper .comments+* {
    margin-top: 12px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .comments+* {
        margin-top: 9px
    }
}

#info-contest-wrapper .label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 9px 12px;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.5
}

#info-contest-wrapper .label li {
    border-bottom: 2px solid var(--group-color)
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .label li {
        font-size: 14px
    }
}

#info-contest-wrapper .label li::before {
    content: "";
    display: inline-block;
    width: 12px;
    aspect-ratio: 1/1;
    background-color: var(--group-color, #797979);
    border-radius: 50%;
    margin-top: calc((1ex - 1cap)*-1);
    margin-right: 4px
}

#info-contest-wrapper #prize {
    background-color: #ebebeb;
    padding-block: 46px 42px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #prize {
        padding-block: 106px 96px
    }
}

#info-contest-wrapper .prizeList {
    display: grid;
    gap: 12px 0
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 2.67%
    }
}

#info-contest-wrapper .prizeList>li {
    background-color: #fdfdfd;
    padding: 16px 5.48% 18px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList>li {
        padding: 26px 5.48% 26px
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList>li:nth-child(n+4):nth-child(-n+6) .group {
        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;
        height: 66px
    }
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper .prizeList>li:nth-child(n+4):nth-child(-n+6) .group {
        height: auto
    }
}

#info-contest-wrapper .prizeList .group {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 6px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList .group {
        font-size: 22px
    }
}

#info-contest-wrapper .prizeList .category {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    background-color: var(--group-color);
    border-radius: 4px;
    padding: 8px 4px 3px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList .category {
        font-size: 22px;
        padding: 4px 4px 2px
    }
}

#info-contest-wrapper .prizeList .prize {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    margin-top: 17px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList .prize {
        font-size: 18px
    }
}

#info-contest-wrapper .prizeList .point {
    display: grid;
    justify-items: center;
    font-weight: bold;
    line-height: 1.5;
    border-top: 1px solid #d8d8d8;
    padding: 8px 0 0;
    margin-top: 3px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList .point {
        margin-top: 6px
    }
}

#info-contest-wrapper .prizeList .point>span:nth-of-type(1) {
    font-size: 16px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList .point>span:nth-of-type(1) {
        font-size: 18px
    }
}

#info-contest-wrapper .prizeList .point>span:nth-of-type(2) {
    font-size: 26px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList .point>span:nth-of-type(2) {
        font-size: 32px;
        margin-top: -4px
    }
}

#info-contest-wrapper .prizeList .point>span:nth-of-type(2) span {
    font-size: 18px;
    margin-left: 3px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList .point>span:nth-of-type(2) span {
        font-size: 22px
    }
}

#info-contest-wrapper .prizeList .other {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    border-top: 1px solid #d8d8d8;
    padding-top: 8px;
    margin-top: 4px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList .other {
        font-size: 18px
    }
}

#info-contest-wrapper .prizeList+.present {
    margin-top: 12px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .prizeList+.present {
        margin-top: 32px
    }
}

#info-contest-wrapper .present {
    background-color: #fdfdfd;
    padding: 18px 18px 14px;
    margin-bottom: 34px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .present {
        padding: 29px 18px 26px;
        margin-bottom: 38px
    }
}

#info-contest-wrapper .present p {
    display: grid;
    gap: 10px 0;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper .present p {
        text-align: center
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .present p {
        grid-template-columns: auto 1fr;
        gap: 0 32px;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        font-size: 22px;
        margin-inline: auto
    }
}

#info-contest-wrapper #result {
    color: #fff;
    background-color: #000;
    padding-block: 46px 34px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #result {
        padding-block: 105px 89px
    }
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper #result .inner {
        display: grid;
        grid-template-columns: auto 1fr;
        -webkit-column-gap: 69px;
        -moz-column-gap: 69px;
        column-gap: 69px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper #result hgroup {
        margin-bottom: 0 !important
    }
}

#info-contest-wrapper #result .content b {
    font-size: 18px;
    font-weight: bold
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #result .content b {
        font-size: 22px
    }
}

#info-contest-wrapper #about-result {
    color: #fff;
    background-color: #000;
    padding-block: 46px 40px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #about-result {
        padding-block: 105px 89px
    }
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper #about-result .inner {
        display: grid;
        grid-template-columns: auto 1fr;
        -webkit-column-gap: 69px;
        -moz-column-gap: 69px;
        column-gap: 69px
    }
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper #about-result hgroup {
        margin-bottom: 0 !important
    }
}

#info-contest-wrapper #about-result .content b {
    font-size: 18px;
    font-weight: bold
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #about-result .content b {
        font-size: 22px
    }
}

#info-contest-wrapper #about-result .content b+* {
    margin-top: 16px
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper #about-result .content .secondary-button {
        max-width: 335px;
        width: 100%
    }
}

@media print,
screen and (max-width: 991.98px) {
    #info-contest-wrapper #about-result .content .secondary-button {
        margin-inline: auto
    }
}

#info-contest-wrapper #about-result .content .secondary-button+b {
    margin-top: 20px
}

#info-contest-wrapper .infos {
    display: grid;
    row-gap: 27px
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper .infos {
        margin-top: -14px
    }
}

#info-contest-wrapper .infos p {
    font-size: 16px;
    font-weight: bold
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .infos p {
        font-size: 18px
    }
}

#info-contest-wrapper .infos p+* {
    margin-top: 16px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .infos p+* {
        margin-top: 8px
    }
}

#info-contest-wrapper #guide {
    padding-block: 48px 36px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #guide {
        padding-block: 105px 90px
    }
}

#info-contest-wrapper #guide .guideDescription {
    font-size: 16px;
    line-height: 1.75;
    background: #fdfdfd;
    padding: 14px 16px;
    margin-top: 27px;
    margin-bottom: 40px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #guide .guideDescription {
        font-size: 18px;
        text-align: center;
        padding: 28px 16px 24px;
        margin-top: 42px;
        margin-bottom: 95px
    }
}

#info-contest-wrapper #guide .caution {
    display: block;
    font-size: 13px;
    margin-top: 36px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #guide .caution {
        font-size: 14px;
        text-align: center;
        margin-top: 26px
    }
}

#info-contest-wrapper #final-nominate {
    background-color: var(--group-lighter-color);
    padding-block: 46px 40px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #final-nominate {
        padding-block: 80px 96px
    }
}

#info-contest-wrapper #final-nominate:first-child {
    border-top: 8px solid var(--group-color)
}

#info-contest-wrapper .workTitle+* {
    margin-top: 26px
}

#info-contest-wrapper .workTitle h1+* {
    margin-top: 27px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workTitle h1+* {
        margin-top: 33px
    }
}

#info-contest-wrapper .workTitle img {
    display: block;
    width: auto;
    height: 103px;
    margin-inline: auto
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workTitle img {
        height: 155px
    }
}

#info-contest-wrapper .workTitle p {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workTitle p {
        font-size: 22px
    }
}

#info-contest-wrapper .workList {
    display: grid;
    gap: 20px 0
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 32px 16px
    }
}

#info-contest-wrapper .workList li {
    background-color: #fff;
    padding-bottom: 14px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workList li {
        padding-bottom: 10px
    }
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workList li {
        width: calc((100% - 16px)/2)
    }
}

@media print,
screen and (min-width: 992px) {
    #info-contest-wrapper .workList li {
        width: calc((100% - 32px)/3)
    }
}

#info-contest-wrapper .workList .photoBox {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workList .photoBox {
        width: auto
    }
}

#info-contest-wrapper .workList .photoBox iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 389/219;
    vertical-align: bottom
}

#info-contest-wrapper .workList .photoBox:has(iframe) {
    width: auto
}

#info-contest-wrapper .workList .photo {
    opacity: 1;
    -webkit-transition: opacity var(--transition-primary);
    transition: opacity var(--transition-primary);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    cursor: pointer
}

@media(any-hover: hover) {
    #info-contest-wrapper .workList .photo:hover {
        opacity: .7
    }
}

#info-contest-wrapper .workList .photo:focus-visible {
    opacity: .7
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workList .photo {
        width: 100%;
        aspect-ratio: 800/533
    }
}

#info-contest-wrapper .workList .photo img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workList .photo img {
        width: 100%
    }
}

#info-contest-wrapper .workList .tit {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    padding-inline: 16px;
    margin-top: 7px;
    margin-bottom: 1px;
    margin-inline: auto
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .workList .tit {
        margin-top: 12px;
        margin-bottom: 3px
    }
}

#info-contest-wrapper .workList .name {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: currentColor;
    opacity: 1;
    -webkit-transition: var(--transition-primary);
    transition: var(--transition-primary);
    -webkit-transition-property: text-decoration-color, opacity;
    transition-property: text-decoration-color, opacity;
    text-underline-offset: 1px;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 16px;
    color: #35719c;
    padding-inline: 16px
}

@media(any-hover: hover) {
    #info-contest-wrapper .workList .name:hover {
        text-decoration-color: rgba(0, 0, 0, 0);
        opacity: .7
    }
}

#info-contest-wrapper .workList .name:focus-visible {
    text-decoration-color: rgba(0, 0, 0, 0);
    opacity: .7
}

#info-contest-wrapper .photoBox {
    margin-inline: auto
}

#info-contest-wrapper .zoomButton {
    opacity: 1;
    -webkit-transition: opacity var(--transition-primary);
    transition: opacity var(--transition-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 8px;
    -moz-column-gap: 8px;
    column-gap: 8px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 14px;
    line-height: 1;
    border: 2px solid #000;
    cursor: pointer;
    padding: 3px 5px;
    margin-left: auto;
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
    cursor: pointer
}

@media(any-hover: hover) {
    #info-contest-wrapper .zoomButton:hover {
        opacity: .7
    }
}

#info-contest-wrapper .zoomButton:focus-visible {
    opacity: .7
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .zoomButton {
        font-size: 16px;
        padding: 6px 10px
    }
}

#info-contest-wrapper .zoomButton::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background-image: url("../img/icon_zoom.svg");
    background-size: contain;
    background-repeat: no-repeat
}

#info-contest-wrapper #announce-result {
    background-color: var(--group-lighter-color);
    padding-block: 46px 40px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #announce-result {
        padding-block: 80px 96px
    }
}

#info-contest-wrapper #announce-result:first-child {
    border-top: 8px solid var(--group-color)
}

#info-contest-wrapper #announce-result .award {
    margin-inline: auto
}

#info-contest-wrapper .resultTitle+* {
    margin-top: 19px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .resultTitle+* {
        margin-top: 26px
    }
}

#info-contest-wrapper .resultTitle h1+* {
    margin-top: 22px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .resultTitle h1+* {
        margin-top: 33px
    }
}

#info-contest-wrapper .resultTitle img {
    display: block;
    width: auto;
    height: 63px;
    margin-inline: auto
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .resultTitle img {
        height: 94px
    }
}

#info-contest-wrapper .resultTitle .category {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 18px;
    font-weight: bold;
    border: solid #1c1c1c;
    border-width: 3px 0;
    padding-block: 7px 3px;
    margin-inline: auto
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .resultTitle .category {
        font-size: 26px
    }
}

#info-contest-wrapper .resultTitle .name {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    margin-top: 9px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .resultTitle .name {
        font-size: 18px
    }
}

#info-contest-wrapper .award {
    max-width: 880px;
    background-color: #fff;
    border: 2px solid var(--group-color);
    padding: 0 14px 11px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .award {
        padding: 0 38px 32px
    }
}

#info-contest-wrapper .award .heading {
    font-size: 22px;
    color: #fff;
    text-align: center;
    background-color: var(--group-color);
    margin-inline: -14px;
    padding: 3px 12px;
    margin-bottom: 16px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .award .heading {
        font-size: 32px;
        padding: 11px 16px;
        margin-inline: -38px;
        margin-bottom: 18px
    }
}

#info-contest-wrapper .award strong {
    display: block;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5;
    color: var(--group-color);
    text-align: center;
    margin-bottom: 8px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .award strong {
        font-size: 18px;
        margin-bottom: 18px
    }
}

#info-contest-wrapper .award strong span {
    font-size: 18px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .award strong span {
        font-size: 26px
    }
}

#info-contest-wrapper .award .photoBox {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    cursor: pointer
}

#info-contest-wrapper .award .photoBox:has(iframe) {
    width: auto
}

#info-contest-wrapper .award .photo {
    opacity: 1;
    -webkit-transition: opacity var(--transition-primary);
    transition: opacity var(--transition-primary)
}

@media(any-hover: hover) {
    #info-contest-wrapper .award .photo:hover {
        opacity: .7
    }
}

#info-contest-wrapper .award .photo:focus-visible {
    opacity: .7
}

#info-contest-wrapper .award iframe {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9
}

#info-contest-wrapper .award .tit {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 12px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .award .tit {
        font-size: 26px;
        margin-top: 17px
    }
}

#info-contest-wrapper .award .tit a {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: currentColor;
    opacity: 1;
    -webkit-transition: var(--transition-primary);
    transition: var(--transition-primary);
    -webkit-transition-property: text-decoration-color, opacity;
    transition-property: text-decoration-color, opacity;
    text-underline-offset: 1px;
    font-size: 16px;
    font-weight: normal;
    color: #35719c
}

@media(any-hover: hover) {
    #info-contest-wrapper .award .tit a:hover {
        text-decoration-color: rgba(0, 0, 0, 0);
        opacity: .7
    }
}

#info-contest-wrapper .award .tit a:focus-visible {
    text-decoration-color: rgba(0, 0, 0, 0);
    opacity: .7
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .award .tit a {
        margin-left: 24px
    }
}

#info-contest-wrapper .award .tit span {
    font-size: 16px;
    font-weight: normal
}

#info-contest-wrapper .award dl {
    margin-top: 8px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .award dl {
        margin-top: 10px
    }
}

#info-contest-wrapper .award dl dt {
    font-size: 16px;
    font-weight: bold
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .award dl dt {
        font-size: 20px;
        margin-bottom: 2px
    }
}

#info-contest-wrapper .award dl dd {
    font-size: 16px
}

#info-contest-wrapper .award dl+dl {
    margin-top: 12px
}

#info-contest-wrapper .award+* {
    margin-top: 20px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .award+* {
        margin-top: 48px
    }
}

#info-contest-wrapper #recommend {
    background-color: #fff;
    padding-block: 34px 40px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #recommend {
        padding-block: 50px 60px
    }
}

#info-contest-wrapper #recommend h2 {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 6px
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper #recommend h2 {
        font-size: 32px;
        margin-bottom: 20px
    }
}

#info-contest-wrapper .bannerList {
    display: grid;
    row-gap: 20px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto
}

@media print,
screen and (min-width: 768px) {
    #info-contest-wrapper .bannerList {
        grid-template-columns: repeat(3, 1fr);
        -webkit-column-gap: 30px;
        -moz-column-gap: 30px;
        column-gap: 30px
    }
}

#info-contest-wrapper .bannerList a {
    opacity: 1;
    -webkit-transition: opacity var(--transition-primary);
    transition: opacity var(--transition-primary)
}

@media(any-hover: hover) {
    #info-contest-wrapper .bannerList a:hover {
        opacity: .7
    }
}

#info-contest-wrapper .bannerList a:focus-visible {
    opacity: .7
}

@media print,
screen and (max-width: 767.98px) {
    #info-contest-wrapper .bannerList img {
        width: 500px
    }
}

.fancybox__backdrop {
    background: rgba(0, 0, 0, .82) !important
}

.fancybox__slide {
    padding: 80px 0 20px !important
}

@media print,
screen and (min-width: 768px) {
    .fancybox__slide {
        padding: 80px 80px 20px !important
    }
}

[data-fancybox-close]:not(.is-close-btn) {
    display: none !important
}

.fancybox__caption {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    letter-spacing: .05em !important;
    color: #fff !important;
    padding: 14px 20px 4px !important
}

.fancybox__content {
    max-width: 1200px !important
}

.fancybox__content:has(iframe) {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important
}

.is-close-btn {
    width: 43px !important;
    height: 43px !important;
    background-image: url("../img/icon_modal_close.svg") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    right: 20px !important;
    top: -16px !important;
    -webkit-transform: translateY(-100%) !important;
    transform: translateY(-100%) !important;
    -webkit-transition: none;
    transition: none;
    border-radius: 0 !important
}

@media print,
screen and (min-width: 768px) {
    .is-close-btn {
        right: -4px !important;
        top: -4px !important;
        -webkit-transform: translate(100%, -100%) !important;
        transform: translate(100%, -100%) !important
    }
}

.is-close-btn svg {
    display: none
}

.fancybox-image {
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

[data-panzoom-action=iterateZoom] {
    display: none !important
}

[data-fancybox-toggle-fullscreen] {
    display: none !important
}