/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
:root,
:host {
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
}
:root {
    --box-padding: 16px;
    --box-margin: 16px;
    --box-rounded: 8px;
    --highlight: #fef9a8;
    --fukidashi-size: 8px;
    --fukidashi-border-size: 2px;
    --fukidashi-bg: #fff;
}
.scroll-hint-icon {
    transform: scale(0.9) translate3d(-50%, -50%, 0);
    transform-origin: center;
    top: 50% !important;
    left: 50% !important;
}
.scroll-hint-icon-wrap .scroll-hint-icon:before {
    animation-iteration-count: 1 !important;
}
.scroll-hint-icon-wrap .scroll-hint-icon:after {
    transition-delay: 1.2s !important;
}
main a.tel-link {
    display: inline;
}
.inline-indent {
    text-indent: -1em;
    margin-left: 1em;
}
.AB-wrap {
    margin-top: 0.5em;
}
.AB-wrap .AB-btn-wrap {
    margin-bottom: 0.8em;
}
.AB-wrap .AB-btn-wrap li {
    margin: 0;
}
dl.dl-list:not(#\#) dt {
    margin-bottom: 0;
}
dl.dl-list:not(#\#) dd {
    margin-top: 0;
}
ul.ul-list:not(#\#) li {
    margin-top: 0;
    margin-bottom: 0;
}
.qr a {
    display: inline-block;
    margin-top: 0.25em;
}
.qr a + a {
    margin-left: 0.5em;
}
.shisei-content {
    background-color: #003f99 !important;
    .shisei-box {
        background-color: #e0f2fc !important;
    }
    .shisei-box-title {
        width: calc(100% - 2em);
        padding-right: 2em;
        position: relative;
        z-index: 1;
        color: white !important;
    }
    .shisei-box-title::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        transform: skewX(-15deg);
        width: calc(100%);
        transform-origin: top right;
        border-end-end-radius: 0.5em;
        background-color: #003f99;
    }
}
.note {
    background-color: var(--note-bg, #fff) !important;
    background-image:
        linear-gradient(
            90deg,
            transparent 0%,
            transparent 50%,
            var(--note-bg, #fff) 50%,
            var(--note-bg, #fff) 100%
        ),
        linear-gradient(180deg, #ccc 1px, transparent 1px);
    background-size:
        3px 100%,
        100% 1.5em;
    line-height: 1.5em;
    padding-bottom: 1px;
}
.note-underline {
    background-color: var(--note-bg, #fff) !important;
    background-image:
        linear-gradient(
            90deg,
            transparent 0%,
            transparent 50%,
            var(--note-bg, #fff) 50%,
            var(--note-bg, #fff) 100%
        ),
        linear-gradient(180deg, transparent calc(100% - 1px), #ccc calc(100% - 1px));
    background-size:
        3px 100%,
        100% 100%;
    background-repeat: repeat-x, no-repeat;
    line-height: 1.5em;
    padding-bottom: 1px;
}
.manga-series .manga-content {
    background-color: #f7bb75 !important;
}
.manga-series .manga-content > .tp-box {
    background-color: #fafad9 !important;
}
.manga-series .manga-content .note {
    background-color: #fafad9 !important;
    background-image:
        linear-gradient(90deg, transparent 0%, transparent 50%, #fafad9 50%, #fafad9 100%),
        linear-gradient(180deg, #ccc 1px, transparent 1px);
    background-size:
        3px 100%,
        100% 1.5em;
    line-height: 1.5em;
    padding-bottom: 1px;
}
.cou2 {
    margin-bottom: 1em;
    padding: 8px;
    font-weight: bold;
    background: #bdfcfd;
    border: solid 1px #29c8cd;
    border-radius: 10px;
}
.footer_inner #footmark {
    display: block;
    margin: 15px auto 0;
    padding-bottom: 8px;
    width: 48px;
    height: auto;
    text-align: center;
}
@media screen and (min-width: 768px) {
    .footer_inner #footmark {
        margin-top: 10px;
        padding-bottom: 3px;
        width: 44px;
        height: auto;
        position: absolute;
        right: 0;
        bottom: 0;
    }
}
.ward table {
    width: 100%;
}
.ward table th {
    font-weight: bold;
    text-align: center;
    background: #ffffff;
}
.ward table thead th {
    background: #b1c668;
}
.ward table td {
    font-size: 1.4rem;
}
.ward table tr.even td {
    background-color: #dce89d;
}
.ward_footer {
    font-size: 1.4rem;
    overflow: hidden;
}
.ward_footer .wf-media {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0 0 0.5em 0.5em !important;
    width: 45%;
    max-width: 200px;
    float: right;
    font-size: 1.4rem;
    text-align: center;
}
.ward_footer .wf-media img {
    margin-bottom: 4px;
    width: 100%;
}
.pic50 {
    margin: 1.1428em auto !important;
    font-size: 1.4rem;
    text-align: center;
}
.pic50 img {
    margin: 0 auto;
    margin-bottom: 4px;
    width: 50%;
}
.shisei-content {
    background-color: #003f99 !important;
}
.shisei-box {
    background-color: #e0f2fc !important;
}
.shisei-box-title {
    position: relative;
    z-index: 1;
    color: white !important;
}
.shisei-box-title::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    transform: skewX(-15deg);
    width: calc(100%);
    transform-origin: top right;
    border-end-end-radius: 0.5em;
    background-color: #003f99;
}
:root {
    --ribon-bg: #e01d2b;
    --ribon-size: 35px;
    --ribon-diff-size: 15px;
}
@property --tw-space-y-reverse {
    syntax: '*';
    inherits: false;
    initial-value: 0;
}
@property --tw-border-style {
    syntax: '*';
    inherits: false;
    initial-value: solid;
}
@property --tw-font-weight {
    syntax: '*';
    inherits: false;
}
@property --tw-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
    syntax: '*';
    inherits: false;
}
@property --tw-shadow-alpha {
    syntax: '<percentage>';
    inherits: false;
    initial-value: 100%;
}
@property --tw-inset-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
    syntax: '*';
    inherits: false;
}
@property --tw-inset-shadow-alpha {
    syntax: '<percentage>';
    inherits: false;
    initial-value: 100%;
}
@property --tw-ring-color {
    syntax: '*';
    inherits: false;
}
@property --tw-ring-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
    syntax: '*';
    inherits: false;
}
@property --tw-inset-ring-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
    syntax: '*';
    inherits: false;
}
@property --tw-ring-offset-width {
    syntax: '<length>';
    inherits: false;
    initial-value: 0px;
}
@property --tw-ring-offset-color {
    syntax: '*';
    inherits: false;
    initial-value: #fff;
}
@property --tw-ring-offset-shadow {
    syntax: '*';
    inherits: false;
    initial-value: 0 0 #0000;
}
@property --tw-outline-style {
    syntax: '*';
    inherits: false;
    initial-value: solid;
}
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or
    ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *,
    ::before,
    ::after,
    ::backdrop {
        --tw-space-y-reverse: 0;
        --tw-border-style: solid;
        --tw-font-weight: initial;
        --tw-shadow: 0 0 #0000;
        --tw-shadow-color: initial;
        --tw-shadow-alpha: 100%;
        --tw-inset-shadow: 0 0 #0000;
        --tw-inset-shadow-color: initial;
        --tw-inset-shadow-alpha: 100%;
        --tw-ring-color: initial;
        --tw-ring-shadow: 0 0 #0000;
        --tw-inset-ring-color: initial;
        --tw-inset-ring-shadow: 0 0 #0000;
        --tw-ring-inset: initial;
        --tw-ring-offset-width: 0px;
        --tw-ring-offset-color: #fff;
        --tw-ring-offset-shadow: 0 0 #0000;
        --tw-outline-style: solid;
    }
}
small {
    display: inline-block;
}
hr {
    margin-top: 0.6em;
    height: 0;
    border: 0;
    border-bottom: 1px solid currentColor;
}
hr.hr-dotted {
    border-style: dotted;
}
hr.hr-dashed {
    border-style: dashed;
}
dt {
    margin-top: 0.7rem;
    margin-bottom: 6px;
}
dd {
    margin-top: 3px;
}
sub,
sup {
    vertical-align: baseline;
    position: relative;
    font-size: 75%;
    line-height: 0;
}
sub {
    top: 0.25em;
}
sup {
    top: -0.25em;
}
#special img,
#topics img {
    max-width: 100%;
    height: auto;
}
#special .AB-wrap img,
#topics .AB-wrap img {
    max-width: none;
}
#special h4,
#topics h4 {
    font-size: 1.125em;
}
#special h5,
#special h6,
#topics h5,
#topics h6 {
    font-size: 1em;
}
#topics section:not(:first-child),
#topics section + hr:not(:first-child) {
    margin-top: 1.6em;
}
#topics .topics-content {
    background-color: #dbad7c;
    padding: 4px;
}
#topics .topics-content > .tp-box:not(:first-child) {
    margin-top: 4px;
}
#topics .topics-content > .tp-box:not(:last-child) {
    margin-bottom: 4px;
}
#topics ul li:not(:first-child) {
    margin-top: 0.3em;
}
#topics .hr-tp-dashed {
    background: none;
    border: 0;
    border-bottom: 2px dashed #dbad7c;
}
#topics h4 {
    margin-top: 0.8em;
    margin-bottom: 0.1em;
}
#topics h5 {
    margin-top: 0.8em;
    margin-bottom: 0.1em;
}
#topics h6 {
    margin-top: 0.6em;
    margin-bottom: 0.1em;
}
#kokuraminami .tb_left,
#kokuraminami .tb_right {
    width: auto;
    height: 310px;
}
#kokuraminami table th {
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    background: #d1e7c3;
}
#kokuraminami table th.bobd {
    border-top-width: 2.5px;
    border-right-width: 2.5px;
    border-left-width: 2.5px;
}
#kokuraminami table td {
    font-size: 1.4rem;
}
#kokuraminami table td.bobd {
    border-right-width: 2.5px;
    border-bottom-width: 2.5px;
    border-left-width: 2.5px;
}
#kokuraminami .ward_btext {
    min-height: 200px;
}
@media screen and (min-width: 768px) {
    #kokuraminami .ward_eye img {
        width: 200px;
    }
}
#yahatanishi table.kenko-table {
    width: 100%;
}
#yahatanishi table.kenko-table thead th {
    white-space: nowrap;
    background-color: #3e66ac;
    color: white;
}
#yahatanishi table.kenko-table tbody th {
    font-weight: normal;
}
#yahatanishi table.kenko-table th {
    text-align: left;
}
#yahatanishi table.kenko-table td {
    text-align: center;
}
#yahatanishi table.kenko-table td.td-mark {
    background-color: mark;
}
#yahatahigashi .tb_left,
#yahatahigashi .tb_right {
    width: auto;
    height: 110px;
}
#yahatahigashi .tb {
    width: 100%;
    height: auto;
}
#yahatahigashi .yahata_mid {
    margin-bottom: 0;
    color: #2f5831;
}
#yahatahigashi .higashi_box {
    margin-top: 1.2em;
    padding: 12px;
    background: #fad1b1;
    border-radius: 10px;
}
#yahatahigashi .higashi_box h4 {
    margin-bottom: 0;
    color: #ea5405;
}
#yahatahigashi .higashi_box li {
    margin-top: 0.2em;
}
#tobata .tb_left,
#tobata .tb_right {
    width: auto;
    height: 288.5px;
}
#tobata table th,
#tobata table td {
    font-size: 1.4rem;
}
#tobata table thead th {
    white-space: nowrap;
    background: #0068b7;
    color: #ffffff;
}
#tobata table tbody th {
    white-space: nowrap;
}
#tobata table tbody td:nth-of-type(2) {
    white-space: nowrap;
}
#tobata table tbody td {
    background: #ffffff;
}
#tobata .tobata_box {
    margin-top: 1.2em;
    padding: 12px;
    background: #cbda95;
    border-radius: 10px;
}
#tobata .tobata_box h4 {
    margin: 0;
    padding: 3px 8px;
    font-size: 1.7rem;
    background: #fff100;
    color: #009944;
    border-radius: 6px;
}
#tobata .info_contents {
    background: #fadce9;
}
#special {
    padding: 0;
    background-size: 100% auto;
}
#special .special-block {
    padding: 12px;
    background-size: 100% auto;
}
#special .special-block #special_title {
    position: relative;
    margin: 0;
}
.tp-title {
    padding: 2px 8px;
}
.tp-info-box {
    margin-top: var(--box-margin);
    padding: 10px 12px;
    background: var(--highlight) !important;
    @supports (color: color-mix(in lab, red, red)) {
        background: color-mix(in hsl, var(--highlight) 88%, white) !important;
    }
    border-radius: calc(var(--box-rounded) * 0.875);
}
.tp-info-box dt:first-child {
    margin-top: 0;
}
.box {
    position: relative;
    padding: var(--box-padding);
    overflow: hidden;
    background-color: white;
    & > h3,
    & > h4,
    & > h5,
    & > h6 {
        margin-top: 0.75em;
        margin-bottom: 0.375em;
    }
    & > *:first-child:not(#\#) {
        margin-top: 0;
    }
    & > *:last-child:not(#\#) {
        margin-bottom: 0;
    }
    .box {
        padding: calc(var(--box-padding) * 0.9);
    }
}
.box-title {
    font-size: 1.1em;
    font-weight: bold;
}
.box-header {
    padding: 6px 12px;
}
.box-content {
    padding: 12px;
}
.box:not(:first-child) {
    margin-top: var(--box-margin);
}
.box:not(:last-child) {
    margin-bottom: var(--box-margin);
}
.accordion-content > .box:not(:first-child) {
    margin-top: 8px;
}
.accordion-content > .box:not(:last-child) {
    margin-bottom: 8px;
}
.cell-border {
    border-collapse: collapse;
    & th,
    & td {
        border: 1px solid var(--cell-border, #ccc);
    }
}
.banzai {
    position: relative;
    display: inline-block;
    padding: 0 1em;
    line-height: 1;
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
}
.banzai.banzai-center {
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.banzai::before,
.banzai::after {
    position: absolute;
    bottom: 0;
    content: '';
    width: 1px;
    height: 130%;
    min-height: 2rem;
    transform-origin: center bottom;
}
.banzai::before {
    left: 0.5em;
    border-left: 2px solid currentColor;
    transform: rotate(-35deg);
}
.banzai::after {
    right: 0.5em;
    border-right: 2px solid currentColor;
    transform: rotate(35deg);
}
.banzai .banzai::before {
    left: 0;
    height: 110%;
    transform: rotate(-20deg);
}
.banzai .banzai::after {
    right: 0;
    height: 110%;
    transform: rotate(20deg);
}
.fukidashi-1 {
    --fukidashi-border-size: 1px;
}
.fukidashi-mini {
    --fukidashi-size: 6px;
}
.fukidashi {
    display: block;
    background: var(--fukidashi-bg);
    position: relative;
    padding: 0.25em 0.75em;
    margin: 0;
}
.fukidashi > * {
    margin: 0 !important;
}
.fukidashi::before,
.fukidashi::after {
    position: absolute;
    left: 35%;
    height: 0;
    width: 0;
    border: solid transparent;
    content: '';
}
.fukidashi::before {
    top: 100%;
    margin-left: calc(var(--fukidashi-size) * -1);
    border-color: transparent;
    border-top-color: var(--fukidashi-bg);
    border-right-color: var(--fukidashi-bg);
    border-width: var(--fukidashi-size);
}
.fukidashi-outline::after {
    top: calc(100% - var(--fukidashi-border-size) + 1px);
    margin-left: calc((var(--fukidashi-size) - var(--fukidashi-border-size)) * -1);
    border-color: transparent;
    border-top-color: var(--fukidashi-bg);
    border-right-color: var(--fukidashi-bg);
    border-width: calc(var(--fukidashi-size) - var(--fukidashi-border-size));
}
.fukidashi-reverse::before,
.fukidashi-reverse::after {
    transform: scale(-1, 1);
}
.fukidashi-top::before,
.fukidashi-top::after {
    top: inherit;
    bottom: 100%;
    transform: scale(1, -1);
}
.fukidashi-top.fukidashi-outline::after {
    bottom: calc(100% - var(--fukidashi-border-size) + 1px);
}
.fukidashi-top-left::before,
.fukidashi-top-left::after {
    top: inherit;
    bottom: 100%;
    transform: scale(1, -1);
    left: 15%;
}
.fukidashi-top-left.fukidashi-outline::after {
    bottom: calc(100% - var(--fukidashi-border-size) + 1px);
}
.fukidashi-top-center::before,
.fukidashi-top-center::after {
    top: inherit;
    bottom: 100%;
    transform: scale(1, -1);
    left: 50%;
}
.fukidashi-top-center.fukidashi-outline::after {
    bottom: calc(100% - var(--fukidashi-border-size) + 1px);
}
.fukidashi-top-right::before,
.fukidashi-top-right::after {
    top: inherit;
    bottom: 100%;
    transform: scale(1, -1);
    left: 85%;
}
.fukidashi-top-right.fukidashi-outline::after {
    bottom: calc(100% - var(--fukidashi-border-size) + 1px);
}
.fukidashi-left::before,
.fukidashi-left::after {
    transform: scale(1, 0.75) translate3d(0, -65%, 0);
    top: 50%;
    left: inherit;
    right: 100%;
}
.fukidashi-left.fukidashi-outline::after {
    right: calc(100% - var(--fukidashi-border-size) + 1px);
    margin-left: 0;
}
.fukidashi-left-top::before,
.fukidashi-left-top::after {
    transform: scale(1, 0.75) translate3d(0, -65%, 0);
    left: inherit;
    right: 100%;
    top: 25%;
}
.fukidashi-left-top.fukidashi-outline::after {
    right: calc(100% - var(--fukidashi-border-size) + 1px);
    margin-left: 0;
}
.fukidashi-left-bottom::before,
.fukidashi-left-bottom::after {
    transform: scale(1, 0.75) translate3d(0, -65%, 0);
    left: inherit;
    right: 100%;
    top: 75%;
}
.fukidashi-left-bottom.fukidashi-outline::after {
    right: calc(100% - var(--fukidashi-border-size) + 1px);
    margin-left: 0;
}
.fukidashi-center::before,
.fukidashi-center::after {
    left: 50%;
}
.fukidashi-right::before,
.fukidashi-right::after {
    transform: scale(-1, 0.75) translate3d(0, -65%, 0);
    top: 50%;
    left: 100%;
    right: inherit;
}
.fukidashi-right::before {
    margin-left: 0;
    margin-right: calc(var(--fukidashi-size) * -1);
}
.fukidashi-right.fukidashi-outline::after {
    left: calc(100% - var(--fukidashi-border-size) + 1px);
    margin-left: 0;
    margin-right: calc((var(--fukidashi-size) - var(--fukidashi-border-size)) * -1);
}
.fukidashi-right-top::before,
.fukidashi-right-top::after {
    transform: scale(-1, 0.75) translate3d(0, -65%, 0);
    left: 100%;
    right: inherit;
    top: 25%;
}
.fukidashi-right-top.fukidashi-outline::after {
    left: calc(100% - var(--fukidashi-border-size) + 1px);
    margin-left: 0;
    margin-right: calc((var(--fukidashi-size) - var(--fukidashi-border-size)) * -1);
}
.fukidashi-right-bottom::before,
.fukidashi-right-bottom::after {
    transform: scale(-1, 0.75) translate3d(0, -65%, 0);
    left: 100%;
    right: inherit;
    top: 75%;
}
.fukidashi-right-bottom.fukidashi-outline::after {
    left: calc(100% - var(--fukidashi-border-size) + 1px);
    margin-left: 0;
    margin-right: calc((var(--fukidashi-size) - var(--fukidashi-border-size)) * -1);
}
.ribon {
    display: block;
    position: relative;
    z-index: 0;
    margin-left: calc(var(--ribon-size) - var(--ribon-diff-size));
    margin-right: calc(var(--ribon-size) - var(--ribon-diff-size));
    text-align: center;
    box-sizing: border-box;
    &:before {
        content: '';
        position: absolute;
        width: var(--ribon-size);
        height: 100%;
        bottom: calc(var(--ribon-diff-size) * -1);
        left: calc((var(--ribon-size) - var(--ribon-diff-size)) * -1);
        z-index: -2;
        background: var(--ribon-bg);
        @supports (color: color-mix(in lab, red, red)) {
            background: color-mix(in srgb, var(--ribon-bg), black 10%);
        }
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 50% 50%);
    }
    &:after {
        content: '';
        position: absolute;
        width: var(--ribon-size);
        height: 100%;
        bottom: calc(var(--ribon-diff-size) * -1);
        right: calc((var(--ribon-size) - var(--ribon-diff-size)) * -1);
        z-index: -2;
        background: var(--ribon-bg);
        @supports (color: color-mix(in lab, red, red)) {
            background: color-mix(in srgb, var(--ribon-bg), black 10%);
        }
        clip-path: polygon(0% 0%, 100% 0%, 50% 50%, 100% 100%, 0% 100%);
    }
    > *:first-child {
        display: block;
        position: relative;
        margin: 0;
        padding: 6px 8px;
        color: #fff;
        background: var(--ribon-bg);
    }
    > *:first-child:before {
        position: absolute;
        content: '';
        top: 100%;
        left: 0;
        border: none;
        border-bottom: solid var(--ribon-diff-size) transparent;
        border-right: solid var(--ribon-diff-size) var(--ribon-bg);
        @supports (color: color-mix(in lab, red, red)) {
            border-right: solid var(--ribon-diff-size)
                color-mix(in srgb, var(--ribon-bg), black 20%);
        }
    }
    > *:first-child:after {
        position: absolute;
        content: '';
        top: 100%;
        right: 0;
        border: none;
        border-bottom: solid var(--ribon-diff-size) transparent;
        border-left: solid var(--ribon-diff-size) var(--ribon-bg);
        @supports (color: color-mix(in lab, red, red)) {
            border-left: solid var(--ribon-diff-size) color-mix(in srgb, var(--ribon-bg), black 20%);
        }
    }
}
.ribon-l {
    display: block;
    position: relative;
    z-index: 0;
    margin-left: calc(var(--ribon-size));
    box-sizing: border-box;
    background: var(--ribon-bg);
    width: fit-content;
    &:before {
        content: '';
        position: absolute;
        width: var(--ribon-size);
        height: 100%;
        bottom: 0;
        right: calc(100% - 1px);
        z-index: -2;
        background: var(--ribon-bg);
        clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 50% 50%);
    }
}
.ribon-r {
    display: block;
    position: relative;
    z-index: 0;
    margin-right: calc(var(--ribon-size));
    box-sizing: border-box;
    background: var(--ribon-bg);
    width: fit-content;
    &:after {
        content: '';
        position: absolute;
        width: var(--ribon-size);
        height: 100%;
        bottom: 0;
        left: calc(100% - 1px);
        z-index: -2;
        background: var(--ribon-bg);
        clip-path: polygon(0% 0%, 100% 0%, 50% 50%, 100% 100%, 0% 100%);
    }
}
.arrow-d {
    --arrow-color: #235da7;
    --arrow-outline-color: #fff;
    --arrow-outline: 4px;
    --arrow-w: 54px;
    --arrow-h: 42px;
    --arrow-shape: polygon(28% 0%, 72% 0%, 72% 52%, 100% 52%, 50% 100%, 0% 52%, 28% 52%);
    display: block;
    position: relative;
    width: var(--arrow-w);
    height: var(--arrow-h);
    margin: 0.4em auto;
    background: var(--arrow-outline-color);
    clip-path: var(--arrow-shape);
    &::before {
        content: '';
        position: absolute;
        inset: var(--arrow-outline);
        background: var(--arrow-color);
        clip-path: var(--arrow-shape);
    }
}
.num-card-group {
    container-type: inline-size;
}
.num-card {
    --num-bg: #bfd3ec;
    --num-badge-bg: #fff57a;
    --num-badge-color: #d32d26;
    --num-value-color: #1b3571;
    --num-photo-w: 65%;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 0 0.6em 0.14em 0;
    background: var(--num-bg);
    font-size: clamp(1.15rem, 2.9vw, 2.1rem);
    font-size: clamp(1.15rem, 3.3cqw, 2.1rem);
    line-height: 1.2;
}
#special .num-card .num-photo {
    position: absolute;
    inset: 0 0 0 auto;
    z-index: -1;
    width: var(--num-photo-w);
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: var(--num-photo-pos, 50% 50%);
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 23%);
    mask-image: linear-gradient(to right, transparent 0, #000 23%);
}
#special .num-card .num-badge {
    width: fit-content;
    margin: 0.52em 0 0.35em;
    padding: 0.3em 1em 0.15em 0.42em;
    border-radius: 0 9999px 9999px 0;
    background: var(--num-badge-bg);
    color: var(--num-badge-color);
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.3;
}
#special .num-card .num-badge b {
    font-size: 1.5em;
    font-weight: bold;
    line-height: 0.9;
}
#special .num-card .num-label {
    margin: 0 0 0 1.05em;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.25;
}
#special .num-card .num-value {
    margin: 0 0 0 0.276em;
    color: var(--num-value-color);
    font-size: 3.8em;
    font-weight: bold;
    line-height: 1.05;
    letter-spacing: -0.01em;
}
#special .num-card .num-value span {
    font-size: 0.52em;
    letter-spacing: 0;
}
@media screen and (max-width: 767px) {
    .num-card {
        --num-photo-w: 52%;
    }
}
.act-card {
    --act-title-bg: #3a72b5;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-bottom: 0.7em;
    background: #fff;
}
#special .act-card .act-title {
    width: fit-content;
    max-width: 94%;
    margin: 0.5em 0 0.5em;
    padding: 0.12em 1.1em 0.17em 0.6em;
    border-radius: 0 9999px 9999px 0;
    background: var(--act-title-bg);
    color: #fff;
    font-weight: bold;
    line-height: 1.45;
}
#special .act-card p {
    margin: 0 1em 0.2em 1.3em;
    line-height: 1.5;
}
#special .act-card .act-photo {
    display: block;
    width: 100%;
    height: auto;
    margin-top: 0.7em;
}
@media screen and (max-width: 767px) {
    #special .act-card .act-title {
        max-width: 100%;
    }
}
@media screen and (min-width: 768px) {
    .act-card {
        min-height: 150px;
        padding-bottom: 1em;
    }
    #special .act-card .act-photo {
        position: absolute;
        inset: 0 0 0 auto;
        z-index: -1;
        width: auto;
        max-width: 55%;
        height: 100%;
        margin: 0;
        object-fit: contain;
        -webkit-mask-image: linear-gradient(to right, transparent 0, #000 20%);
        mask-image: linear-gradient(to right, transparent 0, #000 20%);
    }
    #special .act-card p {
        margin-right: 50%;
    }
}
.pt-panel {
    --pt-navy: #1b3571;
    --pt-blue: #235da7;
    --pt-red: #d32d26;
    --pt-chip-bg: #c3dae8;
    --pt-tint: #dceff7;
    padding: 12px;
    background: #edf6fa;
}
.pt-panel > * + * {
    margin-top: 12px;
}
.pt-card {
    padding: 14px;
    background: #fff;
}
#special .pt-card .pt-title {
    display: flex;
    align-items: center;
    gap: 0.45em;
    margin: 0 0 0.1em;
    color: var(--pt-navy);
    font-size: 1.55em;
    font-weight: bold;
    line-height: 1.3;
}
#special .pt-card .pt-no {
    flex: none;
    display: grid;
    place-items: center;
    width: 1.55em;
    height: 1.55em;
    border-radius: 50%;
    background: var(--pt-navy);
    color: #fff;
    font-size: 1.35em;
    line-height: 1;
}
#special .pt-card .pt-value {
    margin: 0;
    color: var(--pt-blue);
    font-size: clamp(3.8rem, 9vw, 7.2rem);
    font-weight: bold;
    line-height: 1.1;
    letter-spacing: -0.01em;
}
#special .pt-card .pt-value span {
    font-size: 0.52em;
    letter-spacing: 0;
}
#special .pt-card .pt-value .pt-pre {
    display: inline-block;
    margin-right: 0.6em;
    font-size: max(0.3em, 1.3rem);
    line-height: 1.35;
    text-align: center;
    vertical-align: baseline;
}
#special .pt-card .pt-value .pt-tri {
    font-size: 0.46em;
    letter-spacing: 0;
}
#special .pt-card .pt-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6em 1em;
    margin: 0;
}
#special .pt-card .pt-chip {
    margin: 0;
    padding: 0.4em 1em;
    border-radius: 8px;
    background: var(--pt-chip-bg);
    color: var(--pt-navy);
    font-size: 1.3em;
    font-weight: bold;
    line-height: 1.35;
    text-align: center;
}
#special .pt-card .pt-body {
    display: flex;
    align-items: center;
    gap: 1em;
    margin-top: 0.6em;
}
#special .pt-card .pt-body p {
    flex: 1 1 60%;
    margin: 0;
}
#special .pt-card .pt-illust {
    flex: 0 0 28%;
    width: 28%;
    height: auto;
    mix-blend-mode: multiply;
}
#special .pt-card .pt-sep {
    margin: 0.9em 0;
    border: 0;
    border-top: 3px dotted #c9c9c9;
}
#special .pt-card .pt-note {
    margin: 0.4em 0 0;
    font-size: 0.85em;
    text-align: right;
}
#special .pt-card .pt-lead {
    margin: 0 0 0.5em;
    color: var(--pt-navy);
    font-size: 1.25em;
    font-weight: bold;
}
#special .pt-card .tax-tab {
    position: relative;
    width: fit-content;
    margin: 0.8em 0 0.9em;
    padding: 0.25em 1.6em 0.3em 1em;
    border-radius: 9999px;
    background: var(--pt-blue);
    color: #fff;
    font-weight: bold;
}
#special .pt-card .tax-tab::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 2em;
    border: 0.6em solid transparent;
    border-top-color: var(--pt-blue);
}
.tax-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.tax-box {
    padding: 10px 12px 12px;
    border-radius: 8px;
    background: var(--pt-tint);
}
#special .tax-box .tax-name {
    margin: 0 0 0.1em;
    color: var(--pt-blue);
    font-size: 1.1em;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
}
#special .tax-box .tax-rate {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.1em;
    margin: 0 0 0.35em;
    color: var(--pt-red);
    font-size: 2.4em;
    font-weight: bold;
    line-height: 1.1;
}
#special .tax-box .tax-rate span {
    font-size: 0.5em;
}
.tax-arrow {
    flex: none;
    width: 0.8em;
    height: 0.8em;
    margin-right: 0.12em;
    background: linear-gradient(to top, #efaaa4, #d2352c);
    clip-path: polygon(50% 0%, 100% 48%, 72% 48%, 72% 100%, 28% 100%, 28% 48%, 0% 48%);
    rotate: 45deg;
}
#special .tax-box .tax-data {
    margin: 0 0 3px;
    padding: 0.15em 0.6em;
    background: #fff;
    font-size: 0.9em;
    text-align: center;
    line-height: 1.5;
}
#special .tax-box .tax-data b {
    color: var(--pt-blue);
    font-size: 1.35em;
    font-weight: bold;
}
#special .tax-box .tax-data b span {
    font-size: 0.72em;
}
#special .tax-box .tax-data .to {
    color: var(--pt-red);
}
#special .tax-box .tax-cap {
    margin: 0.5em 0 0;
    font-size: 0.9em;
    text-align: center;
    line-height: 1.45;
}
.fund-box {
    margin-top: 0.8em;
    padding: 14px;
    border-radius: 8px;
    background: var(--pt-tint);
}
#special .fund-box .fund-title {
    margin: 0 0 0.3em;
    color: var(--pt-navy);
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1.35;
}
#special .fund-box p {
    margin: 0;
}
#special .fund-box .fund-ex {
    clear: both;
    margin-top: 0.8em;
    padding: 0.3em 0.8em;
    border-top: 1px solid;
    border-bottom: 1px solid;
    font-size: 0.9em;
}
#special .fund-box .fund-illust {
    float: right;
    width: 27%;
    height: auto;
    margin: 0 0 0.4em 0.9em;
}
.manga-box {
    margin-top: 12px;
    padding: 14px;
    background: #9ec9e3;
    border: 2px solid white;
}
#special .manga-box .manga-bubble {
    margin: 0;
    border-radius: 12px;
    padding: 0.5em 1em;
    font-weight: bold;
    text-align: center;
}
#special .manga-box .qr {
    flex: none;
}
@media screen and (min-width: 768px) {
    .pt-panel {
        padding: 16px;
    }
    .pt-card {
        padding: 18px 20px;
    }
    .tax-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    #special .tax-box .tax-name {
        font-size: 0.88em;
        letter-spacing: -0.02em;
    }
    #special .tax-box .tax-rate {
        font-size: 2em;
    }
}
@media screen and (max-width: 767px) {
    #special .pt-card .pt-body {
        display: block;
    }
    #special .pt-card .pt-illust {
        display: block;
        width: 60%;
        margin: 0.5em auto 0;
    }
    .manga-box {
        display: block;
    }
    #special .manga-box .qr {
        margin-top: 1.4em;
        text-align: center;
    }
    #special .fund-box .fund-illust {
        width: 28%;
        margin-left: 0.7em;
    }
    #special .fund-box .fund-title {
        font-size: 1.3em;
    }
}
.kv {
    container-type: inline-size;
    position: relative;
    aspect-ratio: 1808 / 842;
    overflow: hidden;
    background: #06060c;
    font-family:
        'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS PMincho', serif;
}
#special .kv .kv-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
#special .kv .kv-logo {
    position: absolute;
    left: 8%;
    top: -3.8%;
    width: 36.9%;
    max-width: none;
    height: auto;
}
#special .kv .kv-lead {
    position: absolute;
    right: 9.3%;
    top: 7.5%;
    margin: 0;
    color: #fff;
    font-size: 3.45cqw;
    font-weight: bold;
    line-height: 1.4;
    text-align: right;
    text-shadow:
        0 0 0.1em rgba(0, 0, 0, 0.95),
        0 0 0.35em rgba(0, 0, 0, 0.9);
}
#special .kv .kv-lead b {
    color: #fff151;
    font-size: 1.47em;
    font-weight: bold;
}
.kv-ball {
    position: absolute;
    left: 42%;
    top: 50%;
    width: 7.6cqw;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(
        circle at 34% 28%,
        #fff6e2 0%,
        #e0c48f 26%,
        #a8793f 68%,
        #6b4a22 100%
    );
}
.kv-ball::before {
    content: '';
    position: absolute;
    left: 50%;
    top: -13%;
    width: 20%;
    height: 16%;
    transform: translateX(-50%);
    border-radius: 15%;
    background: linear-gradient(to bottom, #efe9dc, #9d8d74);
}
#special .kv .kv-date {
    position: absolute;
    left: 3.8%;
    top: 54.2%;
    margin: 0;
    color: #fff151;
    font-size: 5.8cqw;
    font-weight: bold;
    line-height: 1;
    white-space: nowrap;
    text-shadow:
        0 0 0.05em rgba(255, 243, 170, 0.95),
        0 0 0.12em rgba(255, 216, 95, 0.9),
        0 0 0.22em rgba(255, 180, 45, 0.8),
        0 0 0.4em rgba(255, 150, 20, 0.6),
        0 0 0.8em rgba(255, 140, 10, 0.4),
        0 0 1.4em rgba(255, 130, 0, 0.25),
        0 0.02em 0.12em rgba(50, 26, 0, 0.6);
}
#special .kv .kv-date span {
    color: #fff;
    font-size: 0.6em;
}
.ev-box {
    --ev-base: #31273d;
    --ev-glow: #6a2e69;
    --ev-yellow: #fff151;
    --ev-fade: 9%;
    container-type: inline-size;
    position: relative;
    isolation: isolate;
    padding: 1.6em 5% 2.2em;
    color: #fff;
    font-family:
        'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS PMincho', serif;
}
.ev-box::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--ev-glow);
    -webkit-mask-image:
        linear-gradient(
            to right,
            transparent 0,
            #000 var(--ev-fade),
            #000 calc(100% - var(--ev-fade)),
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            transparent 0,
            #000 var(--ev-fade),
            #000 calc(100% - var(--ev-fade)),
            transparent 100%
        );
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(
            to right,
            transparent 0,
            #000 var(--ev-fade),
            #000 calc(100% - var(--ev-fade)),
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            transparent 0,
            #000 var(--ev-fade),
            #000 calc(100% - var(--ev-fade)),
            transparent 100%
        );
    -webkit-mask-composite: source-in, xor;
    mask-composite: intersect;
}
#special .night .ev-title {
    margin: 1.6em 0 0.45em;
    color: var(--ev-gold);
    font-size: 1.7em;
    font-weight: bold;
    line-height: 1.3;
}
.ev-item {
    display: flex;
    align-items: flex-start;
    gap: 1em;
}
.ev-item-text {
    flex: 1 1 auto;
    min-width: 0;
}
#special .ev-item .ev-photo {
    flex: 0 0 30%;
    width: 30%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.ev-item + .ev-item {
    margin-top: 0.5em;
    padding-top: 0.5em;
    border-top: 1px solid #c7a86a;
}
#special .ev-box .ev-date {
    margin: 0;
    color: var(--ev-yellow);
    font-size: 1.25em;
    font-weight: bold;
    line-height: 1.3;
}
#special .ev-box .ev-name {
    margin: 0 0 0.15em;
    font-size: 1.25em;
    letter-spacing: -0.01em;
    font-weight: bold;
    line-height: 1.3;
}
#special .ev-box .ev-info {
    margin: 0;
    font-size: 0.95em;
    line-height: 1.5;
}
.ev-mark {
    display: inline-block;
    min-width: 1.5em;
    margin-right: 0.2em;
    padding: 0 0.15em;
    background: #fff;
    color: #1b1b1b;
    font-size: 0.85em;
    font-weight: bold;
    line-height: 1.45;
    text-align: center;
}
.ev-mark-q {
    color: #00a0d5;
}
@media screen and (max-width: 767px) {
    .ev-item {
        display: block;
    }
    #special .ev-item .ev-photo {
        width: 100%;
        margin-top: 0.6em;
    }
}
.night {
    --night-gold: #e5c783;
    --night-yellow: #fff151;
    --ev-gold: #e5c890;
    --night-pad: 4%;
    padding: 1.4em 0 0;
    background: linear-gradient(to bottom, #161525 0%, #2e253b 100%);
    color: #fff;
    font-family:
        'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'MS PMincho', serif;
}
.xm + .xm,
.xm-pair {
    margin-top: 1.6em;
}
.xm,
#special .night .ev-title {
    padding-inline: var(--night-pad);
}
.xm-head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0 0.6em;
}
.xm-headline {
    flex: 0 1 auto;
}
#special .night .xm-title {
    margin: 0;
    color: var(--night-gold);
    font-size: 1.55em;
    font-weight: bold;
    line-height: 1.3;
}
#special .night .xm-date {
    margin: 0;
    color: var(--night-yellow);
    font-size: 2.1em;
    font-weight: bold;
    line-height: 1.2;
    -webkit-text-stroke: 0.02em currentColor;
    text-shadow:
        0 0 0.05em rgba(255, 243, 170, 0.95),
        0 0 0.12em rgba(255, 216, 95, 0.9),
        0 0 0.22em rgba(255, 180, 45, 0.8),
        0 0 0.4em rgba(255, 150, 20, 0.6),
        0 0 0.8em rgba(255, 140, 10, 0.4),
        0 0 1.4em rgba(255, 130, 0, 0.25);
}
#special .night .xm-date small {
    display: block;
    color: #fff;
    font-size: 0.46em;
    -webkit-text-stroke: 0.02em currentColor;
    text-shadow:
        0 0 0.06em rgba(255, 243, 170, 0.95),
        0 0 0.14em rgba(255, 216, 95, 0.9),
        0 0 0.28em rgba(255, 180, 45, 0.75),
        0 0 0.5em rgba(255, 150, 20, 0.5),
        0 0 1em rgba(255, 140, 10, 0.3);
}
#special .night .xm-place {
    margin: 0.1em 0 0;
    font-size: 0.95em;
}
.xm-head {
    position: relative;
    z-index: 1;
}
.xm-photos {
    margin-top: 0.7em;
}
.xm-head + .xm-photos {
    margin-top: -1.9em;
}
.xm-photos > * + * {
    margin-top: 6px;
}
.xm-row2,
.xm-row3 {
    display: grid;
    gap: 6px;
}
.xm-row2 {
    grid-template-columns: repeat(2, 1fr);
}
.xm-row3 {
    grid-template-columns: repeat(3, 1fr);
}
.xm-row3.has-cut {
    grid-template-columns: 1fr 1fr 0.58fr;
}
#special .xm-row2 > img,
#special .xm-row3 > img {
    aspect-ratio: 4 / 3;
}
#special .xm-photos img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#special .xm-photos img:not(.xm-cut),
#special .ev-item .ev-photo {
    --feather-x: 4%;
    --feather-y: 5%;
    -webkit-mask-image:
        linear-gradient(
            to right,
            transparent 0,
            #000 var(--feather-x),
            #000 calc(100% - var(--feather-x)),
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            transparent 0,
            #000 var(--feather-y),
            #000 calc(100% - var(--feather-y)),
            transparent 100%
        );
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(
            to right,
            transparent 0,
            #000 var(--feather-x),
            #000 calc(100% - var(--feather-x)),
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            transparent 0,
            #000 var(--feather-y),
            #000 calc(100% - var(--feather-y)),
            transparent 100%
        );
    -webkit-mask-composite: source-in, xor;
    mask-composite: intersect;
}
.xm-note-row {
    display: flex;
    align-items: center;
    gap: 0.8em;
    margin-top: 0.5em;
}
#special .night .xm-note {
    flex: 1 1 auto;
    margin: 0;
    color: var(--night-yellow);
    font-size: 0.95em;
    font-weight: bold;
    line-height: 1.5;
}
#special .night .xm-note-right {
    text-align: right;
}
#special .xm-photos .xm-cut {
    width: 100%;
    object-fit: contain;
}
#special .night .xm-lead {
    margin: 0.5em 0 0;
    font-weight: bold;
}
#special .night .xm-info {
    margin: 0.35em 0 0;
    font-size: 0.95em;
    line-height: 1.5;
}
#special .night .item {
    margin-top: 0.6em;
    font-family:
        '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'Hiragino Kaku Gothic ProN',
        'Hiragino Sans', 'メイリオ', sans-serif;
}
@media screen and (min-width: 768px) {
    .night {
        padding: 1.8em 0 0;
    }
}
.line {
    background: linear-gradient(
        transparent var(--line-start, 75%),
        var(--line-color, #fff33b) var(--line-start, 75%)
    );
}
.fin-head {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
#special .fin-head .fin-photo {
    position: absolute;
    inset: 0 0 0 auto;
    z-index: -1;
    width: 40%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 22%);
    mask-image: linear-gradient(to right, transparent 0, #000 22%);
}
#special .fin-head .fin-body {
    padding-right: 35%;
}
@media screen and (max-width: 767px) {
    #special .fin-head .fin-photo {
        position: static;
        width: 100%;
        height: auto;
        margin-top: 0.6em;
        -webkit-mask-image: none;
        mask-image: none;
    }
    #special .fin-head .fin-body {
        padding-right: 0;
    }
}
.float-right {
    float: right;
}
.m-0\! {
    margin: calc(var(--spacing) * 0) !important;
}
.m-2 {
    margin: calc(var(--spacing) * 2);
}
.mx-auto {
    margin-inline: auto;
}
.mx-auto\! {
    margin-inline: auto !important;
}
.my-4 {
    margin-block: calc(var(--spacing) * 4);
}
.my-8 {
    margin-block: calc(var(--spacing) * 8);
}
.mt-0 {
    margin-top: calc(var(--spacing) * 0);
}
.mt-2 {
    margin-top: calc(var(--spacing) * 2);
}
.mt-2\! {
    margin-top: calc(var(--spacing) * 2) !important;
}
.mt-4 {
    margin-top: calc(var(--spacing) * 4);
}
.mt-8 {
    margin-top: calc(var(--spacing) * 8);
}
.mt-8\! {
    margin-top: calc(var(--spacing) * 8) !important;
}
.mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
}
.mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
}
.mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
}
.mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
}
.ml-4 {
    margin-left: calc(var(--spacing) * 4);
}
.box-content {
    box-sizing: content-box;
}
.flex {
    display: flex;
}
.grid {
    display: grid;
}
.aspect-\[3\/4\] {
    aspect-ratio: 3/4;
}
.h-\[280px\]\! {
    height: 280px !important;
}
.h-\[320px\]\! {
    height: 320px !important;
}
.h-\[430px\]\! {
    height: 430px !important;
}
.h-auto {
    height: auto;
}
.w-1\/3 {
    width: calc(1 / 3 * 100%);
}
.w-3\/4 {
    width: calc(3 / 4 * 100%);
}
.w-60 {
    width: calc(var(--spacing) * 60);
}
.w-80 {
    width: calc(var(--spacing) * 80);
}
.w-\[18px\] {
    width: 18px;
}
.w-\[20px\] {
    width: 20px;
}
.w-\[25px\] {
    width: 25px;
}
.w-\[90px\] {
    width: 90px;
}
.w-fit {
    width: fit-content;
}
.max-w-\[400px\] {
    max-width: 400px;
}
.max-w-\[400px\]\! {
    max-width: 400px !important;
}
.flex-1 {
    flex: 1;
}
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-\[auto_1fr\] {
    grid-template-columns: auto 1fr;
}
.flex-col {
    flex-direction: column;
}
.items-baseline {
    align-items: baseline;
}
.items-center {
    align-items: center;
}
.justify-center {
    justify-content: center;
}
.gap-2 {
    gap: calc(var(--spacing) * 2);
}
.gap-4 {
    gap: calc(var(--spacing) * 4);
}
.gap-5 {
    gap: calc(var(--spacing) * 5);
}
.space-y-4 {
    :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
}
.space-y-8 {
    :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
    }
}
.gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
}
.gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
}
.overflow-hidden {
    overflow: hidden;
}
.rounded {
    border-radius: 0.25rem;
}
.rounded-2xl {
    border-radius: var(--radius-2xl);
}
.rounded-full {
    border-radius: calc(infinity * 1px);
}
.rounded-lg {
    border-radius: var(--radius-lg);
}
.rounded-lg\! {
    border-radius: var(--radius-lg) !important;
}
.rounded-xl {
    border-radius: var(--radius-xl);
}
.border {
    border-style: var(--tw-border-style);
    border-width: 1px;
}
.border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
}
.border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
}
.border-\[\#235DA7\] {
    border-color: #235da7;
}
.bg-\[\#00A75A\]\! {
    background-color: #00a75a !important;
}
.bg-\[\#1B3571\] {
    background-color: #1b3571;
}
.bg-\[\#042C86\]\! {
    background-color: #042c86 !important;
}
.bg-\[\#778BC2\] {
    background-color: #778bc2;
}
.bg-\[\#A5C96E\] {
    background-color: #a5c96e;
}
.bg-\[\#BAD3ED\] {
    background-color: #bad3ed;
}
.bg-\[\#D8EEFB\]\! {
    background-color: #d8eefb !important;
}
.bg-\[\#DEE6E0\] {
    background-color: #dee6e0;
}
.bg-\[\#E4E8ED\] {
    background-color: #e4e8ed;
}
.bg-\[\#E5F2FC\] {
    background-color: #e5f2fc;
}
.bg-\[\#E8F1DB\] {
    background-color: #e8f1db;
}
.bg-\[\#ECDFDF\] {
    background-color: #ecdfdf;
}
.bg-\[\#EF8437\] {
    background-color: #ef8437;
}
.bg-\[\#F0E6DA\] {
    background-color: #f0e6da;
}
.bg-\[\#F0E8E8\] {
    background-color: #f0e8e8;
}
.bg-\[\#F1CAA1\] {
    background-color: #f1caa1;
}
.bg-\[\#F7EDED\] {
    background-color: #f7eded;
}
.bg-\[\#FBE234\] {
    background-color: #fbe234;
}
.bg-\[\#FDF9E4\] {
    background-color: #fdf9e4;
}
.bg-\[\#FDF14A\] {
    background-color: #fdf14a;
}
.bg-\[\#FFFDDA\] {
    background-color: #fffdda;
}
.bg-white {
    background-color: var(--color-white);
}
.object-cover {
    object-fit: cover;
}
.p-0\! {
    padding: calc(var(--spacing) * 0) !important;
}
.p-2 {
    padding: calc(var(--spacing) * 2);
}
.px-1 {
    padding-inline: calc(var(--spacing) * 1);
}
.px-3 {
    padding-inline: calc(var(--spacing) * 3);
}
.px-4 {
    padding-inline: calc(var(--spacing) * 4);
}
.px-5 {
    padding-inline: calc(var(--spacing) * 5);
}
.px-6 {
    padding-inline: calc(var(--spacing) * 6);
}
.px-6\! {
    padding-inline: calc(var(--spacing) * 6) !important;
}
.py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
}
.py-1 {
    padding-block: calc(var(--spacing) * 1);
}
.py-2 {
    padding-block: calc(var(--spacing) * 2);
}
.py-3 {
    padding-block: calc(var(--spacing) * 3);
}
.pt-0\! {
    padding-top: calc(var(--spacing) * 0) !important;
}
.pt-4\! {
    padding-top: calc(var(--spacing) * 4) !important;
}
.pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
}
.pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
}
.pl-0\! {
    padding-left: calc(var(--spacing) * 0) !important;
}
.pl-3 {
    padding-left: calc(var(--spacing) * 3);
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.text-\[1\.2em\] {
    font-size: 1.2em;
}
.text-\[1\.5em\] {
    font-size: 1.5em;
}
.text-\[1\.25em\] {
    font-size: 1.25em;
}
.text-\[1\.25em\]\! {
    font-size: 1.25em !important;
}
.font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
}
.whitespace-nowrap {
    white-space: nowrap;
}
.text-\[\#1B3571\] {
    color: #1b3571;
}
.text-\[\#5A9998\] {
    color: #5a9998;
}
.text-\[\#5D899C\] {
    color: #5d899c;
}
.text-\[\#6A9568\] {
    color: #6a9568;
}
.text-\[\#9D868D\] {
    color: #9d868d;
}
.text-\[\#92A3D0\] {
    color: #92a3d0;
}
.text-\[\#235DA7\] {
    color: #235da7;
}
.text-\[\#335CA2\] {
    color: #335ca2;
}
.text-\[\#812D2A\] {
    color: #812d2a;
}
.text-\[\#A5C96E\] {
    color: #a5c96e;
}
.text-\[\#B7362B\] {
    color: #b7362b;
}
.text-\[\#D27F34\] {
    color: #d27f34;
}
.text-\[\#D32D26\] {
    color: #d32d26;
}
.text-\[\#DAA97E\] {
    color: #daa97e;
}
.text-\[\#EF8437\] {
    color: #ef8437;
}
.text-\[\#FBE234\] {
    color: #fbe234;
}
.text-white {
    color: var(--color-white);
}
.opacity-30 {
    opacity: 30%;
}
.shadow {
    --tw-shadow:
        0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
        0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow:
        var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow),
        var(--tw-ring-shadow), var(--tw-shadow);
}
.outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
}
.outline-\[\#235DA7\] {
    outline-color: #235da7;
}
.text-outline {
    --text-outline-r: 3px;
    --text-outline-color: white;
    text-shadow:
        calc(var(--text-outline-r) * 1) calc(var(--text-outline-r) * 0) 0 var(--text-outline-color),
        calc(var(--text-outline-r) * 0.945) calc(var(--text-outline-r) * 0.327) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.786) calc(var(--text-outline-r) * 0.618) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.54) calc(var(--text-outline-r) * 0.841) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.235) calc(var(--text-outline-r) * 0.972) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.096) calc(var(--text-outline-r) * 0.995) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.416) calc(var(--text-outline-r) * 0.909) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.691) calc(var(--text-outline-r) * 0.723) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.889) calc(var(--text-outline-r) * 0.457) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.99) calc(var(--text-outline-r) * 0.141) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.982) calc(var(--text-outline-r) * -0.191) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.865) calc(var(--text-outline-r) * -0.501) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.654) calc(var(--text-outline-r) * -0.757) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.37) calc(var(--text-outline-r) * -0.929) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * -0.046) calc(var(--text-outline-r) * -0.999) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.284) calc(var(--text-outline-r) * -0.959) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.582) calc(var(--text-outline-r) * -0.813) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.816) calc(var(--text-outline-r) * -0.578) 0
            var(--text-outline-color),
        calc(var(--text-outline-r) * 0.96) calc(var(--text-outline-r) * -0.279) 0
            var(--text-outline-color);
}
.\[--line-color\:\#F0F5CD\] {
    --line-color: #f0f5cd;
}
.\[--line-color\:\#FBDAC6\] {
    --line-color: #fbdac6;
}
.\[--line-color\:\#fff279\] {
    --line-color: #fff279;
}
.\[--line-start\:60\%\] {
    --line-start: 60%;
}
.\[text-shadow\:_-2px_0_white\,_2px_0_white\,_0_-2px_white\,_0_2px_white\] {
    text-shadow:
        -2px 0 white,
        2px 0 white,
        0 -2px white,
        0 2px white;
}
.fukidashi-\[\#FCF0A5\] {
    --fukidashi-bg: #fcf0a5;
}
.text-outline-\[\#235DA7\] {
    --text-outline-color: #235da7;
}
.text-stroke-\[2px\] {
    --text-outline-r: 2px;
}
.md\:\[--num-photo-pos\:50\%_60\%\] {
    @media (width >= 768px) {
        --num-photo-pos: 50% 60%;
    }
}
.md\:\[--num-photo-w\:37\%\] {
    @media (width >= 768px) {
        --num-photo-w: 37%;
    }
}
.pagetop {
    z-index: 100;
}
.font-unique,
.font-gi {
    font-family: 'M PLUS 1p', sans-serif;
}
.js-scrollable {
    overflow: hidden !important;
    overflow-x: auto !important;
}
.clearfix::after {
    content: '';
    display: inline-block;
    clear: both;
}
.alignleft img,
.alignright img {
    width: 100%;
    margin-bottom: 4px;
}
