@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@300..700&family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap";

:root {
    --primary: #0052a4;
    --primary-rgb: 0 82 164;
    --light-primary: #f0fafd;
    --disabled: #bbb;
    --text-disabled: #666;
    --text: #222;
    --text-gray: #999;
    --black: #222;
    --black-rgb: 0 0 0;
    --black-hover: #464849;
    --white: #fff;
    --white-rgb: 255 255 255;
    --red: #e02525;
    --utility-nav-color: #666;
    --link: var(--primary);
    --link-hover: #1c89a6;
    --link-visited: #1c89a6;
    --placeholder-color: #666;
    --bd-gray: #c3d1da;
    --bd-gray-secondary: #dce7ed;
    --bd-light-gray: #e0e0e0;
    --bg-gray: #f8f8f8;
    --card-bd-shadow: inset 0 0 0 1px var(--bd-gray), inset 0 -3px 0 1px var(--bd-gray);
    --card-bd-shadow-disabled: inset 0 0 0 1px var(--disabled), inset 0 -3px 0 1px var(--disabled);
    --card-bd-shadow-hover: inset 0 0 0 2px var(--primary), inset 0 -3px 0 1px var(--primary)
}

:root {
    --font-base: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", "Yu Gothic", sans-serif;
    --font-m-plus-rounded: "YakuHanRP", "M PLUS Rounded 1c", sans-serif;
    --font-fredoka: "Fredoka", sans-serif;
    --normal: 400;
    --regular: 400;
    --medium: 500;
    --semi-bold: 600;
    --bold: 700;
    --extra-bold: 800;
    --black-bold: 900
}

:root {
    --md-header-height: 114px;
    --sm-header-height: 60px;
    --md-content-width: 1200px;
    --md-side-margin: 40px;
    --sm-side-margin: 16px;
    --md-sidebar-width: 400px;
    --sm-breadcrumb-height: 37px;
    --md-breadcrumb-height: 37px
}

/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
*,
:before,
:after {
    box-sizing: border-box
}

html {
    font-family: system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4
}

body {
    margin: 0
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp,
pre {
    font-family: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    border-color: currentcolor
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

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

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

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

::-webkit-search-decoration {
    -webkit-appearance: none
}

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

summary {
    display: list-item
}

@keyframes splide-loading {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    z-index: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    backface-visibility: hidden;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    pointer-events: none
}

.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    position: relative;
    visibility: hidden
}

.splide.is-initialized,
.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    animation: splide-loading 1s infinite linear;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px
}

.splide__sr {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.splide__toggle__pause,
.splide__toggle.is-active .splide__toggle__play {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0
}

/*! Yaku Han JP v4.1.1 (OFL-1.1 AND MIT) by Qrac | Type: YakuHanRP - Based on M PLUS Rounded 1c */
@font-face {
    font-family: YakuHanRP;
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url(/common/2025/fonts/YakuHanRP-Thin.woff2) format("woff2");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-family: YakuHanRP;
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/common/2025/fonts/YakuHanRP-Light.woff2) format("woff2");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-family: YakuHanRP;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/common/2025/fonts/YakuHanRP-Regular.woff2) format("woff2");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-family: YakuHanRP;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/common/2025/fonts/YakuHanRP-Medium.woff2) format("woff2");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-family: YakuHanRP;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/common/2025/fonts/YakuHanRP-Bold.woff2) format("woff2");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-family: YakuHanRP;
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(/common/2025/fonts/YakuHanRP-ExtraBold.woff2) format("woff2");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

@font-face {
    font-family: YakuHanRP;
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/common/2025/fonts/YakuHanRP-Black.woff2) format("woff2");
    unicode-range: U+3001, U+3002, U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+30fb, U+ff01, U+ff08, U+ff09, U+ff1a, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d
}

html {
    scroll-behavior: smooth
}

html:not(.is-loaded) *:not(.swiper-wrapper) {
    transition: none !important
}

:focus-visible {
    outline: var(--black) auto 2px;
    outline-offset: 4px
}

.splide__slide :focus-visible {
    outline-offset: -2px
}

body {
    font-family: var(--font-base);
    color: var(--text);
    font-size: .875rem;
    line-height: 1.75
}

@media print,
screen and (min-width: 768px) {
    body {
        font-size: 1rem
    }
}

@media print {
    body {
        zoom: .5;
        width: 1440px
    }
}

body.show-splash {
    overflow: hidden
}

::placeholder {
    color: var(--placeholder-color)
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: top
}

button {
    cursor: pointer
}

[data-splash-animation-element] canvas {
    width: 100%;
    height: auto;
    image-rendering: optimizeSpeed;
}

:where(a) {
    color: var(--primary);
    text-decoration: underline
}

:where(ul) {
    list-style: none;
    margin: 1em 0;
    padding: 0
}

:where(ul) li {
    position: relative;
    padding: 0 0 0 1em
}

:where(ul) li:before {
    content: "";
    width: 5px;
    height: 5px;
    background-color: var(--primary);
    border-radius: 50%;
    position: absolute;
    left: 2px;
    top: .6em
}

@media print,
screen and (min-width: 768px) {
    :where(ul) li:before {
        top: .7em
    }
}

:where(ul) li+li {
    margin-top: .8em
}

:where(ol) {
    margin: 1em 0;
    padding: 0 0 0 1.5em
}

:where(ol) li {
    position: relative;
    padding: 0
}

:where(ol) li+li {
    margin-top: 1em
}

:where(dl) {
    list-style: none;
    margin: 1em 0;
    padding: 0
}

:where(dl) dt {
    font-weight: var(--bold);
    margin: 0
}

:where(dl) dd {
    margin: 4px 0 0
}

:where(dl) dd+dt {
    margin-top: 1em
}

:where(em) {
    font-weight: var(--bold);
    font-style: normal
}

:where(table) {
    border-collapse: collapse;
    border-spacing: 0
}

.u-large {
    font-size: 1rem !important
}

@media print,
screen and (min-width: 768px) {
    .u-large {
        font-size: 1.125rem !important
    }
}

.u-medium {
    font-size: 1rem !important
}

.u-small {
    font-size: .875rem !important
}

.u-screen-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important
}

.u-display-block {
    display: block !important
}

@media print,
screen and (min-width: 768px) {
    .u-sm-only {
        display: none !important
    }
}

@media screen and (max-width: 767px) {
    .u-md-only {
        display: none !important
    }
}

.u-text-align-left {
    text-align: left !important
}

.u-text-align-center {
    text-align: center !important
}

@media print,
screen and (min-width: 768px) {
    .u-md-text-align-center {
        text-align: center !important
    }
}

.u-text-align-right {
    text-align: right !important
}

.u-text-decoration-none {
    text-decoration: none !important
}

.u-block-center {
    margin-left: auto !important;
    margin-right: auto !important
}

.u-mt0 {
    margin-top: 0 !important
}

.u-mt10 {
    margin-top: 10px !important
}

.u-mt20 {
    margin-top: 20px !important
}

.u-mt30 {
    margin-top: 30px !important
}

.u-mt40 {
    margin-top: 40px !important
}

.u-mt50 {
    margin-top: 50px !important
}

.u-mt60 {
    margin-top: 60px !important
}

.u-mt70 {
    margin-top: 70px !important
}

.u-mt80 {
    margin-top: 80px !important
}

.u-mt90 {
    margin-top: 90px !important
}

.u-mt100 {
    margin-top: 100px !important
}

.u-mb0 {
    margin-bottom: 0 !important
}

.u-m0 {
    margin: 0 !important
}

.u-color-black {
    color: var(--black) !important
}

.u-color-white {
    color: var(--white) !important
}

.u-color-red {
    color: #f33535 !important
}

.u-color-note {
    color: #999 !important
}

.u-color-primary {
    color: var(--component-primary-color) !important
}

.u-word-break-all {
    word-break: break-all !important
}

.u-nowrap {
    white-space: nowrap !important
}

.u-img-rounded-08 {
    border-radius: 8px !important
}

.u-img-rounded-10 {
    border-radius: 10px !important
}

.u-googlemap iframe {
    border: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 824/455;
    border-radius: 10px
}

.u-youtube iframe {
    border: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 768/433;
    border-radius: 10px
}

.l-wrapper {
    transition: opacity 1s ease-in .5s;
    opacity: 1

}

body.show-splash .l-wrapper {
    opacity: 0
}

.l-contents-wrapper {
    overflow-x: clip
}

.l-contents-row {
    position: relative;
    overflow: hidden
}

@media print,
screen and (min-width: 768px) {
    .l-contents-row {
        position: static;
        overflow: initial;
        display: flex;
        align-items: start;
        flex-direction: row-reverse;
        margin: 0 auto 80px;
        max-width: calc(var(--md-content-width, var(--md-content-width)) + var(--md-side-margin) * 2);
        padding-left: var(--md-side-margin);
        padding-right: var(--md-side-margin);
        box-sizing: border-box;
        gap: min(5.8333333333%, 70px)
    }
}

.l-contents-row .l-main {
    margin: 24px var(--sm-side-margin) 32px var(--sm-side-margin)
}

@media print,
screen and (min-width: 768px) {
    .l-contents-row .l-main {
        width: min(68.6666666667%, var(--md-content-width));
        margin: 64px 0 0
    }
}

@media print,
screen and (min-width: 768px) {
    :is(.l-contents-row .l-main>*:first-child, .l-contents-row .l-main>*:first-child:not(.l-nav-anchor)>*:first-child) {
        margin-top: 0
    }
}

@media print,
screen and (min-width: 768px) {
    :is(.l-contents-row .l-main>*:last-child, .l-contents-row .l-main>*:last-child>*:last-child) {
        margin-bottom: 0
    }
}

.l-aside {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    background-color: var(--primary);
    visibility: hidden;
    opacity: 0;
    transition: visibility .2s, opacity .2s
}

.l-aside[aria-hidden=false] {
    visibility: visible;
    opacity: 1
}

@media print,
screen and (min-width: 768px) {
    .l-aside {
        position: static;
        z-index: initial;
        background-color: transparent;
        flex-shrink: 0;
        width: min(25.5%, 306px);
        margin: 64px 0 0;
        visibility: visible;
        opacity: 1
    }
}

.l-header {
    background-color: var(--white);
    color: var(--text);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    position: relative;
    border-bottom: 1px solid var(--bd-light-gray);
    z-index: 20
}

@media print,
screen and (min-width: 768px) {
    .l-header {
        padding: 0 16px
    }
}

.l-header__inner {
    position: relative;
    height: var(--sm-header-height);
    display: flex;
    align-items: center
}

@media print,
screen and (min-width: 768px) {
    .l-header__inner {
        height: auto;
        min-height: var(--md-header-height);
        display: grid;
        grid-template-columns: 80px 1fr;
        grid-template-rows: 66px 1fr;
        max-width: 1200px;
        margin: 0 auto;
        align-items: stretch
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-header__inner {
        grid-template-columns: 120px 1fr
    }
}

.l-header__logo {
    width: 58px;
    margin: 0 auto 0 10px;
    font-size: .0625rem;
    align-self: center
}

@media print,
screen and (min-width: 768px) {
    .l-header__logo {
        width: auto;
        margin: 0;
        grid-column: 1/2;
        grid-row: 1/2
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-header__logo {
        grid-row: 1/3
    }
}

.l-header__utility-nav {
    margin: 0 0 0 auto;
    font-family: var(--font-base)
}

@media print,
screen and (min-width: 768px) {
    .l-header__utility-nav {
        grid-column: 2/3;
        grid-row: 1/2
    }
}

@media print,
screen and (min-width: 768px) {
    .l-header__hamburger {
        display: none
    }
}

.l-header__global-nav {
    position: absolute;
    top: calc(var(--sm-header-height) + 1px);
    left: 0;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    transition: visibility .2s, opacity .2s
}

.l-header__global-nav[aria-hidden=false] {
    visibility: visible;
    opacity: 1
}

@media print,
screen and (min-width: 768px) {
    .l-header__global-nav {
        visibility: visible;
        opacity: 1;
        display: flex;
        width: 100%;
        height: auto;
        position: static;
        margin: 0 0 0 auto;
        grid-column: 1/3;
        grid-row: 2/3;
        overflow: visible
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-header__global-nav {
        width: auto;
        grid-column: 2/3;
        grid-row: 2/3
    }
}

.l-footer {
    background-color: var(--primary);
    color: var(--white);
    position: relative
}

.l-footer__upper {
    margin: 0 var(--sm-side-margin);
    padding: 32px 0 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__upper {
        display: flex;
        justify-content: space-between;
        gap: 24px;
        width: min(100%, var(--md-content-width) + var(--md-side-margin) * 2);
        margin: 0 auto;
        padding: 80px var(--md-side-margin);
        box-sizing: border-box
    }
}

.l-footer__links {
    width: 100%;
    max-width: 344px;
    margin: 0 auto
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__links {
        width: 280px;
        max-width: none;
        flex-shrink: 0;
        margin: 0
    }
}

.l-footer__mall {
    display: block;
    margin: 32px 0 0
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__mall {
        margin: 48px 0 0
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__sitemap {
        width: min(100%, 750px)
    }
}

.l-footer__nav {
    background-color: #02407e;
    padding: 24px var(--sm-side-margin);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__nav {
        padding: 24px var(--md-side-margin)
    }
}

.l-footer__nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 16px;
    font-size: .875rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__nav-list {
        max-width: var(--md-content-width);
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
        opacity: .8
    }
}

.l-footer__nav--item {
    margin: 0;
    padding: 0;
    text-indent: 0;
    position: relative
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__nav--item {
        padding: 0 16px 0 0
    }
}

.l-footer__nav--item:before {
    display: none
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__nav--item:after {
        content: "|";
        position: absolute;
        top: 50%;
        right: 0;
        translate: 0 -50%
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__nav--item:last-child {
        padding-right: 0
    }
}

.l-footer__nav--item:last-child:after {
    display: none
}

.l-footer__nav-link {
    display: block;
    width: fit-content;
    color: var(--white) !important;
    text-decoration: none
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__nav-link {
        text-decoration: underline !important
    }
}

.l-footer__data {
    display: flex;
    align-items: center;
    height: 88px;
    padding: 0 var(--sm-side-margin);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__data {
        height: 100px;
        width: min(100%, var(--md-content-width) + var(--md-side-margin) * 2);
        margin: 0 auto;
        padding: 0 var(--md-side-margin);
        box-sizing: border-box
    }
}

.l-footer__logo {
    margin: 0 auto 0 0;
    width: 190px
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__logo {
        width: 200px
    }
}

.l-footer__copyright {
    margin: 0 0 0 auto;
    font-style: normal;
    font-size: .75rem
}

@media print,
screen and (min-width: 1024px) {
    .l-footer__copyright {
        font-size: .875rem
    }
}

.l-utility-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    font-weight: var(--semi-bold)
}

@media print,
screen and (min-width: 768px) {
    .l-utility-nav__list {
        gap: 24px
    }
}

.l-utility-nav__item {
    margin: 0;
    padding: 0;
    position: static
}

.l-utility-nav__item:before {
    display: none
}

.l-utility-nav__link {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0 0 2px;
    border: 0;
    background-color: transparent;
    display: grid;
    grid-template-rows: 1fr 24px;
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 2px;
    color: var(--text) !important;
    text-decoration: none;
    font-size: .6875rem;
    line-height: 1.0909090909;
    min-width: 60px;
    height: var(--sm-header-height);
    font-weight: inherit;
    box-sizing: border-box
}

.l-utility-nav__link.selected {
    display: none
}

@media print,
screen and (min-width: 768px) {
    .l-utility-nav__link {
        display: flex;
        text-align: center;
        align-items: center;
        flex-direction: row;
        color: var(--utility-nav-color);
        font-size: .875rem;
        line-height: 1.4;
        min-height: 20px;
        font-weight: var(--medium);
        gap: 4px;
        padding: 0;
        transition: color .2s;
        position: relative
    }
}

@media print and (any-hover: hover),
screen and (any-hover: hover) and (min-width: 768px) {
    .l-utility-nav__link:hover {
        --utility-nav-color: var(--primary)
    }

    .l-utility-nav__link:hover[target=_blank] .l-utility-nav__title:after {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_external--blue.svg) no-repeat;
        background-size: 100%
    }

    .l-utility-nav__link:hover .l-utility-nav__icon.--search {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_search--blue.svg) no-repeat;
        background-size: 100%
    }

    .l-utility-nav__link:hover .l-utility-nav__icon.--languages {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_language--blue.svg) no-repeat;
        background-size: 100%
    }

    .l-utility-nav__link:hover .l-utility-nav__icon.--shop {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_store--blue.svg) no-repeat;
        background-size: 100%
    }
}

@media print,
screen and (min-width: 768px) {

    .l-utility-nav__link[aria-expanded]:before,
    .l-utility-nav__link[aria-expanded]:after {
        content: "";
        background-color: var(--white);
        position: absolute;
        top: calc(100% + 74px);
        left: 10px;
        width: 30px;
        height: 30px;
        border-radius: 4px;
        rotate: 45deg;
        opacity: 0;
        visibility: hidden;
        transition: opacity .5s, visibility .5s
    }

    .l-utility-nav__link[aria-expanded=true]:before,
    .l-utility-nav__link[aria-expanded=true]:after {
        opacity: 1;
        visibility: visible
    }

    .l-utility-nav__link[aria-expanded=true]:before {
        box-shadow: 0 0 30px #00000029
    }

    .l-utility-nav__link[aria-expanded=true]:after {
        z-index: 1
    }
}

.l-utility-nav__dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: var(--white);
    width: 100%;
    padding: 16px 16px 56px;
    border-top: 1px solid #e0e0e0;
    opacity: 1;
    visibility: visible;
    transition: opacity .5s, visibility .5s
}

.l-utility-nav__dropdown[aria-hidden=true] {
    visibility: hidden;
    opacity: 0;
    overflow: hidden
}

@media print,
screen and (min-width: 768px) {
    .l-utility-nav__dropdown {
        border: none;
        border-radius: 20px;
        top: calc(100% + 30px);
        box-shadow: 0 0 30px #00000029;
        padding: 45px 40px 96px
    }
}

.l-utility-nav__dropdown-close {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    background: none;
    color: var(--text);
    margin: 0 0 16px auto;
    padding: 0;
    display: flex;
    width: fit-content;
    align-items: center;
    flex-direction: column;
    row-gap: 5px;
    font-size: .6875rem
}

.l-utility-nav__dropdown-close:before {
    background: url(https://www.takaratomy.co.jp/common/2025/img/icon_close_rounded.svg) no-repeat center center;
    background-size: 100%;
    content: "";
    width: 19px;
    height: 19px
}

@media print,
screen and (min-width: 768px) {
    .l-utility-nav__dropdown-close {
        flex-direction: row;
        align-items: center;
        column-gap: 8px;
        font-size: 1rem;
        margin-bottom: 34px
    }

    .l-utility-nav__dropdown-close:before {
        background: url(https://www.takaratomy.co.jp/common/2025/img/icon_close.svg) no-repeat center center;
        background-size: 180%;
        content: "";
        width: 10px;
        height: 10px
    }
}

.l-utility-nav__icon {
    width: 24px;
    aspect-ratio: 1;
    color: var(--primary);
    justify-self: center;
    align-self: end;
    transition: all .3s
}

@media print,
screen and (min-width: 768px) {
    .l-utility-nav__icon {
        width: 20px;
        color: var(--utility-nav-color);
        align-self: center
    }
}

.l-utility-nav__icon.--search {
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_search--gray.svg) no-repeat;
    background-size: 100%
}

.l-utility-nav__icon.--languages {
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_language--gray.svg) no-repeat;
    background-size: 100%
}

.l-utility-nav__icon.--shop {
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_store--gray.svg) no-repeat;
    background-size: 100%
}

.l-utility-nav__title {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg
}

.l-utility-nav__link[target=_blank] .l-utility-nav__title:after {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_external--gray.svg) no-repeat;
    background-size: 100%;
    width: 10px;
    height: 10px;
    display: inline-block;
    margin: 0 0 0 2px
}

@media print,
screen and (min-width: 768px) {
    .l-utility-nav__title br {
        display: none
    }
}

.l-hamburger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    background-color: transparent;
    color: var(--text);
    font-weight: var(--semi-bold);
    width: var(--sm-header-height);
    height: var(--sm-header-height);
    font-size: .6875rem;
    line-height: 1.0909090909;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition: background-color .2s
}

.l-hamburger._vertical-align-middle {
    justify-content: center
}

.l-hamburger__line {
    width: 24px;
    height: 24px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.l-hamburger__line:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(/common/2025/img/icon_hamburger.svg);
    background-repeat: no-repeat;
    transition: background-image .1s, transform .2s
}

.l-hamburger[aria-expanded=true] .l-hamburger__line {
    background-color: transparent
}

.l-hamburger[aria-expanded=true] .l-hamburger__line:before {
    transform: rotate(180deg);
    background-image: url(/common/2025/img/icon_hamburger_close.svg)
}

.l-hamburger__text {
    display: flex;
    align-items: center
}

.l-global-nav {
    background-color: var(--primary);
    padding: 20px 16px
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav {
        background-color: transparent;
        padding: 0;
        display: flex;
        flex-grow: 1
    }
}

.l-global-nav__panels {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 7px
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__panels {
        display: none
    }
}

.l-global-nav__panel {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    width: calc((100% - 14px) / 3.0001);
    height: 64px;
    background-color: var(--white);
    color: var(--text) !important;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 10px;
    box-sizing: border-box;
    border-bottom: 3px solid rgba(0, 0, 0, .16);
    position: relative
}

.l-global-nav__panel._large {
    width: 100%;
    gap: 16px;
    padding: 0 16px 0 8px
}

.l-global-nav__panel._large:after {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow_circle--blue.svg) no-repeat;
    width: 16px;
    height: 16px;
    margin: 0 0 0 auto
}

.l-global-nav__panel-icon {
    width: 30px;
    aspect-ratio: 1/1;
    color: var(--primary);
    flex-shrink: 0
}

.l-global-nav__panel._large .l-global-nav__panel-icon {
    margin: 0 0 0 auto
}

.l-global-nav__panel-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: .875rem;
    font-weight: var(--extra-bold);
    line-height: 1.1428571429
}

.l-global-nav__panel._large .l-global-nav__panel-title {
    font-size: 1rem;
    line-height: 1.5
}

.l-global-nav__panel-small {
    font-size: .6875rem;
    line-height: 1.4545454545
}

.l-global-nav__list {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
    display: grid;
    background-color: var(--white);
    border-radius: 10px
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__list {
        margin: 0;
        display: flex;
        gap: 13px;
        flex-grow: 1;
        justify-content: space-between;
        background-color: transparent;
        border-radius: 0
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-global-nav__list {
        gap: 24px
    }
}

.l-global-nav__item {
    margin: 0;
    padding: 0;
    position: static
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__item {
        display: flex
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__item._sm-only {
        display: none
    }
}

.l-global-nav__item+.l-global-nav__item {
    border-top: 2px solid #e8e8e8
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__item+.l-global-nav__item {
        border-top: 0
    }
}

.l-global-nav__item:before {
    display: none
}

.l-global-nav__link {
    color: var(--text) !important;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    min-height: 60px;
    box-sizing: border-box;
    transition: color .2s;
    opacity: 1 !important
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__link {
        justify-content: space-between;
        align-items: start;
        gap: 8px;
        padding: 0;
        min-height: auto;
        position: relative
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__link:before {
        content: "";
        position: absolute;
        bottom: 7px;
        left: 50%;
        width: 0;
        height: 4px;
        translate: -50% 0%;
        background-color: var(--primary);
        border-radius: 25px;
        transition: width .2s
    }
}

.l-global-nav__link:after {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow_circle--blue.svg) no-repeat;
    width: 16px;
    height: 16px;
    margin: 0 0 0 auto;
    flex-shrink: 0
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__link:after {
        display: none
    }
}

.l-global-nav__link:has(+.l-global-nav__dropdown):after {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_toggle_plus--blue.svg) no-repeat;
    width: 16px;
    height: 16px;
    rotate: 90deg;
    transition: rotate .2s, mask-image .2s
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__link:has(+.l-global-nav__dropdown):after {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow_solid--blue.svg) no-repeat;
        width: 11px;
        height: 11px;
        display: block;
        rotate: 0deg;
        margin: 5px 0 0
    }
}

.l-global-nav__link:has(+.l-global-nav__dropdown)[aria-expanded=true]:after {
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_toggle_minus--blue.svg) no-repeat;
    rotate: 180deg
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__link:has(+.l-global-nav__dropdown)[aria-expanded=true]:after {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow_solid--blue.svg) no-repeat;
        rotate: inherit
    }
}

@media print and (any-hover: hover),
screen and (any-hover: hover) and (min-width: 768px) {
    .l-global-nav__link:hover {
        color: var(--primary)
    }
}

@media print and (any-hover: hover),
screen and (any-hover: hover) and (min-width: 768px) {
    .l-global-nav__link:hover:before {
        width: 100%
    }
}

.l-global-nav__dropdown {
    opacity: 1;
    visibility: visible;
    transition: opacity .5s, visibility .5s
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__dropdown {
        position: absolute;
        top: calc(100% + 30px);
        left: 0;
        background-color: #fff;
        width: 100%;
        max-width: 1200px;
        padding: 45px 40px 66px;
        border-radius: 20px;
        box-shadow: 0 2px 20px #00000029
    }
}

.l-global-nav__dropdown[aria-hidden=true] {
    height: 0;
    opacity: 0;
    padding: 0;
    visibility: hidden;
    overflow: hidden
}

.l-global-nav__dropdown-header {
    border-top: 1px solid #dce7ed
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__dropdown-header {
        border-top: none;
        display: flex;
        align-items: center;
        margin-bottom: 24px;
        column-gap: 22px
    }
}

.l-global-nav__dropdown-heading {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    display: none
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__dropdown-heading {
        display: block;
        font-size: 1.75rem;
        line-height: 1;
        font-weight: var(--extra-bold)
    }
}

.l-global-nav__dropdown-top-link {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    text-decoration: none;
    color: currentColor !important;
    font-weight: var(--medium);
    padding: 8px 16px 8px 40px;
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 51px;
    opacity: 1 !important
}

.l-global-nav__dropdown-top-link:after {
    content: "";
    background: url(/common/2025/img/nav/icon_arrow--blue.svg) no-repeat;
    background-size: 100%;
    width: 12px;
    height: 12px;
    margin: 0 0 0 auto;
    flex-shrink: 0
}

.l-global-nav__dropdown-top-link>svg {
    display: none
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__dropdown-top-link {
        padding: 0;
        min-height: initial;
        line-height: 1;
        align-self: flex-end;
        text-decoration: underline
    }

    .l-global-nav__dropdown-top-link:after {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow_circle--blue.svg) no-repeat;
        width: 16px;
        height: 16px;
        transition: .2s translate ease-in-out
    }

    .l-global-nav__dropdown-top-link:hover {
        text-decoration: none
    }

    .l-global-nav__dropdown-top-link:hover:after {
        translate: 4px 0
    }
}

