@charset "Shift_JIS";
@import "../css/scroll-hint.css";
@import "../css/swiper-bundle.min.css";

*, *::before, *::after {
    box-sizing: border-box
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
    margin: 0
}

ul[role="list"], ol[role="list"] {
    list-style: none
}

html:focus-within {
    scroll-behavior: smooth
}

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5
}

a:not([class]) {
    text-decoration-skip-ink: auto
}

img, picture {
    max-width: 100%;
    display: block
}

input, button, textarea, select {
    font: inherit
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto
    }

    *, *::before, *::after {
        scroll-behavior: auto !important
    }
}

html {
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    word-break: normal;
    -moz-tab-size: 4;
    tab-size: 4
}

*, ::before, ::after {
    background-repeat: no-repeat;
    box-sizing: border-box
}

::before, ::after {
    text-decoration: inherit;
    vertical-align: inherit
}

* {
    padding: 0;
    margin: 0
}

hr {
    overflow: visible;
    height: 0;
    color: inherit
}

details, main {
    display: block
}

summary {
    display: list-item
}

small {
    font-size: 80%
}

[hidden] {
    display: none
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

a {
    background-color: transparent
}

a:active, a:hover {
    outline-width: 0
}

code, kbd, pre, samp {
    font-family: monospace, monospace
}

pre {
    font-size: 1em
}

b, strong {
    font-weight: bolder
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    border-color: inherit;
    text-indent: 0
}

iframe {
    border-style: none
}

input {
    border-radius: 0
}

[type='number']::-webkit-inner-spin-button, [type='number']::-webkit-outer-spin-button {
    height: auto
}

[type='search'] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type='search']::-webkit-search-decoration {
    -webkit-appearance: none
}

textarea {
    overflow: auto;
    resize: vertical
}

button, input, optgroup, select, textarea {
    font: inherit
}

optgroup {
    font-weight: 700
}

button {
    overflow: visible;
    background: none
}

button, select {
    text-transform: none
}

button, [type='button'], [type='reset'], [type='submit'], [role='button'] {
    cursor: pointer
}

button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
    outline: 1px dotted ButtonText
}

button, html [type='button'], [type='reset'], [type='submit'] {
    -webkit-appearance: button
}

button, input, select, textarea {
    border-style: none
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
    outline-width: 0
}

select::-ms-expand {
    display: none
}

select::-ms-value {
    color: currentColor
}

legend {
    border: 0;
    color: inherit;
    display: table;
    white-space: normal;
    max-width: 100%
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    color: inherit;
    font: inherit
}

[disabled] {
    cursor: default
}

img {
    border-style: none
}

progress {
    vertical-align: baseline
}

[aria-busy='true'] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled='true'] {
    cursor: default
}

html {
    height: 100%;
    font-size: 62.5%
}

@media print, screen and (max-width: 1079px) {
    html {
        font-size: 12px
    }
}

@media print, screen and (max-width: 599px) {
    html {
        font-size: calc(100vw / 50)
    }
}

body {
    letter-spacing: .025em;
    color: #2D2D2D;
    background-color: #DEE8ED;
    font-size: 1.4rem;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 400;
    font-style: normal;
    overflow-x: hidden;
    overflow-y: auto;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%
}

@media print, screen and (max-width: 1079px) {
    body {
        padding-top: 8.8rem
    }
}

@media screen and (min-width: 1080px) {
    body {
        padding-top: 13.4rem
    }
}

section {
    position: relative;
    background-color: inherit;
    overflow: hidden
}

header, nav, main, footer, aside {
    position: relative;
    width: 100%
}

p {
    text-align: justify;
    hanging-punctuation: force-end;
    line-height: 2
}

p:first-child {
    margin-top: 0
}

p:last-child {
    margin-bottom: 0
}

a {
    color: #438DC4;
    text-decoration: none;
    outline: none;
    transition: all 0.25s
}

p a, table a {
    color: #438DC4;
    text-decoration: none;
    font-weight: 700;
    outline: none
}

p a:hover, table a:hover {
    text-decoration: underline;
    color: #193B6A
}

@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/mplusrounded1c/v20/VdGEAYIAV6gnpUpoWwNkYvrugw9RuPWG.ttf) format('truetype')
}

@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/mplusrounded1c/v20/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM1y55sK.ttf) format('truetype')
}

@font-face {
    font-family: 'M PLUS Rounded 1c';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/mplusrounded1c/v20/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsK.ttf) format('truetype')
}

@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/oswald/v57/TK3_WkUHHAIjg75cFRf3bXL8LICs1xZogUE.ttf) format('truetype')
}

@font-face {
    font-family: "sumicoco";
    src: url(data:font/ttf;charset=utf-8;base64,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) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: block
}

[class^="icon-"], [class*=" icon-"] {
    font-family: "sumicoco" !important;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

[class^="icon-"]:before, [class*=" icon-"]:before {
    font-size: 1.4em
}

.icon-open:before {
    content: "\f00e"
}

.icon-close:before {
    content: "\f00d"
}

.icon-envelope:before {
    content: "\f00c"
}

.icon-municipality:before {
    content: "\f00b"
}

.icon-railway:before {
    content: "\f00a"
}

.icon-station:before {
    content: "\f009"
}

.icon-star:before {
    content: "\f008"
}

.icon-pdf:before {
    content: "\f007"
}

.icon-marker:before {
    content: "\f006"
}

.icon-home:before {
    content: "\f005"
}

.icon-crown:before {
    content: "\f004"
}

.icon-arr_left:before {
    content: "\f003"
}

.icon-arr_down:before {
    content: "\f002"
}

.icon-arr_right:before {
    content: "\f001"
}

.icon-arr_up:before {
    content: "\f000"
}

:root {
    --theme-color: #193B6A
}

.c-slider {
    background: #193B6A;
    overflow: visible;
    position: relative
}

.c-slider__outer {
    position: relative;
    margin: 0 auto;
    box-sizing: border-box
}

@media screen and (min-width: 1080px) {
    .c-slider__outer {
        max-width: 1080px
    }
}

.c-slider__wrap {
    position: relative;
    margin: 0 auto
}

@media screen and (min-width: 1080px) {
    .c-slider__wrap {
        padding-right: 24rem
    }
}

.c-slider__wrap::before, .c-slider__wrap::after {
    content: "";
    background: rgba(25, 59, 106, .7);
    display: block;
    position: absolute;
    overflow-y: hidden;
    z-index: 100
}

@media screen and (min-width: 1080px) {
    .c-slider__wrap::before, .c-slider__wrap::after {
        height: 100%;
        width: 100vw;
        top: 0
    }
}

@media screen and (min-width: 1080px) {
    .c-slider__wrap::before {
        right: 100%
    }
}

@media print, screen and (max-width: 1079px) {
    .c-slider__wrap::before {
        display: none
    }
}

@media screen and (min-width: 1080px) {
    .c-slider__wrap::after {
        left: calc(1080px - 24rem)
    }
}

@media print, screen and (max-width: 1079px) {
    .c-slider__wrap::after {
        width: 100%;
        bottom: 0;
        height: 22.5rem;
        display: none
    }
}

.c-slider__slider {
    position: relative
}

.c-slider__arrows {
    position: absolute;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 100
}

@media screen and (min-width: 1080px) {
    .c-slider__arrows {
        width: calc(100% - 24rem);
        padding: 0 4rem;
        bottom: 2.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-slider__arrows {
        width: 100%;
        padding: 0 2rem;
        bottom: 8rem
    }
}

.c-slider__arrow {
    position: relative;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    display: flex;
    align-items: center;
    letter-spacing: .02em;
    padding: 0
}

@media screen and (min-width: 1080px) {
    .c-slider__arrow {
        width: 8rem;
        height: 3.2rem;
        font-size: 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-slider__arrow {
        width: 12rem;
        line-height: 1;
        height: 4rem;
        font-size: 2rem
    }
}

.c-slider__arrow::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(/sumicoco/2026/_asset/img/common/arr_scroll.svg) no-repeat left bottom / contain
}

.c-slider__arrow::after {
    display: none
}

.c-slider__arrow.--prev {
    justify-content: flex-end
}

.c-slider__arrow.--prev::before {
    transform: scaleX(-1)
}

.c-slider__arrow.--next {
    justify-content: flex-start
}

.c-slider__trac {
    overflow: visible;
    position: relative
}

@media screen and (min-width: 1080px) {
    .c-slider__trac {
        max-width: 1080px
    }
}

.c-slider__slide {
    position: relative
}

@media screen and (min-width: 1080px) {
    .c-slider__slide {
        width: 84rem
    }
}

.c-share {
    display: flex;
    justify-content: flex-end;
    gap: .6rem
}

.c-share a {
    display: block;
    height: 3.2rem;
    width: 3.2rem
}

.c-share img {
    display: block;
    width: 100%
}

.c-search #cse-search-box {
    display: grid;
    grid-template-areas:"input select submit";
    align-items: center;
    background: #fff;
    max-width: 72rem;
    width: 100%;
    margin: 0 auto
}

@media screen and (min-width: 1080px) {
    .c-search #cse-search-box {
        outline: max(.1rem, 1px) solid #999;
        border-radius: .8rem;
        height: 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-search #cse-search-box {
        border-radius: .5rem;
        height: 6rem;
        grid-template-areas:"input input submit" "select select select";
        grid-template-columns:2fr 7rem;
        background: transparent;
        width: auto
    }
}

.c-search #cse-search-box #tmp_query {
    border: none;
    width: 37.5rem;
    height: 100%;
    border-radius: .8rem 0 0 .8rem;
    padding: 0 1rem;
    grid-area: input
}

@media screen and (min-width: 1080px) {
    .c-search #cse-search-box #tmp_query {
        border-radius: .8rem 0 0 .8rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-search #cse-search-box #tmp_query {
        border-radius: .5rem 0 0 .5rem;
        outline: none;
        border: max(.1rem, 1px) solid #999;
        width: 100%;
        background: #fff
    }
}

.c-search #cse-search-box #cse_filetype {
    padding: 0 .8rem;
    grid-area: select
}

@media print, screen and (max-width: 1079px) {
    .c-search #cse-search-box #cse_filetype {
        width: auto
    }
}

.c-search #cse-search-box #cse_filetype legend > span {
    display: none
}

.c-search #cse-search-box #cse_filetype fieldset {
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    column-gap: 1.6rem
}

@media print, screen and (max-width: 1079px) {
    .c-search #cse-search-box #cse_filetype fieldset {
        justify-content: center
    }
}

@media screen and (min-width: 1080px) {
    .c-search #cse-search-box #cse_filetype fieldset {
        color: #2D2D2D
    }
}

.c-search #cse-search-box #submit {
    margin-left: auto;
    background: #193B6A;
    color: #fff;
    height: 100%;
    box-shadow: none;
    border: none;
    cursor: pointer;
    grid-area: submit
}

@media screen and (min-width: 1080px) {
    .c-search #cse-search-box #submit {
        width: 10.6rem;
        font-size: 1.4rem;
        border-radius: 0 .8rem .8rem 0
    }
}

@media print, screen and (max-width: 1079px) {
    .c-search #cse-search-box #submit {
        width: 7.5rem;
        font-size: 1.2rem;
        border-radius: 0 .5rem .5rem 0
    }
}

.c-button {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    background-color: #193B6A;
    color: #fff;
    text-align: center;
    border-radius: .4em;
    font-weight: 700;
    width: 100%
}