.l-global-nav__dropdown-close {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    display: none
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__dropdown-close {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: none;
        background: none;
        display: inline-flex;
        margin: 0 0 0 auto;
        padding: 0;
        align-items: center;
        column-gap: 8px
    }

    .l-global-nav__dropdown-close:before {
        background: url(https://www.takaratomy.co.jp/common/2025/img/icon_close.svg) no-repeat center center;
        background-size: 180%;
        content: "";
        width: 10px;
        height: 10px
    }
}

.l-global-nav__child-list {
    margin: 0;
    padding: 0
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-list {
        display: grid
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-list+.l-global-nav__child-list {
        margin-top: 40px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-list._type-01 {
        gap: 8px 40px;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, auto)
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-global-nav__child-list._type-01 {
        grid-template-columns: 40% repeat(2, 1fr);
        grid-template-rows: repeat(2, auto) 1fr
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-list._type-02 {
        gap: 16px 32px;
        grid-template-columns: repeat(3, 1fr)
    }
}

.l-global-nav__child-item {
    margin: 0;
    padding: 0;
    border-top: 1px solid #dce7ed
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-item {
        border: none
    }
}

.l-global-nav__child-item:before {
    display: none
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-list._type-01 .l-global-nav__child-item:first-child {
        grid-column: 1/3
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-global-nav__child-list._type-01 .l-global-nav__child-item:first-child {
        grid-column: 1;
        grid-row: 1/4
    }
}

.l-global-nav__child-link {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    text-decoration: none;
    color: currentColor !important;
    font-weight: var(--medium);
    padding: 8px 16px 8px 40px;
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 51px;
    opacity: 1 !important
}

.l-global-nav__child-link:after {
    content: "";
    background: url(/common/2025/img/nav/icon_arrow--blue.svg) no-repeat;
    background-size: 100%;
    width: 12px;
    height: 12px;
    margin: 0 0 0 auto;
    flex-shrink: 0
}

.l-global-nav__child-link>svg {
    display: none
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-link {
        font-weight: var(--extra-bold)
    }

    .l-global-nav__child-link:after {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow_circle--white.svg) no-repeat center center;
        background-size: 100%;
        content: "";
        width: 24px;
        height: 24px
    }

    .l-global-nav__child-link._type-card {
        padding: 0;
        min-height: initial;
        display: block;
        flex-wrap: wrap
    }

    .l-global-nav__child-link._type-card:after {
        display: inline-block;
        width: 16px;
        height: 16px;
        margin-left: 2px;
        position: relative;
        top: 2px
    }

    .l-global-nav__child-link._type-button {
        padding: 6px 16px 10px;
        justify-content: center;
        border-radius: 10px;
        background-color: var(--white);
        box-shadow: var(--card-bd-shadow);
        min-height: 67px;
        box-sizing: border-box;
        transition: .2s box-shadow ease-in-out
    }

    .l-global-nav__child-link._type-button:after {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow_circle--blue.svg) no-repeat center center;
        background-size: 100%;
        width: 16px;
        height: 16px
    }
}

@media print and (any-hover: hover),
screen and (min-width: 768px) and (any-hover: hover) {
    .l-global-nav__child-link._type-button:hover {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-link._type-button>span {
        flex-shrink: 0;
        display: block;
        width: 32px;
        height: 32px;
        color: var(--primary)
    }

    .l-global-nav__child-link._type-img-button {
        padding: 6px 16px 10px;
        justify-content: center;
        border-radius: 10px;
        background-color: var(--white);
        box-shadow: var(--card-bd-shadow);
        min-height: 67px;
        box-sizing: border-box;
        position: relative;
        transition: .2s box-shadow ease-in-out
    }

    .l-global-nav__child-link._type-img-button:after {
        content: "";
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_external--blue.svg) no-repeat;
        background-size: 100%;
        width: 12px;
        height: 12px;
        margin: 0;
        position: absolute;
        top: 10px;
        right: 10px
    }
}

@media print and (any-hover: hover),
screen and (min-width: 768px) and (any-hover: hover) {
    .l-global-nav__child-link._type-img-button:hover {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-link._type-heading-button {
        color: var(--white) !important;
        background-color: var(--primary);
        border-radius: 8px;
        padding: 15px 12px 17px 8px;
        box-shadow: inset 0 -3px 0 1px #00000029
    }

    .l-global-nav__child-link._type-heading-button:after {
        width: 24px;
        height: 24px;
        transition: .2s translate ease-in-out
    }
}

@media print and (any-hover: hover),
screen and (min-width: 768px) and (any-hover: hover) {
    .l-global-nav__child-link._type-heading-button:hover:after {
        translate: 4px 0
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-link._type-heading-button>span {
        display: block;
        width: 30px;
        height: 30px
    }
}

.l-global-nav__child-thumbnail {
    display: none
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__child-thumbnail {
        display: block;
        width: 100%;
        margin-bottom: 16px;
        border-radius: 10px;
        overflow: hidden
    }

    .l-global-nav__child-thumbnail>img {
        width: 100%;
        object-fit: cover;
        transition: scale .2s ease-out
    }

    .l-global-nav__child-link._type-card:hover .l-global-nav__child-thumbnail>img {
        scale: 1.05
    }
}

.l-global-nav__grandchild-list {
    display: none
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__grandchild-list._type-list {
        display: block;
        margin: 8px 0 16px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__grandchild-list._type-grid {
        display: grid;
        column-gap: 20px;
        row-gap: 15px;
        grid-template-columns: repeat(6, 1fr);
        margin: 24px 0 0
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-global-nav__grandchild-list._type-grid {
        grid-template-columns: repeat(3, 1fr);
        margin: 20px 0 0
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__grandchild-item {
        display: block;
        margin: 0;
        padding: 0
    }

    .l-global-nav__grandchild-item:before {
        display: none
    }
}

.l-global-nav__grandchild-link {
    text-decoration: none;
    color: currentColor !important;
    display: block;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg
}

.l-global-nav__grandchild-link._type-card {
    font-size: .875rem
}

.l-global-nav__grandchild-link._type-text-card {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white) !important;
    background-color: var(--primary);
    border-radius: 9px;
    aspect-ratio: 132/136;
    font-weight: var(--extra-bold)
}

.l-global-nav__grandchild-link._type-text-card>span:after {
    content: "";
    display: inline-block;
    margin-left: 2px;
    position: relative;
    top: 1px;
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow_circle--white.svg) no-repeat center center;
    background-size: 100%;
    width: 14px;
    height: 14px
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__grandchild-link._type-link {
        display: flex;
        align-items: center;
        border-bottom: 2px #dce7ed dotted;
        padding: 8px 8px 7px 4px;
        font-weight: var(--medium);
        font-size: .875rem;
        line-height: 1.4
    }

    .l-global-nav__grandchild-link._type-link:after {
        content: "";
        background: url(/common/2025/img/nav/icon_arrow--blue.svg) no-repeat center center;
        background-size: 100%;
        width: 10px;
        height: 10px;
        margin: 0 0 0 auto;
        flex-shrink: 0;
        transition: .2s color ease-in-out, .2s translate ease-in-out
    }
}

@media print and (any-hover: hover),
screen and (min-width: 768px) and (any-hover: hover) {
    .l-global-nav__grandchild-link._type-link:hover {
        color: var(--primary)
    }

    .l-global-nav__grandchild-link._type-link:hover:after {
        translate: 4px 0
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__grandchild-card {
        box-shadow: var(--card-bd-shadow);
        border-radius: 9px;
        padding: 1px;
        overflow: hidden;
        aspect-ratio: 132/136;
        position: relative
    }
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__grandchild-card:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: inherit;
        box-shadow: var(--card-bd-shadow);
        box-sizing: border-box;
        z-index: 1;
        transition: box-shadow .2s
    }
}

@media print and (any-hover: hover),
screen and (min-width: 768px) and (any-hover: hover) {
    .l-global-nav__grandchild-link:hover .l-global-nav__grandchild-card:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.l-global-nav__grandchild-thumbnail {
    overflow: hidden
}

.l-global-nav__grandchild-thumbnail>img {
    width: 100%;
    aspect-ratio: 270/182;
    object-fit: cover;
    transition: scale .2s ease-out
}

@media (any-hover: hover) {
    .l-global-nav__grandchild-link._type-card:hover .l-global-nav__grandchild-thumbnail>img {
        scale: 1.05
    }
}

.l-global-nav__grandchild-card:not(:has(.l-global-nav__grandchild-logo)) .l-global-nav__grandchild-thumbnail {
    height: 100%
}

.l-global-nav__grandchild-card:not(:has(.l-global-nav__grandchild-logo)) .l-global-nav__grandchild-thumbnail>img {
    aspect-ratio: 132/136
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__grandchild-logo {
        padding: 8px 8px 10px;
        text-align: center
    }
}

.l-global-nav__icon {
    width: 18px;
    height: 18px;
    aspect-ratio: 1;
    color: var(--primary);
    flex-shrink: 0
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__icon {
        display: none
    }
}

.l-global-nav__icon img {
    display: block
}

.l-global-nav__title {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: var(--extra-bold)
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__title {
        font-weight: var(--medium);
        font-size: .9375rem;
        line-height: 1.3066666667
    }

    .l-global-nav__title:before,
    .l-global-nav__title:after {
        content: "";
        opacity: 0;
        visibility: hidden;
        transition: opacity .5s, visibility .5s
    }

    .l-global-nav__link[aria-expanded=true] .l-global-nav__title:before,
    .l-global-nav__link[aria-expanded=true] .l-global-nav__title:after {
        content: "";
        background-color: var(--white);
        position: absolute;
        top: calc(100% + 20px);
        left: 10px;
        width: 30px;
        height: 30px;
        border-radius: 4px;
        rotate: 45deg;
        opacity: 1;
        visibility: visible
    }

    .l-global-nav__link[aria-expanded=true] .l-global-nav__title:before {
        box-shadow: 0 0 30px #00000029
    }

    .l-global-nav__link[aria-expanded=true] .l-global-nav__title:after {
        z-index: 1
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-global-nav__title {
        font-weight: var(--medium);
        font-size: 1rem;
        line-height: 1.225
    }
}

.l-global-nav__title-text {
    display: block;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg
}

.l-global-nav__banner {
    display: none;
    margin: 18px 0 0
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__banner {
        display: block
    }
}

.l-global-nav__banner-img {
    display: block;
    width: 100%
}

.l-global-nav__help {
    list-style: none;
    margin: 28px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__help {
        display: none
    }
}

.l-global-nav__help-item {
    margin: 0;
    padding: 0
}

.l-global-nav__help-item:before {
    display: none
}

.l-global-nav__help-link {
    display: grid;
    justify-content: center;
    gap: 9px;
    padding: 0 0 5px;
    color: var(--text) !important;
    text-decoration: none;
    font-size: 1rem;
    font-weight: var(--extra-bold);
    border-radius: 10px;
    border-bottom: 3px solid rgba(0, 0, 0, .16);
    opacity: 1 !important
}

.l-global-nav__help-link._document {
    background-color: #ffe139
}

.l-global-nav__help-link._faq {
    background-color: #4afab6
}

.l-global-nav__help-link._en {
    height: 100%
}

.l-global-nav__help-icon {
    justify-self: center;
    margin: -16px 0 0
}

.l-global-nav__help-title {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg
}

.l-global-nav__mall {
    margin: 16px auto 0;
    max-width: 344px;
    display: block
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__mall {
        display: none
    }
}

.l-global-nav__sns {
    margin: 40px 0 0
}

@media print,
screen and (min-width: 768px) {
    .l-global-nav__sns {
        display: none
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-footer-sitemap {
        display: flex;
        align-items: start;
        align-content: start;
        justify-content: space-between;
        gap: 24px
    }
}

.l-footer-sitemap__list {
    list-style: none;
    margin: 0;
    padding: 0
}

@media print,
screen and (min-width: 1024px) {
    .l-footer-sitemap__list {
        width: min(100%, 197px);
        border-bottom: 1px solid #1c6dbe
    }
}

.l-footer-sitemap__list+.l-footer-sitemap__list {
    border-top: 1px solid #1c6dbe
}

@media print,
screen and (min-width: 1024px) {
    .l-footer-sitemap__list+.l-footer-sitemap__list {
        border-top: 0
    }
}

.l-footer-sitemap__item {
    margin: 0;
    padding: 0;
    text-indent: 0;
    border-top: 1px solid #1c6dbe
}

.l-footer-sitemap__item:first-child {
    border-top: 0
}

.l-footer-sitemap__item:before {
    display: none
}

.l-footer-sitemap__link {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 72px;
    color: var(--white) !important;
    text-decoration: none;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.5;
    padding: 0 0 0 26px;
    position: relative;
    box-sizing: border-box;
    opacity: 1 !important
}

@media print,
screen and (min-width: 1024px) {
    .l-footer-sitemap__link {
        min-height: 56px;
        padding: 10px 0 10px 20px
    }
}

.l-footer-sitemap__link:after {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow_circle--white.svg) no-repeat center center;
    background-size: 100%;
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0
}

.l-footer-sitemap__trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    background-color: transparent;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 72px;
    color: var(--white);
    text-decoration: none;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.5;
    padding: 0 28px 0 0;
    position: relative;
    text-align: left;
    box-sizing: border-box
}

@media print,
screen and (min-width: 1024px) {
    .l-footer-sitemap__trigger {
        min-height: 56px;
        padding: 10px 28px 10px 0
    }
}

.l-footer-sitemap__trigger:after {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_solid_toggle_plus--white.svg) no-repeat center center;
    background-size: 100%;
    position: absolute;
    width: 24px;
    height: 24px;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    rotate: 90deg;
    transition: rotate .2s, mask-image .2s
}

.l-footer-sitemap__trigger[aria-expanded=true]:after {
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_solid_toggle_minus--white.svg) no-repeat center center;
    background-size: 100%;
    rotate: 180deg
}

.l-footer-sitemap__lower {
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s, visibility .5s;
    overflow: hidden
}

.l-footer-sitemap__lower[aria-hidden=false] {
    height: auto;
    opacity: 1;
    visibility: visible;
    overflow: visible
}

.l-footer-sitemap__lower-list {
    list-style: none;
    margin: 0;
    padding: 0 0 24px 16px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 32px;
    font-size: .875rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 1024px) {
    .l-footer-sitemap__lower-list {
        grid-template-columns: 1fr;
        padding: 0 0 16px 10px
    }
}

.l-footer-sitemap__lower-item {
    margin: 0;
    padding: 0;
    text-indent: 0
}

.l-footer-sitemap__lower-item:before {
    display: none
}

.l-footer-sitemap__lower-link {
    color: var(--white);
    text-decoration: none;
    display: block;
    vertical-align: top
}

.l-footer-sitemap__lower-link[target=_blank]:after {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_external--white.svg) no-repeat center center;
    background-size: 100%;
    width: 10px;
    height: 10px;
    display: inline-block;
    margin: 0 0 0 5px
}

.l-mainvisual {
    padding: 100px 16px 24px;
    display: grid;
    grid-template-rows: 1fr auto;
    transition: .2s background-color;
    --mainvisual-text-color: var(--white);
    --mainvisual-shadow: 0 1px 3px rgb(0 0 0 / .5)
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual {
        padding: 104px 18px 32px;
        overflow: hidden
    }
}

.l-mainvisual:has(.is-move-active[data-theme-color=green]) {
    background-color: #1d8e2b
}

.l-mainvisual:has(.is-move-active[data-theme-color=bulegreen]) {
    background-color: #008ea0
}

.l-mainvisual:has(.is-move-active[data-theme-color=lightblue]) {
    background-color: #007ee9
}

.l-mainvisual:has(.is-move-active[data-theme-color=blue]) {
    background-color: #0948c1
}

.l-mainvisual:has(.is-move-active[data-theme-color=purple]) {
    background-color: #bc4fc3
}

.l-mainvisual:has(.is-move-active[data-theme-color=pink]) {
    background-color: #fa439b
}

.l-mainvisual:has(.is-move-active[data-theme-color=red]) {
    background-color: #f44040
}

.l-mainvisual:has(.is-move-active[data-theme-color=orange]) {
    background-color: #ffa252;
    --mainvisual-text-color: var(--text);
    --mainvisual-shadow: none
}

.l-mainvisual:has(.is-move-active[data-theme-color=yelloworange]) {
    background-color: #ffcb55;
    --mainvisual-text-color: var(--text);
    --mainvisual-shadow: none
}

.l-mainvisual:has(.is-move-active[data-theme-color=yellow]) {
    background-color: #f9f871;
    --mainvisual-text-color: var(--text);
    --mainvisual-shadow: none
}

.l-mainvisual:has(.is-move-active[data-theme-color=black]) {
    background-color: var(--black)
}

.l-mainvisual:has(.is-move-active[data-theme-color=gray]) {
    background-color: #606060
}

.l-mainvisual:has(.is-move-active[data-theme-color=white]) {
    background-color: var(--white);
    --mainvisual-text-color: var(--text);
    --mainvisual-shadow: none
}

.l-mainvisual__slider {
    max-width: calc(100vw - 32px)
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__slider {
        max-width: calc(100vw - 36px)
    }
}

.l-mainvisual__slider-track {
    overflow: visible;
    position: relative;
    height: 100%
}

.l-mainvisual__arrow {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    position: absolute;
    top: calc(50% - 80px);
    z-index: 1;
    font-size: .0625rem;
    color: transparent;
    text-indent: -9999px;
    width: 40px;
    aspect-ratio: 1;
    background-color: var(--white);
    border-radius: 50%;
    box-shadow: 0 3px 6px #00000029
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__arrow {
        width: 48px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__arrow:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        width: 5vw;
        min-width: 100%;
        max-width: 100px;
        height: 100vh
    }
}

.l-mainvisual__arrow:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    -webkit-mask-image: url(/common/2025/img/icon_arrow.svg);
    mask-image: url(/common/2025/img/icon_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 14px;
    background-color: var(--primary)
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__arrow:after {
        width: 19px;
        height: 17px
    }
}

.l-mainvisual__arrow._prev {
    left: 10px
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__arrow._prev {
        left: 26%
    }
}

.l-mainvisual__arrow._prev:after {
    rotate: 180deg
}

.l-mainvisual__arrow._next {
    right: 10px
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__arrow._next {
        right: 26%
    }
}

.l-mainvisual__slider-item {
    padding: 0
}

.l-mainvisual__slider-item:before {
    display: none
}

.l-mainvisual__link {
    text-decoration: none;
    display: grid;
    grid-template-rows: 1fr auto;
    height: 100%
}

.l-mainvisual__img {
    position: relative;
    margin: 0 auto;
    padding: 0 50px;
    max-height: 300px;
    width: 100%
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__img {
        padding: 0;
        max-height: 400px
    }
}

.l-mainvisual__img:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: -1;
    border-radius: 50%;
    width: 88%;
    height: 4.6666666667%;
    max-width: 268px;
    translate: -50% -50%;
    background-color: #0000006b;
    filter: blur(10px);
    opacity: 0;
    transition: opacity .3s ease-in-out
}

.l-mainvisual__img>img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    transform-origin: bottom center;
    scale: 60%
}

.l-mainvisual__slider-item.is-active .l-mainvisual__img:after {
    opacity: 1
}

.l-mainvisual__slider-item.is-move-prev .l-mainvisual__img img {
    rotate: -15deg
}

.l-mainvisual__slider-item.is-move-next .l-mainvisual__img img {
    rotate: 15deg
}

.l-mainvisual__slider-item.is-move-active .l-mainvisual__img img {
    scale: 100%;
    rotate: 0deg
}

.l-mainvisual__slider-item.is-moving .l-mainvisual__img img {
    transition: scale .3s ease-in-out, rotate .3s ease-in-out
}

.l-mainvisual__bubble {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-size: .875rem;
    line-height: 1.4;
    letter-spacing: -.04em;
    font-weight: var(--extra-bold);
    background-color: var(--white);
    color: var(--text);
    border-radius: 16px;
    padding: 14px 14px 16px;
    border: 1px solid var(--black);
    min-height: 65px;
    min-width: 167px;
    max-width: 100%;
    position: absolute;
    z-index: 1;
    bottom: calc(100% + 10px);
    right: 0;
    opacity: 0;
    translate: 0 30px;
    transition: .2s opacity, .2s translate;
    box-sizing: border-box
}

.l-mainvisual__bubble:before,
.l-mainvisual__bubble:after {
    content: "";
    width: 11px;
    aspect-ratio: 1;
    rotate: 45deg;
    position: absolute;
    right: 60px
}

.l-mainvisual__bubble:before {
    background-color: var(--black);
    bottom: -7px
}

.l-mainvisual__bubble:after {
    background-color: var(--white);
    bottom: -6px
}

.l-mainvisual__slider-item.is-active .l-mainvisual__bubble {
    opacity: 1;
    translate: 0
}

.l-mainvisual__title {
    min-height: 70px;
    margin: 46px 0 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--black-bold);
    letter-spacing: -.06em;
    color: var(--mainvisual-text-color);
    display: flex;
    align-items: center;
    text-shadow: var(--mainvisual-shadow);
    opacity: 0;
    transition: .2s opacity;
    font-size: 1.5rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__title {
        font-size: 1.875rem;
        margin: 52px -21px 0;
        justify-content: center
    }
}

.l-mainvisual__slider-item.is-active .l-mainvisual__title {
    opacity: 1
}

.l-mainvisual__title-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden
}

.l-mainvisual__title-icon {
    display: inline-flex;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    box-shadow: var(--mainvisual-shadow);
    align-items: center;
    justify-content: center;
    margin-right: 4px
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__title-icon {
        margin-right: 8px
    }
}

.l-mainvisual__title-icon:before {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 20px;
    height: 20px;
    background-color: currentColor
}

.l-mainvisual__slider-control {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 16px;
    padding: 0 2px
}

@media print,
screen and (min-width: 768px) {
    .l-mainvisual__slider-control {
        margin-top: 32px;
        justify-content: center;
        column-gap: 20px
    }
}

.l-mainvisual__slider-pagination {
    padding-left: 0;
    justify-content: flex-start;
    column-gap: 20px
}

.l-mainvisual__slider-pagination>li {
    padding: 0
}

.l-mainvisual__slider-pagination>li:before {
    display: none
}

.l-mainvisual__slider-pagination .splide__pagination__page {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    background-color: #0000004d;
    width: 12px;
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, .5);
    background-clip: padding-box;
    border-radius: 50%;
    position: relative;
    display: block
}

.l-mainvisual__slider-pagination .splide__pagination__page:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 24px;
    height: 24px
}

.l-mainvisual__slider-pagination .splide__pagination__page.is-active {
    background-color: var(--white);
    border-color: var(--primary);
    opacity: 1
}

.l-mainvisual__slider-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    position: relative;
    width: 24px;
    height: 24px;
    background-color: var(--white);
    border: 1px solid var(--primary);
    border-radius: 50%;
    display: grid;
    place-items: center
}

.l-mainvisual__slider-button .splide__toggle__play {
    text-indent: -9999px;
    -webkit-mask-image: url(/common/2025/img/icon_play.svg);
    mask-image: url(/common/2025/img/icon_play.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 7px;
    height: 8px;
    background-color: var(--primary);
    translate: .5px 0
}

.l-mainvisual__slider-button .splide__toggle__pause {
    text-indent: -9999px;
    -webkit-mask-image: url(/common/2025/img/icon_pause.svg);
    mask-image: url(/common/2025/img/icon_pause.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 10px;
    height: 12px;
    background-color: var(--primary)
}

.l-container {
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--sm-side-margin);
    padding-right: var(--sm-side-margin);
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .l-container {
        padding-left: var(--md-side-margin);
        padding-right: var(--md-side-margin);
        max-width: calc(var(--container-max-width, var(--md-content-width)) + var(--md-side-margin) * 2)
    }
}

@media print,
screen and (min-width: 768px) {
    .l-container._large {
        --container-max-width: var(--md-content-width)
    }
}

@media print,
screen and (min-width: 768px) {
    .l-container._medium {
        --container-max-width: 1000px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-container._small {
        --container-max-width: 768px
    }
}

.l-container .l-container {
    padding-left: 0;
    padding-right: 0
}

.l-block-container {
    --block-container-col: 1;
    --block-container-gap-vertical: 0;
    --block-container-gap-horizontal: 0;
    display: grid;
    list-style: none;
    margin: 0;
    padding: 0;
    grid-template-columns: repeat(var(--block-container-col), 1fr);
    gap: var(--block-container-gap-vertical) var(--block-container-gap-horizontal)
}

.l-block-container._vertical-align-top {
    align-items: start
}

.l-block-container._col1 {
    --block-container-col: 1
}

.l-block-container._col2 {
    --block-container-col: 2
}

.l-block-container._col3 {
    --block-container-col: 3
}

.l-block-container._col4 {
    --block-container-col: 4
}

.l-block-container._col5 {
    --block-container-col: 5
}

.l-block-container._col6 {
    --block-container-col: 6
}

.l-block-container._col7 {
    --block-container-col: 7
}

.l-block-container._col8 {
    --block-container-col: 8
}

.l-block-container._col9 {
    --block-container-col: 9
}

.l-block-container._col10 {
    --block-container-col: 10
}

.l-block-container._col11 {
    --block-container-col: 11
}

.l-block-container._col12 {
    --block-container-col: 12
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col1 {
        --block-container-col: 1
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col2 {
        --block-container-col: 2
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col3 {
        --block-container-col: 3
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col4 {
        --block-container-col: 4
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col5 {
        --block-container-col: 5
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col6 {
        --block-container-col: 6
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col7 {
        --block-container-col: 7
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col8 {
        --block-container-col: 8
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col9 {
        --block-container-col: 9
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col10 {
        --block-container-col: 10
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col11 {
        --block-container-col: 11
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-col12 {
        --block-container-col: 12
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col1 {
        --block-container-col: 1
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col2 {
        --block-container-col: 2
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col3 {
        --block-container-col: 3
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col4 {
        --block-container-col: 4
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col5 {
        --block-container-col: 5
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col6 {
        --block-container-col: 6
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col7 {
        --block-container-col: 7
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col8 {
        --block-container-col: 8
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col9 {
        --block-container-col: 9
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col10 {
        --block-container-col: 10
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col11 {
        --block-container-col: 11
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-block-container._lg-col12 {
        --block-container-col: 12
    }
}

.l-block-container._gap-horizontal0 {
    --block-container-gap-horizontal: 0px
}

.l-block-container._gap-horizontal4 {
    --block-container-gap-horizontal: 4px
}

.l-block-container._gap-horizontal8 {
    --block-container-gap-horizontal: 8px
}

.l-block-container._gap-horizontal16 {
    --block-container-gap-horizontal: 16px
}

.l-block-container._gap-horizontal20 {
    --block-container-gap-horizontal: 20px
}

.l-block-container._gap-horizontal24 {
    --block-container-gap-horizontal: 24px
}

.l-block-container._gap-horizontal26 {
    --block-container-gap-horizontal: 26px
}

.l-block-container._gap-horizontal32 {
    --block-container-gap-horizontal: 32px
}

.l-block-container._gap-horizontal36 {
    --block-container-gap-horizontal: 36px
}

.l-block-container._gap-horizontal40 {
    --block-container-gap-horizontal: 40px
}

.l-block-container._gap-horizontal50 {
    --block-container-gap-horizontal: 50px
}

.l-block-container._gap-horizontal55 {
    --block-container-gap-horizontal: 55px
}

.l-block-container._gap-horizontal60 {
    --block-container-gap-horizontal: 60px
}

.l-block-container._gap-vertical0 {
    --block-container-gap-vertical: 0px
}

.l-block-container._gap-vertical4 {
    --block-container-gap-vertical: 4px
}

.l-block-container._gap-vertical8 {
    --block-container-gap-vertical: 8px
}

.l-block-container._gap-vertical16 {
    --block-container-gap-vertical: 16px
}

.l-block-container._gap-vertical20 {
    --block-container-gap-vertical: 20px
}

.l-block-container._gap-vertical24 {
    --block-container-gap-vertical: 24px
}

.l-block-container._gap-vertical26 {
    --block-container-gap-vertical: 26px
}

.l-block-container._gap-vertical32 {
    --block-container-gap-vertical: 32px
}

.l-block-container._gap-vertical36 {
    --block-container-gap-vertical: 36px
}

.l-block-container._gap-vertical40 {
    --block-container-gap-vertical: 40px
}

.l-block-container._gap-vertical50 {
    --block-container-gap-vertical: 50px
}

.l-block-container._gap-vertical55 {
    --block-container-gap-vertical: 55px
}

.l-block-container._gap-vertical60 {
    --block-container-gap-vertical: 60px
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal0 {
        --block-container-gap-horizontal: 0px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal4 {
        --block-container-gap-horizontal: 4px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal8 {
        --block-container-gap-horizontal: 8px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal16 {
        --block-container-gap-horizontal: 16px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal20 {
        --block-container-gap-horizontal: 20px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal24 {
        --block-container-gap-horizontal: 24px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal26 {
        --block-container-gap-horizontal: 26px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal32 {
        --block-container-gap-horizontal: 32px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal36 {
        --block-container-gap-horizontal: 36px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal40 {
        --block-container-gap-horizontal: 40px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal50 {
        --block-container-gap-horizontal: 50px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal55 {
        --block-container-gap-horizontal: 55px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-horizontal60 {
        --block-container-gap-horizontal: 60px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical0 {
        --block-container-gap-vertical: 0px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical4 {
        --block-container-gap-vertical: 4px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical8 {
        --block-container-gap-vertical: 8px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical16 {
        --block-container-gap-vertical: 16px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical20 {
        --block-container-gap-vertical: 20px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical24 {
        --block-container-gap-vertical: 24px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical26 {
        --block-container-gap-vertical: 26px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical32 {
        --block-container-gap-vertical: 32px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical36 {
        --block-container-gap-vertical: 36px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical40 {
        --block-container-gap-vertical: 40px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical50 {
        --block-container-gap-vertical: 50px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical55 {
        --block-container-gap-vertical: 55px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._md-gap-vertical60 {
        --block-container-gap-vertical: 60px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal0 {
        --block-container-gap-horizontal: 0px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal4 {
        --block-container-gap-horizontal: 4px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal8 {
        --block-container-gap-horizontal: 8px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal16 {
        --block-container-gap-horizontal: 16px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal20 {
        --block-container-gap-horizontal: 20px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal24 {
        --block-container-gap-horizontal: 24px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal26 {
        --block-container-gap-horizontal: 26px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal32 {
        --block-container-gap-horizontal: 32px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal36 {
        --block-container-gap-horizontal: 36px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal40 {
        --block-container-gap-horizontal: 40px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal50 {
        --block-container-gap-horizontal: 50px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal55 {
        --block-container-gap-horizontal: 55px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-horizontal60 {
        --block-container-gap-horizontal: 60px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical0 {
        --block-container-gap-vertical: 0px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical4 {
        --block-container-gap-vertical: 4px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical8 {
        --block-container-gap-vertical: 8px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical16 {
        --block-container-gap-vertical: 16px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical20 {
        --block-container-gap-vertical: 20px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical24 {
        --block-container-gap-vertical: 24px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical26 {
        --block-container-gap-vertical: 26px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical32 {
        --block-container-gap-vertical: 32px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical36 {
        --block-container-gap-vertical: 36px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical40 {
        --block-container-gap-vertical: 40px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical50 {
        --block-container-gap-vertical: 50px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical55 {
        --block-container-gap-vertical: 55px
    }
}

@media print,
screen and (min-width: 768px) {
    .l-block-container._lg-gap-vertical60 {
        --block-container-gap-vertical: 60px
    }
}

.l-block-container__item {
    display: grid;
    margin: 0;
    padding: 0;
    text-indent: 0
}

.l-block-container__item:before {
    display: none
}

.l-block-container__item._display-contents {
    display: contents
}

.l-block-container__item.is-nongrid {
    display: block
}

.l-block-container__item .logo {
    display: block;
    max-width: 240px
}

.l-block-container__wrapper {
    max-width: 580px;
    width: 100%
}

.l-grid {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    --column-gap: 0px;
    --row-gap: 0px;
    column-gap: var(--column-gap);
    row-gap: var(--row-gap)
}

.l-grid._align-left {
    justify-content: flex-start
}

.l-grid._align-center {
    justify-content: center
}

.l-grid._align-right {
    justify-content: flex-end
}

.l-grid._align-justify {
    justify-content: space-between
}

.l-grid._vertical-align-top {
    align-items: flex-start
}

.l-grid._vertical-align-middle {
    align-items: center
}

.l-grid._vertical-align-bottom {
    align-items: flex-end
}

.l-grid._gap-horizontal0 {
    --column-gap: 0px
}

.l-grid._gap-vertical0 {
    --row-gap: 0px
}

.l-grid._gap-horizontal4 {
    --column-gap: 4px
}

.l-grid._gap-vertical4 {
    --row-gap: 4px
}

.l-grid._gap-horizontal8 {
    --column-gap: 8px
}

.l-grid._gap-vertical8 {
    --row-gap: 8px
}

.l-grid._gap-horizontal16 {
    --column-gap: 16px
}

.l-grid._gap-vertical16 {
    --row-gap: 16px
}

.l-grid._gap-horizontal20 {
    --column-gap: 20px
}

.l-grid._gap-vertical20 {
    --row-gap: 20px
}

.l-grid._gap-horizontal24 {
    --column-gap: 24px
}

.l-grid._gap-vertical24 {
    --row-gap: 24px
}

.l-grid._gap-horizontal26 {
    --column-gap: 26px
}

.l-grid._gap-vertical26 {
    --row-gap: 26px
}

.l-grid._gap-horizontal32 {
    --column-gap: 32px
}

.l-grid._gap-vertical32 {
    --row-gap: 32px
}

.l-grid._gap-horizontal36 {
    --column-gap: 36px
}

.l-grid._gap-vertical36 {
    --row-gap: 36px
}

.l-grid._gap-horizontal40 {
    --column-gap: 40px
}

.l-grid._gap-vertical40 {
    --row-gap: 40px
}

.l-grid._gap-horizontal50 {
    --column-gap: 50px
}

.l-grid._gap-vertical50 {
    --row-gap: 50px
}

.l-grid._gap-horizontal55 {
    --column-gap: 55px
}

.l-grid._gap-vertical55 {
    --row-gap: 55px
}

.l-grid._gap-horizontal60 {
    --column-gap: 60px
}

.l-grid._gap-vertical60 {
    --row-gap: 60px
}

@media print,
screen and (min-width: 768px) {
    .l-grid._md-gap-horizontal0 {
        --column-gap: 0px
    }

    .l-grid._md-gap-vertical0 {
        --row-gap: 0px
    }

    .l-grid._md-gap-horizontal4 {
        --column-gap: 4px
    }

    .l-grid._md-gap-vertical4 {
        --row-gap: 4px
    }

    .l-grid._md-gap-horizontal8 {
        --column-gap: 8px
    }

    .l-grid._md-gap-vertical8 {
        --row-gap: 8px
    }

    .l-grid._md-gap-horizontal16 {
        --column-gap: 16px
    }

    .l-grid._md-gap-vertical16 {
        --row-gap: 16px
    }

    .l-grid._md-gap-horizontal20 {
        --column-gap: 20px
    }

    .l-grid._md-gap-vertical20 {
        --row-gap: 20px
    }

    .l-grid._md-gap-horizontal24 {
        --column-gap: 24px
    }

    .l-grid._md-gap-vertical24 {
        --row-gap: 24px
    }

    .l-grid._md-gap-horizontal26 {
        --column-gap: 26px
    }

    .l-grid._md-gap-vertical26 {
        --row-gap: 26px
    }

    .l-grid._md-gap-horizontal32 {
        --column-gap: 32px
    }

    .l-grid._md-gap-vertical32 {
        --row-gap: 32px
    }

    .l-grid._md-gap-horizontal36 {
        --column-gap: 36px
    }

    .l-grid._md-gap-vertical36 {
        --row-gap: 36px
    }

    .l-grid._md-gap-horizontal40 {
        --column-gap: 40px
    }

    .l-grid._md-gap-vertical40 {
        --row-gap: 40px
    }

    .l-grid._md-gap-horizontal50 {
        --column-gap: 50px
    }

    .l-grid._md-gap-vertical50 {
        --row-gap: 50px
    }

    .l-grid._md-gap-horizontal55 {
        --column-gap: 55px
    }

    .l-grid._md-gap-vertical55 {
        --row-gap: 55px
    }

    .l-grid._md-gap-horizontal60 {
        --column-gap: 60px
    }

    .l-grid._md-gap-vertical60 {
        --row-gap: 60px
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-grid._lg-gap-horizontal0 {
        --column-gap: 0px
    }

    .l-grid._lg-gap-vertical0 {
        --row-gap: 0px
    }

    .l-grid._lg-gap-horizontal4 {
        --column-gap: 4px
    }

    .l-grid._lg-gap-vertical4 {
        --row-gap: 4px
    }

    .l-grid._lg-gap-horizontal8 {
        --column-gap: 8px
    }

    .l-grid._lg-gap-vertical8 {
        --row-gap: 8px
    }

    .l-grid._lg-gap-horizontal16 {
        --column-gap: 16px
    }

    .l-grid._lg-gap-vertical16 {
        --row-gap: 16px
    }

    .l-grid._lg-gap-horizontal20 {
        --column-gap: 20px
    }

    .l-grid._lg-gap-vertical20 {
        --row-gap: 20px
    }

    .l-grid._lg-gap-horizontal24 {
        --column-gap: 24px
    }

    .l-grid._lg-gap-vertical24 {
        --row-gap: 24px
    }

    .l-grid._lg-gap-horizontal26 {
        --column-gap: 26px
    }

    .l-grid._lg-gap-vertical26 {
        --row-gap: 26px
    }

    .l-grid._lg-gap-horizontal32 {
        --column-gap: 32px
    }

    .l-grid._lg-gap-vertical32 {
        --row-gap: 32px
    }

    .l-grid._lg-gap-horizontal36 {
        --column-gap: 36px
    }

    .l-grid._lg-gap-vertical36 {
        --row-gap: 36px
    }

    .l-grid._lg-gap-horizontal40 {
        --column-gap: 40px
    }

    .l-grid._lg-gap-vertical40 {
        --row-gap: 40px
    }

    .l-grid._lg-gap-horizontal50 {
        --column-gap: 50px
    }

    .l-grid._lg-gap-vertical50 {
        --row-gap: 50px
    }

    .l-grid._lg-gap-horizontal55 {
        --column-gap: 55px
    }

    .l-grid._lg-gap-vertical55 {
        --row-gap: 55px
    }

    .l-grid._lg-gap-horizontal60 {
        --column-gap: 60px
    }

    .l-grid._lg-gap-vertical60 {
        --row-gap: 60px
    }
}

.l-grid__item {
    --column-count: 12;
    width: calc(var(--column-count) * (100% + var(--column-gap, 0px)) / 12 - var(--column-gap, 0px));
    padding-left: 0;
    margin: 0
}

.l-grid__item:before {
    display: none
}

.l-grid__item._grid {
    display: grid
}

.l-grid__item._col-auto {
    --column-count: auto
}

.l-grid__item._col1 {
    --column-count: 1
}

.l-grid__item._col2 {
    --column-count: 2
}

.l-grid__item._col3 {
    --column-count: 3
}

.l-grid__item._col4 {
    --column-count: 4
}

.l-grid__item._col5 {
    --column-count: 5
}

.l-grid__item._col6 {
    --column-count: 6
}

.l-grid__item._col7 {
    --column-count: 7
}

.l-grid__item._col8 {
    --column-count: 8
}

.l-grid__item._col9 {
    --column-count: 9
}

.l-grid__item._col10 {
    --column-count: 10
}

.l-grid__item._col11 {
    --column-count: 11
}

.l-grid__item._col12 {
    --column-count: 12
}

@media print,
screen and (min-width: 768px) {
    .l-grid__item._md-col-auto {
        --column-count: auto
    }

    .l-grid__item._md-col1 {
        --column-count: 1
    }

    .l-grid__item._md-col2 {
        --column-count: 2
    }

    .l-grid__item._md-col3 {
        --column-count: 3
    }

    .l-grid__item._md-col4 {
        --column-count: 4
    }

    .l-grid__item._md-col5 {
        --column-count: 5
    }

    .l-grid__item._md-col6 {
        --column-count: 6
    }

    .l-grid__item._md-col7 {
        --column-count: 7
    }

    .l-grid__item._md-col8 {
        --column-count: 8
    }

    .l-grid__item._md-col9 {
        --column-count: 9
    }

    .l-grid__item._md-col10 {
        --column-count: 10
    }

    .l-grid__item._md-col11 {
        --column-count: 11
    }

    .l-grid__item._md-col12 {
        --column-count: 12
    }
}

@media print,
screen and (min-width: 1024px) {
    .l-grid__item._lg-col-auto {
        --column-count: auto
    }

    .l-grid__item._lg-col1 {
        --column-count: 1
    }

    .l-grid__item._lg-col2 {
        --column-count: 2
    }

    .l-grid__item._lg-col3 {
        --column-count: 3
    }

    .l-grid__item._lg-col4 {
        --column-count: 4
    }

    .l-grid__item._lg-col5 {
        --column-count: 5
    }

    .l-grid__item._lg-col6 {
        --column-count: 6
    }

    .l-grid__item._lg-col7 {
        --column-count: 7
    }

    .l-grid__item._lg-col8 {
        --column-count: 8
    }

    .l-grid__item._lg-col9 {
        --column-count: 9
    }

    .l-grid__item._lg-col10 {
        --column-count: 10
    }

    .l-grid__item._lg-col11 {
        --column-count: 11
    }

    .l-grid__item._lg-col12 {
        --column-count: 12
    }
}

.l-grid__item>*:first-child {
    margin-top: 0
}

.l-grid__item>*:last-child {
    margin-bottom: 0
}

.l-button-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px
}

@media print,
screen and (min-width: 768px) {
    .l-button-container {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 24px 40px
    }
}

.l-button-container._align-left {
    align-items: flex-start;
    justify-content: flex-start
}

@media print,
screen and (min-width: 768px) {
    .l-button-container._sm-align-left {
        align-items: flex-start;
        justify-content: flex-start
    }
}

.l-button-container._align-center {
    justify-content: center
}

.l-button-container._align-right {
    justify-content: flex-end
}

@media print,
screen and (min-width: 768px) {
    .l-button-container._align-right {
        align-items: flex-end
    }
}

@media print,
screen and (min-width: 768px) {
    .l-button-container._vertical-align-bottom {
        align-items: end
    }
}

.l-button-container__item {
    width: auto;
    min-width: 240px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .l-button-container__item {
        width: min(100%, 344px);
        min-width: auto
    }
}

@media screen and (max-width: 767px) {
    .l-button-container__item._sm-full-width {
        width: 100%
    }
}

.l-button-container__controller {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translate(-50%)
}

.l-band {
    --band-color: transparent;
    background-color: var(--band-color);
    padding-top: .1px;
    padding-bottom: .1px
}

.l-band._primary {
    --band-color: var(--primary)
}

.l-band._light-primary {
    --band-color: var(--light-primary)
}

.l-band._sky-blue {
    --band-color: #48caf8
}

.l-band.is-sns {
    padding-bottom: 60px;
    position: relative
}

:is(.l-page-title, .h1_titleBlock01) {
    background-color: var(--light-primary) !important;
    background-image: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 178px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title, .h1_titleBlock01) {
        height: 280px;
        padding: 0 var(--md-side-margin)
    }
}

:is(.l-page-title, .h1_titleBlock01):not(._simple) {
    box-shadow: inset 0 0 30px rgb(var(--primary-rgb)/.1)
}

:is(.l-page-title, .h1_titleBlock01):not(._simple):before,
:is(.l-page-title, .h1_titleBlock01):not(._simple):after {
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    height: 100%
}

:is(.l-page-title, .h1_titleBlock01):not(._simple):before {
    background-image: url(/common/2025/img/parts_page_title_left_top.svg);
    background-position: left top;
    top: 0;
    left: 0;
    width: 80px
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title, .h1_titleBlock01):not(._simple):before {
        width: min(11.25vw, 180px)
    }
}

:is(.l-page-title, .h1_titleBlock01):not(._simple):after {
    background-image: url(/common/2025/img/parts_page_title_right_bottom.svg);
    background-position: right bottom;
    bottom: 0;
    right: 0;
    width: 113px
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title, .h1_titleBlock01):not(._simple):after {
        width: min(18.75vw, 300px)
    }
}

:is(.l-page-title, .h1_titleBlock01)._favorite {
    background-image: url(/common/2025/img/bg_page_title_favorite_sp.webp) !important;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title, .h1_titleBlock01)._favorite {
        background-image: url(/common/2025/img/bg_page_title_favorite.webp) !important
    }
}

:is(.l-page-title, .h1_titleBlock01)._favorite:before {
    width: 130px;
    background-image: url(/common/2025/img/parts_page_title_favorite_left.webp)
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title, .h1_titleBlock01)._favorite:before {
        width: 290px;
        background-size: cover;
        background-position: left center
    }
}

:is(.l-page-title, .h1_titleBlock01)._favorite:after {
    width: 130px;
    background-image: url(/common/2025/img/parts_page_title_favorite_right.webp)
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title, .h1_titleBlock01)._favorite:after {
        width: 290px;
        background-size: cover;
        background-position: right center
    }
}

:is(.l-page-title._simple, .h1_Block) {
    background-color: var(--light-primary) !important;
    background-image: none !important;
    display: flex;
    max-width: none !important;
    justify-content: flex-start;
    height: auto !important;
    min-height: 120px;
    padding: 30px var(--sm-side-margin) !important;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title._simple, .h1_Block) {
        height: auto !important;
        min-height: 160px;
        padding: 56px var(--md-side-margin) !important
    }
}

:is(.l-page-title._simple, .h1_Block):before,
:is(.l-page-title._simple, .h1_Block):after {
    display: none
}

.l-page-title:has(.l-page-title__hamburger) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 16px
}

:is(.l-page-title__text, .h1_title02) {
    margin: 0 !important;
    padding: 17px !important;
    height: auto !important;
    font-weight: var(--normal);
    display: grid;
    text-align: center;
    position: relative;
    z-index: 1;
    gap: 16px
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title__text, .h1_title02) {
        max-width: var(--md-content-width);
        margin: 0 auto !important
    }
}

.l-page-title._simple :is(.l-page-title__text, .h1_title02) {
    text-align: left;
    padding: 0 !important
}

@media print,
screen and (min-width: 768px) {
    .l-page-title._simple :is(.l-page-title__text, .h1_title02) {
        width: 100%;
        padding: 0 !important
    }
}

:is(.l-page-title__title, .h1_titleMain01, .h1_Block h1) {
    margin: 0 !important;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold) !important;
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    color: var(--primary) !important;
    display: block !important
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title__title, .h1_titleMain01, .h1_Block h1) {
        font-size: 2.5rem !important
    }
}

:is(.l-page-title__title, .h1_titleMain01, .h1_Block h1):before,
:is(.l-page-title__title, .h1_titleMain01, .h1_Block h1):after {
    content: "";
    display: none
}

.l-page-title._simple :is(.l-page-title__title, .h1_titleMain01, .h1_Block h1) {
    font-size: 1.625rem !important
}

@media print,
screen and (min-width: 768px) {
    .l-page-title._simple :is(.l-page-title__title, .h1_titleMain01, .h1_Block h1) {
        font-size: 2.5rem !important
    }
}

.h1_Block h1 {
    width: 100%;
    max-width: var(--md-content-width);
    margin: 0 auto !important;
    font-size: 1.625rem !important;
    padding: 0 60px 0 0 !important
}

@media print,
screen and (min-width: 768px) {
    .h1_Block h1 {
        font-size: 2.5rem !important;
        padding: 0 !important
    }
}

:is(.l-page-title__description, .h1_BottomText01) {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium) !important;
    font-size: .875rem !important;
    line-height: 1.5 !important;
    color: var(--primary) !important
}

@media print,
screen and (min-width: 768px) {
    :is(.l-page-title__description, .h1_BottomText01) {
        font-size: 1.25rem !important;
        line-height: 1.5 !important
    }
}

.l-page-title__hamburger {
    margin-right: calc(var(--sm-side-margin) * -1)
}

@media print,
screen and (min-width: 768px) {
    .l-page-title__hamburger {
        display: none
    }
}

.l-page-title-favorite {
    margin: 0;
    position: relative
}

.l-page-title-favorite:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 60px;
    width: 100%;
    background: linear-gradient(#fef1a4, #fff)
}

.l-page-title-favorite__text {
    position: relative;
    padding: 20px 0 0
}

@media print,
screen and (min-width: 768px) {
    .l-page-title-favorite__text {
        padding: 48px 0 0
    }
}

.l-page-title-favorite__title {
    margin: 0;
    text-align: center
}

.l-breadcrumb {
    width: 100%;
    padding: 0;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .l-breadcrumb {
        padding: 0 var(--md-side-margin)
    }
}

.l-breadcrumb__list {
    list-style: none;
    margin: 0;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    height: var(--sm-breadcrumb-height);
    overflow-x: auto
}

@media print,
screen and (min-width: 768px) {
    .l-breadcrumb__list {
        height: var(--md-breadcrumb-height);
        max-width: var(--md-content-width);
        margin: 0 auto;
        padding: 0
    }
}

.l-breadcrumb__item {
    margin: 0;
    padding: 0;
    text-indent: 0;
    font-size: .75rem;
    line-height: 2.1333333333;
    color: #666;
    position: relative;
    white-space: nowrap
}

.l-breadcrumb__item+.l-breadcrumb__item {
    padding: 0 0 0 18px
}

.l-breadcrumb__item+.l-breadcrumb__item:before {
    content: "";
    width: 7px;
    height: 7px;
    border: 1px solid #666;
    border-bottom: 0;
    border-left: 0;
    position: absolute;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    rotate: 45deg;
    box-sizing: border-box
}

.l-breadcrumb__link {
    color: var(--link)
}

.l-breadcrumb__link:hover {
    text-decoration: none
}

.l-nav-anchor {
    border: 1px solid var(--bd-gray);
    border-radius: 10px;
    width: fit-content
}

@media print,
screen and (min-width: 768px) {
    .l-nav-anchor {
        border-radius: 20px
    }
}

.l-nav-anchor__list {
    list-style: none;
    margin: 12px;
    padding: 4px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    font-size: .875rem;
    line-height: 1.7142857143;
    letter-spacing: -.04em;
    gap: 20px 32px
}

@media print,
screen and (min-width: 768px) {
    .l-nav-anchor__list {
        gap: 24px 64px;
        margin: 28px 20px;
        font-size: 1rem;
        line-height: 1.5
    }
}

.l-nav-anchor__item {
    margin: 0;
    padding: 1px;
    text-indent: 0;
    position: relative
}

.l-nav-anchor__item:before {
    content: "";
    width: 1px;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -16px;
    border-radius: 5px;
    background-color: var(--bd-gray)
}

@media print,
screen and (min-width: 768px) {
    .l-nav-anchor__item:before {
        left: -32px
    }
}

.l-nav-anchor__item._sm-width-fit {
    flex-grow: 1;
    min-width: calc(50% - 16px)
}

@media print,
screen and (min-width: 768px) {
    .l-nav-anchor__item._sm-width-fit {
        flex-grow: initial;
        min-width: initial
    }
}

.l-nav-anchor__link {
    color: var(--text);
    text-decoration: none;
    display: flex;
    align-items: start;
    gap: 4px;
    transition: color .2s
}

@media print,
screen and (min-width: 768px) {
    .l-nav-anchor__link {
        gap: 8px
    }
}

.l-nav-anchor__link:before {
    content: "";
    display: block;
    margin: 4px 0 0;
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary);
    rotate: 90deg;
    flex-shrink: 0;
    transition: translate .2s
}

.l-nav-anchor__link:not([href]) {
    color: var(--text-disabled)
}

.l-nav-anchor__link:not([href]):before {
    background-color: var(--disabled)
}

@media (any-hover: hover) {
    .l-nav-anchor__link[href]:hover:hover {
        color: var(--primary)
    }

    .l-nav-anchor__link[href]:hover:hover:before {
        translate: 0 2px
    }
}

.l-block-skip {
    margin: 0
}

.l-block-skip a {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important
}

:is(.l-block-skip a:focus, .l-block-skip a:active) {
    display: block;
    clip: auto;
    clip-path: none;
    height: auto;
    width: 100vw;
    box-sizing: border-box;
    margin: 0;
    padding: 5px;
    text-align: center;
    background-color: var(--white);
    z-index: 30;
    color: var(--primary)
}

.l-nav-related {
    background-color: var(--light-primary);
    padding: 40px 0 56px
}

@media print,
screen and (min-width: 768px) {
    .l-nav-related {
        padding: 80px 0
    }
}

.l-nav-related__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px
}

@media print,
screen and (min-width: 768px) {
    .l-nav-related__list {
        gap: 16px 36px;
        grid-template-columns: repeat(3, 1fr)
    }
}

.l-nav-related__item {
    margin: 0;
    padding: 0;
    text-indent: 0;
    display: grid
}

.l-nav-related__item:before {
    display: none
}

.l-nav-float {
    position: fixed;
    bottom: 80px;
    left: 8px;
    right: 8px;
    z-index: 20;
    background-color: var(--white);
    border-radius: 50px;
    border: 1px solid var(--primary);
    box-shadow: 0 3px 6px #00000029
}

@media print,
screen and (min-width: 768px) {
    .l-nav-float {
        min-width: 96px;
        padding: 0 10px;
        left: auto;
        right: 0;
        bottom: 160px;
        top: auto;
        border-radius: 10px 0 0 10px;
        border-right: 0;
        box-sizing: border-box
    }
}

.l-nav-float__list {
    list-style: none;
    margin: 0;
    padding: 0 8px;
    display: flex;
    justify-content: space-between
}

@media print,
screen and (min-width: 768px) {
    .l-nav-float__list {
        flex-direction: column;
        gap: 32px;
        padding: 16px 0
    }
}

.l-nav-float__item {
    margin: 0;
    padding: 0;
    text-indent: 0;
    position: relative;
    font-size: .875rem;
    line-height: 1.4;
    font-weight: var(--medium);
    flex-grow: 1;
    text-align: center;
    display: flex;
    justify-content: center
}

@media print,
screen and (min-width: 768px) {
    .l-nav-float__item {
        font-size: .8125rem;
        line-height: 1.5076923077;
        white-space: nowrap
    }
}

.l-nav-float__item:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    background-color: #ddd;
    border-radius: 50%;
    width: 1px;
    height: auto
}

@media print,
screen and (min-width: 768px) {
    .l-nav-float__item:before {
        width: auto;
        height: 1px;
        left: 6px;
        right: 6px;
        top: -16px;
        bottom: auto
    }
}

.l-nav-float__item:first-child:before {
    display: none
}

.l-nav-float__link {
    color: var(--text);
    text-decoration: none;
    display: block;
    padding: 12px 0;
    width: 100%
}

@media print,
screen and (min-width: 768px) {
    .l-nav-float__link {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 0;
        gap: 2px
    }
}

.l-nav-float__icon {
    display: none;
    width: 30px;
    aspect-ratio: 1/1;
    color: var(--primary)
}

@media print,
screen and (min-width: 768px) {
    .l-nav-float__icon {
        display: block
    }
}

#subNav {
    color: var(--text) !important;
    line-height: 1.5 !important;
    padding: 0 !important
}

#subNav .subNavInner {
    margin: 0 !important;
    padding: 24px 16px 0 !important;
    background-color: var(--primary) !important
}

@media print,
screen and (min-width: 768px) {
    #subNav .subNavInner {
        padding: 0 !important;
        background-color: transparent !important;
        border-radius: 10px !important;
        border: 1px solid #c3d1da !important
    }
}

#subNav .navTitle {
    font-family: var(--font-m-plus-rounded) !important;
    rotate: .03deg !important;
    font-size: 1rem !important;
    font-weight: var(--extra-bold) !important;
    border-top: none !important;
    padding: 19px 16px !important;
    border-radius: 10px 10px 0 0 !important;
    text-decoration: none !important;
    color: inherit !important;
    background-color: var(--white) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    column-gap: 8px !important;
    transition: .2s color !important
}

@media print,
screen and (min-width: 768px) {
    #subNav .navTitle {
        color: var(--white) !important;
        background-color: var(--primary) !important
    }

    #subNav .navTitle:after {
        background-color: var(--white) !important
    }
}

#subNav .navTitle:after {
    content: "" !important;
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary);
    transition: .2s translate !important;
    position: static !important;
    transform: none !important;
    flex-shrink: 0
}

#subNav .navTitle[aria-current=page] {
    background-color: #f0fafd !important
}

@media (any-hover: hover) {
    #subNav .navTitle:hover:after {
        translate: 2px 0 !important
    }
}

#subNav .navTitle:focus-visible {
    position: relative !important;
    z-index: 1 !important
}

#subNav .subNavInner>ul {
    margin: 0 !important
}

#subNav .subNavInner>ul>li {
    margin: 0 !important;
    padding: 0 !important
}

#subNav .subNavInner>ul>li:before {
    display: none !important
}

#subNav .subNavInner>ul>li>a {
    font-family: var(--font-m-plus-rounded) !important;
    rotate: .03deg !important;
    font-weight: var(--extra-bold) !important;
    padding: 14px 16px 15px !important;
    text-decoration: none !important;
    color: inherit !important;
    background-color: var(--white) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    column-gap: 8px !important;
    border-top: 1px solid #dce7ed !important;
    transition: .2s color !important
}

#subNav .subNavInner>ul>li>a:after {
    content: "" !important;
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary);
    transition: .2s translate !important;
    position: static !important;
    transform: none !important;
    flex-shrink: 0
}

#subNav .subNavInner>ul>li>a[aria-current=page] {
    background-color: #f0fafd !important
}

@media (any-hover: hover) {
    #subNav .subNavInner>ul>li>a:hover {
        color: var(--primary) !important
    }

    #subNav .subNavInner>ul>li>a:hover:after {
        translate: 2px 0 !important
    }
}

#subNav .subNavInner>ul>li>a:focus-visible {
    position: relative !important;
    z-index: 1 !important
}

#subNav .subNavInner>ul>li:last-child a {
    border-radius: 0 0 10px 10px !important
}

#subNav .innerNav {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important
}

#subNav .innerNav[aria-hidden=true] {
    display: none !important
}

#subNav .innerNav>li {
    margin: 0 !important;
    padding: 0 !important
}

#subNav .innerNav>li:before {
    display: none !important
}

#subNav .innerNav>li>a {
    font-family: var(--font-m-plus-rounded) !important;
    rotate: .03deg !important;
    font-size: .875rem !important;
    font-weight: var(--medium) !important;
    padding: 16px 16px 16px 40px !important;
    text-decoration: none !important;
    color: inherit !important;
    background-color: var(--white) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    column-gap: 8px !important;
    border-top: 1px solid #dce7ed !important;
    transition: .2s color !important
}

#subNav .innerNav>li>a:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow.svg);
    mask-image: url(/common/2025/img/icon_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 12px;
    height: 10px;
    background-color: var(--primary);
    transition: .2s translate !important;
    position: static !important;
    transform: none !important;
    order: 3;
    flex-shrink: 0
}

#subNav .innerNav>li>a[href$=".pdf"]:before {
    content: "" !important;
    margin: 2px auto 0 0 !important;
    width: 16px !important;
    height: 16px !important;
    display: inline-block !important;
    vertical-align: top !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background-image: url(/common/2025/img/icon_pdf.svg) !important;
    background-color: transparent !important;
    order: 2;
    flex-shrink: 0
}

#subNav .innerNav>li>a[href$=".pdf"]>img {
    display: none !important
}

#subNav .innerNav>li>a[aria-current=page] {
    background-color: #f0fafd !important
}

#subNav .innerNav>li>a:focus-visible {
    position: relative !important;
    z-index: 1 !important
}

@media (any-hover: hover) {
    #subNav .innerNav>li>a:hover {
        color: var(--primary) !important
    }

    #subNav .innerNav>li>a:hover:after {
        translate: 2px 0 !important
    }
}

#subNav .subNavInner>ul>li:last-child .innerNav>li:last-child>a {
    border-radius: 0 0 10px 10px !important
}

#subNav>.otherlink {
    border-bottom: none !important;
    margin: 0 !important;
    padding: 8px 16px 16px !important;
    background-color: var(--primary) !important
}

@media print,
screen and (min-width: 768px) {
    #subNav>.otherlink {
        padding: 8px 0 0 !important;
        background-color: transparent !important
    }
}

#subNav>.otherlink>a:not(.banner) {
    border-bottom: none !important;
    padding: 0 !important;
    text-decoration: none !important;
    text-align: left !important;
    color: var(--white) !important;
    font-family: var(--font-m-plus-rounded) !important;
    rotate: .03deg !important;
    font-weight: var(--medium) !important;
    font-size: .875rem !important;
    line-height: 1.7142857143 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    column-gap: 8px !important;
    min-height: 35px !important;
    transition: .2s color !important
}

@media print,
screen and (min-width: 768px) {
    #subNav>.otherlink>a:not(.banner) {
        color: var(--text) !important
    }
}

#subNav>.otherlink>a:not(.banner):before {
    display: none
}

#subNav>.otherlink>a:not(.banner):after {
    content: "" !important;
    transition: .2s translate !important;
    flex-shrink: 0;
    -webkit-mask-image: url(/common/2025/img/icon_arrow.svg);
    mask-image: url(/common/2025/img/icon_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 12px;
    height: 10px;
    background-color: var(--white)
}

@media print,
screen and (min-width: 768px) {
    #subNav>.otherlink>a:not(.banner):after {
        background-color: var(--primary) !important
    }
}

@media (any-hover: hover) {
    #subNav>.otherlink>a:not(.banner):hover:after {
        translate: 2px 0 !important
    }
}

#subNav>.otherlink>a.banner {
    display: block;
    box-shadow: var(--card-bd-shadow);
    border-radius: 10px;
    padding: 2px 2px 4px !important;
    overflow: hidden;
    position: relative;
    text-align: center;
    transition: box-shadow .2s;
    background-color: var(--white);
    max-width: 231px;
    margin-top: 8px
}

@media (any-hover: hover) {
    #subNav>.otherlink>a.banner:hover {
        box-shadow: var(--card-bd-shadow-hover);
        background-color: var(--white) !important
    }

    #subNav>.otherlink>a.banner:hover>img {
        opacity: 1
    }
}

#Contents .inner #subNav .spBar {
    padding: 0;
    width: 60px;
    height: 60px;
    top: -90px !important;
    display: flex !important;
    align-items: center;
    justify-content: center
}

@media print,
screen and (min-width: 768px) {
    #Contents .inner #subNav .spBar {
        display: none !important
    }
}

#Contents .inner #subNav .spBar:before {
    content: "" !important;
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(/common/2025/img/icon_hamburger.svg);
    background-repeat: no-repeat;
    transition: background-image .1s, transform .2s
}

#Contents .inner #subNav .spBar.open:before {
    content: "";
    transform: rotate(180deg);
    background-image: url(/common/2025/img/icon_hamburger_close.svg)
}

.c-pagetop {
    background-color: var(--white);
    position: fixed;
    bottom: 140px;
    right: 10px;
    z-index: 15;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 3px 6px #00000029;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s, visibility .2s, background .2s
}

@media print,
screen and (min-width: 768px) {
    .c-pagetop {
        width: 60px;
        height: 60px;
        right: 16px;
        bottom: 80px
    }
}

.c-pagetop:before {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow--blue.svg) no-repeat;
    background-size: 100%;
    width: 16px;
    height: 16px;
    rotate: -90deg;
    transition: background .2s
}

.c-pagetop._show {
    opacity: 1;
    visibility: visible
}

.c-pagetop._stop {
    position: absolute;
    top: -24px;
    bottom: auto
}

@media print,
screen and (min-width: 768px) {
    .c-pagetop._stop {
        top: -30px
    }
}

@media (any-hover: hover) {
    .c-pagetop:hover {
        background-color: var(--primary)
    }

    .c-pagetop:hover:before {
        background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow--white.svg) no-repeat;
        background-size: 100%
    }
}

.c-list-sns__title {
    margin: 0 0 16px;
    text-align: center;
    font-family: var(--font-fredoka);
    font-weight: var(--bold);
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: .04em;
    color: var(--white)
}

@media print,
screen and (min-width: 768px) {
    .c-list-sns._min-md-left .c-list-sns__title {
        text-align: left
    }
}

.c-list-sns__list {
    max-width: 310px;
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

@media print,
screen and (min-width: 768px) {
    .c-list-sns__list {
        max-width: initial;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px 10px;
    }
}

.c-list-sns._large .c-list-sns__list {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    gap: 16px 10px;
}

@media print,
screen and (min-width: 768px) {
    .c-list-sns._large .c-list-sns__list {
         max-width: 630px;
      display: flex;
      justify-content: space-between;
    }
}

.c-list-sns__item {
    margin: 0;
    padding: 0
}

.c-list-sns__item:before {
    display: none
}

.c-list-sns__link {
    background-color: var(--white);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    border-radius: 50%;
    position: relative;
    width: 64px;
    opacity: 1 !important
}

@media print,
screen and (min-width: 768px) {
    .c-list-sns__link {
       width: 64px;
    }
}

.c-list-sns._large .c-list-sns__link {
    width: 66px;
}

@media print,
screen and (min-width: 768px) {
    .c-list-sns._large .c-list-sns__link {
        width: 80px;
    }
}

.c-list-sns__link:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-bottom: 3px solid rgba(0, 0, 0, .16);
    border-radius: 50%;
    background-color: var(--white);
    box-sizing: border-box;
    transition: border-color .2s
}

.c-list-sns__link:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    border: 2px solid var(--primary);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s, visibility .2s
}

@media (any-hover: hover) {
    .c-list-sns__link:hover:after {
        opacity: 1;
        visibility: visible
    }
}

.c-list-sns__icon {
    position: relative;
    width: 48px;
}

@media print,
screen and (min-width: 768px) {
    .c-list-sns._large .c-list-sns__icon {
        width: 48px;
    }
}

.c-list-sns__more {
    color: var(--white) !important;
    text-decoration: underline !important;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .8125rem;
    line-height: 1;
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 16px auto 0;
    padding: 8px 0;
    gap: 8px;
    opacity: 1 !important
}

@media print,
screen and (min-width: 768px) {
    .c-list-sns__more {
        font-size: .875rem
    }
}

@media print,
screen and (min-width: 768px) {
    .c-list-sns._min-md-left .c-list-sns__more {
        margin-left: 0;
        margin-right: 0
    }
}

.c-list-sns__more:after {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_arrow--white.svg) no-repeat center center;
    background-size: 100%;
    display: block;
    width: 11px;
    height: 11px
}

.c-spacer {
    --sm-space: 0px;
    margin-top: var(--sm-space)
}

@media print,
screen and (min-width: 768px) {
    .c-spacer {
        --md-space: var(--sm-space);
        margin-top: var(--md-space)
    }
}

@media print,
screen and (min-width: 1024px) {
    .c-spacer {
        --lg-space: var(--md-space);
        margin-top: var(--lg-space)
    }
}

.c-button {
    --button-bg-color: var(--primary);
    --button-bd-color: var(--primary);
    --button-text-color: var(--white);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid var(--button-bd-color);
    display: flex;
    align-items: center;
    justify-content: center;
    vertical-align: top;
    width: 100%;
    min-height: 44px;
    padding: 10px 24px;
    border-radius: 50px;
    background-color: var(--button-bg-color);
    color: var(--button-text-color);
    text-decoration: none;
    font-size: .875rem;
    line-height: 1.5;
    font-weight: var(--extra-bold);
    position: relative;
    box-sizing: border-box;
    transition: border .2s, color .2s, background-color .2s
}

@media print,
screen and (min-width: 768px) {
    .c-button {
        padding: 10px 20px;
        min-height: 55px;
        font-size: 1.125rem;
        line-height: 1.6;
        letter-spacing: -.04em
    }
}

.c-button:disabled {
    cursor: default
}

.c-button:after {
    position: absolute;
    top: 50%;
    right: 14px;
    translate: 0 -50%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: var(--button-text-color);
    flex-shrink: 0;
    transition: background-color .2s
}

@media print,
screen and (min-width: 768px) {
    .c-button:after {
        right: 21px
    }
}

.c-button._contained._primary {
    --button-bg-color: var(--primary);
    --button-text-color: var(--white)
}

@media (any-hover: hover) {
    .c-button._contained._primary:hover {
        --button-bg-color: var(--white);
        --button-bd-color: var(--primary);
        --button-text-color: var(--primary)
    }
}

.c-button._contained._primary:disabled {
    --button-bg-color: var(--white);
    --button-bd-color: var(--disabled);
    --button-text-color: var(--text-disabled)
}

@media (any-hover: hover) {
    .c-button._contained._primary:disabled:hover {
        --button-bg-color: var(--white);
        --button-bd-color: var(--disabled);
        --button-text-color: var(--text-disabled)
    }
}

.c-button._contained._white {
    --button-bg-color: var(--white);
    --button-bd-color: var(--white);
    --button-text-color: var(--primary)
}

@media (any-hover: hover) {
    .c-button._contained._white:hover {
        --button-bg-color: var(--primary);
        --button-bd-color: var(--white);
        --button-text-color: var(--white)
    }
}

.c-button._contained._white-black {
    --button-bg-color: var(--white);
    --button-bd-color: var(--white);
    --button-text-color: var(--black)
}

@media (any-hover: hover) {
    .c-button._contained._white-black:hover {
        --button-bg-color: var(--black);
        --button-bd-color: var(--white);
        --button-text-color: var(--white)
    }
}

.c-button._outlined._primary {
    --button-bg-color: var(--white);
    --button-bd-color: var(--primary);
    --button-text-color: var(--primary)
}

@media (any-hover: hover) {
    .c-button._outlined._primary:hover {
        --button-bg-color: var(--primary);
        --button-bd-color: var(--primary);
        --button-text-color: var(--white)
    }
}

.c-button._outlined._white {
    --button-bg-color: var(--white);
    --button-text-color: var(--primary)
}

.c-button._down-arrow {
    padding-left: 32px;
    padding-right: 32px
}

@media print,
screen and (min-width: 768px) {
    .c-button._down-arrow {
        padding-left: 40px;
        padding-right: 40px
    }
}

.c-button._down-arrow:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    width: 16px;
    height: 16px;
    rotate: 90deg
}

.c-button._reset {
    padding-left: 32px;
    padding-right: 32px
}

@media print,
screen and (min-width: 768px) {
    .c-button._reset {
        padding-left: 40px;
        padding-right: 40px
    }
}

.c-button._reset:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_reset.svg);
    mask-image: url(/common/2025/img/icon_reset.svg);
    width: 16px;
    height: 16px;
    rotate: 90deg
}

.c-button._small {
    font-size: .875rem
}

@media print,
screen and (min-width: 768px) {
    .c-button._small {
        min-height: 44px
    }
}

.c-button[target=_blank] {
    padding-left: 32px;
    padding-right: 32px
}

@media print,
screen and (min-width: 768px) {
    .c-button[target=_blank] {
        padding-left: 40px;
        padding-right: 40px
    }
}

.c-button[target=_blank]:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    width: 14px;
    height: 14px
}

@media (any-hover: hover) {
    .c-button:hover:after {
        animation: arrow .5s
    }
}

.c-button__body {
    position: relative;
    text-align: center;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg
}

.c-button__body:has(>wbr) {
    word-break: keep-all;
    overflow-wrap: break-word
}

.c-button__blue {
    --button-bg-color: var(--primary);
    --button-bd-color: var(--primary);
    --button-text-color: var(--white)
}

@media (any-hover: hover) {
    .c-button__blue .c-button__hover {
        --button-bg-color: var(--white);
        --button-bd-color: var(--primary);
        --button-text-color: var(--primary)
    }
}

.c-button-secondary {
    --button-bg-color: var(--white);
    --button-bd-color: #dce7ed;
    --button-text-color: var(--text);
    --button-icon-color: var(--primary);
    display: flex;
    align-items: center;
    position: relative;
    color: var(--button-text-color);
    background-color: var(--button-bg-color);
    text-decoration: none;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    font-size: .875rem;
    line-height: 1.75;
    border-radius: 10px;
    border: 2px solid var(--button-bd-color);
    padding: 10px 30px 10px 14px;
    transition: background-color .2s, border .2s, color .2s
}

@media print,
screen and (min-width: 768px) {
    .c-button-secondary {
        font-size: 1rem;
        line-height: 1.5;
        padding: 13px 40px 13px 14px
    }
}

.c-button-secondary:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--button-icon-color);
    position: absolute;
    top: 50%;
    right: 6px;
    translate: 0 -50%;
    transition: background-color .2s
}

@media print,
screen and (min-width: 768px) {
    .c-button-secondary:after {
        right: 14px
    }
}

.c-button-secondary[target=_blank]:after {
    -webkit-mask-image: url(/common/2025/img/icon_external_circle.svg);
    mask-image: url(/common/2025/img/icon_external_circle.svg)
}

@media (any-hover: hover) {
    .c-button-secondary:hover {
        --button-bg-color: var(--primary);
        --button-bd-color: var(--primary);
        --button-text-color: var(--white);
        --button-icon-color: var(--white)
    }
}

.c-button-tertiary {
    --button-tertiary-bg-color: var(--primary);
    --button-tertiary-bd-color: var(--primary);
    --button-tertiary-text-color: var(--white);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid var(--button-tertiary-bd-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    vertical-align: middle;
    width: 100%;
    min-width: 103px;
    min-height: 44px;
    padding: 10px 15px;
    border-radius: 50px;
    background-color: var(--button-tertiary-bg-color);
    color: var(--button-tertiary-text-color);
    text-decoration: none;
    font-size: .75rem;
    line-height: 2.0416666667;
    font-weight: var(--normal);
    position: relative;
    box-sizing: border-box;
    transition: border .2s, color .2s, background-color .2s
}

.c-button-tertiary._fit-width {
    width: fit-content
}

.c-button-tertiary:after {
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: var(--button-tertiary-text-color);
    flex-shrink: 0
}

.c-button-tertiary._primary {
    --button-tertiary-bg-color: var(--primary);
    --button-tertiary-bd-color: var(--primary);
    --button-tertiary-text-color: var(--white)
}

@media (any-hover: hover) {
    .c-button-tertiary._primary:hover {
        --button-tertiary-bg-color: var(--white);
        --button-tertiary-bd-color: var(--primary);
        --button-tertiary-text-color: var(--primary)
    }
}

.c-button-tertiary[target=_blank]:after {
    content: "";
    position: static;
    flex-shrink: 0;
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    width: 9px;
    height: 9px
}

.c-button-tertiary__body {
    position: relative;
    text-align: center
}

.c-button-tertiary__body:has(>wbr) {
    word-break: keep-all;
    overflow-wrap: break-word
}

.c-link {
    text-decoration: underline
}

@media (any-hover: hover) {
    .c-link:hover {
        text-decoration: none
    }
}

.c-link[target=_blank]:after {
    content: "";
    display: inline-block;
    vertical-align: top;
    flex-shrink: 0;
    margin: 5px 0 0 4px;
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 14px;
    height: 14px;
    background-color: var(--primary)
}

@media print,
screen and (min-width: 768px) {
    .c-link[target=_blank]:after {
        margin: 7px 0 0 4px
    }
}

.c-link[href$=".pdf"]:after {
    content: "";
    margin: .2em 0 0 6px;
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: top;
    -webkit-mask-image: none;
    mask-image: none;
    background-image: url(/common/2025/img/icon_pdf.svg);
    background-color: transparent
}

@media print,
screen and (min-width: 768px) {
    .c-link[href$=".pdf"]:after {
        margin: .4em 0 0 6px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-link[href*="tel:"] {
        pointer-events: none;
        color: var(--text);
        text-decoration: none
    }
}

.c-link-arrow {
    display: flex;
    align-items: center;
    gap: 4px;
    width: fit-content;
    color: var(--primary);
    text-decoration: underline;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    font-size: .875rem;
    line-height: 1.4;
    padding: 4px 0
}

@media print,
screen and (min-width: 768px) {
    .c-link-arrow {
        font-size: 1rem;
        line-height: 1
    }
}

.c-link-arrow:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary);
    transition: translate .2s
}

.c-link-arrow[href$=".pdf"]:after {
    margin: 2px 0 0 4px;
    -webkit-mask-image: none;
    mask-image: none;
    background-color: transparent;
    background-image: url(/common/2025/img/icon_pdf.svg)
}

.c-link-arrow[target=_blank]:not([href$=".pdf"]):after {
    -webkit-mask-image: url(/common/2025/img/icon_external_circle.svg);
    mask-image: url(/common/2025/img/icon_external_circle.svg)
}

@media (any-hover: hover) {
    .c-link-arrow:hover {
        text-decoration: none
    }

    .c-link-arrow:hover:after {
        translate: 2px 0
    }
}

.c-link-arrow._align-right {
    margin: 0 0 0 auto
}

.c-heading-simple {
    --heading-simple-margin: 40px 0 32px;
    --heading-simple-size: 28px;
    --heading-simple-line-height: calc(36 / 28);
    --heading-simple-color: var(--text);
    margin: var(--heading-simple-margin);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: var(--heading-simple-size);
    line-height: var(--heading-simple-line-height);
    color: var(--heading-simple-color)
}

@media print,
screen and (min-width: 768px) {
    .c-heading-simple {
        --heading-simple-margin: 60px 0 32px;
        --heading-simple-size: 32px;
        --heading-simple-line-height: 1.5
    }
}

.c-heading-simple._primary {
    --heading-simple-color: var(--primary)
}

.c-heading-simple._huge {
    --heading-simple-margin: 40px 0 32px;
    --heading-simple-size: 28px;
    --heading-simple-line-height: calc(36 / 28)
}

@media print,
screen and (min-width: 768px) {
    .c-heading-simple._huge {
        --heading-simple-margin: 60px 0 32px;
        --heading-simple-size: 32px;
        --heading-simple-line-height: 1.5
    }
}

.c-heading-simple._large {
    --heading-simple-margin: 40px 0 32px;
    --heading-simple-size: 24px;
    --heading-simple-line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .c-heading-simple._large {
        --heading-simple-margin: 60px 0 32px;
        --heading-simple-size: 28px;
        --heading-simple-line-height: calc(36 / 28)
    }
}

.c-heading-simple._medium {
    --heading-simple-margin: 40px 0 24px;
    --heading-simple-size: 20px;
    --heading-simple-line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .c-heading-simple._medium {
        --heading-simple-margin: 60px 0 32px;
        --heading-simple-size: 24px;
        --heading-simple-line-height: 1.5
    }
}

.c-heading-simple._small {
    --heading-simple-margin: 40px 0 32px;
    --heading-simple-size: 16px;
    --heading-simple-line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .c-heading-simple._small {
        --heading-simple-margin: 60px 0 32px;
        --heading-simple-size: 20px;
        --heading-simple-line-height: 1.5
    }
}

.c-heading-simple._x-small {
    --heading-simple-margin: 16px 0 4px;
    --heading-simple-size: 16px;
    --heading-simple-line-height: 1.625
}

@media print,
screen and (min-width: 768px) {
    .c-heading-simple._x-small {
        --heading-simple-margin: 16px 0 4px;
        --heading-simple-size: 18px;
        --heading-simple-line-height: calc(26 / 18)
    }
}

:is(.c-heading-large, .p-article-body h2) {
    margin: 56px 0 28px;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1.5rem;
    line-height: 1.5;
    position: relative;
    padding: 0 0 12px
}

@media print,
screen and (min-width: 768px) {
    :is(.c-heading-large, .p-article-body h2) {
        margin: 80px 0 40px;
        padding: 0 0 20px;
        font-size: 1.75rem;
        line-height: 1.5
    }
}

:is(.c-heading-large, .p-article-body h2):before {
    content: "";
    width: 100%;
    height: 4px;
    background-color: var(--bd-gray);
    border-radius: 10px;
    position: absolute;
    bottom: 0;
    left: 0
}

@media print,
screen and (min-width: 768px) {
    :is(.c-heading-large, .p-article-body h2):before {
        height: 6px
    }
}

:is(.c-heading-large, .p-article-body h2):after {
    content: "";
    width: 80px;
    height: 4px;
    background-color: var(--primary);
    border-radius: 10px;
    position: absolute;
    bottom: 0;
    left: 0
}

@media print,
screen and (min-width: 768px) {
    :is(.c-heading-large, .p-article-body h2):after {
        width: 180px;
        height: 6px
    }
}

.c-heading-large__trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0 40px 0 0;
    border: 0;
    background-color: transparent;
    font-family: inherit;
    font-weight: inherit;
    color: var(--text);
    display: block;
    width: 100%;
    text-align: left;
    box-sizing: border-box
}

.c-heading-large__trigger:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.c-heading-large__trigger:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_toggle_plus.svg);
    mask-image: url(/common/2025/img/icon_toggle_plus.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 24px;
    height: 24px;
    background-color: var(--primary);
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 calc(-50% - 5px);
    transition: rotate .2s, mask-image .2s
}