@media screen and (min-width: 1080px) {
    .c-button {
        font-size: 1.6rem;
        max-width: 38rem;
        height: 5rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-button {
        font-size: 1.4rem;
        max-width: 28rem;
        height: 4rem
    }
}

.c-button:hover {
    opacity: .6;
    text-decoration: none;
    color: #fff
}

.c-button::before {
    content: "";
    display: block;
    height: .8em;
    width: .8em;
    background-color: #fff;
    mask-image: url(/sumicoco/2026/_asset/img/icon/icon_arr_right.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain
}

.c-button.--sumicoco {
    background-color: #D70A2F
}

.c-button.--sumitai {
    background-color: #3C51C4
}

.c-button.--special {
    background-color: #5BA512
}

.c-button.--hokkaido {
    background-color: #95C12A
}

.c-button.--tohoku {
    background-color: #5BB5A2
}

.c-button.--kitakanto {
    background-color: #AFBF90
}

.c-button.--shutoken {
    background-color: #D4BF1B
}

.c-button.--koushinetsu {
    background-color: #98BB87
}

.c-button.--hokuriku {
    background-color: #7A9166
}

.c-button.--tokai {
    background-color: #906CA1
}

.c-button.--kansai {
    background-color: #E17C97
}

.c-button.--chugokushikoku {
    background-color: #D46C6C
}

.c-button.--kyushuokinawa {
    background-color: #E5864E
}

.c-button.--zenkoku {
    background-color: #0D3F74
}

.c-breadcrumb {
    position: relative;
    z-index: 100;
    background-color: #fff;
    border-top: max(.1rem, 1px) solid #D3D3D3;
    border-bottom: max(.1rem, 1px) solid #D3D3D3
}

.c-breadcrumb__inner {
    position: relative;
    margin: 0 auto
}

@media print, screen and (max-width: 1079px) {
    .c-breadcrumb__inner {
        height: 3rem;
        padding: 0 1.6rem
    }
}

@media screen and (min-width: 1080px) {
    .c-breadcrumb__inner {
        height: 3rem;
        padding: 0 2rem;
        max-width: 1080px
    }
}

.c-breadcrumb ol {
    padding: 0;
    margin: 0;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow-y: hidden
}

@media print, screen and (max-width: 1079px) {
    .c-breadcrumb ol {
        overflow-x: scroll;
        flex-wrap: nowrap
    }
}

.c-breadcrumb li {
    list-style: none;
    position: relative;
    flex-shrink: 0;
    padding: 0 .4rem 0 2.4rem;
    height: 100%;
    display: flex;
    align-items: center
}

.c-breadcrumb li:first-of-type::before {
    content: '';
    background: url(/sumicoco/2026/_asset/img/icon/icon_home.svg) no-repeat center center / cover;
    width: 1.4rem;
    height: 1.4rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0
}

.c-breadcrumb li:not(:first-child)::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-top: solid 1.5rem #fff;
    border-bottom: solid 1.5rem #fff;
    border-left: solid 1rem transparent
}

.c-breadcrumb li:not(:first-child)::before {
    content: '';
    position: absolute;
    top: 0;
    left: -.1rem;
    border-top: solid 1.5rem #D3D3D3;
    border-bottom: solid 1.5rem #D3D3D3;
    border-left: solid 1rem transparent;
    border-right: solid .1rem #D3D3D3
}

.c-breadcrumb li:last-child a {
    color: #2D2D2D
}

.c-breadcrumb span, .c-breadcrumb a {
    font-weight: 400;
    height: 2.4rem;
    min-height: 2.4rem;
    line-height: 2.4rem;
    display: block;
    font-size: max(1rem, 10px)
}

.c-breadcrumb a {
    color: #438DC4;
    text-decoration: none
}

.c-breadcrumb a:hover {
    text-decoration: underline
}

.c-accord {
    overflow: hidden;
    position: relative
}

.c-accord .c-accord__content {
    overflow: hidden;
    box-sizing: border-box;
    max-height: 0;
    transition: max-height 0.6s 0.2s ease-in
}

.c-accord .c-accord__content > * {
    opacity: 0;
    transform: translateY(-100%);
    transition: transform 0.5s 0.1s ease, opacity 0.25s linear
}

.c-accord .c-accord__button {
    position: relative
}

.c-accord .c-accord__button::before, .c-accord .c-accord__button::after {
    position: absolute;
    height: 1em;
    width: 1em;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transition: opacity 0.25s ease;
    font-family: 'icon' !important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.c-accord .c-accord__button::before {
    content: "\e911";
    opacity: 1
}

.c-accord .c-accord__button::after {
    content: "\e90e";
    opacity: 0
}

.c-accord.--active .c-accord__content {
    max-height: 3000px;
    transition: max-height 0.4s 0.2s ease-in
}

.c-accord.--active .c-accord__content > * {
    opacity: 1;
    transform: translateY(0);
    transition: transform 0.5s ease, opacity 0.25s 0.3s linear
}

.c-accord.--active .c-accord__button::before {
    opacity: 0
}

.c-accord.--active .c-accord__button::after {
    opacity: 1
}

.c-ranking-list {
    list-style: none;
    display: grid
}

@media print, screen and (max-width: 1079px) {
    .c-ranking-list {
        gap: 1rem;
        grid-template-columns:1fr
    }
}

@media screen and (min-width: 1080px) {
    .c-ranking-list {
        gap: 2rem;
        grid-template-columns:1fr 1fr
    }
}

.c-ranking-list li {
    list-style: none;
    position: relative;
    overflow: hidden
}

.c-ranking-list li a {
    display: block;
    position: relative;
    height: 100%;
    color: #2D2D2D
}

.c-ranking-list li a, .c-ranking-list li a:hover {
    text-decoration: none
}

.c-ranking-list li a:hover {
    opacity: .7
}

.c-ranking-list li.upcoming a {
    pointer-events: none
}

.c-ranking-list li.upcoming .c-ranking-list__link::after {
    content: "Coming Soon";
    background: rgba(25, 59, 106, .7);
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    color: #fff;
    border-radius: 1rem;
    overflow-y: hidden
}

.c-ranking-list__link {
    position: relative;
    height: calc(100% - 1rem);
    border: max(.1rem, 1px) solid #999;
    margin: .5rem;
    border-radius: 1rem;
    background: #fff no-repeat center right 1.5rem / 1rem auto
}

@media screen and (min-width: 1080px) {
    .c-ranking-list__link {
        padding: 1.6rem 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-ranking-list__link {
        padding: 1.6rem 1.6rem
    }
}

.c-ranking-list__link__description {
    color: #2D2D2D;
    font-size: 1.3rem;
    margin-top: 1.6rem;
    font-weight: 400;
    line-height: 1.8;
    text-align: center
}

.c-ranking-list__link__title {
    text-align: center;
    margin: 0 auto 2rem
}

.c-ranking-list__link__title img {
    display: block;
    margin: 0 auto
}

@media screen and (min-width: 1080px) {
    .c-ranking-list__link__title img {
        height: 3.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-ranking-list__link__title img {
        height: 8.4rem
    }
}

.c-ranking-list__link__title span {
    display: block;
    text-align: left;
    font-size: 2.4rem
}

@media print, screen and (max-width: 1079px) {
    .c-ranking-list__link__title span {
        font-size: 2rem
    }
}

.c-ranking-list__link .ribbon {
    display: block;
    position: absolute;
    color: #fff;
    text-align: center;
    transform: rotate(-45deg);
    transform-origin: center;
    line-height: 1.4em;
    font-size: 1.2rem
}

@media screen and (min-width: 1080px) {
    .c-ranking-list__link .ribbon {
        width: 10.8rem;
        left: -2.8rem;
        top: 1.6rem;
        padding-bottom: .25em
    }
}

@media print, screen and (max-width: 1079px) {
    .c-ranking-list__link .ribbon {
        width: 8.6rem;
        left: -2.4rem;
        padding-bottom: .15em;
        top: 1rem
    }
}

.c-ranking-list__link .ribbon::before, .c-ranking-list__link .ribbon::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid
}

.c-ranking-list__link .ribbon::before {
    border-width: .5rem .5rem .5rem 0;
    border-color: transparent #fff transparent transparent;
    bottom: -.6rem;
    left: -.1rem;
    transform: rotate(45deg)
}

.c-ranking-list__link .ribbon::after {
    border-width: 0 .5rem .5rem .5rem;
    border-color: transparent transparent #fff transparent;
    transform: rotate(45deg);
    bottom: -.4rem;
    right: -.3rem
}

.c-ranking-list__link.--sumicoco {
    background-image: url(/sumicoco/2026/_asset/img/icon/icon_arr_sumicoco.svg)
}

.c-ranking-list__link.--sumicoco .p-ranking-index__link__title {
    color: #D70A2F
}

.c-ranking-list__link.--sumicoco .category-icon {
    background-color: #D70A2F
}

.c-ranking-list__link.--sumicoco .ribbon {
    background-color: #D70A2F
}

.c-ranking-list__link.--sumicoco .ribbon::before {
    border-color: transparent #76051a transparent transparent
}

.c-ranking-list__link.--sumicoco .ribbon::after {
    border-color: transparent transparent #76051a transparent
}

.c-ranking-list__link.--sumitai {
    background-image: url(/sumicoco/2026/_asset/img/icon/icon_arr_sumitai.svg)
}

.c-ranking-list__link.--sumitai .p-ranking-index__link__title {
    color: #3C51C4
}

.c-ranking-list__link.--sumitai .category-icon {
    background-color: #3C51C4
}

.c-ranking-list__link.--sumitai .ribbon {
    background-color: #3C51C4
}

.c-ranking-list__link.--sumitai .ribbon::before {
    border-color: transparent #243176 transparent transparent
}

.c-ranking-list__link.--sumitai .ribbon::after {
    border-color: transparent transparent #243176 transparent
}

.c-ranking-list__link.--special {
    background-image: url(/sumicoco/2026/_asset/img/icon/icon_arr_special.svg)
}

.c-ranking-list__link.--special .p-ranking-index__link__title {
    color: #5BA512
}

.c-ranking-list__link.--special .category-icon {
    background-color: #5BA512
}

.c-ranking-list__link.--special .ribbon {
    background-color: #5BA512
}

.c-ranking-list__link.--special .ribbon::before {
    border-color: transparent #284908 transparent transparent
}

.c-ranking-list__link.--special .ribbon::after {
    border-color: transparent transparent #284908 transparent
}

.c-ranking-list .category-icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    border-radius: 50%;
    font-size: 1.1rem;
    color: #fff;
    text-align: center;
    line-height: 1.2em;
    height: 5.6rem;
    width: 5.6rem
}

.c-ranking-list .category-icon i {
    display: block;
    font-size: 1.8em;
    text-indent: .05em
}

.c-ranking-list .category-icon span {
    display: block;
    letter-spacing: -.05em;
    font-size: 1.1rem
}

.c-ranking-list .category-icon__list {
    text-align: center;
    padding: 0;
    margin: 1.6rem auto 0;
    display: flex;
    justify-content: center;
    gap: 1rem
}

.c-ranking-list .category-icon__list > li {
    list-style: none
}

.c-category-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none
}

@media screen and (min-width: 1080px) {
    .c-category-list {
        gap: .5rem 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-category-list {
        gap: 1rem 1rem
    }
}

.c-category-list li {
    position: relative;
    list-style: none;
    display: flex;
    align-items: anchor-center;
    padding-left: 1.6rem;
    padding-right: 2.4rem
}

@media screen and (min-width: 1080px) {
    .c-category-list li {
        min-width: 20rem;
        font-size: 1.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-category-list li {
        min-width: 10rem;
        font-size: 1.4rem
    }
}

.c-category-list li::before {
    content: "";
    display: block;
    height: .8em;
    width: .8em;
    background: url(/sumicoco/2026/_asset/img/icon/icon_arr_right.svg) no-repeat center / contain;
    vertical-align: sub;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0
}

@media print, screen and (max-width: 1079px) {
    .c-category-list li::before {
        margin-right: .125em
    }
}

.c-category-list li a:not(.pdf) {
    color: #438DC4;
    font-weight: 700;
    text-decoration: none
}

.c-category-list li a:not(.pdf):hover {
    color: #193B6A;
    text-decoration: underline
}

.c-category-list li span.upcoming {
    color: #ACACAC;
    font-weight: 700
}

.c-category-list li a.pdf {
    color: #2D2D2D;
    text-decoration: none;
    margin-left: auto
}

.c-category-list li a.pdf:hover {
    opacity: .7;
    text-decoration: underline
}

@media screen and (min-width: 1080px) {
    .c-category-list li a.pdf {
        font-size: 1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-category-list li a.pdf {
        font-size: 0
    }
}

@media screen and (min-width: 1080px) {
    .c-category-list li a.pdf i {
        font-size: 1.5rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-category-list li a.pdf i {
        font-size: 2.25rem
    }
}

.c-category-list li i.i-new {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto
}

.c-annotation ul, .c-annotation ol {
    padding: 0;
    margin: 1rem auto
}

.c-annotation ul li, .c-annotation ol li {
    position: relative;
    list-style: none;
    padding-left: 1.15em;
    margin: .25rem auto;
    font-size: 1.1rem
}

.c-annotation ul li::before, .c-annotation ol li::before {
    font-size: 1em
}

.c-annotation ul li::before {
    content: "\0203b";
    display: block;
    position: absolute;
    left: 0;
    top: 0
}

.c-annotation ol li::before {
    content: counter(list-item);
    display: block;
    position: absolute;
    left: 0;
    top: 0
}

@media screen and (min-width: 1080px) {
    .c-section {
        padding: 5.8rem 0
    }
}

@media print, screen and (max-width: 1079px) {
    .c-section {
        padding: 2.4rem 0
    }
}

.c-section__inner {
    position: relative;
    margin: 0 auto;
    box-sizing: border-box
}

@media screen and (min-width: 1080px) {
    .c-section__inner {
        padding: 0 2rem;
        max-width: 1080px
    }
}

@media print, screen and (max-width: 1079px) {
    .c-section__inner {
        padding: 0 1.6rem;
        max-width: calc(1080px * 0.75)
    }
}

@media print, screen and (max-width: 1079px) {
    .c-section__inner {
        padding: 0 1.6rem
    }
}

.c-section__control {
    display: flex;
    justify-content: center;
    flex-wrap: wrap
}

@media screen and (min-width: 1080px) {
    .c-section__control {
        gap: 4rem;
        margin: 4rem auto
    }
}

@media print, screen and (max-width: 1079px) {
    .c-section__control {
        gap: 2rem;
        margin: 2rem auto
    }
}

.c-section__link {
    overflow: hidden;
    background: #fff;
    border: max(.2rem, 2px) solid #D70A2F;
    border-radius: 1.6em;
    box-sizing: border-box
}

@media screen and (min-width: 1080px) {
    .c-section__link {
        padding: 2rem 2rem;
        width: calc(100% - 8rem);
        margin: 0 auto
    }
}

@media print, screen and (max-width: 1079px) {
    .c-section__link {
        padding: 2rem 2rem
    }
}

.c-section__link__button {
    background-color: #D70A2F;
    margin: 0 auto
}

.c-section__link__title {
    font-size: 2.4rem;
    margin-bottom: 2rem;
    text-align: center
}

@media screen and (min-width: 1080px) {
    .c-section__link__title {
        font-size: 2.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-section__link__title {
        font-size: 1.8rem
    }
}

.c-section__link__title img {
    display: block;
    height: 100%;
    margin: 0 auto
}

.c-section__title {
    font-size: 2.4rem;
    margin-bottom: 2rem;
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    gap: 1.2rem
}

.c-section__title img {
    display: block;
    height: 100%;
    margin: 0 auto
}

.c-section__content + .c-section__content {
    margin-top: 4rem
}

.c-section--header {
    background: #193B6A;
    color: #fff
}

@media screen and (min-width: 1080px) {
    .c-section--header {
        padding: 6.8em 0
    }
}

@media print, screen and (max-width: 1079px) {
    .c-section--header {
        padding: 4.8rem 0
    }
}

.c-section--header__title {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    display: flex;
    margin: 2rem auto;
    justify-content: center;
    align-items: center;
    line-height: 1.2
}

@media print, screen and (max-width: 1079px) {
    .c-section--header__title {
        gap: 1rem
    }
}

@media screen and (min-width: 1080px) {
    .c-section--header__title {
        gap: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-section--header__title i {
        font-size: 1.8rem
    }
}

@media screen and (min-width: 1080px) {
    .c-section--header__title i {
        font-size: 3.2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .c-section--header__title span {
        font-size: 1.8rem
    }
}

@media screen and (min-width: 1080px) {
    .c-section--header__title span {
        font-size: 3.2rem
    }
}

.l-header {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    z-index: 200;
    background-color: #fff
}

.l-header__inner {
    display: flex;
    justify-content: space-between;
    gap: 2.4rem;
    align-items: center;
    margin: 0 auto
}

@media print, screen and (max-width: 1079px) {
    .l-header__inner {
        height: 5.8rem;
        padding: 0 1.6rem
    }
}

@media screen and (min-width: 1080px) {
    .l-header__inner {
        height: 10.4rem;
        padding: 0 2rem;
        max-width: 1080px
    }
}

.l-header__logo {
    position: relative;
    vertical-align: middle
}

.l-header__logo img {
    display: block;
    width: auto
}

@media print, screen and (max-width: 1079px) {
    .l-header__logo img {
        height: 4rem
    }
}

@media screen and (min-width: 1080px) {
    .l-header__logo img {
        height: 8.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .l-header__menu {
        display: none
    }
}

@media screen and (min-width: 1080px) {
    .l-header__menu {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        width: 76rem;
        height: 90%
    }
}

.l-header__nav {
    list-style: none;
    background-color: transparent;
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin: 0;
    width: 64rem
}

.l-header__nav > li {
    position: relative;
    padding: 1rem .5rem
}

.l-header__nav > li a {
    color: #193B6A;
    height: auto;
    line-height: initial;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    align-items: center;
    gap: .4rem
}

.l-header__nav > li a:hover {
    opacity: .6
}

.l-header__nav > li a span {
    display: block
}

.l-header__nav > li a span.text {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -.025em
}

.l-header__nav > li a span.icon {
    width: 3.6rem
}

.l-header__supply {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    width: 7.2rem;
    list-style: none;
    padding: 0;
    margin: 0
}

.l-header__supply li {
    display: block
}

.l-header__supply li a {
    color: inherit
}

.l-header__supply li a img {
    display: block;
    width: 100%
}

.l-header__pulldown--parent:hover .l-header__pulldown--child {
    display: block
}

.l-header__pulldown--child {
    position: absolute;
    display: none;
    z-index: 500;
    width: 100%;
    top: 100%;
    background-color: rgba(255, 255, 255, .9);
    border-radius: 1.1rem;
    border: max(.1rem, 1px) solid rgba(153, 153, 153, .9);
    padding: 2rem 0
}

.l-header__pulldown--child ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border-radius: 1.1rem
}

.l-header__pulldown--child ul li {
    margin: 0
}

.l-header__pulldown--child ul a {
    color: #438DC4;
    font-weight: 400
}

.l-header__contact {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin: auto 0 0;
    padding: 0 2rem;
    font-size: 1.2rem;
    list-style: none
}

.l-header__contact a {
    font-weight: 400;
    background: none
}

.l-header__contact li:not(:last-of-type)::after {
    content: '|';
    padding: 0 1.6em
}

.l-header__contact li a {
    background: none;
    color: #438DC4;
    text-decoration: none
}

.l-header__contact li a:hover {
    text-decoration: underline
}

@media print, screen and (max-width: 1079px) {
    .l-header__toggle {
        height: 2.4rem
    }
}

@media screen and (min-width: 1080px) {
    .l-header__toggle {
        display: none
    }
}

.l-header__hamburger-menu {
    height: 2.4rem;
    width: 2.4rem
}

.l-header__hamburger-menu img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.l-aside {
    overflow: hidden;
    top: 0;
    right: 0;
    width: 100%;
    height: 0;
    transition: height 0.35s ease;
    position: fixed;
    z-index: 900
}

@media screen and (min-width: 1080px) {
    .l-aside {
        display: none
    }
}

.l-aside__inner {
    position: absolute;
    width: 24.5rem;
    background: #193B6A;
    right: 0;
    height: 100%;
    z-index: 1
}

.l-aside.--open {
    height: 100vh
}

.l-aside.--open::before {
    content: '';
    background: rgba(51, 51, 51, .7);
    width: 100vw;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0
}

.l-aside.--open .inner {
    width: 63vw;
    padding-top: 50px;
    height: 100%;
    position: absolute;
    right: 0;
    background-color: #193B6A;
    box-shadow: -3px 0 6px rgba(51, 51, 51, .75);
    overflow-y: scroll;
    overflow-x: hidden
}

.l-aside.--open .hamburger-menu::before {
    opacity: 0
}

.l-aside.--open .hamburger-menu::after {
    opacity: 1
}

.l-aside__header {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%
}

.l-aside__header__inner {
    display: flex;
    justify-content: flex-end;
    gap: 2.4rem;
    align-items: center;
    margin: 0 auto;
    height: 6.4rem;
    padding: 0 1.6rem
}

.l-aside__main {
    margin-top: 6.4rem;
    overflow-y: scroll;
    padding: 2rem 3.2rem
}

.l-aside__nav {
    list-style: none;
    background-color: transparent;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.2rem;
    padding: 0;
    margin: 0 auto 4rem
}

.l-aside__nav > li {
    list-style: none;
    position: relative
}

.l-aside__nav > li a {
    color: #fff;
    line-height: initial;
    text-decoration: none;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 700
}

.l-aside__nav > li a:hover {
    opacity: .6
}

.l-aside__share {
    justify-content: center
}

.l-aside__contact {
    width: 100%;
    display: flex;
    flex-direction: column;
    list-style: none;
    gap: 1.6rem;
    margin-bottom: 2rem
}

.l-aside__contact li a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
    border-radius: 1.5rem;
    font-weight: 700;
    background: #fff;
    height: 3rem;
    font-size: 1.4rem;
    color: #193B6A;
    text-decoration: none
}

.l-aside__contact li a:hover {
    text-decoration: underline
}

.l-aside__link__title {
    position: relative;
    display: flex;
    gap: 1em;
    align-items: center
}

@media print, screen and (max-width: 1079px) {
    .l-aside__link__title {
        cursor: pointer
    }

    .l-aside__link__title::after {
        content: '';
        display: block;
        background: url(/sumicoco/2026/_asset/img/icon/icon_footer-open.svg) no-repeat center center / contain;
        width: 1.6rem;
        height: 1.6rem;
        position: relative
    }

    .l-aside__link__title.--open .l-aside__link__title::after {
        background-image: url(/sumicoco/2026/_asset/img/icon/icon_footer-close.svg) no-repeat center center / contain
    }
}

.l-aside__link__list {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    padding: 0;
    margin-top: 1rem;
    color: #fff
}

@media print, screen and (max-width: 1079px) {
    .l-aside__link__list {
        display: none
    }
}

.l-aside__link__list li {
    list-style: none
}

.l-aside__link__list li a {
    font-size: 1.3rem;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    line-height: 1.8
}

.l-aside__link__list li a:hover {
    text-decoration: underline
}

.l-aside__toggle {
    height: 2.4rem
}

.l-aside__hamburger-menu {
    height: 2.4rem;
    width: 2.4rem
}

.l-aside__hamburger-menu img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.l-footer {
    background: #193B6A
}

.l-footer__inner {
    margin: 0 auto
}

@media print, screen and (max-width: 1079px) {
    .l-footer__inner {
        padding: 2rem 1.6rem
    }
}

@media screen and (min-width: 1080px) {
    .l-footer__inner {
        padding: 2rem 2rem;
        max-width: 1080px
    }
}

.l-footer__title {
    margin: 0 0 2.4rem;
    line-height: 1.2
}

.l-footer__title a {
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
    text-decoration: none
}

.l-footer__title a:hover {
    text-decoration: underline
}

@media print, screen and (max-width: 1079px) {
    .l-footer__sitemap {
        display: flex;
        flex-direction: column;
        margin-bottom: 2rem;
        gap: 1.2rem
    }
}

@media screen and (min-width: 1080px) {
    .l-footer__sitemap {
        display: grid;
        grid-template-columns:1fr 1fr 1fr;
        margin-bottom: 10rem;
        gap: 3.2rem
    }
}

.l-footer__link {
    border-left: max(.1rem, 1px) solid #fff
}

@media screen and (min-width: 1080px) {
    .l-footer__link {
        padding: .8rem 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .l-footer__link {
        width: auto;
        min-width: unset;
        padding: 0 1.6rem
    }
}

.l-footer__link__title {
    position: relative;
    margin: 0 auto;
    font-size: 1.4rem;
    color: #fff;
    font-weight: 700
}

@media print, screen and (max-width: 1079px) {
    .l-footer__link__title {
        cursor: pointer
    }

    .l-footer__link__title::before {
        content: '';
        display: block;
        background: url(/sumicoco/2026/_asset/img/icon/icon_open_footer.svg) no-repeat center center / contain;
        width: 1.6rem;
        height: 1.6rem;
        position: absolute;
        margin: auto 0;
        top: 0;
        bottom: 0;
        right: 0
    }

    .l-footer__link__title.--open .l-footer__link__title::before {
        background-image: url(/sumicoco/2026/_asset/img/icon/icon_close_footer.svg)
    }
}

.l-footer__link__list {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    padding: 0;
    margin-top: 1rem;
    list-style: none;
    color: #fff
}

@media print, screen and (max-width: 1079px) {
    .l-footer__link__list {
        display: none
    }
}

.l-footer__link__list li a {
    font-size: 1.3rem;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    line-height: 1.8
}

.l-footer__link__list li a:hover {
    text-decoration: underline
}

.l-footer__contact ul {
    padding: 0;
    margin: 0 auto;
    display: flex
}

@media screen and (min-width: 1080px) {
    .l-footer__contact ul {
        flex-direction: row;
        justify-content: center;
        gap: 3.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .l-footer__contact ul {
        flex-direction: column;
        gap: 1rem
    }
}

.l-footer__contact ul li {
    list-style: none
}

.l-footer__contact a {
    display: block;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    text-decoration: none
}

.l-footer__contact a:hover {
    text-decoration: underline
}

@media screen and (min-width: 1080px) {
    .l-footer__contact a {
        font-size: 1.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .l-footer__contact a {
        font-size: 1.3rem
    }
}

.l-footer__contact a:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-color: #fff;
    mask-image: url(/sumicoco/2026/_asset/img/icon/icon_envelope.svg);
    mask-size: contain;
    margin-right: .5em;
    width: 1.8rem;
    height: 1.8rem
}

@media screen and (min-width: 1080px) {
    .l-footer__banner {
        margin: 3.6rem auto
    }
}

@media print, screen and (max-width: 1079px) {
    .l-footer__banner {
        margin: 2rem auto
    }
}

.l-footer__banner ul {
    padding: 0;
    margin: 0 auto;
    display: grid
}

@media screen and (min-width: 1080px) {
    .l-footer__banner ul {
        gap: 2.4rem;
        grid-template-columns:1fr 1fr 1fr 1fr
    }
}

@media print, screen and (max-width: 1079px) {
    .l-footer__banner ul {
        gap: 1.6rem;
        grid-template-columns:1fr 1fr
    }
}

.l-footer__banner ul li {
    width: 100%;
    list-style: none;
    background: #fff;
    border: max(.1rem, 1px) solid #999;
    margin: 0
}

@media screen and (min-width: 1080px) {
    .l-footer__banner ul li {
        height: 6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .l-footer__banner ul li {
        height: 3.6rem
    }
}

.l-footer__banner a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%
}

.l-footer__banner .logo img {
    width: 16.5rem
}

@media print, screen and (max-width: 1079px) {
    .l-footer__banner .logo img {
        width: 10.1rem
    }
}

.l-footer__banner .eheya img {
    width: 15.2rem
}

@media print, screen and (max-width: 1079px) {
    .l-footer__banner .eheya img {
        width: 9.3rem
    }
}

.l-footer__banner .miraiken img {
    width: 15.3rem
}

@media print, screen and (max-width: 1079px) {
    .l-footer__banner .miraiken img {
        width: 9.3rem
    }
}

.l-footer__banner .kentaku img {
    width: 15.3rem
}

@media print, screen and (max-width: 1079px) {
    .l-footer__banner .kentaku img {
        width: 9.3rem
    }
}

.l-footer__copyright {
    text-align: center;
    font-size: 1.3rem;
    letter-spacing: -.04em;
    color: #fff;
    padding: 3.2rem 0;
    border-top: max(.1rem, 1px) solid #999
}

@media print, screen and (max-width: 1079px) {
    .l-footer__copyright {
        padding: 1.6rem 0
    }
}

@media screen and (min-width: 1080px) {
    .l-footer__copyright {
        padding: 3.2rem 0
    }
}

.l-page-top {
    position: fixed;
    z-index: 980;
    opacity: 1;
    transition: opacity ease 0.5s;
    right: 3rem;
    bottom: 3rem
}

@media print, screen and (max-width: 1079px) {
    .l-page-top {
        right: 1rem;
        bottom: 1rem
    }
}

.l-page-top a {
    display: block;
    background-image: url(/sumicoco/2026/_asset/img/common/upper.svg);
    background-repeat: no-repeat;
    background-position: center 35%;
    background-size: 75% auto;
    border-radius: 50%;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    background-color: rgba(245, 247, 248, .5);
    width: 8.5rem;
    height: 8.5rem;
    margin: 0 auto
}

@media print, screen and (max-width: 1079px) {
    .l-page-top a {
        width: 6.4rem;
        height: 6.4rem
    }
}

.p-top {
    padding-top: 0
}

.p-top__header {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    z-index: 200
}

.p-top__header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto
}

@media print, screen and (max-width: 1079px) {
    .p-top__header__inner {
        height: 4.2rem;
        padding-right: 1.6rem
    }
}

@media screen and (min-width: 1080px) {
    .p-top__header__inner {
        height: 5.8rem;
        padding-right: 2rem;
        max-width: 1080px
    }
}

.p-top__header__share {
    margin: 0
}

@media print, screen and (max-width: 1079px) {
    .p-top__header__share {
        display: none
    }
}

.p-top__header__supply {
    background: #fff;
    height: 100%;
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0
}

@media screen and (min-width: 1080px) {
    .p-top__header__supply {
        border-radius: 0 0 1.2rem 1.2rem;
        padding: 0 4rem;
        gap: 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__header__supply {
        border-radius: 0 0 1.2rem 0;
        padding: 0 1.6rem;
        gap: .8rem
    }
}

.p-top__header__supply li {
    display: block
}

.p-top__header__supply li a {
    color: inherit
}

.p-top__header__supply li a img {
    display: block;
    width: 100%
}

@media screen and (min-width: 1080px) {
    .p-top__header__supply img {
        height: 2.8rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__header__supply img {
        height: 2.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__header__toggle {
        height: 2.4rem
    }
}

@media screen and (min-width: 1080px) {
    .p-top__header__toggle {
        display: none
    }
}

.p-top__header__hamburger-menu {
    height: 2.4rem;
    width: 2.4rem
}

.p-top__header__hamburger-menu img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.p-top__section__title {
    justify-content: flex-start;
    color: #193B6A
}

.p-top__nav {
    background: #193B6A;
    position: absolute
}

@media print, screen and (max-width: 1079px) {
    .p-top__nav {
        display: none
    }
}

.p-top__nav__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    height: 5rem;
    max-width: 1080px
}

.p-top__nav__link {
    list-style: none;
    background-color: transparent;
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin: 0
}

.p-top__nav__link > li {
    position: relative;
    padding: 0 1.6rem
}

.p-top__nav__link > li a {
    position: relative;
    color: #fff;
    font-weight: 700;
    height: auto;
    line-height: initial;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    align-items: center;
    gap: .4rem
}

.p-top__nav__link > li a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -.4rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 2rem;
    height: .3rem;
    background-color: #fff;
    opacity: 0;
    transition: opacity 0.25s ease
}

.p-top__nav__link > li a:hover::after {
    opacity: 1
}

.p-top__nav__link > li a span {
    display: block
}

.p-top__nav__link > li a span.text {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: -.025em
}

.p-top__nav__pulldown__parent:hover .p-top__nav__pulldown--child {
    display: block
}

.p-top__nav__pulldown--child {
    position: absolute;
    display: none;
    z-index: 500;
    width: 100%;
    top: 100%;
    background-color: rgba(255, 255, 255, .9);
    border-radius: 1.1rem;
    border: max(.1rem, 1px) solid rgba(153, 153, 153, .9);
    padding: 2rem 0
}

.p-top__nav__pulldown--child ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border-radius: 1.1rem
}

.p-top__nav__pulldown--child ul li {
    margin: 0
}

.p-top__nav__pulldown--child ul a {
    color: #438DC4;
    font-weight: 400
}

.p-top__nav__contact {
    display: flex;
    justify-content: flex-end;
    padding: 0 2rem;
    font-size: 1.2rem;
    list-style: none
}

.p-top__nav__contact li:not(:last-of-type)::after {
    content: '|';
    color: #fff;
    padding: 0 1.6em
}

.p-top__nav__contact li a {
    color: #fff;
    font-weight: 400;
    text-decoration: none
}

.p-top__nav__contact li a:hover {
    text-decoration: underline
}

@media screen and (min-width: 1080px) {
    .p-top__slider {
        height: 72.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__slider {
        height: 52.4rem;
        max-height: 72svh
    }
}

@media print, screen and (max-width: 599px) {
    .p-top__slider {
        height: 52.4rem;
        max-height: 72svh
    }
}

@media screen and (min-width: 1080px) {
    .p-top__slider .p-topics__inner {
        height: 72.4rem;
        padding-top: 12rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__slider .p-topics__inner {
        height: 52.4rem;
        max-height: 72svh
    }
}

@media print, screen and (max-width: 599px) {
    .p-top__slider .p-topics__inner {
        height: 52.4rem;
        max-height: 72svh
    }
}

@media screen and (min-width: 1080px) {
    .p-top__slider + .c-slider__arrows {
        bottom: 22rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__slider + .c-slider__arrows {
        bottom: 8rem
    }
}

.p-top__about {
    background-color: #DEE8ED;
    padding-bottom: 0
}

@media print, screen and (max-width: 1079px) {
    .p-top__about {
        padding-top: 0
    }
}

@media screen and (min-width: 1080px) {
    .p-top__about__group {
        height: 32rem;
        gap: 4rem;
        display: flex;
        justify-content: space-between
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__group {
        display: flex;
        flex-direction: column;
        gap: 1.6rem
    }
}

@media screen and (min-width: 1080px) {
    .p-top__about__outline, .p-top__about__download {
        border-radius: 0 0 4rem 0
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__outline, .p-top__about__download {
        border-radius: 0 0 2rem 0
    }
}

.p-top__about__sub {
    display: flex;
    flex-direction: column;
    gap: 2rem
}

.p-top__about__main {
    position: relative;
    flex-shrink: 0
}

@media screen and (min-width: 1080px) {
    .p-top__about__main {
        border-radius: 0 0 4rem 0;
        padding: 4rem;
        display: flex;
        flex-direction: column;
        align-content: flex-start;
        justify-content: center;
        width: 60rem;
        background: url(/sumicoco/2026/_asset/img/top/img_about.jpg) center / cover
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__main {
        width: calc(100% + 3.2rem);
        margin-left: -1.6rem;
        padding: 6rem 1.6rem 6rem;
        background: url(/sumicoco/2026/_asset/img/top/img_about@sp.jpg) center / cover
    }
}

.p-top__about__main::before {
    position: absolute;
    content: "";
    border-radius: 50%;
    width: 1.6rem;
    height: 1.6rem;
    background: #DEE8ED;
    box-shadow: inset .2rem .2rem .5rem rgba(0, 0, 0, .25)
}

@media screen and (min-width: 1080px) {
    .p-top__about__main::before {
        top: 2rem;
        left: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__main::before {
        top: 1.4rem;
        left: 1.4rem
    }
}

.p-top__about__main__title {
    display: flex;
    align-items: center;
    line-height: 1.2;
    color: #fff;
    letter-spacing: -.025em;
    text-shadow: 0 .2rem .8rem rgba(0, 0, 0, .4);
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700
}

@media screen and (min-width: 1080px) {
    .p-top__about__main__title {
        font-size: 3rem;
        gap: 1.6rem;
        margin-bottom: 1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__main__title {
        font-size: 2.4rem;
        gap: 1.2rem;
        margin-bottom: 4rem
    }
}

@media screen and (min-width: 1080px) {
    .p-top__about__main__text {
        width: 36rem
    }
}

@media screen and (min-width: 1080px) {
    .p-top__about__main__text {
        font-size: 1.2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__main__text {
        font-size: 1.2rem
    }
}

.p-top__about__main__text em {
    background: #FFFF40;
    font-weight: 700;
    font-style: normal
}

@media screen and (min-width: 1080px) {
    .p-top__about__form {
        margin-bottom: auto
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__form {
        padding-bottom: 8rem
    }
}

.p-top__about__form__title {
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    margin-bottom: 1.2rem;
    font-weight: 700;
    font-size: 1.6rem
}

.p-top__about__outline, .p-top__about__download {
    display: flex;
    align-content: center;
    justify-content: flex-end
}

.p-top__about__outline:hover, .p-top__about__download:hover {
    opacity: .7
}

.p-top__about__outline span, .p-top__about__download span {
    color: #fff;
    font-size: 2rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    text-shadow: 0 .2rem .8rem rgba(0, 0, 0, .4)
}

.p-top__about__outline {
    background: url(/sumicoco/2026/_asset/img/top/img_outline.jpg) center / cover
}

@media screen and (min-width: 1080px) {
    .p-top__about__outline {
        padding: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__outline {
        padding: 3.2rem 2rem
    }
}

.p-top__about__download {
    background: url(/sumicoco/2026/_asset/img/top/img_download.jpg) center / cover
}

@media screen and (min-width: 1080px) {
    .p-top__about__download {
        padding: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__download {
        padding: 3.2rem 2rem
    }
}

.p-top__about__search #cse-search-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: .8rem
}

.p-top__about__search #cse-search-box #submit {
    border-radius: .8rem
}

@media print, screen and (max-width: 1079px) {
    .p-top__about__search #cse-search-box #submit {
        width: 12.5rem;
        font-size: 1.6rem
    }
}

.p-top__ranking {
    background-color: #DEE8ED
}

.p-top__area__button__list {
    list-style: none;
    display: grid;
    gap: .1rem;
    padding: 0
}

@media screen and (min-width: 1080px) {
    .p-top__area__button__list {
        grid-template-columns:1fr 1fr 1fr
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__area__button__list {
        grid-template-columns:1fr 1fr 1fr
    }
}

.p-top__area__button {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: #fff;
    text-align: center;
    font-weight: 700;
    width: 100%;
    font-family: "Noto Sans JP", sans-serif
}

@media screen and (min-width: 1080px) {
    .p-top__area__button {
        font-size: 2.1rem;
        height: 8rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__area__button {
        font-size: 1.8rem;
        height: 6rem
    }
}

.p-top__area__button:hover {
    opacity: .6
}

.p-top__area__button.--hokkaido {
    background-color: #95C12A
}

.p-top__area__button.--tohoku {
    background-color: #5BB5A2
}

.p-top__area__button.--kitakanto {
    background-color: #AFBF90
}

.p-top__area__button.--shutoken {
    background-color: #D4BF1B
}

.p-top__area__button.--koushinetsu {
    background-color: #98BB87
}

.p-top__area__button.--hokuriku {
    background-color: #7A9166
}

.p-top__area__button.--tokai {
    background-color: #906CA1
}

.p-top__area__button.--kansai {
    background-color: #E17C97
}

.p-top__area__button.--chugokushikoku {
    background-color: #D46C6C
}

.p-top__area__button.--kyushuokinawa {
    background-color: #E5864E
}

.p-top__area__button.--zenkoku {
    background-color: #0D3F74
}

@media screen and (min-width: 1080px) {
    .p-top__area {
        background: #fff url(/sumicoco/2026/_asset/img/top/bg_area.svg) no-repeat center 60rem / cover
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__area {
        background: #fff url(/sumicoco/2026/_asset/img/top/bg_area@sp.svg) no-repeat center 45rem / cover
    }
}

.p-top__area__map {
    margin: 0 auto
}

@media screen and (min-width: 1080px) {
    .p-top__area__map {
        width: 72rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__area__map {
        width: 100%
    }
}

.p-top__area__map svg {
    display: block
}

@media screen and (min-width: 1080px) {
    .p-top__area__map svg {
        width: 100%
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__area__map svg {
        height: 32rem;
        width: 100%
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__area__map a {
        pointer-events: none
    }

    .p-top__area__map a[date-name="全国"] {
        display: none
    }

    .p-top__area__map .pref-name {
        display: none
    }
}

.p-top__news {
    background-color: #fff
}

.p-top__bg {
    position: fixed;
    z-index: 0;
    width: 100%;
    height: 100%
}

.p-top__bg video {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0
}

.p-top__bg::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(#ffffff, rgba(25, 78, 105, .73));
    opacity: .4;
    z-index: 1;
    top: 0;
    left: 0
}

.p-top__kv {
    padding: 0;
    position: relative
}

.p-top__kv::after {
    content: "";
    display: block;
    position: absolute;
    background: url(/sumicoco/2026/_asset/img/top/kv_bg-light.png) no-repeat top / contain;
    z-index: 0;
    top: 0;
    left: 50%;
    transform: translateX(-50%)
}

@media screen and (min-width: 1080px) {
    .p-top__kv::after {
        width: 95rem;
        height: 36rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv::after {
        width: 72rem;
        height: 32rem
    }
}

.p-top__kv__count {
    position: absolute;
    z-index: 20;
    border-radius: 50%;
    color: #193B6A;
    background: rgba(255, 255, 255, .7);
    display: flex;
    flex-direction: column
}

.p-top__kv__count:hover {
    text-decoration: none;
    opacity: .7
}

@media screen and (min-width: 1080px) {
    .p-top__kv__count {
        justify-content: center;
        align-items: center;
        height: 18rem;
        width: 18rem;
        top: 4rem;
        right: 0
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv__count {
        justify-content: flex-end;
        align-items: flex-start;
        height: 16rem;
        width: 16rem;
        padding: 0 0 3.2rem 3.2rem;
        top: -1rem;
        right: 0
    }
}

@media print, screen and (max-width: 599px) {
    .p-top__kv__count {
        height: 18rem;
        width: 18rem
    }
}

.p-top__kv__count a {
    color: #193B6A
}

.p-top__kv__count__name {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700
}

@media screen and (min-width: 1080px) {
    .p-top__kv__count__name {
        font-size: 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv__count__name {
        font-size: 1.4rem
    }
}

@media print, screen and (max-width: 599px) {
    .p-top__kv__count__name {
        font-size: 1.6rem
    }
}

.p-top__kv__count__number {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-family: 'Oswald', sans-serif;
    font-weight: 700
}

.p-top__kv__count__number span {
    display: block;
    line-height: 1;
    letter-spacing: -.02em
}

.p-top__kv__count__number .main {
    text-align: center
}

@media screen and (min-width: 1080px) {
    .p-top__kv__count__number .main {
        font-size: 6.2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv__count__number .main {
        font-size: 4.8rem
    }
}

@media print, screen and (max-width: 599px) {
    .p-top__kv__count__number .main {
        font-size: 5.2rem
    }
}

.p-top__kv__inner {
    position: relative;
    max-width: 1080px;
    margin: 0 auto;
    z-index: 10;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (min-width: 1080px) {
    .p-top__kv__inner {
        height: 100vh;
        padding: 0 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv__inner {
        height: 100svh;
        min-height: 68rem;
        padding: 0 1.6rem
    }
}

.p-top__kv__title {
    text-align: center
}

@media screen and (min-width: 1080px) {
    .p-top__kv__title {
        margin-bottom: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv__title {
        margin-bottom: 2rem
    }
}

.p-top__kv__title span {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 .2rem .8rem rgba(0, 0, 0, .4);
    text-indent: -.4em;
    letter-spacing: -.02em
}

@media screen and (min-width: 1080px) {
    .p-top__kv__title span {
        font-size: 1.6rem;
        margin-bottom: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv__title span {
        font-size: 1.2rem;
        margin-bottom: 2rem
    }
}

@media print, screen and (max-width: 599px) {
    .p-top__kv__title span {
        font-size: 1.4rem;
        margin-bottom: 2rem
    }
}

.p-top__kv__title img {
    display: block;
    margin: 0 auto
}

@media screen and (min-width: 1080px) {
    .p-top__kv__title img {
        width: 47rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv__title img {
        width: 32rem
    }
}

@media print, screen and (max-width: 599px) {
    .p-top__kv__title img {
        width: 42rem
    }
}

.p-top__kv__award img {
    display: block;
    margin: 0 auto
}

@media screen and (min-width: 1080px) {
    .p-top__kv__award img {
        width: 34rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv__award img {
        width: 24rem
    }
}

@media print, screen and (max-width: 599px) {
    .p-top__kv__award img {
        width: 36rem
    }
}

.p-top__kv__scroll-down {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: rotate(90deg);
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    display: flex;
    align-items: center;
    letter-spacing: .02em;
    padding: 0;
    background: url(/sumicoco/2026/_asset/img/common/arr_scroll.svg) no-repeat left bottom / contain;
    justify-content: flex-start
}

@media screen and (min-width: 1080px) {
    .p-top__kv__scroll-down {
        width: 12rem;
        height: 3.2rem;
        font-size: 1.6rem;
        bottom: 10rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__kv__scroll-down {
        width: 8rem;
        line-height: 1;
        height: 3.2rem;
        font-size: 1.6rem;
        bottom: 4rem
    }
}

@media print, screen and (max-width: 599px) {
    .p-top__kv__scroll-down {
        width: 12rem;
        line-height: 1;
        height: 4rem;
        font-size: 2rem;
        bottom: 10rem
    }
}

.p-top__news__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    overflow-y: scroll
}

@media screen and (min-width: 1080px) {
    .p-top__news__list {
        gap: .2rem;
        height: 30rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__news__list {
        gap: .2rem;
        height: 20rem
    }
}

.p-top__news__list li {
    display: flex;
    align-items: flex-start
}

@media screen and (min-width: 1080px) {
    .p-top__news__list li {
        gap: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__news__list li {
        gap: 0 1.2rem
    }
}

.p-top__news__list time {
    display: block;
    text-align: left;
    flex-shrink: 0
}

@media screen and (min-width: 1080px) {
    .p-top__news__list time {
        min-width: 8.2rem;
        min-height: 2.2rem;
        line-height: 2em;
        font-size: 1.2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__news__list time {
        font-size: 1.1rem;
        line-height: 1.8em
    }
}

@media screen and (min-width: 1080px) {
    .p-top__news__list a {
        font-size: 1.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-top__news__list a {
        font-size: 1.2rem
    }
}

.p-top.no_scroll .l-header, .p-top.no_scroll .l-header__breadcrumb {
    display: none
}

.p-top.no_scroll .p-top__nav {
    top: calc(100vh - 5rem)
}

.p-top:not(.no_scroll) .p-top__header {
    display: none
}

.p-top:not(.no_scroll) .p-top__nav {
    top: 0
}

.p-lower {
    background: #fff
}

.p-lower__header__title {
    width: 100%
}

@media screen and (min-width: 1080px) {
    .p-lower__header__title {
        margin-bottom: 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__header__title {
        margin-bottom: 3.2rem
    }
}

.p-lower__header__title::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    mask: url(/sumicoco/2026/_asset/img/icon/icon_star.svg) no-repeat center / contain
}

@media screen and (min-width: 1080px) {
    .p-lower__header__title::after {
        height: 2.4rem;
        width: 2.4rem;
        bottom: -3.2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__header__title::after {
        height: 1.8rem;
        width: 1.8rem;
        bottom: -2rem
    }
}

.p-lower__header .c-search #cse-search-box #submit {
    background: #D70A2F
}

.p-lower__lead {
    margin-bottom: 2rem
}

@media screen and (min-width: 1080px) {
    .p-lower__lead p {
        font-size: 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__lead p {
        font-size: 1.4rem
    }
}

.p-lower__table {
    width: 100%;
    background: #fff;
    border-spacing: 0;
    font-size: 1.4rem;
    line-height: 1.8em
}

@media print, screen and (max-width: 1079px) {
    .p-lower__table {
        line-height: 1.6em
    }
}

@media screen and (min-width: 1080px) {
    .p-lower__table:not(:last-of-type) {
        margin-bottom: 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__table:not(:last-of-type) {
        margin-bottom: 3.2rem
    }
}

.p-lower__table thead {
    background: #707070;
    color: #fff
}

@media print, screen and (max-width: 1079px) {
    .p-lower__table thead {
        display: none
    }
}

.p-lower__table thead th, .p-lower__table tbody td {
    text-align: left;
    vertical-align: middle;
    padding: 1rem 0 1rem 1.6rem
}

@media screen and (min-width: 1080px) {
    .p-lower__table thead th, .p-lower__table tbody td {
        border-bottom: max(.1rem, 1px) solid #999
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__table thead th, .p-lower__table tbody td {
        padding: 1rem 0 1rem 1rem
    }
}

.p-lower__table thead th:last-child, .p-lower__table tbody td:last-child, .p-lower__table thead th:last-child, .p-lower__table tbody td:last-child {
    padding-right: 1.6rem
}

@media print, screen and (max-width: 1079px) {
    .p-lower__table thead th:last-child, .p-lower__table tbody td:last-child, .p-lower__table thead th:last-child, .p-lower__table tbody td:last-child {
        padding-right: 1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__table tbody th, .p-lower__table tbody td {
        display: block
    }

    .p-lower__table tbody th:first-child, .p-lower__table tbody td:first-child {
        background: #707070;
        color: #fff;
        text-align: center
    }
}

@media screen and (min-width: 1080px) {
    .p-lower__table tbody tr:nth-child(2n) {
        background-color: #eee
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__table tbody td:nth-child(2n+1):not(:first-child) {
        background-color: #eee
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__table tbody td:not(:first-child) {
        padding-left: 12rem;
        position: relative
    }

    .p-lower__table tbody td:not(:first-child)::before {
        content: attr(data-label);
        display: block;
        width: 11rem;
        position: absolute;
        top: 1rem;
        left: 1rem
    }
}

@media screen and (min-width: 1080px) {
    .p-lower__table tbody td:last-child {
        text-align: center;
        width: 10rem
    }
}

.p-lower__table tbody td:last-child a {
    font-weight: 700;
    display: inline-block;
    text-decoration: none !important
}

.p-lower__table tbody td:last-child i.icon-pdf {
    font-size: 4rem;
    color: #D70A2F
}

@media print, screen and (max-width: 1079px) {
    .p-lower__table tbody td:last-child i.icon-pdf {
        font-size: 3.2rem
    }
}

@media screen and (min-width: 1080px) {
    .p-lower__table tbody td:nth-child(2) {
        width: 45rem
    }
}

@media screen and (min-width: 1080px) {
    .p-lower__statement:not(:last-of-type) {
        margin-bottom: 6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__statement:not(:last-of-type) {
        margin-bottom: 4rem
    }
}

.p-lower__statement__title {
    font-weight: 700;
    padding: 1rem 0;
    margin-bottom: 1rem;
    text-align: left;
    line-height: 1.4;
    border-bottom: max(.1rem, 1px) solid #2D2D2D
}

@media screen and (min-width: 1080px) {
    .p-lower__statement__title {
        font-size: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__statement__title {
        font-size: 1.8rem
    }
}

.p-lower__statement__content {
    font-size: 1.4rem;
    color: #2D2D2D
}

.p-lower__statement__content p, .p-lower__statement__content ul, .p-lower__statement__content ol {
    margin-top: 0
}

@media screen and (min-width: 1080px) {
    .p-lower__statement__content p:not(:last-child), .p-lower__statement__content ul:not(:last-child), .p-lower__statement__content ol:not(:last-child) {
        margin-bottom: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__statement__content p:not(:last-child), .p-lower__statement__content ul:not(:last-child), .p-lower__statement__content ol:not(:last-child) {
        margin-bottom: 1.6rem
    }
}

@media screen and (min-width: 1080px) {
    .p-lower__statement__content .portrait {
        float: left;
        margin-top: 1rem;
        margin-right: 2rem;
        margin-bottom: 2rem;
        width: 20rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__statement__content .portrait {
        margin-bottom: 2rem
    }
}

.p-lower__statement__content .portrait img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto
}

.p-lower__statement__content ul {
    list-style: none;
    padding: 0
}

.p-lower__statement__content ul li {
    padding-left: 1.25em;
    margin-bottom: .5em
}

.p-lower__statement__content ul li::before {
    content: "\025cf";
    display: inline-block;
    margin-left: -1.25em;
    margin-right: .35em
}

.p-lower__statement__content ol {
    padding: 0;
    overflow: hidden;
    counter-reset: idx
}

@media screen and (min-width: 1080px) {
    .p-lower__statement__content ol {
        columns: 2;
        column-gap: 2em
    }
}

.p-lower__statement__content ol li {
    counter-increment: idx;
    list-style: none;
    margin-bottom: .25em
}

.p-lower__statement__content ol li::before {
    content: counter(idx, decimal-leading-zero);
    display: inline-block;
    margin-right: 1em
}

.p-lower__statement__content dl {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start
}

@media screen and (min-width: 1080px) {
    .p-lower__statement__content dl {
        margin-bottom: 1.2rem;
        gap: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__statement__content dl {
        flex-direction: column;
        margin-bottom: .8rem;
        gap: 1.2rem
    }
}

.p-lower__statement__content dl dt {
    position: relative
}

.p-lower__statement__content dl dt::after {
    content: ":";
    display: inline-block;
    margin-left: .5em
}

.p-lower__statement__link {
    display: flex;
    justify-content: center;
    flex-wrap: wrap
}

@media screen and (min-width: 1080px) {
    .p-lower__statement__link {
        gap: 4rem;
        margin: 4rem auto
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__statement__link {
        gap: 2rem;
        margin: 2rem auto
    }
}

.p-lower__pickup {
    display: flex
}

@media screen and (min-width: 1080px) {
    .p-lower__pickup {
        align-items: flex-start;
        gap: 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__pickup {
        flex-direction: column;
        gap: 2rem
    }
}

@media screen and (min-width: 1080px) {
    .p-lower__pickup:not(:last-of-type) {
        margin-bottom: 6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__pickup:not(:last-of-type) {
        margin-bottom: 4rem
    }
}

.p-lower__pickup__image {
    flex-shrink: 0
}

@media screen and (min-width: 1080px) {
    .p-lower__pickup__image {
        width: 30rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__pickup__image {
        width: 100%
    }
}

.p-lower__pickup__image img {
    display: block;
    width: 100%
}

.p-lower__pickup__title {
    text-align: left
}

@media screen and (min-width: 1080px) {
    .p-lower__pickup__title {
        font-size: 1.8rem;
        margin: 0 0 1rem 0
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__pickup__title {
        font-size: 1.4rem;
        margin: 0 0 1rem 0
    }
}

.p-lower__pickup__text {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap
}

@media screen and (min-width: 1080px) {
    .p-lower__pickup__text {
        gap: 1.2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__pickup__text {
        gap: .4rem .8rem
    }
}

@media screen and (min-width: 1080px) {
    .p-lower__pickup__text {
        margin: 0 0 2rem 0
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__pickup__text {
        margin: 0 0 2rem 0
    }
}

.p-lower__pickup__text p {
    width: 100%
}

.p-lower__pickup__link {
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap
}

@media screen and (min-width: 1080px) {
    .p-lower__pickup__link {
        gap: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__pickup__link {
        gap: 1.6rem
    }
}

.p-lower__report__title {
    position: relative;
    margin-bottom: 4rem
}

.p-lower__report__title::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -.25em;
    margin: 0 auto;
    background-color: #193B6A;
    height: .3rem;
    width: 2rem
}

.p-lower__report__time {
    display: inline-block;
    min-height: 2.2rem;
    line-height: 1.6em;
    text-align: left;
    font-size: 1.2rem;
    flex-shrink: 0;
    padding: .2rem 0
}

@media screen and (min-width: 1080px) {
    .p-lower__report__time {
        min-width: 8.2rem
    }
}

.p-lower__report__tag {
    display: inline-block;
    border-radius: .5rem;
    border: solid 1px #999;
    min-height: 2.2rem;
    line-height: 1.4em;
    text-align: center;
    font-size: 1.2rem;
    flex-shrink: 0;
    padding: .2rem .8rem
}

@media screen and (min-width: 1080px) {
    .p-lower__report__tag {
        min-width: 8.2rem
    }
}

.p-lower__report__history ul {
    list-style: none;
    display: flex;
    flex-direction: column
}

@media screen and (min-width: 1080px) {
    .p-lower__report__history ul {
        gap: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__report__history ul {
        gap: 1.6rem
    }
}

.p-lower__report__history li {
    display: flex;
    align-items: flex-start
}

@media screen and (min-width: 1080px) {
    .p-lower__report__history li {
        gap: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__report__history li {
        gap: .4rem .8rem;
        flex-wrap: wrap
    }
}

.p-lower__report__history time {
    display: inline-block;
    min-height: 2.2rem;
    line-height: 1.4em;
    text-align: left;
    font-size: 1.2rem;
    flex-shrink: 0;
    padding: .2rem 0
}

@media screen and (min-width: 1080px) {
    .p-lower__report__history time {
        min-width: 8.2rem
    }
}

.p-lower__report__link {
    line-height: 1.6em;
    font-size: 1.4rem
}

@media screen and (min-width: 1080px) {
    .p-lower__report__link {
        width: auto
    }
}

@media print, screen and (max-width: 1079px) {
    .p-lower__report__link {
        width: 100%
    }
}

.p-lower__report__link .icon-pdf {
    font-size: 1.6rem
}

.p-search__title::before {
    content: none
}

.p-search__header {
    background: #193B6A;
    color: #fff
}

.p-search__header .c-search #cse-search-box #submit {
    background: #D70A2F
}

.p-search__header__title::after {
    content: none
}

.p-area__description {
    overflow: hidden;
    margin: 4rem auto
}

@media screen and (min-width: 1080px) {
    .p-area__description {
        justify-content: space-between;
        display: flex;
        gap: 2rem
    }
}

.p-area__description .map {
    flex-shrink: 0;
    width: 36rem
}

@media print, screen and (max-width: 1079px) {
    .p-area__description .map {
        margin: 0 auto 2rem
    }
}

@media screen and (min-width: 1080px) {
    .p-area__description .map {
        order: 2
    }

    .p-area__description .text {
        order: 1
    }
}

.p-area__group {
    margin-bottom: 2rem
}

@media print, screen and (max-width: 1079px) {
    .p-area__group {
        margin-bottom: 2rem
    }
}

@media screen and (min-width: 1080px) {
    .p-area__group {
        max-height: none !important
    }

    .p-area__group > * {
        opacity: 1 !important;
        transform: translateY(0) !important
    }
}

.p-area__title {
    position: relative;
    clear: both;
    text-align: center;
    padding: .4em 0;
    font-size: 2rem;
    border-radius: .25em;
    color: #fff
}

@media screen and (min-width: 1080px) {
    .p-area__title {
        font-size: 1.6rem;
        margin: 2rem auto 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-area__title {
        font-size: 1.4rem;
        margin: 2rem auto 2rem
    }
}

@media screen and (min-width: 1080px) {
    .p-area__title::before, .p-area__title::after {
        display: none !important
    }
}

@media screen and (min-width: 1080px) {
    .p-area__title a {
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto
    }

    .p-area__title a::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto 0;
        height: .8em;
        width: .8em;
        left: calc(50% + 9rem);
        background: url(/sumicoco/2026/_asset/img/common/arr_right-white.svg) no-repeat center / contain;
        vertical-align: baseline
    }
}

@media print, screen and (max-width: 1079px) {
    .p-area__title a {
        display: none
    }
}

.p-area .p-area__title.--hokkaido {
    background-color: #95C12A
}

.p-area.p-area.--hokkaido .p-area__title {
    background-color: #95C12A
}

.p-area .p-area__title.--tohoku {
    background-color: #5BB5A2
}

.p-area.p-area.--tohoku .p-area__title {
    background-color: #5BB5A2
}

.p-area .p-area__title.--kitakanto {
    background-color: #AFBF90
}

.p-area.p-area.--kitakanto .p-area__title {
    background-color: #AFBF90
}

.p-area .p-area__title.--shutoken {
    background-color: #D4BF1B
}

.p-area.p-area.--shutoken .p-area__title {
    background-color: #D4BF1B
}

.p-area .p-area__title.--koushinetsu {
    background-color: #98BB87
}

.p-area.p-area.--koushinetsu .p-area__title {
    background-color: #98BB87
}

.p-area .p-area__title.--hokuriku {
    background-color: #7A9166
}

.p-area.p-area.--hokuriku .p-area__title {
    background-color: #7A9166
}

.p-area .p-area__title.--tokai {
    background-color: #906CA1
}

.p-area.p-area.--tokai .p-area__title {
    background-color: #906CA1
}

.p-area .p-area__title.--kansai {
    background-color: #E17C97
}

.p-area.p-area.--kansai .p-area__title {
    background-color: #E17C97
}

.p-area .p-area__title.--chugokushikoku {
    background-color: #D46C6C
}

.p-area.p-area.--chugokushikoku .p-area__title {
    background-color: #D46C6C
}

.p-area .p-area__title.--kyushuokinawa {
    background-color: #E5864E
}

.p-area.p-area.--kyushuokinawa .p-area__title {
    background-color: #E5864E
}

.p-area .p-area__title.--zenkoku {
    background-color: #0D3F74
}

.p-area.p-area.--zenkoku .p-area__title {
    background-color: #0D3F74
}

.p-area__select {
    margin-bottom: 2rem;
    display: flex;
    gap: 1rem
}

.p-area__select select {
    border: max(.1rem, 1px) solid #999;
    border-radius: .4rem;
    padding: .5rem 1rem;
    background: #fff
}

.p-area__category {
    position: relative;
    background: #F7F7F7;
    border-radius: 1.5rem;
    padding: .8rem 1.6rem
}

.p-area__category__list li {
    width: 100%
}

.p-area__category.--sumicoco i.icon-crown {
    color: #D70A2F
}

.p-area__category.--sumitai i.icon-crown {
    color: #3C51C4
}

.p-area__category.--special i.icon-crown {
    color: #5BA512
}

.p-area__category__name {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 1rem
}

@media screen and (min-width: 1080px) {
    .p-area__category__name {
        font-size: 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-area__category__name {
        font-size: 1.4rem
    }
}

.p-area__category__name i {
    display: inline-block;
    position: relative;
    font-size: 1.5em;
    margin-right: .5em
}

.p-area__wrap {
    width: 100%
}

@media screen and (min-width: 1080px) {
    .p-area__wrap:not(:last-child) {
        margin-bottom: 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-area__wrap:not(:last-child) {
        margin-bottom: 3.2rem
    }
}

.p-area__pref {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    clear: both
}

.p-area__group {
    display: flex
}

@media screen and (min-width: 1080px) {
    .p-area__group {
        gap: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-area__group {
        flex-direction: column;
        gap: 1rem
    }
}

.p-area__group__name, .p-area__group__category {
    border-radius: 1.5rem
}

@media screen and (min-width: 1080px) {
    .p-area__group__name, .p-area__group__category {
        margin: 0
    }
}

.p-area__group__name {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EBEBEB;
    padding: .8rem 1.6rem
}

@media screen and (min-width: 1080px) {
    .p-area__group__name {
        width: 13.125rem;
        flex-shrink: 0
    }
}

.p-area__group__name span {
    font-size: 1.6rem;
    width: 100%;
    text-align: center
}

.p-area__group__category {
    display: grid;
    width: 100%
}

@media screen and (min-width: 1080px) {
    .p-area__group__category {
        grid-template-columns:1fr 1fr;
        gap: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-area__group__category {
        gap: 1rem;
        grid-template-columns:1fr
    }
}

@media screen and (min-width: 1080px) {
    .p-area#area--all .p-area__category, .p-area.area--all .p-area__category {
        width: 100%;
        margin-left: 0
    }

    .p-area#area--all .p-area__category::before, .p-area.area--all .p-area__category::before {
        right: 790px
    }

    .p-area#area--all .p-area__category .p-area__pref__category, .p-area.area--all .p-area__category .p-area__pref__category, .p-area#area--all .p-area__category .p-area__category__name, .p-area.area--all .p-area__category .p-area__category__name {
        margin-left: 160px
    }

    .p-area#area--all .p-area__category .p-area__pref__name, .p-area.area--all .p-area__category .p-area__pref__name {
        display: block
    }

    .p-area#area--all .category__list li:nth-child(2n), .p-area.area--all .category__list li:nth-child(2n) {
        width: 370px
    }

    .p-area#area--all .category__list li:nth-child(2n+1), .p-area.area--all .category__list li:nth-child(2n+1) {
        width: 370px
    }

    .p-area#area--all .category__list li:first-child, .p-area.area--all .category__list li:first-child {
        width: 370px;
        margin-right: 300px
    }
}

.p-area__button__list {
    list-style: none;
    display: grid;
    gap: .1rem;
    padding: 0;
    margin: 2rem auto
}

@media screen and (min-width: 1080px) {
    .p-area__button__list {
        grid-template-columns:1fr 1fr 1fr
    }
}

@media print, screen and (max-width: 1079px) {
    .p-area__button__list {
        grid-template-columns:1fr 1fr 1fr
    }
}

.p-area__button {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: #fff;
    text-align: center;
    font-weight: 700;
    width: 100%;
    font-family: "Noto Sans JP", sans-serif
}

@media screen and (min-width: 1080px) {
    .p-area__button {
        font-size: 2.1rem;
        height: 8rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-area__button {
        font-size: 1.8rem;
        height: 6rem
    }
}

.p-area__button:hover {
    opacity: .6
}

.p-area__button.--hokkaido {
    background-color: #95C12A
}

.p-area__button.--tohoku {
    background-color: #5BB5A2
}

.p-area__button.--kitakanto {
    background-color: #AFBF90
}

.p-area__button.--shutoken {
    background-color: #D4BF1B
}

.p-area__button.--koushinetsu {
    background-color: #98BB87
}

.p-area__button.--hokuriku {
    background-color: #7A9166
}

.p-area__button.--tokai {
    background-color: #906CA1
}

.p-area__button.--kansai {
    background-color: #E17C97
}

.p-area__button.--chugokushikoku {
    background-color: #D46C6C
}

.p-area__button.--kyushuokinawa {
    background-color: #E5864E
}

.p-area__button.--zenkoku {
    background-color: #0D3F74
}

.p-topics {
    position: relative;
    background: #10294D;
    padding: 0
}

.p-topics__inner {
    position: relative;
    z-index: 1;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700
}

@media screen and (min-width: 1080px) {
    .p-topics__inner {
        width: calc(1080px - 36rem);
        padding: 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-topics__inner {
        padding: 4rem 1.6rem
    }
}

.p-topics__date {
    font-family: 'Oswald', sans-serif;
    color: #fff;
    background-color: #193B6A;
    font-weight: 700;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .5em;
    font-size: 1.6rem;
    padding: .4rem 1.6rem
}

.p-topics__date i {
    font-style: normal
}

@media screen and (min-width: 1080px) {
    .p-topics__date {
        font-size: 1.8rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-topics__date {
        font-size: 1.6rem
    }
}

.p-topics__title {
    line-height: 1.4
}

@media screen and (min-width: 1080px) {
    .p-topics__title {
        font-size: 3rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-topics__title {
        font-size: 2.4rem
    }
}

@media screen and (min-width: 1080px) {
    .p-topics__lead {
        margin: .8rem 0
    }
}

@media print, screen and (max-width: 1079px) {
    .p-topics__lead {
        margin: .8rem 0 2rem
    }
}

.p-topics__lead p {
    line-height: 1.4
}

@media screen and (min-width: 1080px) {
    .p-topics__lead p {
        font-size: 1.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-topics__lead p {
        font-size: 1.4rem
    }
}

.p-topics__tags {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    justify-content: flex-start
}

.p-topics__tag {
    display: block;
    padding: .2rem .8rem;
    color: #fff;
    background-color: #193B6A
}

@media screen and (min-width: 1080px) {
    .p-topics__tag {
        font-size: 1.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-topics__tag {
        font-size: 1.3rem
    }
}

.p-topics__tag.--sumicoco {
    background-color: #D70A2F
}

.p-topics__tag.--sumitai {
    background-color: #3C51C4
}

.p-topics__tag.--special {
    background-color: #5BA512
}

.p-topics__tag.--hokkaido {
    background-color: #95C12A
}

.p-topics__tag.--tohoku {
    background-color: #5BB5A2
}

.p-topics__tag.--kitakanto {
    background-color: #AFBF90
}

.p-topics__tag.--shutoken {
    background-color: #D4BF1B
}

.p-topics__tag.--koushinetsu {
    background-color: #98BB87
}

.p-topics__tag.--hokuriku {
    background-color: #7A9166
}

.p-topics__tag.--tokai {
    background-color: #906CA1
}

.p-topics__tag.--kansai {
    background-color: #E17C97
}

.p-topics__tag.--chugokushikoku {
    background-color: #D46C6C
}

.p-topics__tag.--kyushuokinawa {
    background-color: #E5864E
}

.p-topics__tag.--zenkoku {
    background-color: #0D3F74
}

.p-topics__tag.--info {
    background: #839ba4
}

.p-topics__tag.--kentakueye {
    background: #D70A2F
}

.p-topics__link {
    display: flex;
    align-items: center;
    gap: 1rem
}

@media screen and (min-width: 1080px) {
    .p-topics__link {
        margin-top: 1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-topics__link {
        margin-top: 1rem
    }
}

.p-topics__link::before {
    content: "";
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background: #fff url(/sumicoco/2026/_asset/img/icon/icon_arr_link.svg) no-repeat center / .6rem
}

.p-topics__link a {
    color: #fff;
    text-decoration: none
}

.p-topics__link a:hover {
    text-decoration: underline
}

@media screen and (min-width: 1080px) {
    .p-topics__link a {
        font-size: 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-topics__link a {
        font-size: 1.4rem
    }
}

.p-topics__bg {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    top: 0;
    right: 0
}

.p-topics__bg img {
    position: relative;
    object-fit: cover;
    width: 100%;
    height: 100%;
    z-index: 0
}

.p-topics__bg::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(#00050b, rgba(0, 5, 11, 0));
    opacity: .5;
    z-index: 1;
    top: 0;
    left: 0
}

.p-ranking__header {
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (min-width: 1080px) {
    .p-ranking__header {
        gap: 2rem;
        padding: 1rem 0
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__header {
        padding: .5rem 0;
        flex-direction: column
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__header .sup img {
        height: 2.8rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__header .sup img {
        height: 2.2rem
    }
}

.p-ranking__header .main {
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif
}

@media screen and (min-width: 1080px) {
    .p-ranking__header .main {
        font-size: 2.4rem;
        line-height: 1.2
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__header .main {
        font-size: 1.8rem;
        line-height: 2
    }

    .p-ranking__header .main span {
        line-height: 1.2
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__introduce {
        padding: 0
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__introduce {
        background-image: linear-gradient(90deg, #193B6A, #193B6A 50%, #ffffff 50% 100%)
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__introduce__inner {
        display: flex
    }

    .p-ranking__introduce__left, .p-ranking__introduce__right {
        width: 50%
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__introduce__inner {
        padding-right: 0;
        padding-left: 0
    }
}

.p-ranking__introduce__left {
    color: #fff
}

@media screen and (min-width: 1080px) {
    .p-ranking__introduce__left {
        padding-right: 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__introduce__left {
        padding: 4rem 1.6rem;
        background: #193B6A
    }
}

.p-ranking__introduce__right {
    color: #2D2D2D
}

@media screen and (min-width: 1080px) {
    .p-ranking__introduce__right {
        padding-left: 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__introduce__right {
        padding: 4rem 1.6rem;
        background: #fff
    }
}

.p-ranking__subject {
    background: #193B6A;
    color: #fff
}

@media screen and (min-width: 1080px) {
    .p-ranking__subject__heading {
        margin-bottom: 4rem
    }

    .p-ranking__subject__heading .sup, .p-ranking__subject__heading .main {
        display: inline-block;
        padding: .5rem 1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__subject__heading {
        margin-bottom: 2rem
    }

    .p-ranking__subject__heading .sup, .p-ranking__subject__heading .main span {
        display: inline-block;
        padding: .5rem .6rem
    }
}

.p-ranking__subject__heading .sup img {
    height: 3.2rem
}

.p-ranking__subject__heading .main {
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: -.04em
}

@media screen and (min-width: 1080px) {
    .p-ranking__subject__heading .main {
        font-size: 3.2rem;
        line-height: 1.2
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__subject__heading .main {
        font-size: 2.6rem;
        line-height: 2
    }

    .p-ranking__subject__heading .main span {
        line-height: 1.2;
        white-space: nowrap
    }
}

.p-ranking__subject__title {
    line-height: 1.4;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif
}

@media screen and (min-width: 1080px) {
    .p-ranking__subject__title {
        font-size: 2.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__subject__title {
        font-size: 2.4rem
    }
}

.p-ranking__subject hr {
    margin: 2rem 0;
    border: none;
    border-bottom: max(.2rem, 2px) dotted #fff
}

.p-ranking__subject__lead {
    margin-bottom: 2rem
}

.p-ranking__subject__lead p {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: -.02em
}

.p-ranking__subject__lead__link {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-top: 1rem
}

.p-ranking__subject__lead__link a {
    display: block;
    width: 8.6rem
}

.p-ranking__subject__lead__link a:hover {
    opacity: .6
}

.p-ranking__subject__lead__link a img {
    display: block;
    width: 100%;
    filter: brightness(0) invert(1)
}

.p-ranking__survey__heading {
    position: relative;
    display: flex;
    justify-content: space-between;
    padding-right: 7.2rem;
    margin-bottom: 2rem
}

.p-ranking__survey__heading::after {
    content: "";
    display: block;
    width: 11.2rem;
    height: 11.2rem;
    position: absolute;
    bottom: -1rem;
    right: -4rem;
    background: url(/sumicoco/2026/_asset/img/ranking/img_vote.png) no-repeat center / contain
}

.p-ranking__survey__idx {
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.2;
    letter-spacing: -.02em
}

@media screen and (min-width: 1080px) {
    .p-ranking__survey__idx {
        font-size: 2.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__survey__idx {
        font-size: 2.4rem
    }
}

.p-ranking__survey__voted {
    display: flex;
    align-items: flex-end;
    gap: .5rem;
    line-height: 1
}

.p-ranking__survey__voted__number {
    font-weight: 700;
    font-family: 'Oswald', sans-serif;
    letter-spacing: -.05em
}

@media screen and (min-width: 1080px) {
    .p-ranking__survey__voted__number {
        font-size: 6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__survey__voted__number {
        font-size: 5.6rem
    }
}

.p-ranking__survey__voted__unit {
    font-size: 2.4rem;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.4
}

.p-ranking__survey__comment {
    background: #EAF1F4;
    border-radius: 1.2rem
}

@media screen and (min-width: 1080px) {
    .p-ranking__survey__comment {
        padding: 2rem;
        min-height: 10.2rem;
        margin-bottom: 3.2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__survey__comment {
        padding: 1rem;
        margin-bottom: 2rem
    }
}

.p-ranking__survey__comment p {
    font-size: 1.2rem;
    line-height: 1.6;
    letter-spacing: -.02em
}

.p-ranking__survey__explain {
    display: flex;
    flex-direction: column;
    gap: 2rem
}

.p-ranking__survey__explain dl {
    display: flex;
    align-items: flex-start;
    gap: 2rem
}

.p-ranking__survey__explain dl dt {
    text-align: center;
    border-radius: 50%;
    background: #193B6A;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 5.8rem;
    height: 5.8rem
}

.p-ranking__survey__explain dl dt span {
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 700
}

.p-ranking__survey__explain dl dd p {
    font-size: 1.2rem;
    line-height: 1.6;
    letter-spacing: -.02em
}

.p-ranking__survey__download {
    width: 100%;
    max-width: 32rem
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__survey__download {
        margin: 2rem auto 0
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__survey__download {
        margin: 4rem auto 2rem
    }
}

.p-ranking__survey__download a {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
    color: #D70A2F;
    border-bottom: max(.2rem, 2px) dotted #D70A2F;
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    gap: 1rem
}

.p-ranking__survey__download a:hover {
    opacity: .6
}

.p-ranking__podium {
    overflow: hidden;
    background: #fff;
    outline: max(.2rem, 2px) solid #193B6A;
    border-radius: 1.6em;
    box-sizing: border-box;
    margin-bottom: 4rem
}

@media screen and (min-width: 1080px) {
    .p-ranking__podium {
        display: flex
    }

    .p-ranking__podium__summary, .p-ranking__podium__info {
        width: 50%
    }
}

.p-ranking__podium__summary {
    background: #fff
}

.p-ranking__podium__info {
    background: #DBE1EA
}

@media screen and (min-width: 1080px) {
    .p-ranking__podium__more {
        display: none
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__podium__more {
        display: flex;
        width: 100%;
        height: 5rem;
        align-items: center;
        justify-content: center;
        outline: none;
        border-top: max(.2rem, 2px) dotted #193B6A;
        color: #193B6A;
        font-size: 1.6rem;
        gap: 1.2rem
    }

    .p-ranking__podium__more::before {
        content: "+";
        font-family: 'Oswald', sans-serif;
        font-weight: 700;
        display: block;
        width: 2.4rem;
        height: 2.4rem;
        font-size: 2rem;
        border-radius: 50%;
        background: #193B6A;
        color: #fff;
        line-height: 2.2rem;
        letter-spacing: .05em
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__podium .c-accord__content {
        display: none
    }
}

.p-ranking__district__photo {
    position: relative
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__district__photo {
        height: 24rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__district__photo {
        height: 30rem
    }
}

.p-ranking__district__photo img {
    position: relative;
    object-fit: cover;
    height: 100%;
    width: 100%;
    z-index: 0
}

.p-ranking__district__photo__copyright {
    position: absolute;
    display: block;
    font-size: 1.1rem;
    font-weight: 400;
    background: rgba(255, 255, 255, .8);
    padding: .25em .75em;
    bottom: 1rem;
    right: 1rem;
    color: #438DC4
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__district__result {
        padding: 0 1.6rem 2rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__district__result {
        height: calc(100% - 30rem - 24rem);
        padding: 0 4rem 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__district__map {
        height: 32rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__district__map {
        height: 24rem
    }
}

.p-ranking__district__map iframe {
    object-fit: cover;
    height: 100%;
    width: 100%
}

.p-ranking__district__heading {
    display: flex;
    justify-content: space-between
}

@media screen and (min-width: 1080px) {
    .p-ranking__district__heading {
        margin-bottom: 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__district__heading {
        margin-bottom: 2rem
    }
}

.p-ranking__district__rank {
    flex-shrink: 0;
    width: 10.4rem
}

.p-ranking__district__rank .this-year {
    width: 10.4rem
}

.p-ranking__district__rank .this-year img {
    width: 100%;
    display: block
}

.p-ranking__district__rank .last-year {
    font-size: 1.2rem;
    color: #193B6A;
    display: block;
    width: 100%;
    text-align: center
}

.p-ranking__district__name {
    width: calc(100% - 13.4rem);
    font-family: "Noto Sans JP", sans-serif
}

@media screen and (min-width: 1080px) {
    .p-ranking__district__name {
        margin-top: 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__district__name {
        margin-top: 2rem
    }
}

.p-ranking__district__name .main {
    margin-bottom: 1rem
}

.p-ranking__district__name .main .name-pref {
    display: block;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4
}

.p-ranking__district__name .main .name-city {
    display: block;
    font-size: 5rem;
    font-weight: 700;
    line-height: 1.1
}

.p-ranking__district__name .main .name-railway {
    display: block;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4
}

.p-ranking__district__name .ruby {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .2em;
    font-size: 1.6rem;
    min-height: 3rem;
    line-height: 1;
    padding: .4em 1.2em;
    border-radius: 1.5rem;
    background: #F9F2D5;
    overflow-wrap: break-word
}

.p-ranking__district__name .ruby i {
    font-style: normal
}

.p-ranking__district__comment {
    margin: 1rem auto
}

.p-ranking__district__comment p {
    line-height: 1.8;
    font-size: 1.4rem
}

.p-ranking__analise {
    background: #fff;
    display: flex
}

@media screen and (min-width: 1080px) {
    .p-ranking__analise {
        height: 20rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__analise {
        height: 20rem
    }
}

.p-ranking__score, .p-ranking__transition {
    width: 50%
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__score, .p-ranking__transition {
        padding: 1.6rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__score, .p-ranking__transition {
        padding: 2rem
    }
}

.p-ranking__score__title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .2em;
    font-size: 1.6rem;
    min-height: 3rem;
    border-radius: 1.5rem;
    background: #fff
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__score__title {
        margin-bottom: 2.4rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__score__title {
        margin-bottom: 1rem
    }
}

.p-ranking__score__content {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.p-ranking__score dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    margin: 0
}

.p-ranking__score dl dt {
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: .8rem
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__score dl dt {
        font-size: 1.4rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__score dl dt {
        font-size: 1.6rem
    }
}

.p-ranking__score dl dt::before {
    content: "";
    display: block
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__score dl dt::before {
        width: 2.8rem;
        height: 2.8rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__score dl dt::before {
        width: 3.2rem;
        height: 3.2rem
    }
}

.p-ranking__score dl dd {
    display: flex;
    align-items: flex-end;
    font-weight: 700;
    font-family: 'Oswald', sans-serif;
    line-height: 1.2
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__score dl dd {
        font-size: 4rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__score dl dd {
        font-size: 4.8rem
    }
}

.p-ranking__score dl dd span {
    line-height: 1
}

.p-ranking__score dl dd .unit {
    font-size: .5em
}

.p-ranking__score__deviation dt::before {
    background: url(/sumicoco/2026/_asset/img/ranking/icon_score-deviation.svg) no-repeat center / contain
}

.p-ranking__score__rating dt::before {
    background: url(/sumicoco/2026/_asset/img/ranking/icon_score-rating.svg) no-repeat center / contain
}

.p-ranking__transition__title {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .2em;
    font-size: 1.6rem;
    min-height: 3rem;
    border-radius: 1.5rem;
    background: #EAF1F4;
    color: #193B6A
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__transition__title {
        margin-bottom: 1rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__transition__title {
        margin-bottom: 1rem
    }
}

.p-ranking__transition__graph canvas {
    display: block;
    width: 100%;
    height: 14rem
}

.p-ranking__resident {
    background: #EAF1F4
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__resident {
        padding: 1.6rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__resident {
        padding: 2rem
    }
}

.p-ranking__resident__title {
    display: flex;
    gap: .5em;
    align-items: center;
    font-size: 1.6rem;
    font-weight: 700;
    color: #193B6A;
    margin-bottom: 1.6rem
}

.p-ranking__resident__title::before {
    content: "";
    display: block;
    height: 2.8rem;
    width: 2.8rem;
    background: url(/sumicoco/2026/_asset/img/ranking/icon_resident-comment.svg) no-repeat center / contain
}

.p-ranking__resident__comment {
    padding-bottom: 2rem
}

.p-ranking__resident__comment ul {
    display: flex;
    gap: 1rem;
    flex-direction: column-reverse;
    list-style: none
}

.p-ranking__resident__comment ul li {
    position: relative;
    background: #fff;
    border: max(.1rem, 1px) solid
}

@media screen and (min-width: 1080px) {
    .p-ranking__resident__comment ul li {
        padding: 1.2rem 2rem;
        border-radius: 2.4em
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__resident__comment ul li {
        padding: 1rem 2rem;
        border-radius: 1.6em
    }
}

.p-ranking__resident__comment ul li::after {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    background: #fff;
    transform: rotate(45deg) translateY(-62.5%);
    border-right: max(.1rem, 1px) solid;
    border-bottom: max(.1rem, 1px) solid;
    position: absolute;
    top: 100%
}

.p-ranking__resident__comment ul li:nth-child(2n - 1)::after {
    left: 60%
}

.p-ranking__resident__comment ul li:nth-child(2n)::after {
    right: 60%
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__municipality {
        padding: 1.6rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking__municipality {
        padding: 2rem
    }
}

.p-ranking__municipality__title {
    display: flex;
    gap: .5em;
    align-items: center;
    font-size: 1.6rem;
    font-weight: 700;
    color: #193B6A;
    margin-bottom: 1.6rem
}

.p-ranking__municipality__title::before {
    content: "";
    display: block;
    height: 2.8rem;
    width: 2.8rem;
    background: url(/sumicoco/2026/_asset/img/ranking/icon_municipality-comment.svg) no-repeat center / contain
}

.p-ranking__municipality__comment {
    overflow: hidden;
    background: #fff;
    border: max(.1rem, 1px) solid #193B6A;
    border-radius: 1em;
    box-sizing: border-box;
    display: flex;
    margin-bottom: 2rem
}

@media screen and (min-width: 1080px) {
    .p-ranking__municipality__comment {
        padding: 1.2rem 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__municipality__comment {
        padding: 1rem 2rem
    }
}

.p-ranking__municipality__comment p {
    line-height: 1.8;
    font-size: 1.2rem
}

.p-ranking__municipality__link {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.p-ranking__municipality__btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    background-color: #193B6A;
    color: #fff;
    text-align: center;
    width: 100%
}

@media screen and (min-width: 1080px) {
    .p-ranking__municipality__btn {
        font-size: 1.6rem;
        height: 4.2rem;
        border-radius: 2.1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__municipality__btn {
        font-size: 1.4rem;
        height: 4rem;
        border-radius: 2rem
    }
}

.p-ranking__municipality__btn:hover {
    opacity: .6
}

.p-ranking__municipality__btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 1.2rem;
    height: .8em;
    width: .8em;
    background-color: #fff;
    mask-image: url(/sumicoco/2026/_asset/img/icon/icon_arr_right.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain
}

.p-ranking__order__more {
    display: block;
    width: auto;
    margin: 0 auto;
    line-height: 1;
    font-weight: 600;
    text-align: center;
    font-size: 2rem;
    padding: 3rem;
    color: #ffffff !important;
    cursor: pointer;
    text-decoration: none !important;
    transition: opacity 0.25s ease
}

.p-ranking__order__more:hover {
    opacity: .6
}

.p-ranking__table {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    border-spacing: 0;
    border: solid max(.1rem, 1px) #fff;
    word-break: keep-all
}

.p-ranking__table:not(.opened) tr.toggle {
    display: none
}

.p-ranking__table tr > * {
    font-size: 1.6rem;
    line-height: 1.6;
    vertical-align: middle
}

@media screen and (min-width: 1080px) {
    .p-ranking__table tr > * {
        padding: 1.6rem 2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__table tr > * {
        padding: 1rem
    }
}

.p-ranking__table tr.bold > * {
    font-size: 2.2rem
}

@media print, screen and (max-width: 1079px) {
    .p-ranking__table tr.bold > * {
        font-size: 1.6rem
    }
}

.p-ranking__table tr.--hide {
    display: none
}

.p-ranking__table td {
    border: none;
    border-right: solid max(.1rem, 1px) #707070;
    border-bottom: solid max(.1rem, 1px) #707070;
    text-align: center
}

.p-ranking__table td.name {
    text-align: left
}

.p-ranking__table td:last-child {
    border-right: none;
    border-left: solid max(.1rem, 1px) #707070
}

.p-ranking__table th {
    border-right: solid max(.1rem, 1px) #fff;
    font-weight: 700;
    text-align: center;
    color: #fff
}

@media screen and (min-width: 1080px) {
    .p-ranking__table th {
        min-width: 65px
    }
}

.p-ranking__table th:last-child {
    border-right: none
}

.p-ranking__table th:last-child td {
    border-bottom: none
}

.p-ranking.--hokkaido .p-ranking__header {
    background-color: #95C12A
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--hokkaido .p-ranking__subject__heading .sup, .p-ranking.--hokkaido .p-ranking__subject__heading .main span {
        background-color: #95C12A
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--hokkaido .p-ranking__subject__heading .sup, .p-ranking.--hokkaido .p-ranking__subject__heading .main {
        background-color: #95C12A
    }
}

.p-ranking.--hokkaido .p-ranking__survey__voted {
    color: #95C12A
}

.p-ranking.--hokkaido .p-ranking__district__name--letter .railway {
    color: #95C12A
}

.p-ranking.--hokkaido .p-ranking__score {
    background-color: #95C12A
}

.p-ranking.--hokkaido .p-ranking__score__title {
    color: #95C12A
}

.p-ranking.--hokkaido .p-ranking__resident__comment ul li {
    border-color: #95C12A
}

.p-ranking.--hokkaido .p-ranking__resident__comment ul li::after {
    border-right-color: #95C12A;
    border-bottom-color: #95C12A
}

.p-ranking.--hokkaido .p-ranking__order__more {
    background-color: #95C12A;
    color: #E6FADE
}

.p-ranking.--hokkaido .p-ranking__table thead {
    background-color: #95C12A
}

.p-ranking.--hokkaido .p-ranking__table td {
    background: #E6FADE;
    border-color: #95C12A
}

.p-ranking.--hokkaido .p-ranking__table tr.bold > * {
    color: #458A00
}

.p-ranking.--tohoku .p-ranking__header {
    background-color: #5BB5A2
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--tohoku .p-ranking__subject__heading .sup, .p-ranking.--tohoku .p-ranking__subject__heading .main span {
        background-color: #5BB5A2
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--tohoku .p-ranking__subject__heading .sup, .p-ranking.--tohoku .p-ranking__subject__heading .main {
        background-color: #5BB5A2
    }
}

.p-ranking.--tohoku .p-ranking__survey__voted {
    color: #5BB5A2
}

.p-ranking.--tohoku .p-ranking__district__name--letter .railway {
    color: #5BB5A2
}

.p-ranking.--tohoku .p-ranking__score {
    background-color: #5BB5A2
}

.p-ranking.--tohoku .p-ranking__score__title {
    color: #5BB5A2
}

.p-ranking.--tohoku .p-ranking__resident__comment ul li {
    border-color: #5BB5A2
}

.p-ranking.--tohoku .p-ranking__resident__comment ul li::after {
    border-right-color: #5BB5A2;
    border-bottom-color: #5BB5A2
}

.p-ranking.--tohoku .p-ranking__order__more {
    background-color: #5BB5A2;
    color: #E6FADE
}

.p-ranking.--tohoku .p-ranking__table thead {
    background-color: #5BB5A2
}

.p-ranking.--tohoku .p-ranking__table td {
    background: #E6FADE;
    border-color: #5BB5A2
}

.p-ranking.--tohoku .p-ranking__table tr.bold > * {
    color: #11847E
}

.p-ranking.--kitakanto .p-ranking__header {
    background-color: #AFBF90
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--kitakanto .p-ranking__subject__heading .sup, .p-ranking.--kitakanto .p-ranking__subject__heading .main span {
        background-color: #AFBF90
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--kitakanto .p-ranking__subject__heading .sup, .p-ranking.--kitakanto .p-ranking__subject__heading .main {
        background-color: #AFBF90
    }
}

.p-ranking.--kitakanto .p-ranking__survey__voted {
    color: #AFBF90
}

.p-ranking.--kitakanto .p-ranking__district__name--letter .railway {
    color: #AFBF90
}

.p-ranking.--kitakanto .p-ranking__score {
    background-color: #AFBF90
}

.p-ranking.--kitakanto .p-ranking__score__title {
    color: #AFBF90
}

.p-ranking.--kitakanto .p-ranking__resident__comment ul li {
    border-color: #AFBF90
}

.p-ranking.--kitakanto .p-ranking__resident__comment ul li::after {
    border-right-color: #AFBF90;
    border-bottom-color: #AFBF90
}

.p-ranking.--kitakanto .p-ranking__order__more {
    background-color: #AFBF90;
    color: #f4fce0
}

.p-ranking.--kitakanto .p-ranking__table thead {
    background-color: #AFBF90
}

.p-ranking.--kitakanto .p-ranking__table td {
    background: #f4fce0;
    border-color: #AFBF90
}

.p-ranking.--kitakanto .p-ranking__table tr.bold > * {
    color: #40220f
}

.p-ranking.--shutoken .p-ranking__header {
    background-color: #D4BF1B
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--shutoken .p-ranking__subject__heading .sup, .p-ranking.--shutoken .p-ranking__subject__heading .main span {
        background-color: #D4BF1B
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--shutoken .p-ranking__subject__heading .sup, .p-ranking.--shutoken .p-ranking__subject__heading .main {
        background-color: #D4BF1B
    }
}

.p-ranking.--shutoken .p-ranking__survey__voted {
    color: #D4BF1B
}

.p-ranking.--shutoken .p-ranking__district__name--letter .railway {
    color: #D4BF1B
}

.p-ranking.--shutoken .p-ranking__score {
    background-color: #D4BF1B
}

.p-ranking.--shutoken .p-ranking__score__title {
    color: #D4BF1B
}

.p-ranking.--shutoken .p-ranking__resident__comment ul li {
    border-color: #D4BF1B
}

.p-ranking.--shutoken .p-ranking__resident__comment ul li::after {
    border-right-color: #D4BF1B;
    border-bottom-color: #D4BF1B
}

.p-ranking.--shutoken .p-ranking__order__more {
    background-color: #D4BF1B;
    color: #f5fae0
}

.p-ranking.--shutoken .p-ranking__table thead {
    background-color: #D4BF1B
}

.p-ranking.--shutoken .p-ranking__table td {
    background: #f5fae0;
    border-color: #D4BF1B
}

.p-ranking.--shutoken .p-ranking__table tr.bold > * {
    color: #ba9731
}

.p-ranking.--koushinetsu .p-ranking__header {
    background-color: #98BB87
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--koushinetsu .p-ranking__subject__heading .sup, .p-ranking.--koushinetsu .p-ranking__subject__heading .main span {
        background-color: #98BB87
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--koushinetsu .p-ranking__subject__heading .sup, .p-ranking.--koushinetsu .p-ranking__subject__heading .main {
        background-color: #98BB87
    }
}

.p-ranking.--koushinetsu .p-ranking__survey__voted {
    color: #98BB87
}

.p-ranking.--koushinetsu .p-ranking__district__name--letter .railway {
    color: #98BB87
}

.p-ranking.--koushinetsu .p-ranking__score {
    background-color: #98BB87
}

.p-ranking.--koushinetsu .p-ranking__score__title {
    color: #98BB87
}

.p-ranking.--koushinetsu .p-ranking__resident__comment ul li {
    border-color: #98BB87
}

.p-ranking.--koushinetsu .p-ranking__resident__comment ul li::after {
    border-right-color: #98BB87;
    border-bottom-color: #98BB87
}

.p-ranking.--koushinetsu .p-ranking__order__more {
    background-color: #98BB87;
    color: #e7f9de
}

.p-ranking.--koushinetsu .p-ranking__table thead {
    background-color: #98BB87
}

.p-ranking.--koushinetsu .p-ranking__table td {
    background: #e7f9de;
    border-color: #98BB87
}

.p-ranking.--koushinetsu .p-ranking__table tr.bold > * {
    color: #648355
}

.p-ranking.--hokuriku .p-ranking__header {
    background-color: #7A9166
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--hokuriku .p-ranking__subject__heading .sup, .p-ranking.--hokuriku .p-ranking__subject__heading .main span {
        background-color: #7A9166
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--hokuriku .p-ranking__subject__heading .sup, .p-ranking.--hokuriku .p-ranking__subject__heading .main {
        background-color: #7A9166
    }
}

.p-ranking.--hokuriku .p-ranking__survey__voted {
    color: #7A9166
}

.p-ranking.--hokuriku .p-ranking__district__name--letter .railway {
    color: #7A9166
}

.p-ranking.--hokuriku .p-ranking__score {
    background-color: #7A9166
}

.p-ranking.--hokuriku .p-ranking__score__title {
    color: #7A9166
}

.p-ranking.--hokuriku .p-ranking__resident__comment ul li {
    border-color: #7A9166
}

.p-ranking.--hokuriku .p-ranking__resident__comment ul li::after {
    border-right-color: #7A9166;
    border-bottom-color: #7A9166
}

.p-ranking.--hokuriku .p-ranking__order__more {
    background-color: #7A9166;
    color: #e7f9de
}

.p-ranking.--hokuriku .p-ranking__table thead {
    background-color: #7A9166
}

.p-ranking.--hokuriku .p-ranking__table td {
    background: #e7f9de;
    border-color: #7A9166
}

.p-ranking.--hokuriku .p-ranking__table tr.bold > * {
    color: #4e6642
}

.p-ranking.--tokai .p-ranking__header {
    background-color: #906CA1
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--tokai .p-ranking__subject__heading .sup, .p-ranking.--tokai .p-ranking__subject__heading .main span {
        background-color: #906CA1
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--tokai .p-ranking__subject__heading .sup, .p-ranking.--tokai .p-ranking__subject__heading .main {
        background-color: #906CA1
    }
}

.p-ranking.--tokai .p-ranking__survey__voted {
    color: #906CA1
}

.p-ranking.--tokai .p-ranking__district__name--letter .railway {
    color: #906CA1
}

.p-ranking.--tokai .p-ranking__score {
    background-color: #906CA1
}

.p-ranking.--tokai .p-ranking__score__title {
    color: #906CA1
}

.p-ranking.--tokai .p-ranking__resident__comment ul li {
    border-color: #906CA1
}

.p-ranking.--tokai .p-ranking__resident__comment ul li::after {
    border-right-color: #906CA1;
    border-bottom-color: #906CA1
}

.p-ranking.--tokai .p-ranking__order__more {
    background-color: #906CA1;
    color: #F3E9F5
}

.p-ranking.--tokai .p-ranking__table thead {
    background-color: #906CA1
}

.p-ranking.--tokai .p-ranking__table td {
    background: #F3E9F5;
    border-color: #906CA1
}

.p-ranking.--tokai .p-ranking__table tr.bold > * {
    color: #945EAE
}

.p-ranking.--kansai .p-ranking__header {
    background-color: #E17C97
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--kansai .p-ranking__subject__heading .sup, .p-ranking.--kansai .p-ranking__subject__heading .main span {
        background-color: #E17C97
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--kansai .p-ranking__subject__heading .sup, .p-ranking.--kansai .p-ranking__subject__heading .main {
        background-color: #E17C97
    }
}

.p-ranking.--kansai .p-ranking__survey__voted {
    color: #E17C97
}

.p-ranking.--kansai .p-ranking__district__name--letter .railway {
    color: #E17C97
}

.p-ranking.--kansai .p-ranking__score {
    background-color: #E17C97
}

.p-ranking.--kansai .p-ranking__score__title {
    color: #E17C97
}

.p-ranking.--kansai .p-ranking__resident__comment ul li {
    border-color: #E17C97
}

.p-ranking.--kansai .p-ranking__resident__comment ul li::after {
    border-right-color: #E17C97;
    border-bottom-color: #E17C97
}

.p-ranking.--kansai .p-ranking__order__more {
    background-color: #E17C97;
    color: #FDF0F4
}

.p-ranking.--kansai .p-ranking__table thead {
    background-color: #E17C97
}

.p-ranking.--kansai .p-ranking__table td {
    background: #FDF0F4;
    border-color: #E17C97
}

.p-ranking.--kansai .p-ranking__table tr.bold > * {
    color: #D51E70
}

.p-ranking.--chugokushikoku .p-ranking__header {
    background-color: #D46C6C
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--chugokushikoku .p-ranking__subject__heading .sup, .p-ranking.--chugokushikoku .p-ranking__subject__heading .main span {
        background-color: #D46C6C
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--chugokushikoku .p-ranking__subject__heading .sup, .p-ranking.--chugokushikoku .p-ranking__subject__heading .main {
        background-color: #D46C6C
    }
}

.p-ranking.--chugokushikoku .p-ranking__survey__voted {
    color: #D46C6C
}

.p-ranking.--chugokushikoku .p-ranking__district__name--letter .railway {
    color: #D46C6C
}

.p-ranking.--chugokushikoku .p-ranking__score {
    background-color: #D46C6C
}

.p-ranking.--chugokushikoku .p-ranking__score__title {
    color: #D46C6C
}

.p-ranking.--chugokushikoku .p-ranking__resident__comment ul li {
    border-color: #D46C6C
}

.p-ranking.--chugokushikoku .p-ranking__resident__comment ul li::after {
    border-right-color: #D46C6C;
    border-bottom-color: #D46C6C
}

.p-ranking.--chugokushikoku .p-ranking__order__more {
    background-color: #D46C6C;
    color: #F8EDED
}

.p-ranking.--chugokushikoku .p-ranking__table thead {
    background-color: #D46C6C
}

.p-ranking.--chugokushikoku .p-ranking__table td {
    background: #F8EDED;
    border-color: #D46C6C
}

.p-ranking.--chugokushikoku .p-ranking__table tr.bold > * {
    color: #D03548
}

.p-ranking.--kyushuokinawa .p-ranking__header {
    background-color: #E5864E
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--kyushuokinawa .p-ranking__subject__heading .sup, .p-ranking.--kyushuokinawa .p-ranking__subject__heading .main span {
        background-color: #E5864E
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--kyushuokinawa .p-ranking__subject__heading .sup, .p-ranking.--kyushuokinawa .p-ranking__subject__heading .main {
        background-color: #E5864E
    }
}

.p-ranking.--kyushuokinawa .p-ranking__survey__voted {
    color: #E5864E
}

.p-ranking.--kyushuokinawa .p-ranking__district__name--letter .railway {
    color: #E5864E
}

.p-ranking.--kyushuokinawa .p-ranking__score {
    background-color: #E5864E
}

.p-ranking.--kyushuokinawa .p-ranking__score__title {
    color: #E5864E
}

.p-ranking.--kyushuokinawa .p-ranking__resident__comment ul li {
    border-color: #E5864E
}

.p-ranking.--kyushuokinawa .p-ranking__resident__comment ul li::after {
    border-right-color: #E5864E;
    border-bottom-color: #E5864E
}

.p-ranking.--kyushuokinawa .p-ranking__order__more {
    background-color: #E5864E;
    color: #F9F1E3
}

.p-ranking.--kyushuokinawa .p-ranking__table thead {
    background-color: #E5864E
}

.p-ranking.--kyushuokinawa .p-ranking__table td {
    background: #F9F1E3;
    border-color: #E5864E
}

.p-ranking.--kyushuokinawa .p-ranking__table tr.bold > * {
    color: #BB3C11
}

.p-ranking.--zenkoku .p-ranking__header {
    background-color: #0D3F74
}

@media print, screen and (max-width: 1079px) {
    .p-ranking.--zenkoku .p-ranking__subject__heading .sup, .p-ranking.--zenkoku .p-ranking__subject__heading .main span {
        background-color: #0D3F74
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking.--zenkoku .p-ranking__subject__heading .sup, .p-ranking.--zenkoku .p-ranking__subject__heading .main {
        background-color: #0D3F74
    }
}

.p-ranking.--zenkoku .p-ranking__survey__voted {
    color: #0D3F74
}

.p-ranking.--zenkoku .p-ranking__district__name--letter .railway {
    color: #0D3F74
}

.p-ranking.--zenkoku .p-ranking__score {
    background-color: #0D3F74
}

.p-ranking.--zenkoku .p-ranking__score__title {
    color: #0D3F74
}

.p-ranking.--zenkoku .p-ranking__resident__comment ul li {
    border-color: #0D3F74
}

.p-ranking.--zenkoku .p-ranking__resident__comment ul li::after {
    border-right-color: #0D3F74;
    border-bottom-color: #0D3F74
}

.p-ranking.--zenkoku .p-ranking__order__more {
    background-color: #0D3F74;
    color: #E4F1F8
}

.p-ranking.--zenkoku .p-ranking__table thead {
    background-color: #0D3F74
}

.p-ranking.--zenkoku .p-ranking__table td {
    background: #E4F1F8;
    border-color: #0D3F74
}

.p-ranking.--zenkoku .p-ranking__table tr.bold > * {
    color: #013467
}

.p-ranking-index__header {
    background: #193B6A;
    color: #fff
}

.p-ranking-index__header__title {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    line-height: 1.2
}

@media print, screen and (max-width: 1079px) {
    .p-ranking-index__header__title {
        font-size: 1.8rem;
        margin-bottom: 2rem
    }
}

@media screen and (min-width: 1080px) {
    .p-ranking-index__header__title {
        font-size: 3.2rem;
        margin-bottom: 4rem
    }
}

.p-ranking-index__header .c-search #cse-search-box #submit {
    background: #D70A2F
}

.p-category__intro {
    overflow: visible;
    position: relative;
    background: #193B6A;
    color: #fff;
    z-index: 10;
    padding: 0
}

.p-category__intro__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center
}

@media screen and (min-width: 1080px) {
    .p-category__intro__inner {
        padding-top: 6rem;
        padding-bottom: 6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__inner {
        padding-top: 2.4rem;
        padding-bottom: 2.4rem
    }
}

.p-category__intro__bg {
    display: block;
    position: absolute;
    z-index: 0;
    /*bottom: 2rem*/
    bottom: 0;
}

@media screen and (min-width: 1080px) {
    .p-category__intro__bg {
        /*width: 84rem;*/
        width: 100%;
        right: 0
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__bg {
        right: 0;
        left: 0;
        margin: 0 auto;
        width: 100%
    }
}

.p-category__intro__bg img {
    display: block;
    width: 100%
}

.p-category__intro__illust {
    display: block;
    position: absolute;
    z-index: 20
}

@media screen and (min-width: 1080px) {
    .p-category__intro__illust {
        /*width: 20rem;*/
        /*height: 20rem;*/
        width: 40rem;
        height: 22rem;
        bottom: -8rem;
        right: 8rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__illust {
        /*width: 14rem;*/
        /*height: 14rem;*/
        width: 32rem;
        height: 17.6rem;
        bottom: -5.6rem;
        right: 2rem
    }
}

.p-category__intro__content {
    position: relative;
    z-index: 5;
    width: 100%
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__content {
        display: flex;
        flex-wrap: wrap;
        justify-content: center
    }
}

.p-category__intro__title {
    display: inline-block;
    padding: .5rem 1rem;
    background: #fff;
    margin-bottom: 2rem
}

.p-category__intro__title img {
    display: block
}

@media screen and (min-width: 1080px) {
    .p-category__intro__title img {
        height: 5.5rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__title img {
        height: 3.2rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__lead {
        width: 100%
    }
}

@media screen and (min-width: 1080px) {
    .p-category__intro__lead p {
        font-size: 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__lead p {
        font-size: 1.4rem
    }
}

.p-category__intro__link {
    display: flex;
    align-items: center;
    gap: 1rem
}

@media screen and (min-width: 1080px) {
    .p-category__intro__link {
        margin-top: 1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__link {
        margin-top: 1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__link {
        width: 100%
    }
}

.p-category__intro__link::before {
    content: "";
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background: #fff url(/sumicoco/2026/_asset/img/icon/icon_arr_link.svg) no-repeat center / .6rem
}

.p-category__intro__link a {
    color: #fff;
    text-decoration: none
}

.p-category__intro__link a:hover {
    text-decoration: underline
}

@media screen and (min-width: 1080px) {
    .p-category__intro__link a {
        font-size: 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__intro__link a {
        font-size: 1.4rem
    }
}

.p-category .p-topics {
    z-index: 0
}

.p-category__slider {
    position: relative;
    z-index: 1
}

@media screen and (min-width: 1080px) {
    .p-category__slider {
        height: 36rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__slider {
        height: 48rem
    }
}

@media screen and (min-width: 1080px) {
    .p-category__slider .p-topics__inner {
        height: 32rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__slider .p-topics__inner {
        height: 64rem
    }
}

.p-category__page-link ul {
    display: flex;
    justify-content: center;
    list-style: none
}

@media screen and (min-width: 1080px) {
    .p-category__page-link ul {
        height: 6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__page-link ul {
        height: 9rem
    }
}

.p-category__page-link ul li {
    position: relative;
    height: 100%;
    border-left: max(.1rem, 1px) solid #fff;
    border-right: max(.1rem, 1px) solid #fff
}

@media screen and (min-width: 1080px) {
    .p-category__page-link ul li {
        width: 32rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__page-link ul li {
        width: 30%
    }
}

.p-category__page-link ul li a {
    width: 100%;
    height: 80%;
    color: #fff;
    text-decoration: none
}

@media screen and (min-width: 1080px) {
    .p-category__page-link ul li a {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__page-link ul li a {
        text-align: center;
        line-height: 1.2
    }
}

.p-category__page-link ul li a i {
    display: block
}

@media screen and (min-width: 1080px) {
    .p-category__page-link ul li a i {
        font-size: 1.8em
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__page-link ul li a i {
        font-size: 1.4em;
        margin-top: 1rem
    }
}

.p-category__page-link ul li a span {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700
}

@media screen and (min-width: 1080px) {
    .p-category__page-link ul li a span {
        font-size: 1.8rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__page-link ul li a span {
        font-size: 1.2rem
    }
}

.p-category__page-link ul li a::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: .8rem;
    margin: 0 auto;
    height: .8em;
    width: .8em;
    background-color: #fff;
    mask-image: url(/sumicoco/2026/_asset/img/icon/icon_arr_down.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain
}

.p-category__page-link ul li a:hover {
    opacity: .7
}

.p-category .category {
    margin-bottom: 30px
}

@media screen and (min-width: 1080px) {
    .p-category .category__content {
        max-height: none !important
    }

    .p-category .category__content > * {
        opacity: 1 !important;
        transform: translateY(0) !important
    }
}

.p-category__box {
    border: max(.1rem, 1px) solid #999;
    background: #fff
}

@media screen and (min-width: 1080px) {
    .p-category__box {
        margin-bottom: 4rem;
        border-radius: 1rem;
        padding: 2.4rem 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__box {
        margin-bottom: 2rem;
        border-radius: .8rem;
        padding: 1.6rem 1.6rem
    }
}

.p-category__box hr {
    display: block;
    width: 100%;
    height: 0;
    border: none;
    border-top: dashed max(.1rem, 1px) #999;
    margin: 2rem auto
}

.p-category__box__title {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin: 1rem 0;
    line-height: 1
}

@media screen and (min-width: 1080px) {
    .p-category__box__title {
        column-gap: 2.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__box__title {
        column-gap: 1rem
    }

    .p-category__box__title::after {
        content: "";
        display: block;
        width: 2rem;
        height: 2rem;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto 0
    }
}

.p-category__box__title i {
    font-size: 1.5em
}

@media print, screen and (max-width: 1079px) {
    .p-category__box__content {
        display: none
    }
}

.p-category__box__lead {
    margin: 1rem 0 2rem
}

@media screen and (min-width: 1080px) {
    .p-category__box__lead {
        text-align: center
    }
}

.p-category__box__list {
    display: flex;
    flex-wrap: wrap
}

@media screen and (min-width: 1080px) {
    .p-category__box__list {
        gap: .5rem 4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__box__list {
        gap: 1rem 1rem
    }
}

.p-category__box__list li {
    position: relative;
    list-style: none;
    display: flex;
    align-items: anchor-center;
    padding-left: 1.6rem
}

@media screen and (min-width: 1080px) {
    .p-category__box__list li {
        min-width: 20rem;
        font-size: 1.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__box__list li {
        min-width: 10rem;
        font-size: 1.4rem
    }
}

.p-category__box__list li::before {
    content: "";
    display: block;
    height: .8em;
    width: .8em;
    background: url(/sumicoco/2026/_asset/img/icon/icon_arr_right.svg) no-repeat center / contain;
    vertical-align: sub;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0
}

@media print, screen and (max-width: 1079px) {
    .p-category__box__list li::before {
        margin-right: .125em
    }
}

.p-category__box__list li a:not(.pdf) {
    color: #438DC4;
    font-weight: 700;
    text-decoration: none
}

.p-category__box__list li a:not(.pdf):hover {
    color: #193B6A;
    text-decoration: underline
}

.p-category__box__list li span.upcoming {
    color: #ACACAC;
    font-weight: 700
}

.p-category__box__list li a.pdf {
    color: #2D2D2D;
    text-decoration: none;
    margin-left: auto
}

.p-category__box__list li a.pdf:hover {
    opacity: .7;
    text-decoration: underline
}

@media screen and (min-width: 1080px) {
    .p-category__box__list li a.pdf {
        font-size: 1rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__box__list li a.pdf {
        font-size: 0
    }
}

@media screen and (min-width: 1080px) {
    .p-category__box__list li a.pdf i {
        font-size: 1.5rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-category__box__list li a.pdf i {
        font-size: 2.25rem
    }
}

.p-category.--sumicoco .p-category__page-link {
    background-color: #D70A2F
}

.p-category.--sumicoco .p-category__box__title {
    color: #D70A2F
}

.p-category.--sumicoco .p-category__box__title::after {
    background: url(/sumicoco/2026/_asset/img/icon/icon_open_sumicoco.svg) no-repeat center / contain
}

.p-category.--sumicoco .p-category__box__title.--open::after {
    background: url(/sumicoco/2026/_asset/img/icon/icon_close_sumicoco.svg) no-repeat center / contain
}

.p-category.--sumitai .p-category__page-link {
    background-color: #3C51C4
}

.p-category.--sumitai .p-category__box__title {
    color: #3C51C4
}

.p-category.--sumitai .p-category__box__title::after {
    background: url(/sumicoco/2026/_asset/img/icon/icon_open_sumitai.svg) no-repeat center / contain
}

.p-category.--sumitai .p-category__box__title.--open::after {
    background: url(/sumicoco/2026/_asset/img/icon/icon_close_sumitai.svg) no-repeat center / contain
}

.p-category.--special .p-category__page-link {
    background-color: #5BA512
}

.p-category.--special .p-category__box__title {
    color: #5BA512
}

.p-category.--special .p-category__box__title::after {
    background: url(/sumicoco/2026/_asset/img/icon/icon_open_special.svg) no-repeat center / contain
}

.p-category.--special .p-category__box__title.--open::after {
    background: url(/sumicoco/2026/_asset/img/icon/icon_close_special.svg) no-repeat center / contain
}

.p-error__header .l-header__inner {
    justify-content: flex-start
}

.p-error__title::before {
    content: none
}

.p-error__lead {
    margin: 2rem auto 4rem
}

.p-error__lead p {
    text-align: center
}

@media screen and (min-width: 1080px) {
    .p-error__lead p {
        font-size: 1.6rem
    }
}

@media print, screen and (max-width: 1079px) {
    .p-error__lead p {
        font-size: 1.4rem
    }
}

@media print, screen and (max-width: 1079px) {
    .u-sm--hidden {
        display: none
    }
}

@media screen and (min-width: 1080px) {
    .u-lg--hidden {
        display: none
    }
}

.i-new {
    color: #D70A2F;
    line-height: 1.4em;
    font-size: 1em
}

.i-new::before {
    content: "NEW";
    font-size: max(.8em, 1.1rem);
    font-weight: 700;
    font-family: 'Oswald', sans-serif;
    font-style: normal
}

hr.hr__mark {
    position: relative;
    border: none;
    outline: none;
    width: 100%;
    clear: both;
    margin: 1.2rem auto 1.2rem;
    height: 1.6rem
}

hr.hr__mark::before {
    content: "";
    display: block;
    height: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: url(/sumicoco/2026/_asset/img/icon/icon_star.svg) no-repeat center / contain;
    width: 1.6rem
}

body.--fixed {
    overflow: hidden
}

body #global-nav {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    z-index: 800;
    transition: all 0.2s ease;
    opacity: 1;
    transform: translateY(0)
}

body #global-nav.--in {
    opacity: 1
}

body #global-nav.--out {
    opacity: 0;
    transform: translateY(-30px)
}

body.no_scroll #global-nav.--in {
    opacity: 1;
    position: absolute
}

body.no_scroll .l-page-top {
    opacity: 0
}

body.p-ranking.no_scroll .p-ranking__header {
    display: none
}

@media screen and (min-width: 1080px) {
    body.p-ranking:not(.no_scroll) .l-header {
        display: none
    }
}

@media print, screen and (max-width: 1079px) {
    body.p-ranking:not(.no_scroll) .l-header {
        display: block
    }
}

@media screen and (min-width: 1080px) {
    body.p-ranking:not(.no_scroll) .l-header__breadcrumb {
        display: none
    }
}

@media print, screen and (max-width: 1079px) {
    body.p-ranking:not(.no_scroll) .l-header__breadcrumb {
        display: none
    }
}

@keyframes shiny {
    0% {
        left: -20%
    }
    10% {
        left: 120%
    }
    100% {
        left: 120%
    }
}
/* SP（1080px 以下）で本文・注釈の文字サイズを底上げ - 読みやすさ改善 */
@media (max-width:1080px){
.p-ranking__survey__comment p{font-size:1.4rem;line-height:1.7}
.c-annotation ul li,.c-annotation ol li{font-size:1.3rem;line-height:1.6}
.p-ranking__subject__lead p{font-size:1.5rem;line-height:1.8}
.p-ranking__district__comment p{font-size:1.5rem;line-height:1.8}
.p-ranking__survey__explain dl dd p{font-size:1.3rem;line-height:1.6}
.p-ranking__district__name .name-city{font-size:3.4rem;letter-spacing:-.04em}
}
/* 5年間の順位推移 chart.js が参照する CSS 変数（getComputedStyle で読まれる） */
:root{
  --text-color:#111111;
  --grid-color:#C8D2DA;
  --theme-color:#1F3A6E;
}

/* トピックスのタイトルを少し小さく + 文字間も少し詰める */
.p-topics__title{font-size:2.8rem !important; line-height:1.45 !important; letter-spacing:-0.03em !important}
@media (max-width:1079px){.p-topics__title{font-size:2.25rem !important; letter-spacing:-0.03em !important}}