.c-heading-large__trigger[aria-expanded=true]:after {
    -webkit-mask-image: url(/common/2025/img/icon_toggle_minus.svg);
    mask-image: url(/common/2025/img/icon_toggle_minus.svg);
    rotate: 180deg
}

:is(.c-heading-medium, .p-article-body h3) {
    margin: 40px 0 20px;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1.25rem;
    line-height: 1.5;
    position: relative;
    padding: 2px 0 2px 14px
}

@media print,
screen and (min-width: 768px) {
    :is(.c-heading-medium, .p-article-body h3) {
        margin: 56px 0 24px;
        padding: 0 0 0 32px;
        font-size: 1.5rem;
        line-height: 1.5
    }
}

:is(.c-heading-medium, .p-article-body h3):before {
    content: "";
    width: 4px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background-color: var(--primary);
    border-radius: 10px
}

@media print,
screen and (min-width: 768px) {
    :is(.c-heading-medium, .p-article-body h3):before {
        width: 6px
    }
}

.c-heading-small {
    margin: 56px 0 28px;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1.25rem;
    line-height: 1.2;
    color: var(--primary)
}

@media print,
screen and (min-width: 768px) {
    .c-heading-small {
        margin: 40px 0;
        font-size: 1.5rem;
        line-height: 1.75
    }
}

.c-heading-emphasis {
    margin: 24px 0 16px;
    background-color: var(--red);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-size: .875rem;
    line-height: 1.5714285714;
    font-weight: var(--bold);
    border-radius: 40px;
    padding: 2px 10px;
    gap: 8px
}

@media print,
screen and (min-width: 768px) {
    .c-heading-emphasis {
        margin: 40px 0 24px;
        font-size: 1.25rem;
        line-height: 1.55;
        padding: 6.5px 10px
    }
}

.c-heading-emphasis svg {
    width: 13px;
    aspect-ratio: 1/1
}

@media print,
screen and (min-width: 768px) {
    .c-heading-emphasis svg {
        width: 20px
    }
}

.c-heading-emphasis._primary {
    background-color: var(--primary)
}

.c-heading-group {
    --heading-group-color: var(--primary);
    display: grid;
    text-align: center;
    color: var(--heading-group-color);
    gap: 2px;
    margin: 40px 0 32px
}

@media print,
screen and (min-width: 768px) {
    .c-heading-group {
        margin: 80px 0 40px
    }
}

.c-heading-group._white {
    --heading-group-color: var(--white)
}

.c-heading-group__en {
    font-family: var(--font-fredoka);
    text-transform: uppercase;
    font-weight: var(--bold);
    font-size: 2.1875rem;
    letter-spacing: .04em;
    line-height: 1
}

@media print,
screen and (min-width: 768px) {
    .c-heading-group__en {
        font-size: 3rem
    }
}

.c-heading-group__ja {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-size: .8125rem;
    font-weight: var(--extra-bold);
    line-height: 1
}

@media print,
screen and (min-width: 768px) {
    .c-heading-group__ja {
        font-size: 1.25rem
    }
}

.c-heading-dashed {
    --heading-dashed-color: var(--primary);
    display: flex;
    align-items: center;
    gap: 18px;
    color: var(--heading-dashed-color);
    font-size: 1.25rem;
    line-height: 1.2;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    letter-spacing: -.04em;
    margin: 40px 0 24px
}

@media print,
screen and (min-width: 768px) {
    .c-heading-dashed {
        gap: 40px;
        margin: 40px 0 32px
    }
}

.c-heading-dashed._red {
    --heading-dashed-color: var(--red)
}

.c-heading-dashed>span {
    flex-shrink: 0
}

.c-heading-dashed:before,
.c-heading-dashed:after {
    content: "";
    height: 2px;
    border-top: 4px dotted var(--heading-dashed-color);
    width: 100%
}

.c-heading-parts {
    background-color: #f0f5f7;
    margin: 80px 0 24px;
    font-weight: var(--bold);
    font-size: 1.125rem;
    line-height: 1.6;
    padding: 10px 20px;
    border-radius: 10px
}

.c-table {
    width: 100%;
    border: 1px solid var(--bd-gray);
    margin: 24px 0
}

@media print,
screen and (min-width: 768px) {
    .c-table {
        margin: 40px 0
    }
}

.c-table th,
.c-table td {
    padding: 12px 16px;
    border: 1px solid var(--bd-gray);
    text-align: left;
    vertical-align: middle
}

.c-table th {
    background-color: #f0f5f7;
    font-weight: var(--semi-bold);
    font-size: 1rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .c-table th {
        font-size: 1.125rem;
        padding: 18px 16px
    }
}

@media print,
screen and (min-width: 768px) {
    .c-table td {
        padding: 18px 24px
    }
}

.c-table td>*:first-child {
    margin-top: 0
}

.c-table td>*:last-child {
    margin-bottom: 0
}

.c-table td._fit-content {
    width: 0;
    white-space: nowrap
}

@media screen and (max-width: 767px) {
    .c-table._stacked {
        display: block;
        border-bottom: 0
    }

    .c-table._stacked :is(thead, tbody, tr, th, td) {
        display: block;
        border: 0
    }

    .c-table._stacked :is(th, td) {
        border-bottom: 1px solid var(--bd-gray)
    }
}

.c-table-information-wrapper {
    background-color: var(--light-primary);
    padding: 24px 20px;
    border-radius: 10px
}

@media print,
screen and (min-width: 768px) {
    .c-table-information-wrapper {
        padding: 24px 40px
    }
}

.c-table-information {
    width: 100%;
    margin: 0;
    font-size: .875rem;
    line-height: 1.7142857143
}

@media screen and (max-width: 767px) {
    .c-table-information {
        display: block
    }

    .c-table-information :is(thead, tbody, tr, th, td) {
        display: block;
        padding: 0
    }
}

.c-table-information th {
    text-align: left;
    vertical-align: top;
    font-weight: var(--bold)
}

@media print,
screen and (min-width: 768px) {
    .c-table-information th {
        padding: 10px 0
    }
}

.c-table-information td {
    margin: 16px 0 0;
    vertical-align: top
}

@media print,
screen and (min-width: 768px) {
    .c-table-information td {
        padding: 10px 0
    }
}

.c-table-information tr+tr {
    border-top: 1px solid var(--bd-gray);
    padding: 16px 0 0;
    margin: 16px 0 0
}

@media print,
screen and (min-width: 768px) {
    .c-table-information tr+tr {
        margin: 0;
        padding: 0
    }
}

.c-list {
    list-style: none;
    margin: 1em 0;
    padding: 0
}

.c-list li {
    position: relative;
    padding: 0 0 0 1em
}

.c-list li:before {
    content: "";
    width: 5px;
    height: 5px;
    background-color: var(--primary);
    border-radius: 50%;
    position: absolute;
    left: 2px;
    top: .6em
}

@media print,
screen and (min-width: 768px) {
    .c-list li:before {
        top: .7em
    }
}

.c-list li+li {
    margin-top: .8em
}

.c-list-news {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 24px
}

.c-list-news:has(.c-list-news__item._compact) {
    gap: 16px
}

@media print,
screen and (min-width: 768px) {
    .c-list-news:has(.c-list-news__item._compact) {
        gap: 20px
    }
}

.c-list-news__item {
    margin: 0;
    padding: 0 0 24px;
    border-bottom: 1px dashed var(--list-news-bd-color, var(--bd-gray));
    position: relative
}

.c-list-news__item:before {
    display: none
}

.c-list-news__item:has(.c-list-news__img) {
    display: grid;
    grid-template-columns: 113px 1fr;
    grid-template-rows: auto 1fr auto;
    gap: 0 13px
}

@media print,
screen and (min-width: 768px) {
    .c-list-news__item:has(.c-list-news__img) {
        display: flex;
        gap: 40px
    }
}

.c-list-news__item._red {
    --list-news-bd-color: var(--red)
}

.c-list-news__item._compact {
    padding: 0 0 16px
}

@media print,
screen and (min-width: 768px) {
    .c-list-news__item._compact {
        padding: 0 0 20px
    }
}

.c-list-news__img {
    flex-shrink: 0;
    grid-column: 1/2;
    grid-row: 1/3
}

@media print,
screen and (min-width: 768px) {
    .c-list-news__img {
        width: 200px
    }
}

.c-list-news__img img {
    border-radius: 4px;
    aspect-ratio: 200/132;
    object-fit: contain;
    width: 100%
}

.c-list-news__text {
    display: contents
}

@media print,
screen and (min-width: 768px) {
    .c-list-news__text {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
        gap: 12px
    }
}

.c-list-news__head {
    display: flex;
    column-gap: 12px;
    align-items: center
}

.c-list-news__date {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    color: var(--primary);
    grid-column: 2/3;
    grid-row: 1/2;
    font-size: .8125rem;
    line-height: 1.9692307692
}

@media print,
screen and (min-width: 768px) {
    .c-list-news__date {
        font-size: .875rem;
        line-height: 1.2
    }
}

.c-list-news__group {
    font-size: .75rem;
    color: var(--white);
    background-color: var(--primary);
    border-radius: 50px;
    padding: 4px 8px;
    line-height: 1
}

.c-list-news__title {
    font-size: .875rem;
    line-height: 1.75;
    grid-column: 2/3;
    grid-row: 2/3
}

@media print,
screen and (min-width: 768px) {
    .c-list-news__title {
        font-size: 1rem;
        line-height: 1.6
    }
}

.c-list-news__title a {
    display: block;
    color: var(--text)
}

@media (any-hover: hover) {
    .c-list-news__title a:hover {
        text-decoration: none
    }
}

.c-list-news__title a:focus-visible {
    outline-offset: -2px
}

.c-list-news__title a[href$=".pdf"]:after {
    content: "";
    margin: 2px 0 0 4px;
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: top;
    -webkit-mask-image: none;
    mask-image: none;
    background-image: url(/common/2025/img/icon_pdf.svg);
    background-color: transparent
}

.c-list-news__title a[target=_blank]:not([href$=".pdf"]):after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 14px;
    height: 14px;
    background-color: var(--primary);
    background-image: none;
    display: inline-block;
    margin: 0 0 0 5px
}

.c-list-news__title a:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 24px;
    left: 0
}

.c-list-news__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: start;
    grid-column: 1/3;
    grid-row: 3/4;
    margin: 14px 0 0;
    justify-content: end
}

@media print,
screen and (min-width: 768px) {
    .c-list-news__buttons {
        margin: 0;
        justify-content: start
    }
}

.c-list-news__button {
    color: var(--primary);
    font-size: .875rem;
    line-height: 1.5;
    width: calc(50% - 4px);
    min-height: 38px;
    padding: 6px 10px;
    border: 1px solid var(--primary);
    text-decoration: none;
    border-radius: 40px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-list-news__button {
        width: auto;
        min-width: 168px
    }
}

.c-list-news__button[target=_blank]:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 10px;
    height: 10px;
    background-color: var(--primary);
    display: inline-block;
    margin: 0 0 0 5px
}

.c-list-news__button._youtube:before {
    content: "";
    display: inline-block;
    vertical-align: top;
    margin: 0 5px 0 0;
    width: 28px;
    height: 20px;
    background-image: url(/common/2025/img/icon_sns_youtube.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

.c-list-history {
    list-style: none;
    margin: 0;
    padding: 0
}

.c-list-history__row {
    padding: 24px 0;
    border-top: 1px solid var(--bd-gray)
}

.c-list-history__row:first-child {
    padding-top: 0;
    border-top: none
}

.c-list-history__row:last-child {
    padding-bottom: 0
}

.c-list-history__date {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .8125rem;
    color: var(--primary)
}

.c-list-history__event {
    font-size: .875rem
}

.c-list-history02 {
    list-style: none;
    margin: 0;
    padding: 0
}

@media print,
screen and (min-width: 768px) {
    .c-list-history02 {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: 16px
    }
}

.c-list-history02__row {
    padding: 16px 0;
    border-bottom: 1px dashed var(--bd-gray)
}

@media print,
screen and (min-width: 768px) {
    .c-list-history02__row {
        grid-column: span 2;
        display: grid;
        grid-template-columns: subgrid
    }
}

.c-list-history02__row:first-child {
    padding-top: 0
}

.c-list-history02__date {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .8125rem;
    color: var(--primary)
}

.c-list-history02__event {
    font-size: .875rem
}

@media print,
screen and (min-width: 768px) {
    .c-list-history02__event {
        margin: 0
    }
}

.c-list-definition-link {
    display: grid;
    row-gap: 40px;
    column-gap: 20px
}

@media print,
screen and (min-width: 768px) {
    .c-list-definition-link {
        grid-template-columns: repeat(2, 1fr)
    }
}

.c-list-definition-link__row {
    padding: 0 0 0 1em
}

.c-list-definition-link__title {
    position: relative
}

.c-list-definition-link__title:before {
    content: "";
    width: 5px;
    height: 5px;
    background-color: var(--primary);
    border-radius: 50%;
    position: absolute;
    left: -12px;
    top: .6em
}

@media print,
screen and (min-width: 768px) {
    .c-list-definition-link__title:before {
        top: .7em
    }
}

.c-list-definition-link__text {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.6
}

.c-list-definition-link__text:after {
    content: "";
    display: inline-block
}

.c-list-definition-link__text[target=_blank]:after {
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 14px;
    height: 14px;
    background-color: var(--primary)
}

.c-list-definition-link__text:not([href]):after {
    display: none
}

.c-list-definition-link__text[href] {
    color: var(--primary)
}

.c-list-definition-link__description {
    margin: 8px 0 0;
    font-size: 1rem;
    line-height: 1.6
}

.c-slider-brand__main {
    padding-bottom: 22px
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__main {
        padding-bottom: 56px
    }
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__main {
        padding-bottom: 98px
    }
}

.c-slider-brand__main:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    rotate: 5deg;
    background-color: var(--slider-brand-color);
    width: 46.9333333333vw;
    height: 33.6vw;
    border-radius: 5px;
    box-shadow: 0 0 20px #0000001a
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__main:before {
        width: 440px;
        height: 293px;
        border-radius: 10px
    }
}

.c-slider-brand__main-track {
    overflow: visible;
    transform: skewY(-10deg)
}

.c-slider-brand__main-item {
    padding-left: 0
}

.c-slider-brand__main-item:before {
    display: none
}

.c-slider-brand__link {
    color: currentColor;
    text-decoration: none
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__link {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        column-gap: 10px
    }
}

.c-slider-brand__image {
    width: 46.9333333333vw;
    height: 33.6vw;
    border-radius: 5px;
    overflow: hidden;
    margin-inline: auto;
    box-shadow: 0 0 20px #0000001a;
    transform: skewY(10deg)
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__image {
        width: 440px;
        height: 293px;
        border-radius: 10px;
        grid-column: 2;
        grid-row: 1
    }
}

.c-slider-brand__image>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.c-slider-brand__name {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    margin-top: 29px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    color: var(--primary);
    transform: skewY(10deg);
    opacity: 0
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__name {
        margin-top: 60px
    }
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__name {
        grid-column: 1;
        grid-row: 1;
        margin-left: clamp(0px, -70.9185441941px + 6.9324090121vw, 40px);
        flex-direction: column;
        row-gap: 13px;
        margin-top: -40%
    }
}

.c-slider-brand__main-item.is-active .c-slider-brand__name {
    opacity: 1;
    transition: .2s opacity
}

.c-slider-brand__main-item.is-pre-active .c-slider-brand__name {
    opacity: 0;
    transition: none
}

.c-slider-brand__name-en {
    display: flex;
    align-items: center;
    font-size: 1.125rem
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__name-en {
        font-size: 2rem
    }
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__name-en {
        font-size: clamp(1.625rem, .96014rem + 1.0398613518vw, 2rem)
    }
}

.c-slider-brand__name-en._uppercase {
    text-transform: uppercase
}

.c-slider-brand__name-link-icon {
    flex-shrink: 0;
    margin-right: 6px;
    width: 16px;
    aspect-ratio: 1;
    background-color: currentColor;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__name-link-icon {
        margin-right: 8px;
        width: 24px
    }
}

.c-slider-brand__name-link-icon:before {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow.svg);
    mask-image: url(/common/2025/img/icon_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 8px;
    height: 8px;
    background-color: var(--white)
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__name-link-icon:before {
        -webkit-mask-image: url(/common/2025/img/icon_arrow.svg);
        mask-image: url(/common/2025/img/icon_arrow.svg);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        width: 11px;
        height: 11px;
        background-color: var(--white)
    }
}

.c-slider-brand__name-ja {
    font-size: .875rem;
    margin-left: 8px
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__name-ja {
        font-size: 1.25rem
    }
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__name-ja {
        font-size: clamp(1.125rem, .46014rem + 1.0398613518vw, 1.5rem);
        margin-left: 0
    }
}

.c-slider-brand__text {
    display: flex;
    justify-content: center;
    margin-top: 15px;
    line-height: 1.5;
    transform: skewY(10deg);
    opacity: 0
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__text {
        margin-top: 19px
    }
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__text {
        grid-column: 3;
        grid-row: 1;
        margin-top: 40%;
        margin-left: clamp(55px, -42.5129982669px + 9.5320623917vw, 110px)
    }
}

.c-slider-brand__main-item.is-active .c-slider-brand__text {
    opacity: 1;
    transition: .2s opacity
}

.c-slider-brand__main-item.is-pre-active .c-slider-brand__text {
    opacity: 0;
    transition: none
}

.c-slider-brand__sub {
    background-color: #fff
}

.c-slider-brand__sub:before {
    content: "";
    position: absolute;
    top: -6px;
    left: 50%;
    width: 1px;
    height: 17px;
    border-radius: 1px;
    background-color: #707070;
    z-index: 1
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__sub:before {
        top: -14px;
        width: 2px;
        height: 38px
    }
}

.c-slider-brand__sub-track:before,
.c-slider-brand__sub-track:after {
    content: "";
    display: block;
    height: 5px;
    background-image: linear-gradient(var(--gradient-angle), #ffffff 0, rgba(128, 128, 128, .38) 5px)
}

@media print,
screen and (min-width: 1024px) {

    .c-slider-brand__sub-track:before,
    .c-slider-brand__sub-track:after {
        height: 12px;
        background-image: linear-gradient(var(--gradient-angle), #ffffff 0, rgba(128, 128, 128, .38) 12px)
    }
}

.c-slider-brand__sub-track:before {
    --gradient-angle: to top
}

.c-slider-brand__sub-track:after {
    --gradient-angle: to bottom
}

.c-slider-brand__sub-item {
    padding: 10px;
    display: grid;
    place-items: center
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__sub-item {
        padding: 0
    }
}

.c-slider-brand__sub-item:before {
    display: none
}

.c-slider-brand__sub-item+.c-slider-brand__sub-item {
    border-left: 1px solid rgba(204, 204, 204, .69)
}

.c-slider-brand__sub-item>img {
    width: 80px
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__sub-item>img {
        width: 111px
    }
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-brand__sub-item>img {
        width: 131px
    }
}

.c-slider-brand__slider-control {
    display: grid;
    grid-template-columns: 36px 240px 36px;
    margin-top: 16px;
    align-items: center;
    justify-content: center;
    column-gap: 16px
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__slider-control {
        grid-template-columns: 54px 344px 54px;
        margin-top: 56px;
        column-gap: 36px
    }
}

.c-slider-brand__control-button-wrapper {
    grid-column: 1
}

.c-slider-brand__control-button {
    justify-self: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    position: relative;
    width: 36px;
    height: 36px;
    background-color: #fff;
    border: none;
    box-sizing: border-box;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__control-button {
        width: 54px;
        height: 54px
    }
}

.c-slider-brand__control-button .splide__toggle__play {
    text-indent: -100vw;
    translate: 1px 0;
    -webkit-mask-image: url(/common/2025/img/icon_play.svg);
    mask-image: url(/common/2025/img/icon_play.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 11px;
    height: 12px;
    background-color: var(--primary)
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__control-button .splide__toggle__play {
        width: 15px;
        height: 16px
    }
}

.c-slider-brand__control-button .splide__toggle__pause {
    text-indent: -100vw;
    -webkit-mask-image: url(/common/2025/img/icon_pause.svg);
    mask-image: url(/common/2025/img/icon_pause.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary)
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__control-button .splide__toggle__pause {
        width: 20px;
        height: 20px
    }
}

.c-slider-brand__progress-ring {
    rotate: -90deg;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

@media print,
screen and (min-width: 768px) {
    .c-slider-brand__progress-ring {
        width: 54px;
        height: 54px
    }
}

.c-slider-brand__link-button-wrapper {
    grid-column: 2
}

.c-slider-movie__list {
    list-style: none;
    margin: 0;
    padding: 0
}

.c-slider-movie__item {
    margin: 0;
    padding: 0;
    text-indent: 0
}

.c-slider-movie__item:before {
    display: none
}

.c-slider-movie__item iframe,
.c-slider-movie__item img {
    aspect-ratio: 654/1160;
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    border-radius: 10px
}

.c-slider-movie__item .splide__video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    aspect-ratio: 654/1160;
    width: 100%
}

.c-slider-movie__item .splide__video__play {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    padding: 0;
    width: 70px;
    aspect-ratio: 70/94;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background-color: transparent;
    background-image: url(/common/2025/img/icon_youtube_short.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

@media print,
screen and (min-width: 768px) {
    .c-slider-movie__item .splide__video__play {
        width: min(4.375vw, 70px)
    }
}

.c-slider-movie__title {
    margin: 8px 0 0;
    font-size: .75rem;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

@media print,
screen and (min-width: 768px) {
    .c-slider-movie__title {
        font-size: .875rem;
        line-height: 1.5
    }
}

.c-slider-card {
    position: relative;
    margin-left: calc(var(--sm-side-margin) * -1);
    margin-right: calc(var(--sm-side-margin) * -1)
}

@media print,
screen and (min-width: 768px) {
    .c-slider-card {
        margin-left: 0;
        margin-right: 0
    }
}

.c-slider-card:not(.is-initialized) {
    visibility: visible
}

@media screen and (max-width:767px) {
    .c-slider-card.c-slider-card--brand {
        display: flex;
        margin-left: 0;
        padding: 0 var(--sm-side-margin) 20px 0;
        overflow-x: auto
    }
}

@media screen and (max-width:767px) {
    .c-slider-card--brand .c-slider-card__track {
        overflow: visible
    }
}

.c-slider-card:not(.is-initialized) .c-slider-card__list {
    display: flex;
    justify-content: center;
    gap: 24px;
    padding-left: 46.64px !important;
    padding-right: 46.64px !important;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-slider-card:not(.is-initialized) .c-slider-card__list {
        grid-template-columns: repeat(3, 1fr);
        gap: 36px;
        padding-left: 0 !important;
        padding-right: 0 !important
    }
}

@media screen and (max-width:767px) {

    .c-slider-card--brand:not(.is-initialized) .c-slider-card__list,
    .c-slider-card--brand.is-initialized:not(.is-active) .c-slider-card__list {
        display: grid;
        justify-content: start;
        padding-left: 0 !important;
        padding-right: 0 !important;
        gap: 16px;
        grid-template-rows: repeat(2, auto);
        grid-auto-flow: column
    }
}

.c-slider-card__item {
    margin: 0;
    padding: 0;
    text-indent: 0
}

.c-slider-card:not(.is-initialized) .c-slider-card__item {
    flex-shrink: 1
}

@media print,
screen and (min-width: 768px) {
    .c-slider-card:not(.is-initialized) .c-slider-card__item {
        width: calc((100% - 36px) / 2.0001)
    }
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-card:not(.is-initialized) .c-slider-card__item {
        width: calc((100% - 72px) / 3.0001)
    }
}

@media screen and (max-width:767px) {
    .c-slider-card--brand .c-slider-card__item {
        width: 144px
    }
}

.c-slider-card__item:before {
    display: none
}

.c-slider-card__arrow {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    position: absolute;
    top: 16.8vw;
    z-index: 1;
    background-color: var(--white);
    font-size: .0625rem;
    text-indent: -9999px;
    width: 32px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-slider-card__arrow {
        top: 30%
    }
}

.c-slider-card:not(.is-initialized) .c-slider-card__arrow {
    display: none
}

@media screen and (max-width:767px) {
    .c-slider-card--brand .c-slider-card__arrow {
        display: none
    }
}

.c-slider-card__arrow:before {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow.svg);
    mask-image: url(/common/2025/img/icon_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary)
}

.c-slider-card__arrow._primary {
    background-color: var(--primary);
    border: 1px solid var(--white)
}

.c-slider-card__arrow._primary:before {
    background-color: var(--white)
}

.c-slider-card__arrow._prev {
    left: 38px
}

@media print,
screen and (min-width: 768px) {
    .c-slider-card__arrow._prev {
        left: -16px
    }
}

.c-slider-card__arrow._prev:before {
    rotate: 180deg
}

.c-slider-card__arrow._next {
    right: 38px
}

@media print,
screen and (min-width: 768px) {
    .c-slider-card__arrow._next {
        right: -16px
    }
}

.c-slider-card__pagination {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin: 25px 0 0;
    padding: 0
}

@media print,
screen and (min-width: 768px) {
    .c-slider-card__pagination {
        margin: 40px 0 0
    }
}

.c-slider-card__pagination:before {
    display: none
}

.c-slider-card:not(.is-initialized) .c-slider-card__pagination {
    display: none
}

.c-slider-card__pagination>li {
    margin: 0;
    padding: 0;
    text-indent: 0
}

.c-slider-card__pagination>li:before {
    display: none
}

.c-slider-card__pagination .splide__pagination__page {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    background-color: transparent;
    width: 8px;
    border: 1px solid var(--white);
    border-radius: 50%;
    aspect-ratio: 1/1;
    opacity: .5;
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
    display: block
}

@media print,
screen and (min-width: 768px) {
    .c-slider-card__pagination .splide__pagination__page {
        width: 10px
    }
}

.c-slider-card__pagination .splide__pagination__page:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 24px;
    height: 24px
}

.c-slider-card__pagination .splide__pagination__page.is-active {
    background-color: var(--white);
    opacity: 1
}

.c-slider-card__pagination._primary .splide__pagination__page {
    background-color: var(--bd-light-gray);
    border: 0;
    opacity: 1
}

.c-slider-card__pagination._primary .splide__pagination__page.is-active {
    background-color: var(--primary)
}

.c-slider-release {
    position: relative;
    margin-left: calc(var(--sm-side-margin) * -1);
    margin-right: calc(var(--sm-side-margin) * -1)
}

@media print,
screen and (min-width: 768px) {
    .c-slider-release {
        margin-left: 0;
        margin-right: 0
    }
}

.c-slider-release:not(.is-initialized) {
    visibility: visible
}

.c-slider-release:not(.is-initialized) .c-slider-release__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
    padding-left: 46.64px !important;
    padding-right: 46.64px !important;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-slider-release:not(.is-initialized) .c-slider-release__list {
        grid-template-columns: repeat(3, 1fr);
        gap: 36px;
        padding-left: 0 !important;
        padding-right: 0 !important
    }
}

.c-slider-release__item {
    margin: 0;
    padding: 0;
    text-indent: 0
}

.c-slider-release__item:before {
    display: none
}

.c-slider-release__arrow {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    position: absolute;
    top: clamp(115.5px, -72px + 50vw, 311.5px);
    z-index: 1;
    background-color: var(--primary);
    font-size: .0625rem;
    text-indent: -9999px;
    width: 32px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    translate: 0 -50%
}

@media print,
screen and (min-width: 768px) {
    .c-slider-release__arrow {
        top: clamp(130px, -59.7411764706px + 24.7058823529vw, 193px)
    }
}

@media print,
screen and (min-width: 1024px) {
    .c-slider-release__arrow {
        top: clamp(107px, -65px + 16.796875vw, 150px)
    }
}

.c-slider-release:not(.is-initialized) .c-slider-release__arrow {
    display: none
}

.c-slider-release__arrow:before {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow.svg);
    mask-image: url(/common/2025/img/icon_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--white)
}

.c-slider-release__arrow._prev {
    left: 38px
}

@media print,
screen and (min-width: 768px) {
    .c-slider-release__arrow._prev {
        left: -16px
    }
}

.c-slider-release__arrow._prev:before {
    rotate: 180deg
}

.c-slider-release__arrow._next {
    right: 38px
}

@media print,
screen and (min-width: 768px) {
    .c-slider-release__arrow._next {
        right: -16px
    }
}

.c-slider-release__pagination {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin: 25px 0 0;
    padding: 0
}

@media print,
screen and (min-width: 768px) {
    .c-slider-release__pagination {
        margin: 40px 0 0
    }
}

.c-slider-release__pagination:before {
    display: none
}

.c-slider-release:not(.is-initialized) .c-slider-release__pagination {
    display: none
}

.c-slider-release__pagination>li {
    margin: 0;
    padding: 0;
    text-indent: 0
}

.c-slider-release__pagination>li:before {
    display: none
}

.c-slider-release__pagination .splide__pagination__page {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    background-color: transparent;
    width: 8px;
    border: 1px solid var(--primary);
    border-radius: 50%;
    aspect-ratio: 1/1;
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
    display: block
}

@media print,
screen and (min-width: 768px) {
    .c-slider-release__pagination .splide__pagination__page {
        width: 10px
    }
}

.c-slider-release__pagination .splide__pagination__page:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 24px;
    height: 24px
}

.c-slider-release__pagination .splide__pagination__page.is-active {
    background-color: var(--primary);
    opacity: 1
}

.c-card-event {
    --card-event-color: var(--primary);
    --card-event-color-inversion: var(--white);
    display: grid;
    color: var(--card-event-color);
    text-decoration: none
}

.c-card-event._white {
    --card-event-color: var(--white);
    --card-event-color-inversion: var(--primary)
}

.c-card-event._border {
    padding: 4px
}

.c-card-event__img {
    overflow: hidden;
    border-radius: 10px
}

.c-card-event__img img {
    width: 100%;
    aspect-ratio: 264/149;
    object-fit: cover;
    box-sizing: border-box;
    transition: scale .2s ease-out
}

@media (any-hover: hover) {
    .c-card-event:hover .c-card-event__img img {
        scale: 1.05
    }
}

.c-card-event._border .c-card-event__img {
    border: 6px solid var(--primary)
}

.c-card-event__img._height-small img {
    aspect-ratio: 1200/628
}

.c-card-event__text {
    margin: 10px 0 0
}

.c-card-event__title {
    margin: 0;
    font-size: .875rem;
    line-height: 1.75;
    font-weight: var(--semi-bold);
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

@media print,
screen and (min-width: 768px) {
    .c-card-event__title {
        font-size: 1rem;
        line-height: 1.53125;
        letter-spacing: .03em
    }
}

.c-card-event__tag {
    font-size: .75rem;
    line-height: 1;
    font-weight: var(--semi-bold);
    height: 20px;
    padding: 0 8px;
    margin: 3px 5px 0 0;
    vertical-align: top;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background-color: var(--card-event-color);
    color: var(--card-event-color-inversion)
}

.c-card-support {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 8px;
    justify-items: center;
    color: var(--text);
    text-decoration: none;
    padding: 0 0 10px;
    position: relative;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--bold);
    text-align: center;
    font-size: .75rem;
    line-height: 1.25
}

@media print,
screen and (min-width: 768px) {
    .c-card-support {
        padding: 0 0 19px;
        gap: 28px;
        font-size: 1.125rem;
        line-height: 1.5
    }
}

.c-card-support:before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--bg-gray);
    border-radius: 10px;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    transition: box-shadow .2s
}

@media print,
screen and (min-width: 768px) {
    .c-card-support:before {
        top: 18px
    }
}

@media (any-hover: hover) {
    .c-card-support:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-support__icon {
    padding: 0 20px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-card-support__icon {
        padding: 0
    }
}

.c-card-support__icon img {
    width: min(100%, 60px);
    aspect-ratio: 1/1;
    object-fit: contain
}

@media print,
screen and (min-width: 768px) {
    .c-card-support__icon img {
        height: 80px;
        aspect-ratio: auto;
        width: auto
    }
}

.c-card-support__title {
    display: grid;
    align-items: center;
    position: relative
}

.c-card-search-genre {
    display: block;
    color: var(--text);
    text-decoration: none
}

.c-card-search-genre__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background-color: var(--white);
    box-shadow: var(--card-bd-shadow);
    min-height: 72px;
    box-sizing: border-box;
    position: relative;
    transition: box-shadow .2s
}

@media print,
screen and (min-width: 768px) {
    .c-card-search-genre__icon {
        min-height: 117px
    }
}

@media (any-hover: hover) {
    .c-card-search-genre:hover .c-card-search-genre__icon {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-search-genre__icon img {
    width: min(18.1333333333vw, 112px);
    aspect-ratio: 1/1
}

@media print,
screen and (min-width: 768px) {
    .c-card-search-genre__icon img {
        width: 112px
    }
}

.c-card-search-genre__icon._full {
    padding: 2px;
    min-height: initial
}

.c-card-search-genre__icon._full img {
    width: 100%;
    border-radius: 9px;
    aspect-ratio: initial
}

.c-card-search-genre__title {
    display: block;
    margin: 8px 0 0;
    text-align: center;
    font-size: .8125rem;
    line-height: 1.5076923077
}

@media print,
screen and (min-width: 768px) {
    .c-card-search-genre__title {
        font-size: 1rem;
        line-height: 1.34
    }
}

.c-card-search-age {
    color: var(--primary);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px var(--card-search-age-color), inset 0 -3px 0 1px #0000001a;
    border-radius: 10px;
    background-color: var(--card-search-age-color, white);
    min-height: 72px;
    padding: 8px;
    box-sizing: border-box;
    position: relative;
    transition: box-shadow .2s
}

@media print,
screen and (min-width: 768px) {
    .c-card-search-age {
        min-height: 117px;
        gap: 5px
    }
}

@media (any-hover: hover) {
    .c-card-search-age:hover {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-search-age._type-a {
    --card-search-age-title-size: 16px;
    --card-search-age-title-line-height: 1.3125;
    --card-search-age-title-letter-spacing: 0
}

@media print,
screen and (min-width: 768px) {
    .c-card-search-age._type-a {
        --card-search-age-title-size: 24px;
        --card-search-age-title-line-height: calc(32.16 / 24);
        --card-search-age-title-letter-spacing: 0
    }
}

.c-card-search-age._type-b {
    --card-search-age-title-size: 30px;
    --card-search-age-title-line-height: 1;
    --card-search-age-title-letter-spacing: 0;
    --card-search-age-unit-size: 12px;
    --card-search-age-unit-line-height: 1.25;
    --card-search-age-unit-letter-spacing: 0
}

@media print,
screen and (min-width: 768px) {
    .c-card-search-age._type-b {
        --card-search-age-title-size: 36px;
        --card-search-age-title-line-height: 1;
        --card-search-age-title-letter-spacing: 0;
        --card-search-age-unit-size: 16px;
        --card-search-age-unit-line-height: 1;
        --card-search-age-unit-letter-spacing: 0
    }
}

.c-card-search-age._type-c {
    --card-search-age-title-size: 21px;
    --card-search-age-title-line-height: 1;
    --card-search-age-title-letter-spacing: 0
}

@media print,
screen and (min-width: 768px) {
    .c-card-search-age._type-c {
        --card-search-age-title-size: 28px;
        --card-search-age-title-line-height: calc(36 / 28);
        --card-search-age-title-letter-spacing: 0
    }
}

.c-card-search-age__title {
    display: block;
    margin: 0;
    text-align: center;
    font-size: var(--card-search-age-title-size);
    line-height: var(--card-search-age-title-line-height);
    letter-spacing: var(--card-search-age-title-letter-spacing)
}

.c-card-search-age__unit {
    display: block;
    margin: 0;
    text-align: center;
    font-size: var(--card-search-age-unit-size);
    line-height: var(--card-search-age-unit-line-height);
    letter-spacing: var(--card-search-age-unit-letter-spacing)
}

.c-card-notice {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 8px;
    justify-items: center;
    color: var(--text);
    text-decoration: none;
    padding: 0 0 12px;
    position: relative;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    text-align: center;
    font-weight: var(--medium);
    font-size: .875rem;
    line-height: 1.4
}

@media print,
screen and (min-width: 768px) {
    .c-card-notice {
        padding: 0 0 15px;
        gap: 8px;
        font-size: 1.125rem;
        line-height: 1.3333333333
    }
}

.c-card-notice:before {
    content: "";
    position: absolute;
    top: 10px;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom-width: 4px;
    border-radius: 10px;
    box-shadow: var(--card-bd-shadow);
    transition: box-shadow .2s
}

@media print,
screen and (min-width: 768px) {
    .c-card-notice:before {
        top: 18px;
        gap: 8px;
        padding: 0 0 16px
    }
}

@media (any-hover: hover) {
    .c-card-notice:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-notice__icon {
    padding: 0 20px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-card-notice__icon {
        padding: 0
    }
}

.c-card-notice__icon img {
    width: min(100%, 60px);
    aspect-ratio: 1/1;
    object-fit: contain
}

@media print,
screen and (min-width: 768px) {
    .c-card-notice__icon img {
        height: 110px;
        aspect-ratio: auto;
        width: auto
    }
}

.c-card-notice__title {
    display: grid;
    align-items: center;
    position: relative;
    min-height: 2em
}

.c-card-link-company {
    display: block;
    text-decoration: none;
    color: var(--text);
    position: relative;
    padding: 0 10px 14px
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-company {
        padding: 0 14px 26px
    }
}

.c-card-link-company:before {
    content: "";
    position: absolute;
    top: 25px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--white);
    box-shadow: 0 3px 6px #00000029;
    border-radius: 10px;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-company:before {
        top: 33px
    }
}

.c-card-link-company:after {
    content: "";
    position: absolute;
    bottom: 8px;
    right: 8px;
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary)
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-company:after {
        width: 19px;
        height: 19px
    }
}

.c-card-link-company__img {
    position: relative;
    border-radius: 10px;
    overflow: hidden
}

.c-card-link-company__img img {
    width: 100%;
    transition: scale .2s ease-out
}

@media (any-hover: hover) {
    .c-card-link-company:hover .c-card-link-company__img img {
        scale: 1.05
    }
}

.c-card-link-company__text {
    margin: 8px 0 0
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-company__text {
        margin: 10px 0 0
    }
}

.c-card-link-company__title {
    position: relative;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.25;
    margin: 0
}

.c-card-link {
    display: grid;
    grid-template-rows: auto 1fr;
    color: var(--text);
    text-decoration: none;
    border-radius: 10px;
    background-color: var(--white);
    box-sizing: border-box;
    position: relative
}

.c-card-link:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    z-index: 1;
    transition: box-shadow .2s
}

.c-card-link:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 24px;
    height: 24px;
    background-color: var(--primary);
    position: absolute;
    bottom: 14px;
    right: 14px
}

@media print,
screen and (min-width: 768px) {
    .c-card-link:after {
        bottom: 20px;
        right: 20px
    }
}

.c-card-link[target=_blank]:after {
    -webkit-mask-image: url(/common/2025/img/icon_external_circle.svg);
    mask-image: url(/common/2025/img/icon_external_circle.svg)
}

.c-card-link:not([href]):after {
    background-color: var(--disabled)
}

@media (any-hover: hover) {
    .c-card-link[href]:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-link__img {
    margin: 1px 1px 0;
    overflow: hidden;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px
}

.c-card-link__img img {
    width: 100%;
    transition: scale .2s ease-out
}

@media (any-hover: hover) {
    .c-card-link[href]:hover .c-card-link__img img {
        scale: 1.05
    }
}

.c-card-link__text {
    padding: 20px 16px 46px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 768px) {
    .c-card-link__text {
        padding: 20px 16px 48px
    }
}

.c-card-link__text>*:first-child {
    margin-top: 0
}

.c-card-link__text>*:last-child {
    margin-bottom: 0
}

.c-card-link__title {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: .03em
}

@media print,
screen and (min-width: 768px) {
    .c-card-link__title {
        font-size: 1.125rem;
        line-height: 1.5
    }
}

.c-card-link__dl {
    margin: 0;
    display: grid;
    gap: 10px;
    font-size: .8125rem;
    line-height: 1.6153846154
}

@media print,
screen and (min-width: 768px) {
    .c-card-link__dl {
        font-size: .875rem;
        line-height: 1.7142857143
    }
}

.c-card-link__row {
    display: grid;
    gap: 3px
}

.c-card-link__dt {
    margin: 0;
    font-weight: var(--bold)
}

.c-card-link__dd {
    margin: 0
}

.c-card-link__description {
    margin: 0;
    font-size: .8125rem;
    line-height: 1.6153846154
}

@media print,
screen and (min-width: 768px) {
    .c-card-link__description {
        font-size: .875rem;
        line-height: 1.7142857143
    }
}

.c-card-link02 {
    display: grid;
    grid-template-rows: auto 1fr;
    color: var(--text);
    text-decoration: none;
    border-radius: 10px;
    background-color: var(--white);
    box-sizing: border-box
}

.c-card-link02:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    z-index: 1;
    transition: box-shadow .2s
}

@media (any-hover: hover) {
    .c-card-link02[href]:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-link02__img {
    margin: 1px 1px 0;
    overflow: hidden;
    border-top-left-radius: 9px;
    border-top-right-radius: 9px
}

.c-card-link02__img img {
    width: 100%;
    transition: scale .2s ease-out
}

@media (any-hover: hover) {
    .c-card-link02[href]:hover .c-card-link02__img img {
        scale: 1.05
    }
}

.c-card-link02__text {
    padding: 16px 16px 17px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 768px) {
    .c-card-link02__text {
        padding: 20px
    }
}

.c-card-link02__text>*:first-child {
    margin-top: 0
}

.c-card-link02__text>*:last-child {
    margin-bottom: 0
}

.c-card-link02__title {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: .03em
}

@media print,
screen and (min-width: 768px) {
    .c-card-link02__title {
        font-size: 1.125rem;
        line-height: 1.5
    }
}

.c-card-link02__dl {
    margin: 0;
    display: grid;
    gap: 10px;
    font-size: .8125rem;
    line-height: 1.6153846154
}

@media print,
screen and (min-width: 768px) {
    .c-card-link02__dl {
        font-size: .875rem;
        line-height: 1.7142857143
    }
}

.c-card-link02__row {
    display: grid;
    gap: 3px
}

.c-card-link02__dt {
    margin: 0;
    font-weight: var(--bold)
}

.c-card-link02__dd {
    margin: 0
}

.c-card-link02__description {
    margin: 0;
    font-size: .8125rem;
    line-height: 1.6153846154
}

@media print,
screen and (min-width: 768px) {
    .c-card-link02__description {
        font-size: .875rem;
        line-height: 1.7142857143
    }
}

.c-card-link02__label {
    margin: auto 0 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    column-gap: 8px;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.25
}

.c-card-link02__label:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 24px;
    height: 24px;
    background-color: var(--primary);
    bottom: 14px;
    right: 14px;
    flex-shrink: 0
}

@media print,
screen and (min-width: 768px) {
    .c-card-link02__label:after {
        bottom: 20px;
        right: 20px
    }
}

.c-card-link02[target=_blank] .c-card-link02__label:after {
    -webkit-mask-image: url(/common/2025/img/icon_external_circle.svg);
    mask-image: url(/common/2025/img/icon_external_circle.svg)
}

.c-card-link02:not([href]) .c-card-link02__label:after {
    background-color: var(--disabled)
}

.c-card-link03 {
    display: grid;
    grid-template-rows: auto 1fr;
    color: var(--text);
    text-decoration: none;
    border-radius: 10px;
    background-color: var(--white);
    box-sizing: border-box
}

.c-card-link03:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    z-index: 1;
    transition: box-shadow .2s
}

@media (any-hover: hover) {
    .c-card-link03[href]:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-link03__img {
    margin: 1px 1px 0;
    padding: 24px 16px 0;
    text-align: center
}

@media print,
screen and (min-width: 768px) {
    .c-card-link03__img {
        padding: 24px 16px 0
    }
}

.c-card-link03__text {
    padding: 16px 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    z-index: 1;
    width: min(100%, 344px);
    margin: 0 auto
}

.c-card-link03__text>*:first-child {
    margin-top: 0
}

.c-card-link03__text>*:last-child {
    margin-bottom: 0
}

.c-card-link03__title {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1.25rem;
    line-height: 1
}

@media print,
screen and (min-width: 768px) {
    .c-card-link03__title {
        font-size: 1.125rem;
        line-height: 1.5
    }
}

.c-card-link03__description {
    margin: 0 0 12px;
    font-size: 1rem;
    line-height: 1.5
}

.c-card-link03__button {
    margin: auto 0 0
}

@media (any-hover: hover) {
    .c-card-link03[href]:hover .c-card-link03__button {
        background-color: var(--white);
        color: var(--primary)
    }

    .c-card-link03[href]:hover .c-card-link03__button:after {
        background-color: var(--primary)
    }
}

.c-card-link04 {
    display: grid;
    grid-template-rows: auto 1fr;
    color: var(--text);
    text-decoration: none;
    border-radius: 10px;
    box-sizing: border-box;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-card-link04 {
        grid-template-columns: calc(50% - 18px) 1fr;
        grid-template-rows: auto;
        align-items: center
    }
}

.c-card-link04:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    transition: box-shadow .2s
}

.c-card-link04:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 24px;
    height: 24px;
    background-color: var(--primary);
    position: absolute;
    bottom: 16px;
    right: 16px
}

.c-card-link04[target=_blank]:after {
    -webkit-mask-image: url(/common/2025/img/icon_external_circle.svg);
    mask-image: url(/common/2025/img/icon_external_circle.svg)
}

.c-card-link04:not([href]):after {
    background-color: var(--disabled)
}

@media (any-hover: hover) {
    .c-card-link04[href]:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-link04__img {
    margin: 0;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-card-link04__img {
        border-radius: 10px 0 0 10px;
        align-self: stretch
    }
}

.c-card-link04__img img {
    width: 100%;
    transition: scale .2s ease-out
}

@media print,
screen and (min-width: 768px) {
    .c-card-link04__img img {
        height: 100%;
        object-fit: cover
    }
}

@media (any-hover: hover) {
    .c-card-link04[href]:hover .c-card-link04__img img {
        scale: 1.05
    }
}

.c-card-link04__text {
    padding: 16px 16px 46px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-card-link04__text {
        padding: 32px 56px 48px;
        gap: 16px
    }
}

.c-card-link04__text>*:first-child {
    margin-top: 0
}

.c-card-link04__text>*:last-child {
    margin-bottom: 0
}

.c-card-link04__title {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.25
}

@media print,
screen and (min-width: 768px) {
    .c-card-link04__title {
        font-size: 1.125rem;
        line-height: 1.5
    }
}

.c-card-link04__description {
    margin: 0;
    font-size: .875rem;
    line-height: 1.7142857143
}

.c-card-link-contents {
    display: grid;
    grid-template-rows: auto 1fr;
    color: var(--text);
    text-decoration: none;
    box-sizing: border-box
}

.c-card-link-contents__img {
    overflow: hidden;
    border-radius: 10px;
    position: relative
}

.c-card-link-contents__img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    z-index: 1;
    transition: box-shadow .2s
}

@media (any-hover: hover) {
    .c-card-link-contents:hover .c-card-link-contents__img:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-link-contents__img img {
    width: 100%;
    object-fit: cover;
    transition: scale .2s ease-out
}

@media (any-hover: hover) {
    .c-card-link-contents:hover .c-card-link-contents__img img {
        scale: 1.05
    }
}

.c-card-link-contents__text {
    margin: 8px 0 0;
    display: flex;
    flex-direction: column;
    gap: 14px
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-contents__text {
        margin: 14px 0 0
    }
}

.c-card-link-contents__text>*:first-child {
    margin-top: 0
}

.c-card-link-contents__text>*:last-child {
    margin-bottom: 0
}

.c-card-link-contents__title {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .875rem;
    line-height: 1.5;
    letter-spacing: .03em
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-contents__title {
        font-size: 1.125rem;
        line-height: 1.3333333333
    }
}

.c-card-link-contents__title:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 14px;
    height: 14px;
    background-color: var(--primary);
    display: inline-block;
    vertical-align: top;
    margin: 3px 0 0 4px
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-contents__title:after {
        width: 24px;
        height: 24px;
        margin: 0 0 0 4px
    }
}

.c-card-link-contents__title[target=_blank]:after {
    -webkit-mask-image: url(/common/2025/img/icon_external_circle.svg);
    mask-image: url(/common/2025/img/icon_external_circle.svg)
}

.c-card-link-member {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    padding: 0;
    width: 100%;
    height: 100%;
    text-align: left;
    display: grid;
    grid-template-rows: auto 1fr;
    color: var(--text);
    text-decoration: none;
    border-radius: 10px;
    background-color: var(--white);
    box-sizing: border-box;
    position: relative
}

.c-card-link-member:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    z-index: 1;
    transition: box-shadow .2s
}

.c-card-link-member:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_popup_circle.svg);
    mask-image: url(/common/2025/img/icon_popup_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 20px;
    height: 20px;
    background-color: var(--primary);
    position: absolute;
    right: 8px;
    bottom: 10px
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-member:after {
        bottom: 11px
    }
}

@media (any-hover: hover) {
    .c-card-link-member[href]:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-link-member._size-lg:after {
    right: 12px;
    bottom: 13px
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-member._size-lg:after {
        width: 23px;
        height: 23px;
        right: 14px;
        bottom: 15px
    }
}

.c-card-link-member__img {
    margin: 1px 1px 0;
    overflow: hidden;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px
}

.c-card-link-member__img img {
    width: 100%;
    transition: scale .2s ease-out
}

@media (any-hover: hover) {
    .c-card-link-member[href]:hover .c-card-link-member__img img {
        scale: 1.05
    }
}

.c-card-link-member__text {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    padding: 7px 16px 28px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-member__text {
        padding: 14px 16px 28px
    }
}

.c-card-link-member__text>*:first-child {
    margin-top: 0
}

.c-card-link-member__text>*:last-child {
    margin-bottom: 0
}

.c-card-link-member._size-lg .c-card-link-member__text {
    padding: 10px 16px 21px
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-member._size-lg .c-card-link-member__text {
        padding: 11px 18px 35px
    }
}

.c-card-link-member__post {
    font-weight: var(--medium);
    font-size: .75rem;
    line-height: 1.5
}

.c-card-link-member__name {
    font-weight: var(--bold)
}

.c-card-link-member__name-jp {
    font-size: 1rem;
    line-height: 1.25
}

.c-card-link-member__name-en {
    font-size: .8125rem;
    line-height: 1.5384615385
}

.c-card-link-profile {
    display: grid;
    grid-template-columns: 75px 1fr;
    color: var(--text);
    text-decoration: none;
    border-radius: 10px;
    background-color: var(--white);
    box-sizing: border-box;
    padding: 16px;
    column-gap: 16px
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-profile {
        grid-template-columns: 120px 1fr;
        padding: 20px;
        column-gap: 24px
    }
}

.c-card-link-profile:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    z-index: 1;
    transition: box-shadow .2s
}

@media (any-hover: hover) {
    .c-card-link-profile[href]:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-link-profile__img {
    overflow: hidden;
    border-radius: 10px;
    aspect-ratio: 1;
    border: 1px solid var(--bd-gray)
}

.c-card-link-profile__img img {
    width: 100%
}

.c-card-link-profile__text>*:first-child {
    margin-top: 0
}

.c-card-link-profile__text>*:last-child {
    margin-bottom: 0
}

.c-card-link-profile__name {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: .03em
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-profile__name {
        font-size: 1.25rem;
        line-height: 1.5
    }
}

.c-card-link-profile__name:after {
    content: "";
    display: inline-block;
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 14px;
    height: 14px;
    background-color: var(--primary)
}

.c-card-link-profile__name[target=_blank]:after {
    -webkit-mask-image: url(/common/2025/img/icon_external_circle.svg);
    mask-image: url(/common/2025/img/icon_external_circle.svg)
}

.c-card-link-profile:not([href]) .c-card-link-profile__name:after {
    display: none
}

.c-card-link-profile__description {
    font-size: .875rem;
    line-height: 1.75;
    margin: 4px 0 0
}

@media print,
screen and (min-width: 768px) {
    .c-card-link-profile__description {
        margin: 8px 0 0
    }
}

.c-card-member {
    display: flex;
    flex-direction: column;
    row-gap: 20px
}

.c-card-member__img {
    overflow: hidden;
    border-radius: 8px
}

.c-card-member__img img {
    width: 100%
}

.c-card-member__text {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg
}

.c-card-member__text>*:first-child {
    margin-top: 0
}

.c-card-member__text>*:last-child {
    margin-bottom: 0
}

.c-card-member__post {
    font-weight: var(--medium);
    font-size: .75rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .c-card-member__post {
        font-size: .875rem;
        line-height: 1.2857142857
    }
}

.c-card-member__name {
    font-weight: var(--extra-bold);
    margin-top: 4px
}

@media print,
screen and (min-width: 768px) {
    .c-card-member__name {
        margin-top: 10px
    }
}

.c-card-member__name-jp {
    font-size: 1rem;
    line-height: 1.25
}

@media print,
screen and (min-width: 768px) {
    .c-card-member__name-jp {
        font-size: 1.25rem;
        line-height: 1.1
    }
}

.c-card-member__name-en {
    font-size: .8125rem;
    line-height: 1.5384615385
}

@media print,
screen and (min-width: 768px) {
    .c-card-member__name-en {
        font-size: .875rem;
        line-height: 1.5714285714
    }
}

.c-card-member__birth-date {
    line-height: 1.7142857143;
    margin-top: 8px;
    font-size: .875rem
}

.c-card-product {
    display: block;
    color: var(--text);
    text-decoration: none
}

.c-card-product._align-center {
    text-align: center
}

.c-card-product__img {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background-color: var(--white);
    box-sizing: border-box;
    position: relative
}

.c-card-product__img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    z-index: 1;
    transition: box-shadow .2s
}

@media (any-hover: hover) {
    .c-card-product:hover .c-card-product__img:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-product__logo {
    width: 100%;
    aspect-ratio: 270/85;
    padding: 0 15px 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box
}

.c-card-product__logo img {
    aspect-ratio: 148/36;
    object-fit: contain
}

@media print,
screen and (min-width: 768px) {
    .c-card-product__logo img {
        aspect-ratio: 220/53
    }
}

.c-card-product__thumbnail {
    overflow: hidden;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px
}

.c-card-product__thumbnail img {
    width: 100%;
    aspect-ratio: 270/182;
    object-fit: cover;
    transition: scale .2s ease-out
}

@media (any-hover: hover) {
    .c-card-product:hover .c-card-product__thumbnail {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

@media (any-hover: hover) {
    .c-card-product:hover .c-card-product__thumbnail img {
        scale: 1.05
    }
}

.c-card-product__img:not(:has(.c-card-product__logo)) .c-card-product__thumbnail {
    height: 100%;
    border-radius: 10px
}

.c-card-product__img:not(:has(.c-card-product__logo)) .c-card-product__thumbnail img {
    aspect-ratio: 270/267
}

.c-card-product__text {
    margin: 7px 0 0;
    display: grid;
    gap: 4px
}

@media print,
screen and (min-width: 768px) {
    .c-card-product__text {
        margin: 12px 0 0
    }
}

.c-card-product__title {
    margin: 0;
    font-size: .8125rem;
    line-height: 1.5076923077
}

@media print,
screen and (min-width: 768px) {
    .c-card-product__title {
        font-size: 1rem;
        line-height: 1.75
    }
}

.c-card-product__title._heading {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .875rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .c-card-product__title._heading {
        font-size: 1rem;
        line-height: 1.3125
    }
}

.c-card-product__title em {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .c-card-product__title em {
        font-size: 1.125rem;
        line-height: 1.75
    }
}

.c-card-product[target=_blank] .c-card-product__title:after {
    content: "";
    display: inline-block;
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 14px;
    height: 14px;
    background-color: var(--primary);
    margin: 0 0 0 .4em
}

.c-card-product__description {
    margin: 0;
    font-size: .875rem;
    line-height: 1.4285714286
}

.c-card-image-offset {
    display: grid;
    grid-template-rows: auto 1fr;
    color: var(--text);
    text-decoration: none;
    border-radius: 10px;
    box-sizing: border-box;
    position: relative
}

.c-card-image-offset:before {
    content: "";
    position: absolute;
    top: min(30%, 50px);
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    background-color: var(--white);
    transition: box-shadow .2s
}

.c-card-image-offset:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 20px;
    height: 20px;
    background-color: var(--primary);
    position: absolute;
    bottom: 16px;
    right: 16px
}

@media print,
screen and (min-width: 768px) {
    .c-card-image-offset:after {
        width: 24px;
        height: 24px
    }
}

.c-card-image-offset[target=_blank]:after {
    -webkit-mask-image: url(/common/2025/img/icon_external_circle.svg);
    mask-image: url(/common/2025/img/icon_external_circle.svg)
}

.c-card-image-offset:not([href]):after {
    background-color: var(--disabled)
}

@media (any-hover: hover) {
    .c-card-image-offset[href]:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-card-image-offset__img {
    margin: 0 10px;
    overflow: hidden;
    border-radius: 10px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-card-image-offset__img {
        margin: 0 16px
    }
}

.c-card-image-offset__img img {
    width: 100%;
    transition: scale .2s ease-out
}

@media (any-hover: hover) {
    .c-card-image-offset[href]:hover .c-card-image-offset__img img {
        scale: 1.05
    }
}

.c-card-image-offset__text {
    padding: 16px 16px 46px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-card-image-offset__text {
        padding: 16px 16px 48px;
        gap: 12px
    }
}

.c-card-image-offset__text>*:first-child {
    margin-top: 0
}

.c-card-image-offset__text>*:last-child {
    margin-bottom: 0
}

.c-card-image-offset__title {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.25
}

@media print,
screen and (min-width: 768px) {
    .c-card-image-offset__title {
        font-size: 1.125rem;
        line-height: 1.5
    }
}

.c-card-image-offset__description {
    margin: 0;
    font-size: .875rem;
    line-height: 1.7142857143
}

.c-card-release {
    color: var(--text);
    text-decoration: none;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 8px
}

@media print,
screen and (min-width: 768px) {
    .c-card-release {
        gap: 20px
    }
}

.c-card-release__img {
    background-color: var(--white);
    border: 1px solid var(--bd-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    overflow: hidden;
    aspect-ratio: 1/1
}

.c-card-release__img img {
    aspect-ratio: 1/1;
    object-fit: contain;
    width: 100%;
    transition: scale .2s ease-out;
    border-radius: 10px
}

@media (any-hover: hover) {
    .c-card-release:hover .c-card-release__img img {
        scale: 1.05
    }
}

.c-card-release__title {
    font-size: .875rem;
    line-height: 1.75;
    font-weight: var(--bold);
    margin: 0
}

@media print,
screen and (min-width: 768px) {
    .c-card-release__title {
        font-size: 1rem;
        line-height: 1.53125
    }
}

.c-card-release__title:after {
    content: "";
    display: inline-block;
    vertical-align: top;
    margin: 4px 0 0 6px;
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary)
}

.c-card-release[target=_blank] .c-card-release__title:after {
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    width: 14px;
    height: 14px
}

.c-button-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--white);
    border-radius: 10px;
    box-sizing: border-box;
    padding: 10px 20px;
    min-height: 64px;
    position: relative;
    overflow: hidden
}

@media print,
screen and (min-width: 768px) {
    .c-button-logo {
        padding: 10px;
        min-height: 100px
    }
}

.c-button-logo:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    box-shadow: var(--card-bd-shadow);
    box-sizing: border-box;
    z-index: 1;
    transition: box-shadow .2s
}

@media (any-hover: hover) {
    .c-button-logo:hover:before {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-button-logo img {
    max-height: 41px;
    object-fit: contain
}

@media print,
screen and (min-width: 768px) {
    .c-button-logo img {
        max-height: none
    }
}

.c-button-logo._full {
    padding: 0
}

.c-button-logo._full img {
    max-height: none
}

.c-button-slider-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    background-color: var(--primary);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

@media print,
screen and (min-width: 768px) {
    .c-button-slider-control {
        width: 32px;
        height: 32px
    }
}

.c-button-slider-control__play {
    text-indent: -100vw;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center
}

.c-button-slider-control__play:before {
    content: "";
    display: block;
    -webkit-mask-image: url(/common/2025/img/icon_play.svg);
    mask-image: url(/common/2025/img/icon_play.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 10px;
    height: 10px;
    background-color: var(--white);
    translate: 1px 0
}

.c-button-slider-control.is-active .c-button-slider-control__play {
    display: none
}

.c-button-slider-control__play>span {
    display: none
}

.c-button-slider-control__pause {
    text-indent: -9999px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center
}

.c-button-slider-control__pause:before {
    content: "";
    display: block;
    -webkit-mask-image: url(/common/2025/img/icon_pause.svg);
    mask-image: url(/common/2025/img/icon_pause.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--white)
}

.c-button-slider-control:not(.is-active) .c-button-slider-control__pause {
    display: none
}

.c-button-slider-control__pause>span {
    display: none
}

.c-button-initial {
    --button-initial-text-color: var(--primary);
    --button-initial-bg-color: var(--white);
    --button-initial-bd-color: var(--primary);
    color: var(--button-initial-text-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background-color: var(--button-initial-bg-color);
    text-decoration: none;
    min-height: 44px;
    position: relative;
    border: 2px solid var(--button-initial-bd-color);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .875rem;
    line-height: 1;
    transition: background-color .2s, border .2s, color .2s
}

@media print,
screen and (min-width: 768px) {
    .c-button-initial {
        font-size: 1.5rem;
        min-height: 68px
    }
}

@media (any-hover: hover) {
    .c-button-initial:hover {
        --button-initial-text-color: var(--white);
        --button-initial-bg-color: var(--primary);
        --button-initial-bd-color: var(--white)
    }
}

.c-button-initial._current {
    --button-initial-text-color: var(--white);
    --button-initial-bg-color: var(--primary);
    --button-initial-bd-color: var(--white)
}

.c-button-initial._disabled {
    --button-initial-text-color: #777;
    --button-initial-bg-color: var(--white);
    --button-initial-bd-color: var(--bd-light-gray)
}

.c-button-product-category {
    display: flex;
    align-items: center;
    justify-content: start;
    border-radius: 10px;
    color: var(--text);
    text-decoration: none;
    background-color: var(--white);
    box-shadow: var(--card-bd-shadow);
    padding: 16px 8px;
    gap: 4px;
    box-sizing: border-box;
    position: relative;
    transition: box-shadow .2s
}

@media print,
screen and (min-width: 768px) {
    .c-button-product-category {
        padding: 24px 16px
    }
}

@media (any-hover: hover) {
    .c-button-product-category:hover {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-button-product-category__icon {
    width: 30px;
    aspect-ratio: 1/1;
    flex-shrink: 0;
    color: var(--primary)
}

@media print,
screen and (min-width: 768px) {
    .c-button-product-category__icon {
        width: 50px
    }
}

.c-button-product-category__title {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .875rem;
    line-height: 1.1428571429;
    letter-spacing: -.06em;
    display: flex;
    align-items: center;
    gap: 4px
}

@media print,
screen and (min-width: 768px) {
    .c-button-product-category__title {
        font-size: clamp(1.125rem, 1.875vw, 1.5rem);
        line-height: 1;
        gap: 8px;
        flex-wrap: wrap
    }
}

.c-button-product-category__small {
    font-size: .6875rem;
    line-height: 1.4545454545
}

@media print,
screen and (min-width: 768px) {
    .c-button-product-category__small {
        font-size: clamp(.875rem, 1.328125vw, 1.0625rem);
        line-height: 1.4117647059
    }
}

.c-banner-mall {
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 3px solid rgba(0, 0, 0, .16);
    border-radius: 10px;
    background-color: var(--white);
    position: relative;
    height: 64px;
    box-sizing: border-box;
    opacity: 1 !important
}

.c-banner-mall:after {
    content: "";
    background: url(https://www.takaratomy.co.jp/common/2025/img/nav/icon_external--blue.svg) no-repeat;
    background-size: 100%;
    width: 14px;
    height: 14px;
    position: absolute;
    top: 6px;
    right: 6px
}

.c-banner-questionnaire {
    border-radius: 10px;
    display: grid;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--text);
    text-decoration: none;
    padding: 5px 0 5px 18px;
    box-sizing: border-box;
    position: relative;
    box-shadow: var(--card-bd-shadow);
    transition: box-shadow .2s
}

@media print,
screen and (min-width: 768px) {
    .c-banner-questionnaire {
        max-width: 582px;
        margin: 0 auto;
        justify-content: space-between;
        padding: 13px 0 13px 30px
    }
}

@media (any-hover: hover) {
    .c-banner-questionnaire:hover {
        box-shadow: var(--card-bd-shadow-hover)
    }
}

.c-banner-questionnaire__title {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    font-size: .875rem;
    line-height: 1.4;
    grid-column: 1/2;
    grid-row: 1/2;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-banner-questionnaire__title {
        font-size: 1.125rem;
        line-height: 1.3333333333
    }
}

.c-banner-questionnaire__icon {
    margin: 0;
    grid-column: 2/3;
    grid-row: 1/2;
    width: 152px
}

@media print,
screen and (min-width: 768px) {
    .c-banner-questionnaire__icon {
        width: 258px
    }
}

.c-calendar-event {
    margin: 32px calc(var(--sm-side-margin) * -1) 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    --calendar-event-bg-color: var(--primary);
    --calendar-event-text-color: var(--white)
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event {
        margin: 80px 0 0
    }
}

.c-calendar-event._green {
    --calendar-event-bg-color: #05713a;
    --calendar-event-text-color: var(--white)
}

.c-calendar-event._pink {
    --calendar-event-bg-color: #fab4aa;
    --calendar-event-text-color: var(--black)
}

.c-calendar-event._yellow {
    --calendar-event-bg-color: #FFD576;
    --calendar-event-text-color: var(--black)
}

.c-calendar-event.is-hide {
    display: none
}

.c-calendar-event__title {
    text-align: center;
    margin: 0 auto 14px;
    padding: 0 20px;
    width: fit-content;
    max-width: calc(100vw - 40px);
    position: relative;
    box-sizing: border-box;
    color: var(--text);
    font-size: 1rem;
    line-height: 1.5;
    font-weight: var(--extra-bold)
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__title {
        margin: 0 auto 26px;
        font-size: 1.25rem;
        line-height: 1.5
    }
}

.c-calendar-event__title:before,
.c-calendar-event__title:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    border-left: 4px dotted var(--calendar-event-bg-color)
}

.c-calendar-event__title:before {
    left: 0;
    rotate: -25deg
}

.c-calendar-event__title:after {
    right: 0;
    rotate: 25deg
}

.c-calendar-event__title.is-banner,
.is-banner .c-calendar-event__title {
    display: none
}

.is-banner .c-calendar-event__title.is-banner {
    display: block
}

.c-calendar-event__body {
    position: relative;
    margin: 0 auto 56px;
    padding: 8px 0 0;
    text-decoration: none;
    color: var(--text);
    display: block
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__body {
        padding: 0;
        margin: 0 0 80px
    }
}

.c-calendar-event__card {
    width: 186px;
    margin: 0 auto;
    background-color: var(--bg-gray);
    border-radius: 12px;
    display: grid;
    border-bottom: 3px solid rgba(0, 0, 0, .16);
    color: var(--text);
    text-decoration: none;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__card {
        width: 260px
    }
}

.c-calendar-event__card:before,
.c-calendar-event__card:after {
    content: "";
    background-image: url(/common/2025/img/parts_calendar.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 13px;
    height: 25px;
    position: absolute;
    top: -8px
}

@media print,
screen and (min-width: 768px) {

    .c-calendar-event__card:before,
    .c-calendar-event__card:after {
        width: 18px;
        height: 35px
    }
}

.c-calendar-event__card:before {
    left: 50%;
    margin-left: -50px
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__card:before {
        margin-left: -65px
    }
}

.c-calendar-event__card:after {
    right: 50%;
    margin-right: -50px
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__card:after {
        margin-right: -65px
    }
}

.c-calendar-event__card.is-hide {
    display: none
}

.c-calendar-event__banner {
    width: 100%;
    max-width: 344px;
    margin: 0 auto;
    display: grid;
    text-decoration: none;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__banner {
        width: 344px
    }
}

.c-calendar-event__banner.is-hide {
    display: none
}

.c-calendar-event__sub-title {
    background-color: var(--calendar-event-bg-color);
    color: var(--calendar-event-text-color);
    font-size: .875rem;
    line-height: 1.7142857143;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    margin: 0;
    padding: 20px 10px 10px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border-bottom: 3px solid rgba(0, 0, 0, .16);
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__sub-title {
        min-height: 70px;
        font-size: 1.125rem;
        line-height: 1.7222222222;
        padding: 20px 10px 4px;
        align-items: flex-end
    }
}

.c-calendar-event__date {
    min-height: 90px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__date {
        min-height: 118px
    }
}

.c-calendar-event__flip {
    display: none;
    width: 33px;
    aspect-ratio: 1/1;
    position: absolute;
    bottom: 0;
    right: 0;
    color: var(--calendar-event-bg-color);
    --flip-arrow-color: var(--calendar-event-text-color)
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__flip {
        width: 46px
    }
}

a .c-calendar-event__flip {
    display: block
}

.c-calendar-event__count {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1;
    padding: 0 0 0 20px;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__count {
        font-size: 1.625rem
    }
}

.c-calendar-event__count span {
    font-family: var(--font-fredoka);
    font-size: 3.3125rem;
    line-height: 1;
    font-weight: var(--semi-bold);
    margin: 0 3px 0 0
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__count span {
        font-size: 4.625rem
    }
}

.c-calendar-event__more {
    text-decoration: underline;
    text-align: center;
    font-size: .875rem;
    line-height: 1.7142857143;
    font-weight: var(--extra-bold);
    margin: 8px 0 0
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__more {
        font-size: 1.125rem;
        line-height: 1.7222222222
    }
}

.c-calendar-event__parts {
    width: 138px;
    position: absolute;
    top: 20px
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__parts {
        width: 200px
    }
}

.c-calendar-event__parts._left {
    left: 50%;
    margin-left: -235px
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__parts._left {
        margin-left: -335px
    }
}

@media print,
screen and (min-width: 768px) {
    .is-banner .c-calendar-event__parts._left {
        margin-left: -372px
    }
}

.c-calendar-event__parts._right {
    right: 50%;
    margin-right: -235px
}

@media print,
screen and (min-width: 768px) {
    .c-calendar-event__parts._right {
        margin-right: -335px
    }
}

@media print,
screen and (min-width: 768px) {
    .is-banner .c-calendar-event__parts._right {
        margin-right: -372px
    }
}

.is-banner .c-calendar-event__parts {
    display: none
}

@media print,
screen and (min-width: 768px) {
    .is-banner .c-calendar-event__parts {
        display: block
    }
}

.c-search-keyword {
    max-width: 778px;
    margin: 0 auto
}

.c-search-keyword._wide {
    max-width: 928px
}

.c-search-keyword__title {
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 20px 0 10px;
    text-align: center;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold)
}

@media print,
screen and (min-width: 768px) {
    .c-search-keyword__title {
        font-size: 2rem;
        line-height: 1.5;
        margin: 40px 0
    }
}

.c-search-keyword__title._fz-small {
    font-size: 1rem
}

@media print,
screen and (min-width: 768px) {
    .c-search-keyword__title._fz-small {
        font-size: 1.75rem
    }
}

.c-search-keyword__title._my-sm {
    margin: 5px 0 16px
}

@media print,
screen and (min-width: 768px) {
    .c-search-keyword__title._my-sm {
        margin: 34px 0
    }
}

.c-search-keyword__row {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    margin: 0 auto;
    display: flex;
    height: 44px
}

@media print,
screen and (min-width: 768px) {
    .c-search-keyword__row {
        height: 64px
    }
}

.c-search-keyword__input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 10px 16px;
    border: 2px solid #dce7ed;
    border-radius: 8px 0 0 8px;
    border-right: 0;
    width: 100%;
    font-size: 1rem;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-search-keyword__input {
        font-size: 1.25rem;
        padding: 18px 26px
    }
}

.c-search-keyword__input._border-color-primary {
    border-color: var(--primary)
}

.c-search-keyword__button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    width: 64px;
    flex-shrink: 0;
    background-color: var(--primary);
    color: var(--white);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center
}

@media print,
screen and (min-width: 768px) {
    .c-search-keyword__button {
        width: 103px;
        font-size: 1.5rem
    }
}

.c-search-keyword__hint {
    font-weight: 400;
    font-size: .75rem;
    margin: 8px 0 0
}

.c-tab-group._protrude {
    margin: -40px 0 0
}

.c-tab-buttons {
    display: flex;
    gap: 6px
}

@media print,
screen and (min-width: 768px) {
    .c-tab-buttons {
        gap: 8px
    }
}

.c-tab-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 10px;
    width: 100%;
    min-height: 58px;
    background-color: #f0f5f7;
    color: #666;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: .9375rem;
    line-height: 1.2666666667;
    gap: 5px 0;
    border-radius: 8px;
    border: 1px solid var(--bd-gray);
    border-bottom-width: 3px;
    position: relative
}

@media print,
screen and (min-width: 768px) {
    .c-tab-button {
        min-height: 60px;
        font-size: 1.25rem;
        line-height: 1.0526315789;
        letter-spacing: -.06em;
        gap: 0 5px;
        align-items: baseline;
        align-content: center
    }
}

.c-tab-button:before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -3px;
    border-radius: 8px;
    border: 2px solid var(--primary);
    border-bottom-width: 3px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s, visibility .2s
}

@media (any-hover: hover) {
    .c-tab-button:hover:before {
        opacity: 1;
        visibility: visible
    }
}

.c-tab-button[aria-selected=true] {
    background-color: var(--primary);
    color: var(--white);
    border-color: #00000029
}

.c-tab-button[aria-selected=true]:before {
    display: none
}

.c-tab-button[aria-selected=true]:after {
    content: "";
    width: 10px;
    height: 10px;
    background-color: var(--primary);
    rotate: 45deg;
    box-sizing: border-box;
    position: absolute;
    bottom: -7px;
    left: 50%;
    translate: -50% 0;
    border-bottom: 3px solid rgba(0, 0, 0, .16);
    border-right: 3px solid rgba(0, 0, 0, .16)
}

.c-tab-button small {
    font-size: .75rem;
    line-height: 1.25
}

@media print,
screen and (min-width: 768px) {
    .c-tab-button small {
        font-size: .875rem;
        line-height: 1.3571428571
    }
}

.c-tab-panels {
    margin: 30px 0 0
}

.c-tab-panel {
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s, visibility .5s;
    overflow: hidden
}

.c-tab-panel[aria-hidden=false] {
    height: auto;
    opacity: 1;
    visibility: visible;
    overflow: visible
}

.c-tab-panel>*:first-child {
    margin-top: 0
}

.c-tab-panel>*:last-child {
    margin-bottom: 0
}

.c-frame-mall {
    position: relative;
    background-image: url(/common/2025/img/bg_mall_bottom.webp);
    background-repeat: repeat-x;
    background-position: bottom -40px center;
    overflow-x: clip;
    padding: 40px 0 64px;
    background-size: 376px auto
}

@media print,
screen and (min-width: 768px) {
    .c-frame-mall {
        background-size: 532px 144px;
        background-position: bottom -44px center;
        padding: 80px 0 140px
    }
}

.c-frame-mall__bg {
    position: absolute;
    top: 0;
    left: 50%;
    width: min(100%, 1600px);
    translate: -50% 0;
    display: flex;
    justify-content: space-between
}

@media print,
screen and (min-width: 768px) {
    .c-frame-mall__bg {
        width: 1600px
    }
}

.c-frame-mall__flag {
    width: 152px
}

@media print,
screen and (min-width: 768px) {
    .c-frame-mall__flag {
        width: auto
    }
}

.c-frame-mall__flag._right {
    scale: -1 1
}

.c-frame-mall__frame {
    background-color: var(--white);
    border-radius: 10px;
    box-shadow: 0 3px 6px #00000029;
    position: relative;
    padding: 32px 0;
    overflow-x: hidden
}

@media print,
screen and (min-width: 768px) {
    .c-frame-mall__frame {
        border-radius: 20px;
        padding: 60px 36px 46px
    }
}

.frame-mall__title {
    margin: 0 0 20px;
    text-align: center
}

@media print,
screen and (min-width: 768px) {
    .frame-mall__title {
        margin: 0 0 40px
    }
}

.frame-mall__title img {
    width: 200px
}

@media print,
screen and (min-width: 768px) {
    .frame-mall__title img {
        width: auto
    }
}

.c-accordion {
    border: 2px solid var(--bd-gray-secondary);
    border-radius: 10px
}

.c-accordion+.c-accordion {
    margin-top: 16px
}

.c-accordion__trigger {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 16px 30px 16px 16px;
    border: 0;
    background-color: transparent;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    position: relative;
    width: 100%;
    font-size: .875rem;
    line-height: 1.7142857143;
    color: var(--text);
    text-align: left;
    display: block;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-accordion__trigger {
        font-size: 1rem;
        line-height: 1.5;
        padding: 16px 30px 16px 16px
    }
}

.c-accordion__trigger:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_toggle_plus.svg);
    mask-image: url(/common/2025/img/icon_toggle_plus.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary);
    position: absolute;
    top: 50%;
    right: 10px;
    translate: 0 -50%;
    transition: rotate .2s, mask-image .2s
}

.c-accordion__trigger[aria-expanded=true]:after {
    -webkit-mask-image: url(/common/2025/img/icon_toggle_minus.svg);
    mask-image: url(/common/2025/img/icon_toggle_minus.svg);
    rotate: 180deg
}

.c-accordion__target {
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s, visibility .5s;
    overflow: hidden;
    position: relative
}

.c-accordion__target[aria-hidden=false] {
    height: auto;
    opacity: 1;
    visibility: visible;
    overflow: visible
}

.c-accordion__body {
    padding: 22px 16px 56px;
    font-size: .875rem;
    line-height: 1.7142857143
}

.c-accordion__body>*:first-child {
    margin-top: 0
}

.c-accordion__body>*:last-child {
    margin-bottom: 0
}

.c-accordion__close {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    color: var(--primary);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    font-size: .8125rem;
    line-height: 1.8846153846;
    position: absolute;
    left: 0;
    bottom: 16px;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    transition: opacity .2s, visibility .2s
}

.c-accordion__target[aria-hidden=false] .c-accordion__close {
    opacity: 1;
    visibility: visible
}

.c-accordion__close:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_toggle_minus.svg);
    mask-image: url(/common/2025/img/icon_toggle_minus.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary)
}

.c-accordion-group__target {
    height: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s, visibility .5s;
    overflow: hidden
}

.c-accordion-group__target[aria-hidden=false] {
    height: auto;
    opacity: 1;
    visibility: visible;
    overflow: visible
}

.c-accordion-group__body>*:first-child {
    margin-top: 0
}

.c-accordion-group__body>*:last-child {
    margin-bottom: 0
}

.c-list-indent {
    list-style: none;
    margin: 0;
    padding: 0
}

.c-list-indent__item {
    margin: 0;
    padding: 0 0 0 1.2em;
    text-indent: 0;
    position: relative
}

.c-list-indent__item:before {
    display: none
}

.c-list-indent__item span {
    position: absolute;
    top: 0;
    left: 0
}

.c-list-indent__item._2em {
    padding: 0 0 0 2.5em
}

.c-list-initials {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(auto-fit, minmax(58px, 1fr))
}

@media print,
screen and (min-width: 768px) {
    .c-list-initials {
        gap: 25px;
        grid-template-columns: repeat(auto-fit, minmax(80px, 1fr))
    }
}

.c-list-initials__item {
    margin: 0;
    padding: 0
}

.c-list-initials__item:before {
    display: none
}

.c-media-object {
    display: flex;
    flex-direction: column;
    gap: 24px
}

@media print,
screen and (min-width: 768px) {
    .c-media-object {
        gap: 26px;
        flex-direction: row
    }
}

@media print,
screen and (min-width: 768px) {
    .c-media-object._media-right {
        flex-direction: row-reverse
    }
}

@media screen and (max-width: 767px) {
    .c-media-object._sm-media-bottom {
        display: flex;
        flex-direction: column-reverse
    }
}

.c-media-object._vertical-align-middle {
    align-items: center
}

.c-media-object__media {
    margin: 0
}

@media print,
screen and (min-width: 768px) {
    .c-media-object__media {
        width: calc(50% - 20px);
        flex-shrink: 0
    }
}

.c-media-object__media img {
    width: 100%
}

.c-media-object__text {
    flex-grow: 1
}

.c-media-object__text>*:first-child {
    margin-top: 0
}

.c-media-object__text>*:last-child {
    margin-bottom: 0
}

.c-media-object-sticky {
    display: grid;
    gap: 24px
}

@media print,
screen and (min-width: 768px) {
    .c-media-object-sticky {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px
    }
}

.c-media-object-sticky__media-item {
    margin: 0;
    position: sticky;
    top: 0
}

.c-media-object-sticky__media-item img {
    width: 100%
}

.c-media-object-sticky__text>*:first-child {
    margin-top: 0
}

.c-media-object-sticky__text>*:last-child {
    margin-bottom: 0
}

.c-member-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px
}

@media print,
screen and (min-width: 768px) {
    .c-member-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px 24px
    }

    .c-member-list._en {
        grid-template-columns: repeat(1, 1fr)
    }
}

.c-member-list__item {
    margin: 0;
    padding: 0 0 20px;
    text-indent: 0;
    border-bottom: 1px solid var(--bd-gray-secondary);
    font-size: .875rem;
    line-height: 1.7142857143
}

.c-member-list__item:before {
    display: none
}

.c-member-list__post {
    font-size: .875rem;
    line-height: 1.7142857143
}

.c-member-list__name-jp {
    font-weight: var(--bold);
    font-size: 1rem;
    line-height: 1.75
}

.c-member-list__name-en {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .8125rem;
    line-height: 1.8461538462;
    margin: 0 0 0 4px
}

.c-modal-slider {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s
}

.c-modal-slider.is-open {
    opacity: 1;
    visibility: visible
}

.c-modal-slider[aria-hidden=true] {
    pointer-events: none
}

.c-modal-slider__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 35px 16px 16px;
    background-color: rgb(var(--primary-rgb)/.8);
    display: grid;
    place-items: center
}

@media print,
screen and (min-width: 768px) {
    .c-modal-slider__overlay {
        padding: 35px 16px 44px
    }
}

.c-modal-slider__container {
    width: 100%;
    height: 100%;
    max-width: 1200px;
    background-color: var(--white);
    border-radius: 10px;
    overflow: hidden;
    display: grid;
    grid-template-rows: 1fr auto
}

.c-modal-slider__body {
    overscroll-behavior-y: none;
    overflow-y: auto;
    box-sizing: border-box;
    max-height: 100%
}

.c-modal-slider__body .splide {
    height: 100%
}

.c-modal-slider__footer {
    display: flex;
    align-items: center;
    background-color: var(--bd-gray-secondary);
    padding: 6px 16px
}

@media print,
screen and (min-width: 768px) {
    .c-modal-slider__footer {
        padding: 16px 16px 16px 40px
    }
}

.c-modal-slider__track {
    overflow: clip;
    height: 100%
}

.c-modal-slider__item {
    padding: 24px 16px;
    overflow-y: auto;
    height: 100%
}

@media print,
screen and (min-width: 768px) {
    .c-modal-slider__item {
        padding: 40px
    }
}

.c-modal-slider__arrows {
    display: flex;
    column-gap: 30px
}

.c-modal-slider__arrow {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    padding: 0;
    background-color: transparent;
    color: var(--primary);
    text-decoration: underline;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-size: .8125rem;
    font-weight: var(--medium);
    display: inline-flex;
    align-items: center;
    column-gap: 4px
}

@media print,
screen and (min-width: 768px) {
    .c-modal-slider__arrow {
        font-size: 1rem;
        column-gap: 8px
    }
}

@media (any-hover: hover) {
    .c-modal-slider__arrow:hover {
        text-decoration: none
    }
}

.c-modal-slider__arrow._prev:before {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary);
    rotate: 180deg
}

.c-modal-slider__arrow._next:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary)
}

.c-modal-slider__arrow:disabled {
    display: none
}

.c-modal-slider__close {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    background-color: transparent;
    overflow: hidden;
    margin-left: auto
}

.c-modal-slider__close:before {
    content: "";
    display: block;
    -webkit-mask-image: url(/common/2025/img/icon_close_circle.svg);
    mask-image: url(/common/2025/img/icon_close_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 39px;
    height: 39px;
    background-color: #333
}

.c-list-step {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 32px
}

.c-list-step__item {
    margin: 0;
    padding: 0;
    text-indent: 0;
    display: flex;
    position: relative
}

.c-list-step__item:not(:first-child):before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% calc(-100% - 8px);
    rotate: 90deg;
    -webkit-mask-image: url(/common/2025/img/icon_arrow.svg);
    mask-image: url(/common/2025/img/icon_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--primary)
}

.c-list-step__num {
    background-color: var(--primary);
    color: var(--white);
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.5;
    padding: 8px 16px;
    min-width: 83px;
    flex-shrink: 0;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-list-step__num {
        width: 25%
    }
}

.c-list-step__text {
    border: 2px solid var(--bd-gray-secondary);
    border-left: 0;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    font-size: 1rem;
    line-height: 1.75;
    font-weight: var(--bold);
    padding: 8px 16px;
    flex-grow: 1;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-list-step__text {
        padding: 8px 24px
    }
}

.c-list-simple-definition {
    display: grid;
    gap: 20px
}

@media print,
screen and (min-width: 768px) {
    .c-list-simple-definition {
        margin: 0
    }
}

.c-list-simple-definition__row {
    display: grid;
    gap: 8px
}

.c-list-simple-definition__title {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    position: relative;
    padding: 0 0 0 12px
}

@media print,
screen and (min-width: 768px) {
    .c-list-simple-definition__title {
        padding: 0 0 0 12px
    }
}

.c-list-simple-definition__title:before {
    content: "";
    width: 4px;
    position: absolute;
    top: .15em;
    bottom: .15em;
    left: 0;
    background-color: var(--primary);
    border-radius: 10px
}

.c-list-simple-definition__body {
    margin: 0
}

.c-list-simple-definition__body>*:first-child {
    margin-top: 0
}

.c-list-simple-definition__body>*:last-child {
    margin-bottom: 0
}

.c-list-horizontal-definition {
    display: grid
}

.c-list-horizontal-definition__row {
    display: grid;
    grid-template-columns: auto 1fr
}

.c-list-horizontal-definition__title {
    margin: 0;
    font-weight: 400
}

.c-list-horizontal-definition__body {
    margin: 0
}

.c-list-horizontal-definition__body>*:first-child {
    margin-top: 0
}

.c-list-horizontal-definition__body>*:last-child {
    margin-bottom: 0
}

.c-block-information {
    border: 1px solid var(--bd-gray);
    border-radius: 5px;
    padding: 20px;
    margin: 56px 0
}

@media print,
screen and (min-width: 768px) {
    .c-block-information {
        padding: 40px
    }
}

.c-block-information>*:first-child {
    margin-top: 0
}

.c-block-information>*:last-child {
    margin-bottom: 0
}

:where(.c-block-information p) {
    margin: 8px 0
}

.c-block-information__title {
    margin: 20px 0 8px;
    color: var(--primary)
}

.c-select-custom__button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    background-color: var(--primary);
    color: var(--white);
    padding: 11px 36px 11px 16px;
    border-radius: 50px;
    min-width: 107px;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    line-height: 1.5;
    cursor: pointer;
    position: relative;
    text-align: left
}

@media print,
screen and (min-width: 768px) {
    .c-select-custom__button {
        min-width: 344px;
        text-align: center
    }
}

.c-select-custom__button:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_select_circle.svg);
    mask-image: url(/common/2025/img/icon_select_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: var(--white);
    position: absolute;
    top: 50%;
    right: 16px;
    translate: 0 -50%
}

.c-select-custom__options {
    margin: 8px 0 0;
    border: 1px solid var(--primary);
    border-radius: 10px;
    padding: 28px 17px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 20px 32px;
    opacity: 1;
    visibility: visible;
    transition: opacity .5s, visibility .5s
}

.c-select-custom__options[aria-hidden=true] {
    height: 0;
    opacity: 0;
    padding: 0;
    border: 0;
    visibility: hidden;
    overflow: hidden
}

.c-select-custom__option {
    margin: 0;
    padding: 0
}

.c-select-custom__option:before {
    display: none
}

.c-select-custom__link {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    font-size: 1rem;
    color: var(--primary);
    text-decoration: none
}

@media (any-hover: hover) {
    .c-select-custom__link:hover {
        text-decoration: underline
    }
}

.c-cta {
    width: 100%;
    padding: 40px 16px;
    background-color: var(--light-primary);
    border-radius: 10px;
    box-sizing: border-box
}

@media print,
screen and (min-width: 768px) {
    .c-cta {
        max-width: 688px;
        margin: 0 auto;
        padding: 40px 20px
    }
}

.c-cta>*:first-child {
    margin-top: 0
}

.c-cta>*:last-child {
    margin-bottom: 0
}

.c-cta._outlined {
    background-color: var(--white);
    border: 1px solid var(--bd-gray)
}

.c-cta._y-padding-small {
    padding: 24px 16px
}

@media print,
screen and (min-width: 768px) {
    .c-cta._y-padding-small {
        padding: 24px 20px
    }
}

.c-cta__title {
    margin: 16px 0;
    text-align: center;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1.25rem;
    line-height: 1.5
}

.c-cta._outlined .c-cta__title {
    color: var(--primary)
}

.c-list-faq {
    margin: 0;
    counter-reset: question;
    display: grid;
    row-gap: 20px
}

@media print,
screen and (min-width: 768px) {
    .c-list-faq {
        row-gap: 32px
    }
}

.c-list-faq__row {
    counter-increment: question;
    display: grid;
    row-gap: 8px
}

@media print,
screen and (min-width: 768px) {
    .c-list-faq__row {
        row-gap: 16px
    }
}

.c-list-faq__item {
    margin: 0;
    display: flex;
    align-items: baseline;
    column-gap: 10px
}

@media print,
screen and (min-width: 768px) {
    .c-list-faq__item {
        column-gap: 20px
    }
}

.c-list-faq__item:before {
    flex-shrink: 0;
    width: 40px;
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: .875rem;
    line-height: 1
}

@media print,
screen and (min-width: 768px) {
    .c-list-faq__item:before {
        font-size: 1.5rem;
        width: 60px
    }
}

.c-list-faq__item._question {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .c-list-faq__item._question {
        font-size: 1.125rem
    }
}

.c-list-faq__item._question:before {
    content: "Q" counter(question);
    color: var(--white);
    background-color: var(--primary)
}

.c-list-faq__item._answer {
    line-height: 1.7142857143
}

@media print,
screen and (min-width: 768px) {
    .c-list-faq__item._answer {
        line-height: 1.75
    }
}

.c-list-faq__item._answer:before {
    content: "A";
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    color: var(--primary);
    background-color: var(--white);
    box-sizing: border-box;
    border: 1px solid var(--bd-gray)
}

.c-frame {
    border-radius: 10px;
    border: 1px solid var(--bd-gray);
    padding: 20px;
    height: 100%;
    display: grid;
    grid-template-rows: auto 1fr;
    grid-template-areas: "head" "body";
    row-gap: 12px
}

.c-frame._has-new {
    position: relative
}

.c-frame._has-new:before {
    content: "NEW";
    position: absolute;
    left: 15px;
    top: 0;
    translate: 0 -50%;
    color: var(--white);
    background-color: var(--red);
    font-size: .75rem;
    font-weight: 500;
    border-radius: 50px;
    line-height: 1;
    padding: 4px 8px
}

@media print,
screen and (min-width: 768px) {
    .c-frame._large {
        padding: 40px 20px
    }
}

.c-frame__head {
    grid-area: head
}

.c-frame__title {
    text-align: center;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1.25rem;
    line-height: 1.5;
    margin: 0;
    color: var(--primary)
}

.c-frame__body {
    grid-area: body;
    overflow: hidden
}

.c-frame__body._align-self-center {
    align-self: center
}

.c-frame__body._align-self-end {
    align-self: end
}

.c-frame__body>:first-child {
    margin-top: 0
}

.c-frame__body>:last-child {
    margin-bottom: 0
}

.c-slash-label {
    text-align: center;
    margin: 0 auto 16px;
    padding: 0 20px;
    width: fit-content;
    position: relative;
    box-sizing: border-box;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    color: var(--primary);
    line-height: 1.5;
    font-weight: var(--extra-bold);
    min-height: 38px;
    display: flex;
    align-items: center;
    font-size: .875rem
}

@media print,
screen and (min-width: 768px) {
    .c-slash-label {
        font-size: 1rem
    }
}

.c-slash-label:before,
.c-slash-label:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    border-left: 3px dotted var(--primary)
}

.c-slash-label:before {
    left: 0;
    rotate: -25deg
}

.c-slash-label:after {
    right: 0;
    rotate: 25deg
}

.c-slash-label._solid {
    margin: 0 auto 11px;
    font-size: .875rem;
    line-height: 1.4;
    min-height: 16px
}

.c-slash-label._solid:before,
.c-slash-label._solid:after {
    border-left: 3px solid var(--primary);
    border-radius: 10px
}

.c-figure {
    margin: 0;
    display: table
}

.c-figure._center {
    margin: 0 auto
}

.c-figure._width-100,
.c-figure._width-100 img {
    width: 100%
}

.c-figure__caption {
    display: table-caption;
    margin: 0 0 8px;
    line-height: 1.5;
    font-size: .875rem
}

@media print,
screen and (min-width: 768px) {
    .c-figure__caption {
        font-size: 1rem
    }
}

.c-figure__caption._caption-bottom {
    caption-side: bottom;
    margin: 8px 0 0
}

.c-figure__caption._small {
    font-size: .75rem
}

.c-figure__caption._medium {
    font-size: .875rem
}

.c-side-comments {
    display: block;
    font-size: .625rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    .c-side-comments {
        font-size: .75rem;
        line-height: 1.33
    }
}

.c-number-highlight {
    display: flex;
    flex-direction: column;
    align-items: center
}

.c-number-highlight__main {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    display: flex;
    align-items: baseline;
    gap: 4px 12px;
    font-size: 1rem
}

.c-number-highlight__main._vertical {
    flex-wrap: wrap;
    justify-content: center
}

.c-number-highlight__number {
    font-family: var(--font-fredoka);
    font-weight: var(--semi-bold);
    color: var(--primary);
    font-size: 3.75rem;
    line-height: 1
}

.c-number-highlight__main._vertical .c-number-highlight__prefix {
    flex-basis: 100%;
    text-align: center
}

.c-number-highlight__sub {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    font-size: .75rem
}

@media print,
screen and (min-width: 768px) {
    .c-number-highlight__sub {
        font-size: .875rem
    }
}

.c-box-colored {
    background-color: var(--light-primary);
    padding: 20px 16px
}

@media print,
screen and (min-width: 768px) {
    .c-box-colored {
        padding: 20px
    }
}

.c-box-colored>:first-child {
    margin-top: 0
}

.c-box-colored>:last-child {
    margin-bottom: 0
}

.c-box-separator._horizontal {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.c-box-separator._vertical .c-box-separator__item:not(:last-child) {
    padding-bottom: 16px
}

.c-box-separator._vertical .c-box-separator__item:not(:first-child) {
    padding-top: 16px;
    border-top: 1px solid var(--bd-gray)
}

.c-box-separator._horizontal .c-box-separator__item:not(:last-child) {
    padding-right: 16px
}

.c-box-separator._horizontal .c-box-separator__item:not(:first-child) {
    padding-left: 16px;
    border-left: 1px solid var(--bd-gray)
}

.c-graph__legend-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin: 16px 0 0
}

.c-graph__legend-item {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    column-gap: 8px;
    line-height: 1.5
}

.c-graph__legend-item:before {
    display: none
}

.c-graph__legend-icon {
    flex-shrink: 0
}

.c-scroll-hint {
    overflow-x: auto
}

.c-scroll-hint img {
    min-width: var(--min-width);
    padding: 0 0 20px
}

@media print,
screen and (min-width: 768px) {
    .c-scroll-hint img {
        min-width: initial;
        padding: 0
    }
}

.c-scroll-hint>*:first-child {
    margin-top: 0
}

.c-scroll-hint>*:last-child {
    margin-bottom: 0
}

.c-contact-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 8px
}

.c-contact-info__tel {
    font-family: var(--font-fredoka);
    font-weight: var(--semi-bold);
    font-size: 2.125rem;
    line-height: 1;
    display: flex;
    column-gap: 6px;
    color: inherit;
    text-decoration: none
}

@media print,
screen and (min-width: 768px) {
    .c-contact-info__tel {
        pointer-events: none
    }
}

.c-contact-info__hours {
    margin: 0;
    font-size: .75rem;
    letter-spacing: -.06em
}

.c-button-kurohige {
    position: fixed;
    right: 16px;
    bottom: 200px;
    z-index: 16;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s, visibility .2s
}

.c-button-kurohige._show {
    opacity: 1;
    visibility: visible
}

@media print,
screen and (min-width:768px) {
    .c-button-kurohige {
        bottom: 160px
    }
}

.c-button-kurohige__bubble {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-size: .5625rem;
    line-height: 1.5;
    font-weight: var(--black-bold);
    background-color: var(--white);
    color: var(--text);
    border-radius: 8px;
    padding: 8px 3px;
    border: 1px solid var(--black);
    min-height: 33px;
    min-width: 87px;
    max-width: 100%;
    position: absolute;
    z-index: 1;
    bottom: calc(100% + 16px);
    left: 50%;
    translate: -50% 0;
    box-sizing: border-box
}

.c-button-kurohige__bubble:before,
.c-button-kurohige__bubble:after {
    content: "";
    width: 6px;
    aspect-ratio: 1;
    rotate: 45deg;
    position: absolute;
    left: 50%;
    translate: -50% 0
}

.c-button-kurohige__bubble:before {
    background-color: var(--black);
    bottom: -4px
}

.c-button-kurohige__bubble:after {
    background-color: var(--white);
    bottom: -3px
}

.c-button-kurohige__open {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 3px solid var(--white);
    background-color: #03562e;
    border-radius: 50%;
    box-sizing: border-box;
    width: 64px;
    aspect-ratio: 1;
    position: relative;
    box-shadow: 0 3px 10px #00000040;
    text-indent: -9999px
}

.c-button-kurohige__open:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 45px);
    width: 91px;
    height: 65px;
    background-image: url(/common/2025/img/xmas/img_button_kurohige_xmas.svg);
    background-repeat: no-repeat;
    background-size: contain
}

.c-button-kurohige__remove-self {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    background-color: var(--white);
    border-radius: 50%;
    padding: 0;
    width: 28px;
    aspect-ratio: 1;
    box-shadow: 0 1px 2px #0003;
    position: absolute;
    left: -10px;
    bottom: 0;
    display: grid;
    place-items: center
}

.c-button-kurohige__remove-self:before {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_close.svg);
    mask-image: url(/common/2025/img/icon_close.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 10px;
    height: 10px;
    background-color: var(--black)
}

.c-modal-kurohige {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    z-index: 1000000000000;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s
}

.c-modal-kurohige.is-open {
    opacity: 1;
    visibility: visible
}

.c-modal-kurohige[aria-hidden=true] {
    pointer-events: none
}

.c-modal-kurohige__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 16px;
    background-color: rgb(var(--black-rgb)/.8);
    display: grid;
    place-items: center;
    overflow-y: auto
}

.c-modal-kurohige__container {
    width: 100%;
    max-width: 343px
}

.c-modal-kurohige__header {
    position: relative;
    z-index: 1;
    background-size: 360px 62px;
    background-position: center top;
    background-repeat: no-repeat;
    transition: background .2s;
    margin: 0 -10px -22px;
    height: 62px
}

.c-modal-kurohige__header:before,
.c-modal-kurohige__header:after {
    content: "";
    position: absolute;
    width: 29px;
    height: 47px;
    /* height: 100%; */
    top: 5px;
    background-color: #e82828;
    transition: opacity .2s;
}

.c-modal-kurohige__header:before {
    left: 0;
    /* left: -9px; */
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 8px 50%)
}

.c-modal-kurohige__header:after {
    right: 0;
    /* right: -9px; */
    clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 0 100%)
}

._show-osusume .c-modal-kurohige__header {
    background-image: url(/common/2025/img/ribbon_kurohige_2025christmas.webp)
}

._show-osusume .c-modal-kurohige__header:before,
._show-osusume .c-modal-kurohige__header:after {
    opacity: 0
}

.c-modal-kurohige__header-inner {
    color: var(--white);
    background-color: #ed3535;
    text-align: center;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--black-bold);
    font-size: 1.5625rem;
    line-height: 1.2;
    padding: 6px 8px;
    width: calc(100% - 20px);
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.c-modal-kurohige__header-inner {
    color: var(--white);
    background-color: #ed3535;
    text-align: center;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--black-bold);
    font-size: 1.5625rem;
    line-height: 1.2;
    width: calc(100% - 38px);
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    transition: background .2s
}

.c-modal-kurohige__header-inner:before,
.c-modal-kurohige__header-inner:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 5px;
    top: 100%;
    background-color: #d61010;
    transition: opacity .2s;
}

.c-modal-kurohige__header-inner:before {
    left: 0;
    clip-path: polygon(0 0, 100% 0, 100% 100%)
}

.c-modal-kurohige__header-inner:after {
    right: 0;
    clip-path: polygon(0 0, 100% 0, 0 100%)
}

._show-osusume .c-modal-kurohige__header-inner {
    background-color: transparent
}

._show-osusume .c-modal-kurohige__header-inner:before,
._show-osusume .c-modal-kurohige__header-inner:after {
    opacity: 0
}

.c-modal-kurohige__body {
    overscroll-behavior-y: none;
    box-sizing: border-box;
    max-height: 100%;
    background-color: #fffce8;
    border-radius: 0 0 10px 10px;
    padding: 7px 16px 20px;
    /* padding: 12px 16px 20px; */
    position: relative;
    overflow: hidden
}

.c-modal-kurohige__body:before {
    content: "";
    background-color: #ffdd50;
    width: 534px;
    height: calc(100% - 230px);
    border-radius: 50% 50% 0 0/160px 160px 0 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0
}

#kurohige_wrapper {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    aspect-ratio: 376/667;
    top: 50%;
    left: 50%;
    translate: -50% -50%
}

#osusume_wrapper {
    visibility: hidden;
    opacity: 0;
    transition: .2s opacity
}

#kurohige {
    cursor: pointer
}

.c-modal-kurohige__media {
    position: relative;
    background-color: var(--white);
    border-radius: 10px;
    aspect-ratio: 297/312;
    /* aspect-ratio: 297/284; */
    display: grid;
    place-items: center;
    margin: 0 8px
}

/* .c-modal-kurohige__media:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url(/common/2025/img/frame_kurohige.webp);
    background-repeat: no-repeat;
    background-size: contain;
    aspect-ratio: 344/303;
    margin: -7px -23px 0
} */

.c-modal-kurohige__media:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 -24px;
    background-image: url(/common/2025/img/frame_kurohige_2025christmas.webp);
    aspect-ratio: 344/312
}

.c-modal-kurohige__text {
    margin: 12px 0 0;
    position: relative;
    z-index: 1
}

.c-modal-kurohige__copyright {
    font-size: .625rem;
    padding: 10px 12px
}

.c-modal-kurohige__name {
    font-size: 1.125rem;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    line-height: 1.6
}

.c-modal-kurohige__description {
    font-size: .8125rem;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    line-height: 1.6153846154;
    margin: 8px 0 0
}

.c-modal-kurohige__buttons {
    margin: 16px 0 0;
    display: flex;
    justify-content: center;
    column-gap: 8px
}

.c-modal-kurohige__buttons>* {
    max-width: 152px;
    width: 100%
}

.c-modal-kurohige__button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    vertical-align: top;
    min-height: 44px;
    padding: 10px 24px;
    border-radius: 50px;
    background-color: var(--white);
    color: var(--text);
    text-decoration: none;
    font-size: .875rem;
    line-height: 1.5;
    font-weight: var(--extra-bold);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    position: relative;
    box-sizing: border-box;
    transition: border .2s, color .2s, background-color .2s
}

.c-modal-kurohige__button:after {
    position: absolute;
    top: 50%;
    right: 14px;
    translate: 0 -50%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: currentColor;
    flex-shrink: 0;
    transition: background-color .2s
}

.c-modal-kurohige__button[target=_blank] {
    padding-left: 32px;
    padding-right: 32px
}

.c-modal-kurohige__button[target=_blank]:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    width: 14px;
    height: 14px
}

@media (any-hover: hover) {
    .c-modal-kurohige__button:hover {
        background-color: var(--text);
        color: var(--white)
    }

    .c-modal-kurohige__button:hover:after {
        animation: arrow .5s
    }
}

.c-modal-kurohige__button-body {
    position: relative;
    text-align: center
}

.c-modal-kurohige__button-body:has(>wbr) {
    word-break: keep-all;
    overflow-wrap: break-word
}

.c-modal-kurohige__footer {
    display: flex;
    justify-content: center;
    padding: 24px 16px
}

.c-modal-kurohige__close {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    background-color: transparent;
    display: flex;
    align-items: center;
    column-gap: 8px;
    color: var(--white);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1.125rem;
    letter-spacing: -.04em
}

.c-modal-kurohige__close:before {
    content: "";
    display: block;
    -webkit-mask-image: url(/common/2025/img/icon_close.svg);
    mask-image: url(/common/2025/img/icon_close.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 13px;
    height: 13px;
    background-color: currentColor
}

@keyframes pop {
    0% {
        transform: scale(1);
        background-color: #bbb
    }

    50% {
        transform: scale(1.6)
    }

    to {
        background-color: #e02525;
        transform: scale(1)
    }
}

.c-card-favorite {
    --card-favorite-text-color: var(--primary);
    --card-favorite-bg-color: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    position: relative;
    border-radius: 10px;
    color: var(--card-favorite-text-color);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    text-decoration: none;
    font-weight: var(--extra-bold);
    letter-spacing: -.06em;
    background-color: var(--card-favorite-bg-color);
    box-shadow: var(--card-bd-shadow);
    padding: 16px 12px;
    gap: 2px;
    box-sizing: border-box;
    text-align: center;
    transition: box-shadow .2s, background-color .2s
}

@media print,
screen and (min-width: 768px) {
    .c-card-favorite {
        gap: 8px;
        padding: 26px 16px 28px
    }
}

.c-card-favorite:before {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_heart_favorite.svg);
    mask-image: url(/common/2025/img/icon_heart_favorite.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 14px;
    height: 14px;
    background-color: #bbb;
    position: absolute;
    top: 6px;
    left: 10px;
    animation-fill-mode: forwards;
    animation-timing-function: ease;
    animation-duration: .5s
}

@media print,
screen and (min-width: 768px) {
    .c-card-favorite:before {
        width: 20px;
        height: 20px;
        top: 10px;
        left: 10px
    }
}

.c-card-favorite:has(input:checked) {
    --card-favorite-bg-color: var(--light-primary);
    box-shadow: var(--card-bd-shadow-hover)
}

.c-card-favorite:has(input:checked):before {
    animation-name: pop
}

.c-card-favorite:has(input:disabled) {
    --card-favorite-bg-color: var(--white);
    --card-favorite-text-color: var(--text-disabled);
    box-shadow: var(--card-bd-shadow-disabled)
}

._parent-has-bg .c-card-favorite:has(input:checked) {
    --card-favorite-bg-color: var(--white)
}

.c-card-favorite__input {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer
}

.c-card-favorite__input:disabled {
    cursor: default
}

.c-card-favorite__hiragana {
    font-size: .625rem;
    line-height: 1.6
}

@media print,
screen and (min-width: 768px) {
    .c-card-favorite__hiragana {
        font-size: 1rem;
        line-height: 1
    }
}

.c-card-favorite__title {
    font-size: .84375rem;
    line-height: 1.1851851852
}

@media print,
screen and (min-width: 768px) {
    .c-card-favorite__title {
        font-size: 1.5rem;
        line-height: 1.25
    }
}

.c-splash-animation {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    background-color: var(--white);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: opacity 1s ease-out;
    visibility: hidden
}

.c-splash-animation._ready {
    visibility: visible
}

.c-splash-animation._hide {
    opacity: 0;
    pointer-events: none
}

.c-splash-animation__container {
    position: relative;
    width: 100%;
    height: 100%
}

@media print,
screen and (min-width: 768px) {
    .c-splash-animation__container {
        width: initial;
        height: initial
    }
}

.c-splash-animation__element {
    width: inherit;
    height: inherit
}

@media print,
screen and (min-width: 768px) {
    .c-splash-animation__element {
        width: 375px;
        height: 675px
    }
}

.c-splash-animation__skip {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--medium);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    background-color: transparent;
    padding: 1em;
    margin: 0;
    line-height: 1;
    color: var(--primary);
    text-decoration: underline;
    display: block;
    position: absolute;
    bottom: 80px;
    left: 50%;
    translate: -50% 0
}

@media (any-hover: hover) {
    .c-splash-animation__skip:hover {
        text-decoration: none
    }
}

.c-entry-recruit :is(h2, h3, h4, h5) {
    margin: 1.5em 0 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .875rem;
    position: relative;
    padding: 0 0 0 12px
}

@media print,
screen and (min-width: 768px) {
    .c-entry-recruit :is(h2, h3, h4, h5) {
        padding: 0 0 0 12px
    }
}

.c-entry-recruit :is(h2, h3, h4, h5):before {
    content: "";
    width: 4px;
    position: absolute;
    top: .15em;
    bottom: .15em;
    left: 0;
    background-color: var(--primary);
    border-radius: 10px
}

.c-entry-recruit>*:first-child {
    margin-top: 0
}

.c-entry-recruit>*:last-child {
    margin-bottom: 0
}

.modal-container {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    background: #00000080;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .3s ease-out;
    z-index: 90
}

.modal-container:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%
}

.modal-container.active {
    opacity: 1;
    visibility: visible
}

.modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 90%;
    max-width: 305px
}

@media print,
screen and (min-width: 768px) {
    .modal-body {
        max-width: 654px
    }
}

.modal-body h2 {
    color: #e12525;
    margin: 0;
    padding: 0;
    font-size: 1.25rem;
    font-family: var(--font-m-plus-rounded);
    font-weight: var(--extra-bold);
    line-height: 1.4
}

@media print,
screen and (min-width: 768px) {
    .modal-body h2 {
        font-size: clamp(1.25rem, 1rem + 1.25vw, 2.125rem);
        padding: 8px 0
    }
}

.modal-txt {
    text-align: center;
    font-size: 1rem;
    margin: 28px 0 0;
    font-family: var(--font-m-plus-rounded);
    font-weight: var(--medium);
    line-height: 1.375
}

@media print,
screen and (min-width: 768px) {
    .modal-txt {
        font-size: clamp(1rem, .929rem + .36vw, 1.25rem);
        margin-top: 48px
    }
}

.modal-close {
    position: absolute;
    top: 6px;
    right: 6px;
    background-image: url(/common/2025/img/icon_popup.svg);
    background-size: cover;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background-color: transparent;
    border: none
}

@media print,
screen and (min-width: 768px) {
    .modal-close {
        width: 50px;
        height: 50px
    }
}

.modal-button {
    margin-inline: auto;
    margin-top: 39px;
    max-width: 232px
}

@media print,
screen and (min-width: 768px) {
    .modal-button {
        margin-top: 46px;
        max-width: 293px
    }
}

.modal-content {
    background: #fff;
    border: 5px solid #0052A4;
    padding: 35px 17px 41px 21px
}

@media print,
screen and (min-width: 768px) {
    .modal-content {
        padding: 59px 44px 57px 56px
    }
}

.p-article-header__title {
    margin: 0;
    padding: 0 0 28px;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--text);
    border-bottom: 4px dotted var(--primary)
}

@media print,
screen and (min-width: 768px) {
    .p-article-header__title {
        font-size: 2rem;
        line-height: 1.5;
        padding: 0 0 40px
    }
}

.p-article-header__data {
    margin: 28px 0 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px
}

@media print,
screen and (min-width: 768px) {
    .p-article-header__data {
        margin: 40px 0 0
    }
}

.p-article-header__date {
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    font-size: .8125rem;
    line-height: 1.9692307692;
    color: var(--primary)
}

.p-article-header__button {
    color: var(--primary);
    font-size: .875rem;
    line-height: 1.5;
    min-width: 168px;
    min-height: 38px;
    padding: 6px 10px;
    border: 1px solid var(--primary);
    text-decoration: none;
    border-radius: 25px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative
}

.p-article-header__button[target=_blank]:after {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_external.svg);
    mask-image: url(/common/2025/img/icon_external.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 10px;
    height: 10px;
    background-color: var(--primary);
    display: inline-block;
    margin: 0 0 0 5px
}

.p-article-body {
    margin: 20px 0 0
}

@media print,
screen and (min-width: 768px) {
    .p-article-body {
        margin: 40px 0 0
    }
}

:where(.p-article-body img) {
    border-radius: 10px
}

:where(.p-article-body figure) {
    margin: 35px 0
}

@media print,
screen and (min-width: 768px) {
    :where(.p-article-body figure) {
        margin: 40px 0
    }
}

:where(.p-article-body h4) {
    color: var(--primary);
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold);
    margin: 40px 0 20px;
    font-size: 1rem;
    line-height: 1.5
}

@media print,
screen and (min-width: 768px) {
    :where(.p-article-body h4) {
        font-size: 1.25rem;
        line-height: 1.5
    }
}

@media print,
screen and (min-width: 768px) {
    .p-inquiry-block-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, auto);
        grid-auto-flow: column;
        gap: 20px 37px
    }
}

.p-inquiry-block-container__item._main:not(:first-child) {
    margin: 40px 0 0
}

@media print,
screen and (min-width: 768px) {
    .p-inquiry-block-container__item._main:not(:first-child) {
        margin: 0
    }
}

.p-inquiry-block-container__item._sub {
    margin: 20px 0 0
}

@media print,
screen and (min-width: 768px) {
    .p-inquiry-block-container__item._sub {
        margin: 0
    }
}

.p-overview-block-container {
    display: grid;
    gap: 20px 0
}

@media print,
screen and (min-width: 1024px) {
    .p-overview-block-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 35px
    }
}

.p-overview-block-container__item {
    display: grid;
    gap: 20px 0
}

@media print,
screen and (min-width: 1024px) {
    .p-overview-block-container__item {
        gap: 36px 0
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-overview-block-container__item._lg-col-full {
        grid-column: span 2
    }
}

.p-overview-media-object {
    display: flex;
    gap: 16px 8px
}

.p-overview-media-object._vertical {
    flex-direction: column
}

.p-overview-media-object__text {
    flex-grow: 1
}

.p-overview-media-object__title {
    margin: 0 0 8px;
    font-size: 1rem;
    line-height: 1.25;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: var(--extra-bold)
}

@media print,
screen and (min-width: 768px) {
    .p-overview-media-object__title {
        font-size: 1.125rem
    }
}

.p-overview-media-object__description {
    margin: 0
}

.p-overview-media-object__media {
    text-align: center
}

.p-overview-media-object01 {
    display: grid;
    gap: 16px 40px
}

.p-overview-media-object01__text>:first-child {
    margin-top: 0
}

.p-overview-media-object01__text>:last-child {
    margin-bottom: 0
}

.p-overview-media-object02 {
    display: grid;
    gap: 16px 40px
}

@media print,
screen and (min-width: 1024px) {
    .p-overview-media-object02 {
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-overview-media-object02__text>:first-child {
    margin-top: 0
}

.p-overview-media-object02__text>:last-child {
    margin-bottom: 0
}

.p-overview-media-object02__media._col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    column-gap: 20px
}

.p-signs {
    display: flex;
    justify-content: end;
    column-gap: 31px
}

.p-signs__item {
    flex-grow: 1;
    max-width: 335px
}

@media print,
screen and (min-width: 768px) {
    .p-signs__item {
        flex-grow: 0
    }
}

.p-contents-row-greeting {
    display: grid;
    gap: 40px
}

@media print,
screen and (min-width: 1024px) {
    .p-contents-row-greeting {
        grid-template-columns: 1fr 224px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-contents-row-greeting__main {
        grid-column: 1;
        grid-row: 1
    }
}

.p-contents-row-greeting__media {
    text-align: center
}

@media print,
screen and (min-width: 1024px) {
    .p-contents-row-greeting__media {
        grid-column: 2;
        grid-row: 1
    }
}

.p-contents-row-error {
    display: grid;
    gap: 40px 32px
}

@media print,
screen and (min-width: 768px) {
    .p-contents-row-error {
        grid-template-columns: 1fr 38.3333333333%
    }
}

@media print,
screen and (min-width: 768px) {
    .p-contents-row-error__main {
        grid-column: 1;
        grid-row: 1
    }
}

@media print,
screen and (min-width: 768px) {
    .p-contents-row-error__media {
        grid-column: 2;
        grid-row: 1
    }
}

.p-favorite-block {
    position: relative
}

.p-favorite-block__title {
    text-align: center;
    margin: 0
}

.p-favorite-block__description {
    margin: 20px 0 0;
    font-size: .875rem;
    line-height: 1.7142857143
}

@media print,
screen and (min-width: 768px) {
    .p-favorite-block__description {
        margin: 40px 0 0;
        font-size: 1rem;
        line-height: 1.75;
        text-align: center
    }
}

.p-favorite-block__main {
    margin: 20px 0 0
}

@media print,
screen and (min-width: 768px) {
    .p-favorite-block__main {
        margin: 40px 0 0
    }
}

.p-favorite-block__float {
    position: fixed;
    bottom: 20px;
    left: 50%;
    width: 100%;
    translate: -50% 0;
    z-index: 2;
    transition: opacity .2s, visibility .2s
}

@media print,
screen and (min-width: 768px) {
    .p-favorite-block__float {
        width: 344px;
        bottom: 60px
    }
}

.p-favorite-block__float._hide {
    opacity: 0;
    visibility: hidden
}

.p-favorite-block__button {
    position: relative;
    padding: 0 8px
}

.p-favorite-block__note {
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% -50%;
    width: fit-content;
    text-align: center;
    margin: 0;
    z-index: 1;
    font-size: .75rem;
    height: 20px;
    line-height: 1;
    border: 1px solid var(--primary);
    border-radius: 25px;
    background-color: var(--white);
    color: var(--primary);
    font-weight: var(--medium);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px 8px
}

.p-favorite-block__note:empty {
    display: none
}

.p-favorite-block__footer {
    margin: 30px 16px 0
}

@media print,
screen and (min-width: 768px) {
    .p-favorite-block__footer {
        margin: 30px 0 0
    }
}

.p-brand-visual {
    display: grid;
    gap: 24px
}

@media print,
screen and (min-width: 768px) {
    .p-brand-visual {
        gap: 56px 40px;
        grid-template-columns: 1fr 49%;
        grid-template-rows: auto auto;
        justify-content: center;
        align-items: center
    }
}

@media print,
screen and (min-width: 768px) {
    .p-brand-visual._visual-only {
        grid-template-columns: 49% 1fr;
        grid-template-rows: 1fr
    }
}

.p-brand-visual__logo {
    text-align: center
}

@media print,
screen and (min-width: 768px) {
    .p-brand-visual__logo {
        grid-column: 1;
        grid-row: 1;
        margin: auto auto 0;
        width: 50.3401360544%
    }
}

.p-brand-visual__logo img {
    width: auto;
    height: 100px
}

@media print,
screen and (min-width: 768px) {
    .p-brand-visual__logo img {
        width: auto;
        height: auto
    }
}

.p-brand-visual__img {
    text-align: center
}

@media print,
screen and (min-width: 768px) {
    .p-brand-visual__img {
        grid-column: 2;
        grid-row: 1/3
    }
}

@media print,
screen and (min-width: 768px) {
    .p-brand-visual._visual-only .p-brand-visual__img {
        grid-column: 1;
        grid-row: 1
    }
}

.p-brand-visual__img img {
    width: 100%;
    border-radius: 10px
}

.p-brand-visual._visual-only .p-brand-visual__img img {
    border-radius: 0
}

@media print,
screen and (min-width: 768px) {
    .p-brand-visual__text {
        grid-column: 1;
        grid-row: 2;
        margin-bottom: auto
    }
}

@media print,
screen and (min-width: 768px) {
    .p-brand-visual._visual-only .p-brand-visual__text {
        grid-column: 2;
        grid-row: 1;
        margin-bottom: 0
    }
}

.p-brand-visual__text>*:first-child {
    margin-top: 0
}

.p-brand-visual__text>*:last-child {
    margin-bottom: 0
}

.p-campaign-sponly {
    display: inline-block
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-sponly {
        display: none
    }
}

.p-campaign-cta {
    display: inline-block;
    width: 100%;
    padding: 10px 0;
    border-radius: 20px;
    background-color: #fa439b;
    box-shadow: 0 5px #121266;
    font-size: 1rem;
    letter-spacing: -.04em;
    line-height: 1.4;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    transform: rotate(.03deg);
    font-weight: 800;
    color: #fff;
    text-decoration: none;
    text-align: center;
    position: relative
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-cta {
        padding: 27px 74px 30px 0;
        font-size: 2rem
    }
}

.p-campaign-cta:after {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: url(/common/2025/img/campaign/renewal/icon_transition.svg) no-repeat center/contain;
    position: absolute;
    top: calc(50% - 12px);
    right: 11px
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-cta:after {
        width: 48px;
        height: 48px;
        top: calc(50% - 24px);
        right: 26px
    }
}

.p-campaign-cta:hover {
    background-color: #0948c1
}

.p-campaign {
    margin-top: -37px;
    background-color: #fffbcb;
    overflow: hidden
}

.p-campaign-mv {
    position: relative
}

.p-campaign-mv__bg {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0
}

.p-campaign-mv__bg img {
    width: 100%
}

.p-campaign-mv__inner {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 2
}

.p-campaign-title {
    margin: 0 auto;
    padding-top: 20px;
    text-align: center
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-title {
        width: 80%;
        max-width: 1200px;
        padding-top: 30px
    }
}

.p-campaign-copy {
    margin: 23px auto 0;
    text-align: center
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-copy {
        width: 50%;
        max-width: 704px;
        margin: 52px auto 0
    }
}

.p-campaign-copy02 {
    margin-top: 20px;
    text-align: center
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-copy02 {
        width: 50%;
        max-width: 704px;
        margin: 77px auto 0
    }
}

.p-campaign-copy-close {
    width: calc(100% - 72px);
    max-width: 1200px;
    margin: 48px auto 0;
    padding: 29px 20px 24px;
    border-radius: 20px;
    background-color: #fff;
    font-size: .875rem;
    line-height: 1.5;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: 900;
    color: #0948c1;
    text-align: center
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-copy-close {
        margin-top: 80px;
        padding: 50px;
        border-radius: 40px;
        font-size: 1.75rem
    }
}

.p-campaign-present .p-campaign-copy-close {
    width: calc(100% - 40px);
    position: relative;
    z-index: 10
}

.p-campaign-anchor {
    display: block;
    width: 100%;
    max-width: 144px;
    margin: 20px auto 0;
    padding-bottom: 6px;
    font-size: .875rem;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: 800;
    color: #121266;
    text-decoration: none;
    text-align: center;
    position: relative
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-anchor {
        max-width: 277px;
        margin: 40px auto 0;
        padding-bottom: 12px;
        font-size: 1.5rem
    }
}

.p-campaign-anchor:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 3px;
    background-color: #121266;
    position: absolute;
    left: 0;
    bottom: 0
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-anchor:after {
        height: 3px
    }
}

.p-campaign-anchor span {
    display: inline-block;
    padding-right: 19px;
    position: relative
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-anchor span {
        padding-right: 41px
    }
}

.p-campaign-anchor span:after {
    content: "";
    display: block;
    width: 13px;
    height: 8px;
    background: url(/common/2025/img/campaign/renewal/arrow_anchor.svg) no-repeat center/contain;
    position: absolute;
    top: calc(50% - 7px);
    right: 0
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-anchor span:after {
        width: 25px;
        height: 16px;
        top: calc(50% - 8px)
    }
}

.p-campaign-wrap {
    width: 100%;
    position: relative;
    z-index: 2
}

.p-campaign-wrap .p-campaign-deco-001 {
    width: 572px;
    position: absolute;
    top: -17vw;
    right: 76.5vw
}

@media screen and (min-width: 1600px) {
    .p-campaign-wrap .p-campaign-deco-001 {
        width: 32%;
        top: -290px;
        right: 78vw
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-wrap .p-campaign-deco-001 {
        width: 211px
    }
}

.p-campaign-wrap .p-campaign-deco-002 {
    width: 8.5%;
    position: absolute;
    top: -17vw;
    right: 82vw
}

@media screen and (min-width: 1600px) {
    .p-campaign-wrap .p-campaign-deco-002 {
        top: auto;
        bottom: calc(100% + 110px)
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-wrap .p-campaign-deco-002 {
        width: 15%;
        top: -18vw;
        right: 80vw
    }
}

.p-campaign-wrap .p-campaign-deco-003 {
    width: 572px;
    position: absolute;
    top: 24%;
    left: 71vw
}

@media screen and (min-width: 1600px) {
    .p-campaign-wrap .p-campaign-deco-003 {
        width: 32%
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-wrap .p-campaign-deco-003 {
        width: 211px;
        top: 28%;
        left: 76vw
    }
}

.p-campaign-wrap .p-campaign-deco-007 {
    width: 16%;
    position: absolute;
    top: 19%;
    left: -3%
}

@media screen and (max-width: 1023px) {
    .p-campaign-wrap .p-campaign-deco-007 {
        width: 19%;
        left: -6%
    }
}

.p-campaign-wrap .p-campaign-deco-008 {
    width: 9%;
    position: absolute;
    top: 37%;
    left: -2%
}

.p-campaign-wrap .p-campaign-deco-011 {
    width: 128px;
    position: absolute;
    top: 64%;
    left: -2%
}

@media screen and (max-width: 1023px) {
    .p-campaign-wrap .p-campaign-deco-011 {
        width: 18%;
        top: 70%;
        left: -4%
    }
}

.p-campaign-wrap .p-campaign-deco-012 {
    width: 572px;
    position: absolute;
    top: 72%;
    right: 75.5vw
}

@media screen and (max-width: 1023px) {
    .p-campaign-wrap .p-campaign-deco-012 {
        width: 211px
    }
}

.p-campaign-detail {
    width: calc(100% - 60px);
    max-width: 1200px;
    margin: 40px auto 0;
    padding: 65px 20px 30px;
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 0 0 40px #1212661a;
    position: relative;
    z-index: 10
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail {
        margin: 110px auto 0;
        padding: 100px 20px 120px;
        border-radius: 40px
    }
}

.p-campaign-detail__inner {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.p-campaign-detail__title {
    margin: 0;
    text-align: center
}

.p-campaign-detail-content {
    width: 100%;
    margin-top: 30px;
    padding-bottom: 33px;
    position: relative
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-content {
        margin-top: 50px;
        padding-bottom: 53px
    }
}

.p-campaign-detail-content:after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background: url(/common/2025/img/campaign/renewal/dot.svg) repeat-x;
    position: absolute;
    left: 0;
    bottom: 0
}

.p-campaign-detail-content:first-child {
    margin-top: 0
}

.p-campaign-detail-content:last-child {
    padding-bottom: 0
}

.p-campaign-detail-content:last-child:after {
    content: none
}

.p-campaign-detail-unit {
    width: 100%;
    margin: 35px 0 0;
    padding: 25px 20px;
    border: 2px solid #0948C1;
    border-radius: 10px;
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
    position: relative
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-unit {
        margin: 50px 0 0;
        padding: 50px;
        border: 5px solid #0948C1;
        border-radius: 20px
    }
}

.p-campaign-detail-unit__title {
    margin: 0;
    width: 100%;
    font-size: 1.25rem;
    line-height: 1.5;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    font-weight: 800;
    color: #0948c1;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(.03deg) translateY(-50%)
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-unit__title {
        font-size: 2.5rem
    }
}

.p-campaign-detail-unit__title span {
    display: inline-block;
    padding: 0 10px;
    background-color: #fff
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-unit__title span {
        padding: 0 18px
    }
}

.p-campaign-detail-unit ul {
    margin: 0
}

.p-campaign-detail-unit li {
    list-style: none;
    font-size: .875rem;
    position: relative
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-unit li {
        font-size: 1rem
    }
}

.p-campaign-detail-unit li:before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 5px;
    background-color: #0948c1;
    position: absolute;
    top: 8px;
    left: 0
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-unit li:before {
        width: 10px;
        height: 10px;
        top: 9px
    }
}

.p-campaign-detail-unit.p-campaign-detail-unit-2 {
    padding-top: 40px
}

.p-campaign-detail-unit.p-campaign-detail-unit-2 .p-campaign-detail-unit__title {
    transform: translateY(-30%)
}

.p-campaign-detail .p-campaign-deco-004 {
    width: 20.5%;
    position: absolute;
    top: 0;
    left: 10%;
    transform: translateY(-40%);
    z-index: 2
}

@media screen and (min-width: 1600px) {
    .p-campaign-detail .p-campaign-deco-004 {
        width: 246px
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-detail .p-campaign-deco-004 {
        width: 24%;
        left: 22px
    }
}

.p-campaign-detail .p-campaign-deco-005 {
    width: 23%;
    position: absolute;
    top: 0;
    left: 89%;
    transform: translateY(-40%);
    z-index: 2
}

@media screen and (min-width: 1600px) {
    .p-campaign-detail .p-campaign-deco-005 {
        width: 274px
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-detail .p-campaign-deco-005 {
        width: 26%;
        left: 84%;
        transform: translateY(-22%)
    }
}

.p-campaign-detail .p-campaign-deco-006 {
    width: 9.5%;
    position: absolute;
    top: 13%;
    left: 0;
    transform: translate(-55%);
    z-index: 2
}

@media screen and (min-width: 1600px) {
    .p-campaign-detail .p-campaign-deco-006 {
        width: 117px
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-detail .p-campaign-deco-006 {
        width: 7.5%;
        top: 9%
    }
}

.p-campaign-detail .p-campaign-deco-009 {
    width: 15.5%;
    position: absolute;
    top: 51%;
    right: 0;
    transform: translate(65%);
    z-index: 2
}

@media screen and (min-width: 1600px) {
    .p-campaign-detail .p-campaign-deco-009 {
        width: 185px
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-detail .p-campaign-deco-009 {
        width: 19%;
        top: 40.5%
    }
}

.p-campaign-detail .p-campaign-deco-010 {
    width: 20%;
    position: absolute;
    top: 58%;
    left: 0;
    transform: translate(-50%);
    z-index: 2
}

@media screen and (min-width: 1600px) {
    .p-campaign-detail .p-campaign-deco-010 {
        width: 240px
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-detail .p-campaign-deco-010 {
        width: 24%;
        left: auto;
        right: 100%;
        transform: translate(22px)
    }
}

.p-campaign-detail .p-campaign-deco-013 {
    width: 12%;
    position: absolute;
    top: 78%;
    right: -226px;
    z-index: 2
}

@media screen and (min-width: 1600px) {
    .p-campaign-detail .p-campaign-deco-013 {
        width: 144px
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-detail .p-campaign-deco-013 {
        top: 68%;
        right: -44px
    }
}

.p-campaign-detail .p-campaign-deco-014 {
    width: 28%;
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translate(45%, 34%);
    z-index: 2
}

@media screen and (min-width: 1600px) {
    .p-campaign-detail .p-campaign-deco-014 {
        width: 332px
    }
}

@media screen and (max-width: 1023px) {
    .p-campaign-detail .p-campaign-deco-014 {
        width: 22%;
        transform: translate(45%, 39%)
    }
}

.p-campaign-detail__text {
    margin: 20px 0 0;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    transform: rotate(.03deg);
    color: #121266;
    text-align: center
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail__text {
        margin: 40px 0 0
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-summary .p-campaign-detail__title source {
        max-width: 416px
    }
}

.p-campaign-detail-summary .p-campaign-detail__text {
    font-size: 1.5rem;
    line-height: 1.4;
    font-weight: 900
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-summary .p-campaign-detail__text {
        font-size: 2.1875rem
    }
}

.p-campaign-detail-summary .p-campaign-detail__text small {
    font-size: .875rem
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-summary .p-campaign-detail__text small {
        font-size: 1.75rem
    }
}

.p-campaign-detail-summary .p-campaign-detail__text .num {
    font-size: 2.4375rem;
    font-weight: 800;
    color: #fa439b
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-summary .p-campaign-detail__text .num {
        font-size: 3.625rem
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-period .p-campaign-detail__title source {
        max-width: 228px
    }
}

.p-campaign-detail-period .p-campaign-detail__text {
    font-size: .875rem;
    font-weight: 800
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-period .p-campaign-detail__text {
        font-size: 1.75rem
    }
}

.p-campaign-detail-period .p-campaign-detail__text .num {
    font-size: 1.25rem;
    font-weight: 900
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-period .p-campaign-detail__text .num {
        font-size: 2.5rem
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-method .p-campaign-detail__title source {
        max-width: 229px
    }
}

.p-campaign-detail-method .p-campaign-detail__text {
    font-size: .875rem;
    font-weight: 800
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-method .p-campaign-detail__text {
        font-size: 1.75rem
    }
}

.p-campaign-detail-method .p-campaign-detail__text span {
    display: inline-block;
    padding: 0 38px;
    position: relative
}

.p-campaign-detail-method .p-campaign-detail__text span:before {
    content: "";
    display: block;
    width: 22px;
    height: 33px;
    background: url(/common/2025/img/campaign/renewal/deco_line_l_sp.svg) no-repeat center/contain;
    position: absolute;
    left: 0;
    bottom: 5px
}

.p-campaign-detail-method .p-campaign-detail__text span:after {
    content: "";
    display: block;
    width: 22px;
    height: 33px;
    background: url(/common/2025/img/campaign/renewal/deco_line_r_sp.svg) no-repeat center/contain;
    position: absolute;
    bottom: 0;
    right: 5px
}

.p-campaign-detail-method .p-campaign-cta {
    display: block;
    max-width: 264px;
    margin: 16px auto 0
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-detail-method .p-campaign-cta {
        max-width: 900px;
        margin: 30px auto
    }
}

.p-campaign-ctaarea {
    padding: 0 36px;
    text-align: center
}

.p-campaign-ctaarea .p-campaign-cta {
    max-width: 264px;
    margin: 40px auto 0
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-ctaarea .p-campaign-cta {
        max-width: 900px;
        margin: 100px auto 0
    }
}

.p-campaign-present {
    width: 100%;
    position: relative
}

.p-campaign-present:before {
    content: "";
    display: block;
    width: 100%;
    height: 50%;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1
}

.p-campaign-present .p-campaign-present__title {
    width: 100%;
    margin: 0;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    transform: translateY(-50%)
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__title source {
        max-width: 600px
    }
}

.p-campaign-present__wrap {
    width: 100%;
    margin-top: 85px;
    padding: 45px 16px 70px;
    border-radius: 20px;
    background-color: #f0fafd;
    box-shadow: 0 5px #3381981a;
    position: relative;
    z-index: 2;
    overflow: hidden
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present__wrap {
        margin-top: 190px;
        padding: 120px 0 146px;
        border-radius: 100px;
        box-shadow: 0 10px #3381981a
    }
}

.p-campaign-present__wrap:before {
    content: "";
    display: block;
    width: 100%;
    height: 50%;
    background: url(/common/2025/img/campaign/renewal/bg_present_top.webp) no-repeat center top/contain;
    position: absolute;
    top: 0;
    left: 0
}

.p-campaign-present__wrap:after {
    content: "";
    display: block;
    width: 100%;
    height: 50%;
    background: url(/common/2025/img/campaign/renewal/bg_present_bottom.webp) no-repeat center bottom/contain;
    position: absolute;
    left: 0;
    bottom: 0
}

.p-campaign-present__inner {
    position: relative;
    z-index: 10
}

.p-campaign-present .p-campaign-present__note {
    font-size: .75rem;
    text-align: center
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__note {
        font-size: 1rem
    }
}

.p-campaign-present ul {
    display: flex;
    gap: 20px 0;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1200px;
    margin: 36px auto 0;
    padding: 0
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present ul {
        gap: 40px 0;
        margin: 46px auto 0
    }
}

.p-campaign-present li {
    margin: 0;
    padding: 0;
    list-style: none
}

.p-campaign-present li:before {
    content: none
}

.p-campaign-present .p-campaign-present__item {
    width: 50%;
    color: #121266;
    text-align: center
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item {
        width: 25%
    }
}

.p-campaign-present .p-campaign-present__item:nth-child(2n) {
    padding-top: 0
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item:nth-child(2n) {
        padding-top: 0
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt4 {
        margin-top: 4px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt6 {
        margin-top: 6px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt10 {
        margin-top: 10px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt12 {
        margin-top: 12px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt14 {
        margin-top: 14px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt16 {
        margin-top: 16px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt30 {
        margin-top: 30px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt34 {
        margin-top: 34px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt48 {
        margin-top: 48px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt60 {
        margin-top: 60px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt64 {
        margin-top: 64px
    }
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item.p-campaign-mt82 {
        margin-top: 82px
    }
}

.p-campaign-present .p-campaign-present__item p {
    margin-bottom: 0;
    padding: 0 5px;
    text-align: left
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item p {
        padding: 0 20px
    }
}

.p-campaign-present .p-campaign-present__item__name {
    margin-top: 20px;
    font-size: .875rem;
    font-weight: 600
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item__name {
        font-size: 1.25rem
    }
}

.p-campaign-present .p-campaign-present__item__subject {
    margin-top: 8px;
    font-size: .75rem
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item__subject {
        margin-top: 10px;
        font-size: 1.125rem
    }
}

.p-campaign-present .p-campaign-present__item__copyright {
    margin-top: 8px;
    font-size: .625rem
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item__copyright {
        margin-top: 10px;
        font-size: .75rem
    }
}

.p-campaign-present .p-campaign-present__item__note {
    margin-top: 8px;
    font-size: .625rem
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item__note {
        margin-top: 10px;
        font-size: .75rem
    }
}

.p-campaign-present .p-campaign-present__item__link {
    display: block;
    width: 80%;
    margin: 16px auto 0;
    padding: 6px 0;
    border-radius: 50px;
    background-color: #0948c1;
    font-size: .625rem;
    color: #fff;
    text-decoration: none;
    text-align: center;
    position: relative
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item__link {
        width: 100%;
        max-width: 168px;
        margin: 24px auto 0;
        padding: 10px 0;
        font-size: .875rem
    }
}

.p-campaign-present .p-campaign-present__item__link:after {
    content: "";
    display: block;
    width: 5px;
    height: 10px;
    background: url(/common/2025/img/campaign/renewal/arrow_item_link.svg) no-repeat center/contain;
    position: absolute;
    top: calc(50% - 5px);
    right: 8px
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-present__item__link:after {
        width: 8px;
        height: 13px;
        top: calc(50% - 7px);
        right: 12px
    }
}

.p-campaign-present .p-campaign-present__item__link:hover {
    background-color: #fa439b
}

.p-campaign-present .p-campaign-cta {
    display: block;
    max-width: 264px;
    margin: 40px auto 0
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-present .p-campaign-cta {
        max-width: 900px;
        margin: 80px auto 0
    }
}

.p-campaign-sns {
    padding: 60px 0 40px;
    background-color: #fff;
    position: relative;
    z-index: 10
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-sns {
        padding: 150px 0 107px
    }
}

.p-campaign-sns:after {
    content: "";
    display: block;
    width: 32%;
    max-width: 130px;
    height: 164px;
    background: url(/common/2025/img/campaign/renewal/deco_share.webp) no-repeat center top/contain;
    position: absolute;
    top: -30px;
    left: 50%;
    z-index: 3;
    transform: translate(-50%)
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-sns:after {
        width: 200px;
        max-width: initial;
        height: 164px;
        background: url(/common/2025/img/campaign/renewal/deco_share.webp) no-repeat center/contain;
        top: -50px;
        left: calc(50% - 100px);
        transform: translate(0)
    }
}

.p-campaign-sns__inner {
    width: 100%;
    max-width: 400px;
    margin: 0 auto
}

.p-campaign-sns p {
    font-size: .875rem;
    font-family: var(--font-m-plus-rounded);
    rotate: .03deg;
    transform: rotate(.03deg);
    font-weight: 800;
    color: #121266;
    text-align: center
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-sns p {
        font-size: 1.75rem
    }
}

.p-campaign-sns ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 10px;
    width: 100%;
    max-width: 264px;
    margin: 10px auto 0;
    padding: 0
}

@media print,
screen and (min-width: 1024px) {
    .p-campaign-sns ul {
        gap: 0 16px;
        max-width: 400px;
        margin-top: 24px
    }
}

.p-campaign-sns li {
    margin: 0;
    padding: 0
}

.p-campaign-sns li:before {
    content: none
}

.p-top-xmas {
    background-image: url(/common/2025/img/xmas/bg_xmas.webp);
    overflow: clip
}

.p-top-xmas__mainvisual {
    padding: 24px 30px 0;
    position: relative
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas__mainvisual {
        padding: 64px 0 0;
        margin: 0 auto;
        width: min(74.1875vw, 1187px)
    }
}

.p-top-xmas__title {
    margin: 0
}

.p-top-xmas__title img {
    width: 100%
}

.p-top-xmas__title:before {
    content: "";
    background: radial-gradient(#61dffffc, #13434900 70%);
    opacity: .68;
    position: absolute;
    bottom: 20px;
    left: 50%;
    translate: -50% 0;
    mix-blend-mode: overlay;
    width: 200px;
    height: 200px;
    transform: translateZ(0)
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas__title:before {
        width: 400px;
        height: 400px;
        bottom: -50px
    }
}

.p-top-xmas__banner {
    position: absolute;
    width: 32.5333333333vw;
    top: 50%;
    right: 0
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas__banner {
        width: min(23.3125vw, 373px);
        top: auto;
        bottom: 0;
        right: min(1.5vw, 24px);
        translate: 50% 50%
    }
}

.p-top-xmas-thumbnails {
    --top-xmas-thumbnails-gap: 4px;
    display: grid;
    gap: var(--top-xmas-thumbnails-gap);
    overflow: clip;
    padding: 20px 0;
    position: relative;
    z-index: 1
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-thumbnails {
        --top-xmas-thumbnails-gap: 20px;
        padding: 40px 0
    }
}

@keyframes infinity-scroll-left {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-100%)
    }
}

@keyframes infinity-scroll-right {
    0% {
        transform: translate(-100%)
    }

    to {
        transform: translate(0)
    }
}

.p-top-xmas-thumbnails__row,
.p-top-xmas-thumbnails__list {
    display: flex;
    gap: var(--top-xmas-thumbnails-gap)
}

[data-cloned] .p-top-xmas-thumbnails__list--left {
    animation: infinity-scroll-left 90s infinite linear .5s both
}

[data-cloned] .p-top-xmas-thumbnails__list--right {
    animation: infinity-scroll-right 90s infinite linear .5s both
}

@media(any-hover:hover) {
    .p-top-xmas-thumbnails__list:hover {
        z-index: 1
    }
}

@media print and (any-hover:hover),
screen and (any-hover:hover)and (min-width:768px) {
    .p-top-xmas-thumbnails__row:hover .p-top-xmas-thumbnails__list {
        animation-play-state: paused
    }
}

.p-top-xmas-thumbnails__item {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    background-color: transparent;
    cursor: pointer;
    width: 98px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    transition: scale .3s;
    position: relative
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-thumbnails__item {
        width: min(22.96875vw, 294px)
    }
}

@media(any-hover:hover) {
    .p-top-xmas-thumbnails__item:hover {
        scale: 1.17;
        z-index: 1
    }
}

.p-top-xmas-thumbnails__img img {
    aspect-ratio: 294/288;
    object-fit: contain;
    border-radius: 8px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-thumbnails__img img {
        border-radius: 18px
    }
}

.p-top-xmas__footer {
    position: relative;
    background-color: var(--white);
    padding: 50px 0 1px;
    margin: -30px 0 0
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas__footer {
        margin: 0;
        padding: 1px 0
    }
}

.p-top-xmas__footer-bg {
    position: absolute;
    top: -40px;
    left: 50%;
    translate: -50% 0;
    width: 1000px;
    height: 41px;
    overflow: hidden
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas__footer-bg {
        top: -230px;
        width: 5000px;
        height: 363px
    }
}

.p-top-xmas-modal-slider {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s
}

.p-top-xmas-modal-slider.is-open {
    opacity: 1;
    visibility: visible
}

.p-top-xmas-modal-slider[aria-hidden=true] {
    pointer-events: none
}

.p-top-xmas-modal-slider__overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 35px 0 16px;
    background-color: #1717178f;
    display: grid;
    place-items: center
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-slider__overlay {
        padding: 35px 0 44px
    }
}

.p-top-xmas-modal-slider__container {
    width: 100%;
    padding: 0 8px;
    overflow: hidden;
    box-sizing: border-box
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-slider__container {
        padding: 0
    }
}

.p-top-xmas-modal-slider__body {
    overscroll-behavior-y: none;
    box-sizing: border-box;
    max-height: 100%
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-slider__body {
        overflow-y: visible;
        width: clamp(600px, 60vw, 970px);
        margin: 0 auto
    }
}

.p-top-xmas-modal-slider__track {
    overflow: clip;
    height: 100%
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-slider__track {
        overflow: visible
    }
}

.p-top-xmas-modal-slider__item {
    display: flex
}

.p-top-xmas-modal-slider__arrow {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    padding: 0;
    background-color: var(--white);
    font-size: .0625rem;
    text-indent: -9999px;
    display: block;
    align-items: center;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    z-index: 1;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    box-shadow: 0 4px 4px #00000029
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-slider__arrow {
        width: 94px;
        height: 94px
    }
}

.p-top-xmas-modal-slider__arrow:before {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow.svg);
    mask-image: url(/common/2025/img/icon_arrow.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 16px;
    height: 16px;
    background-color: #03562e;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-slider__arrow:before {
        width: 32px;
        height: 32px
    }
}

.p-top-xmas-modal-slider__arrow.splide__arrow--prev {
    left: -4px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-slider__arrow.splide__arrow--prev {
        left: -120px
    }
}

.p-top-xmas-modal-slider__arrow.splide__arrow--prev:before {
    content: "";
    rotate: 180deg
}

.p-top-xmas-modal-slider__arrow.splide__arrow--next {
    right: -4px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-slider__arrow.splide__arrow--next {
        right: -120px
    }
}

.p-top-xmas-modal-slider__arrow:disabled {
    display: none
}

.p-top-xmas-modal-slider__close {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: 0;
    background-color: transparent;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 1;
    font-size: .0625rem;
    text-indent: -9999px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-slider__close {
        width: 40px;
        height: 40px;
        top: 56px;
        right: 56px
    }
}

.p-top-xmas-modal-slider__close:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    -webkit-mask-image: url(/common/2025/img/xmas/icon_close_rounded.svg);
    mask-image: url(/common/2025/img/xmas/icon_close_rounded.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 100%;
    height: 100%;
    background-color: #21770e
}

.p-top-xmas-modal-card {
    background-color: #21770e;
    padding: 10px;
    border-radius: 4px;
    flex-grow: 1;
    display: grid;
    max-height: calc(100svh - 60px);
    overflow: auto;
    font-family: var(--font-m-plus-rounded);
    font-weight: var(--black-bold);
    color: #513f1a
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card {
        border-radius: 8px;
        padding: 26px
    }
}

.p-top-xmas-modal-card__inner {
    background-color: var(--white);
    border-radius: 4px;
    padding: 0;
    display: grid;
    grid-template-rows: 84px 1fr
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__inner {
        border-radius: 8px;
        padding: 0 0 10px;
        grid-template-rows: auto
    }
}

.p-top-xmas-modal-card__header {
    margin: 0
}

.p-top-xmas-modal-card__header img {
    width: 170px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__header img {
        width: 320px
    }
}

.p-top-xmas-modal-card__main {
    display: grid;
    grid-template-rows: auto 1fr;
    align-items: stretch
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__main {
        grid-template-columns: 1fr 50%;
        grid-template-rows: auto;
        padding: 0 18px 0 42px;
        align-items: center
    }
}

.p-top-xmas-modal-card__img {
    margin: 0 42px;
    display: flex;
    align-items: center;
    justify-content: center
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__img {
        grid-column: 2/3;
        grid-row: 1/2;
        margin: -60px 0 0 calc(min(3.75vw, 70px)*-1);
        display: block
    }
}

.p-top-xmas-modal-card__img img {
    aspect-ratio: 1;
    object-fit: contain
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__img img {
        width: 100%
    }
}

.p-top-xmas-modal-card__text {
    display: grid;
    grid-template-rows: auto 1fr
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__text {
        display: contents
    }
}

.p-top-xmas-modal-card__title {
    margin: 0 26px;
    font-size: .875rem;
    line-height: 1.4285714286
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__title {
        margin: -20px 0 0;
        font-size: min(1.75vw, 1.75rem);
        line-height: 1.5;
        grid-column: 1/2;
        grid-row: 1/2
    }
}

.p-top-xmas-modal-card__data {
    margin: 8px 26px 0;
    display: grid;
    align-items: stretch;
    grid-template-rows: auto 1fr minmax(30px, auto)
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__data {
        display: block;
        margin: -50px 0 0;
        grid-column: 1/3;
        grid-row: 2/3
    }
}

.p-top-xmas-modal-card__price {
    display: flex;
    flex-direction: column;
    margin: 0 0 12px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__price {
        margin: 0
    }
}

.p-top-xmas-modal-card__price-label {
    font-size: .75rem;
    line-height: 1.5;
    rotate: .03deg
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__price-label {
        font-size: clamp(.75rem, 1.125vw, 1.125rem);
        line-height: 1.5
    }
}

.p-top-xmas-modal-card__price-value {
    font-size: 1.0625rem;
    line-height: 1
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__price-value {
        font-size: clamp(1.375rem, 2.8125vw, 2.8125rem)
    }
}

.p-top-xmas-modal-card__price-value small {
    font-size: .75rem;
    line-height: 1.5
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__price-value small {
        font-size: clamp(1rem, 1.8125vw, 1.8125rem)
    }
}

.p-top-xmas-modal-card__button {
    background-color: #d8391a;
    color: var(--white);
    margin: auto auto 0;
    text-decoration: none;
    border-radius: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 178px;
    min-height: 35px;
    font-size: .875rem;
    font-family: var(--font-m-plus-rounded);
    font-weight: var(--font-bold);
    box-shadow: 0 4px 4px #00000029
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__button {
        max-width: none;
        width: min(100%, 420px);
        min-height: 67px;
        margin: 16px 0 0;
        font-size: 1.75rem
    }
}

.p-top-xmas-modal-card__note {
    font-weight: var(--normal);
    margin: 10px 0 0;
    padding: 0 0 10px;
    font-size: .5rem;
    line-height: 2;
    box-sizing: border-box
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-modal-card__note {
        padding: 0;
        font-size: .8125rem;
        line-height: 1.6153846154;
        grid-column: 1/3;
        grid-row: 3/4;
        min-height: 46px
    }
}

.p-top-xmas-button {
    --p-top-xmas-button-bg-color: #d93a1b;
    width: min(100%, 270px);
    background-color: var(--p-top-xmas-button-bg-color);
    border-radius: 40px;
    color: var(--white);
    text-decoration: none;
    font-size: .875rem;
    line-height: 1.4285714286;
    letter-spacing: .08em;
    font-weight: var(--bold);
    font-family: var(--font-m-plus-rounded);
    display: block;
    padding: 5px;
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
    transition: background-color .3s
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-button {
        margin: 0 auto;
        width: min(100%, 370px);
        font-size: 1.125rem;
        line-height: 1.5;
        padding: 10px
    }
}

@media(any-hover:hover) {
    .p-top-xmas-button:hover {
        --p-top-xmas-button-bg-color: #018513
    }
}

.p-top-xmas-button__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border: 1px solid #edb73a;
    border-radius: 40px;
    position: relative;
    box-shadow: 0 3px 6px #00000029;
    background-color: inherit
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-button__inner {
        min-height: 55px;
        border-width: 2px
    }
}

.p-top-xmas-button__inner:before,
.p-top-xmas-button__inner:after {
    content: "";
    width: 16px;
    height: 17px;
    background-image: url(/common/2025/img/xmas/parts_star.svg);
    background-size: 16px 17px;
    background-repeat: no-repeat;
    position: absolute;
    background-color: inherit;
    border-radius: 50%
}

.p-top-xmas-button__inner:before {
    top: 0;
    left: 0;
    rotate: 180deg
}

.p-top-xmas-button__inner:after {
    bottom: 0;
    right: 0
}

.p-top-xmas-button__parts01 {
    position: absolute;
    top: 0;
    left: -27px;
    width: 62px;
    height: auto;
    z-index: 1
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-button__parts01 {
        width: 78px;
        top: -13px
    }
}

.p-top-xmas-button__parts02 {
    position: absolute;
    top: -14px;
    right: 0;
    width: 44px;
    height: auto;
    z-index: 1
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-button__parts02 {
        width: 60px;
        top: -18px;
        right: -5px
    }
}

.p-top-xmas-link-card {
    background-color: #043f51;
    color: var(--white);
    text-decoration: none;
    border-radius: 12px;
    display: grid;
    grid-template-rows: auto 1fr;
    padding: 8px 0 10px;
    border-bottom: 6px solid #033342;
    box-shadow: 0 4px 8px #00000029;
    position: relative;
    transition: background-color .3s, border-color .3s
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-link-card {
        padding: 10px 0 30px;
        border-bottom-width: 8px;
        gap: 13px
    }
}

@media(any-hover:hover) {
    .p-top-xmas-link-card:hover {
        background-color: #018513;
        border-color: #013408
    }
}

.p-top-xmas-link-card__img {
    margin: 0 24px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-link-card__img {
        margin: 0 24px
    }
}

.p-top-xmas-link-card__img img {
    width: 100%
}

.p-top-xmas-link-card__text {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 12px
}

.p-top-xmas-link-card__title {
    margin: 0;
    font-family: var(--font-m-plus-rounded);
    font-weight: var(--bold);
    font-size: .8125rem;
    line-height: 1.4615384615;
    display: flex;
    align-items: center;
    gap: 8px;
    rotate: .03deg
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-link-card__title {
        font-size: .9375rem;
        line-height: 1.4666666667
    }
}

.p-top-xmas-link-card__title:before {
    content: "";
    -webkit-mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    mask-image: url(/common/2025/img/icon_arrow_circle.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 13px;
    height: 13px;
    background-color: var(--white)
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-link-card__title:before {
        width: 19px;
        height: 19px
    }
}

.p-top-xmas-special {
    position: relative
}

.p-top-xmas-special__light {
    position: absolute;
    width: 420px;
    height: 320px;
    aspect-ratio: 1;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background: radial-gradient(#18a6b7, #18a5b6fc 0%, #13434900 70%);
    opacity: .68;
    mix-blend-mode: screen;
    transform: translateZ(0)
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-special__light {
        width: 932px;
        height: 750px;
        opacity: .7
    }
}

.p-top-xmas-special__wreath {
    margin: 0 auto;
    display: block;
    width: 221px;
    position: relative
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-special__wreath {
        width: min(100%, 1000px)
    }
}

.p-top-xmas-special__button {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 300px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-special__button {
        width: 420px;
        translate: -50% calc(-50% - 20px)
    }
}

.p-top-xmas-special__lead {
    margin: 0 auto 10px;
    color: var(--white);
    font-family: var(--font-m-plus-rounded);
    font-weight: var(--bold);
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    font-size: .625rem;
    line-height: 1.5;
    letter-spacing: .05em;
    gap: 10px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-special__lead {
        font-size: .875rem;
        line-height: 1.4285714286
    }
}

.p-top-xmas-special__lead:before,
.p-top-xmas-special__lead:after {
    content: "";
    width: 1px;
    height: 8px;
    background-color: var(--white)
}

@media print,
screen and (min-width:768px) {

    .p-top-xmas-special__lead:before,
    .p-top-xmas-special__lead:after {
        height: 11px
    }
}

.p-top-xmas-special__lead:before {
    rotate: -35deg
}

.p-top-xmas-special__lead:after {
    rotate: 35deg
}

.p-top-xmas-pickup {
    position: relative;
    z-index: 1;
    background-image: url(/common/2025/img/xmas/bg_snow_sp.webp);
    background-repeat: no-repeat;
    background-position: center 50px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-pickup {
        margin: 0 0 80px;
        background-image: url(/common/2025/img/xmas/bg_snow.webp);
        background-position: center top
    }
}

.p-top-xmas-pickup__title {
    text-align: center;
    margin: 0 0 20px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-pickup__title {
        margin: 0 0 80px
    }
}

.p-top-xmas-pickup__title img {
    width: 152px
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-pickup__title img {
        width: 221px
    }
}

.p-top-xmas-pickup__santa {
    display: flex;
    align-items: flex-end;
    position: relative;
    margin: 0 -5px 0 -10px;
    pointer-events: none
}

@media print,
screen and (min-width:768px) {
    .p-top-xmas-pickup__santa {
        margin: 0 -20px 0 0
    }
}