@charset "UTF-8";
/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */
@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal;
}
:root {
    --swiper-theme-color: #007aff;
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
    touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
}

.swiper-slide-invisible-blank {
    visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto;
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden;
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(
        to left,
        rgba(0, 0, 0, 0.5),
        rgba(0, 0, 0, 0)
    );
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.5),
        rgba(0, 0, 0, 0)
    );
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.5),
        rgba(0, 0, 0, 0)
    );
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.5),
        rgba(0, 0, 0, 0)
    );
}

.swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
    scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999;
}

.swiper-centered.swiper-horizontal
    > .swiper-wrapper
    > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size);
}

:root {
    --swiper-navigation-size: 44px;
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: 10px;
    right: auto;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 10px;
    left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next";
}

.swiper-button-lock {
    display: none;
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 0.3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%;
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
}

.swiper-pagination-bullet {
    width: var(
        --swiper-pagination-bullet-width,
        var(--swiper-pagination-bullet-size, 8px)
    );
    height: var(
        --swiper-pagination-bullet-height,
        var(--swiper-pagination-bullet-size, 8px)
    );
    display: inline-block;
    border-radius: 50%;
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
}

.swiper-pagination-bullet:only-child {
    display: none !important;
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical > .swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical
    > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet,
.swiper-vertical
    > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet {
    display: inline-block;
    transition:
        0.2s transform,
        0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets
    .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal
    > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}

.swiper-horizontal
    > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet {
    transition:
        0.2s transform,
        0.2s left;
}

.swiper-horizontal.swiper-rtl
    > .swiper-pagination-bullets-dynamic
    .swiper-pagination-bullet {
    transition:
        0.2s transform,
        0.2s right;
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, 0.25);
    position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical
    > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0;
}

.swiper-horizontal
    > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical > .swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0;
}

.swiper-pagination-lock {
    display: none;
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, 0.1);
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%;
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical > .swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%;
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    left: 0;
    top: 0;
}

.swiper-scrollbar-cursor-drag {
    cursor: move;
}

.swiper-scrollbar-lock {
    display: none;
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.swiper-zoom-container > canvas,
.swiper-zoom-container > img,
.swiper-zoom-container > svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.swiper-slide-zoomed {
    cursor: move;
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
    flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper-cube {
    overflow: visible;
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-next + .swiper-slide,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
}

.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-top {
    z-index: 0;
    backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px);
}

.swiper-flip {
    overflow: visible;
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-top {
    z-index: 0;
    backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
}

.swiper-cards {
    overflow: visible;
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    backface-visibility: hidden;
    overflow: hidden;
}

:root {
    --color-grayscale-100: 255, 255, 255;
    --color-grayscale-100-op10: rgba(var(--color-grayscale-100), 0.1);
    --color-grayscale-100-op30: rgba(var(--color-grayscale-100), 0.3);
    --color-grayscale-100-op50: rgba(var(--color-grayscale-100), 0.5);
    --color-grayscale-100-op70: rgba(var(--color-grayscale-100), 0.7);
    --color-grayscale-100-op90: rgba(var(--color-grayscale-100), 0.9);
    --color-grayscale-500: 181, 192, 195;
    --color-grayscale-700: 170, 184, 182;
    --color-grayscale-800: 161, 179, 183;
    --color-grayscale-900: 98, 105, 104;
    --color-primary-100: 223, 232, 235;
    --color-primary-200: 195, 218, 226;
    --color-primary-300: 170, 210, 219;
    --color-primary-400: 145, 190, 204;
    --color-primary-400-op50: rgba(var(--color-primary-400), 0.5);
    --color-primary-500: 108, 158, 171;
    --color-primary-700: 74, 140, 157;
    --color-primary-700-op70: rgba(var(--color-primary-700), 0.7);
    --color-primary-800: 45, 109, 125;
    --color-primary-800-op70: rgba(var(--color-primary-800), 0.7);
    --color-accent-300: 120, 185, 201;
    --color-accent-500: 79, 208, 236;
    --color-accent-600: 60, 175, 201;
    --color-surface-100: 241, 241, 241;
    --color-surface-200: 233, 236, 236;
    --color-surface-300: 205, 218, 221;
    --gradient01: linear-gradient(180deg, #74aab9, #57909e);
    --gradient02: linear-gradient(180deg, #57909e, #74aab9);
    --gradient03: linear-gradient(
        180deg,
        var(--color-grayscale-100-op30) 0%,
        rgba(var(--color-grayscale-100), 0) 85%
    );
    --gradient04: linear-gradient(
        180deg,
        var(--color-grayscale-100-op50) 0%,
        rgba(var(--color-grayscale-100), 0) 85%
    );
    --gradient05: linear-gradient(180deg, #f8f9f9, #e9ecec);
    --blur01: 20px;
    --blur02: 15px;
    --fontfamily_base:
        "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
    --font_color_base: rgb(var(--color-grayscale-100));
    --font_size_base: clamp(0.6rem, 2.6vw, 1rem);
    --line-height_base: 1.9;
    --line-height_head: 1.5;
    --line-height_wide: 2.2;
    --line-height_narrow: 1.3;
    --letter-spacing_base: 0.05em;
    --font_weight_base: 500;
    --font_weight_thin: 400;
    --font_weight_bold: 700;
    --fontfamily_en: "Josefin Sans";
    --font_weight_en: 400;
    --line-height_en: 1;
    --letter-spacing_en: 0;
    --contents_width: 1100px;
    --contents_wide_width: 1460px;
    --body_padding_side: 8%;
    --contents_width_with_padding: 1200px;
    --contents_wide_width_with_padding: 1560px;
    --sidebar_width: 250px;
    --header_height: 70px;
    --mh--easing: cubic-bezier(0.26, 0.06, 0, 1);
}
@media (min-width: 768px) {
    :root {
        --body_padding_side: 50px;
        --header_height: 125px;
        --font_size_base: clamp(0.5rem, 0.65vw, 1rem);
    }
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

html {
    font-size: 62.5%;
    word-break: break-all;
}

body {
    -webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
main,
footer,
header,
menu,
nav,
section {
    display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    word-break: break-word;
    line-break: strict;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

ul:not([class]),
ol:not([class]) {
    padding-left: 1.25em;
}

ul[class],
ol[class] {
    list-style: none;
}

span {
    font-weight: inherit;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

a {
    color: inherit;
}
@media (hover: hover) and (pointer: fine) {
    a:hover {
        text-decoration: none;
    }
}

a[class] {
    text-decoration: none;
}

ins {
    background-color: #ff9;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

address {
    font-style: normal;
}

sup {
    vertical-align: text-top;
    font-size: max(50%, 0.8rem);
    line-height: var(--line-height_base);
}

sub {
    vertical-align: text-bottom;
    font-size: 50%;
    line-height: var(--line-height_base);
}

table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid rgb(var(rgba(var(--color-grayscale-900), 0.6)));
    margin: 1em 0;
    padding: 0;
}

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

iframe {
    max-width: 100%;
}

summary {
    display: block;
    list-style: none;
    cursor: pointer;
}
summary::-webkit-details-marker {
    display: none;
}

/* form
================================================== */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
button,
select,
option {
    display: block;
    width: 100%;
    max-width: 100%;
    font-family: inherit;
    outline: none;
    border: 1px solid;
    border-radius: 0;
    background: none;
}
@media (max-width: 767px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea,
    button,
    select,
    option {
        font-size: 1.6rem;
    }
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
button {
    -webkit-appearance: none;
    appearance: none;
}

input[type="radio"],
input[type="checkbox"] {
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

select {
    color: inherit;
}

textarea {
    resize: vertical;
}

button {
    color: inherit;
    font-weight: normal;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

/* 02_base
================================================ */
body {
    min-width: 320px;
    font-family: var(--fontfamily_base);
    color: var(--font_color_base);
    font-size: var(--font_size_base);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_base);
    letter-spacing: var(--letter-spacing_base);
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
}
body.is-loading {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
}
@media (min-width: 768px) {
    body {
        min-width: auto;
    }
}
@media (min-width: 768px) and (hover: none) {
    body {
        -webkit-text-size-adjust: none;
    }
}

.l-base {
    position: -webkit-fixed;
    position: fixed;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--gradient01);
    pointer-events: none;
}

.l-bg {
    pointer-events: none;
}
.l-bg__mov {
    position: -webkit-fixed;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0.25;
    z-index: 1;
    mix-blend-mode: overlay;
    display: none;
}
.l-bg__mov.is-active {
    display: block;
}
.l-bg__mov video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.l-wrapper {
    position: relative;
    transition: background-color 1s ease;
}
.l-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--gradient02);
    pointer-events: none;
    transition: opacity 1s ease;
    opacity: 0;
}
.l-wrapper.is-bg-surface100 {
    background: rgb(var(--color-surface-100));
}
.l-wrapper.is-bg-surface100 .l-header {
    color: rgb(var(--color-primary-500));
}
.l-wrapper.is-bg-surface300 {
    background: rgb(var(--color-surface-300));
}
.l-wrapper.is-bg-primary400 {
    background: rgb(var(--color-primary-400));
}
.l-wrapper.is-bg-gradient02::before {
    opacity: 1;
}
@media (max-width: 767px) {
    .l-wrapper.is-bg-surface100sp .l-header {
        color: rgb(var(--color-primary-500));
    }
}

.l-container {
    position: relative;
}

/* sp <--> tb <--> pc
-------------------------------------- */
.u-media-query {
    display: none;
    font-family: "sp";
}
@media (min-width: 768px) {
    .u-media-query {
        font-family: "tb";
    }
}
@media (min-width: 1200px) {
    .u-media-query {
        font-family: "pc";
    }
}

@media (max-width: 1199px) {
    .u-view-pc {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .u-view-tb {
        display: none !important;
    }
}
@media (min-width: 1200px) {
    .u-view-tb {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .u-view-sp {
        display: none !important;
    }
}

@media (min-width: 1200px) {
    .u-view-under-tb {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .u-view-upper-tb {
        display: none !important;
    }
}

/* overflow
-------------------------------------- */
.u-overflow-wrap {
    overflow: auto;
}
.u-overflow-wrap .u-overflow-sec {
    overflow: hidden;
}
@media (min-width: 768px) {
    .u-overflow-wrap .u-overflow-sec {
        min-width: var(--contents_width_with_padding);
    }
}

/* font
-------------------------------------- */
.u-font-en {
    font-family: var(--fontfamily_en);
    font-weight: var(--font_weight_en);
    line-height: var(--line-height_en);
    letter-spacing: var(--letter-spacing_en);
}

/* text
-------------------------------------- */
.u-uppercase {
    text-transform: uppercase;
}

.u-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* .u-text
-------------------------------------- */
.u-text-base {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
}
@media (min-width: 768px) {
    .u-text-base {
        font-size: 1.9em;
        font-size: max(1.9em, 1rem);
    }
}

.u-text-bold {
    font-weight: var(--font_weight_bold);
}

/* .u-align
-------------------------------------- */
.u-align-center {
    text-align: center;
}
.u-align-center.has-punc {
    margin-left: 0.85em;
}
@media (max-width: 767px) {
    .u-align-center-sp {
        text-align: center;
    }
    .u-align-center-sp.has-punc {
        margin-left: 0.85em;
    }
}
@media (min-width: 768px) {
    .u-align-center-pc {
        text-align: center;
    }
    .u-align-center-pc.has-punc {
        margin-left: 0.85em;
    }
}

.u-align-right {
    text-align: right;
}
@media (max-width: 767px) {
    .u-align-right-sp {
        text-align: right;
    }
}
@media (min-width: 768px) {
    .u-align-right-pc {
        text-align: right;
    }
}

/* link
-------------------------------------- */
a.u-alpha {
    display: block;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    a.u-alpha {
        transition: all 0.3s ease;
    }
    a.u-alpha:hover {
        opacity: 0.7;
    }
}

a.u-zoom {
    display: block;
    text-decoration: none;
}
a.u-zoom .u-zoom__img {
    display: block;
}
a.u-zoom .u-zoom__img-wrap {
    display: block;
    overflow: hidden;
}
@media (min-width: 768px) {
    a.u-zoom .u-zoom__img {
        transition: all 0.3s ease;
    }
}
@media (hover: hover) and (pointer: fine) {
    a.u-zoom:hover .u-zoom__img {
        transform: scale(1.1);
    }
}

a[class].u-text-underline {
    text-decoration: underline;
    text-underline-offset: 0.3em;
    -webkit-text-decoration-color: var(--color-grayscale-100-op50);
    text-decoration-color: var(--color-grayscale-100-op50);
    word-break: break-word;
}
@media (hover: hover) and (pointer: fine) {
    a[class].u-text-underline:hover {
        text-decoration: none;
    }
}

/* iframe
-------------------------------------- */
.u-iframe {
    position: relative;
    aspect-ratio: 16/9;
}
.u-iframe iframe,
.u-iframe video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

/* img
-------------------------------------- */
.u-img {
    display: block;
    width: 100%;
}

/* layout
-------------------------------------- */
.u-inner {
    box-sizing: border-box;
    padding-left: var(--body_padding_side);
    padding-right: var(--body_padding_side);
}
@media (min-width: 768px) {
    .u-inner {
        width: 100%;
        max-width: var(--contents_width_with_padding);
        margin-right: auto;
        margin-left: auto;
    }
}

.u-wide-inner {
    box-sizing: border-box;
    padding-left: var(--body_padding_side);
    padding-right: var(--body_padding_side);
}
@media (min-width: 768px) {
    .u-wide-inner {
        width: 100%;
        max-width: var(--contents_wide_width_with_padding);
        margin-right: auto;
        margin-left: auto;
    }
}

/* .c-btn01
================================================== */
.c-btn01 {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 27.5em;
    min-height: 4em;
    margin-top: 1.5em;
    box-sizing: border-box;
}
.c-btn01__wrap {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em 0.5em;
    margin-top: 3em;
}
.c-btn01__wrap .c-btn01 {
    margin: 0;
}
.c-btn01__link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 0.5em;
    margin: 0;
    box-sizing: border-box;
    border: 1px solid;
    border-radius: 9em;
}
.c-btn01__img {
    position: absolute;
    top: 50%;
    left: 0em;
    transform: translateY(-50%);
}
.c-btn01__ico {
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%);
}
.c-btn01__txt {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    line-height: var(--line-height_head);
}
.c-btn01__logo {
    padding: 1em 0 0.4em;
}
.c-btn01__logo-main {
    display: block;
    width: 10.7em;
    margin-bottom: 0.7em;
    opacity: 0.8;
}
.c-btn01__logo-main img {
    display: block;
    width: 100%;
}
.c-btn01__logo-txt {
    display: block;
    font-size: max(1.3em, 1rem);
    opacity: 0.5;
}
.c-btn01.has-img .c-btn01__link {
    padding-left: 1.8em;
}
.c-btn01.is-center {
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px) {
    .c-btn01.is-center-sp {
        margin-left: auto;
        margin-right: auto;
    }
}
@media (min-width: 768px) {
    .c-btn01__wrap {
        gap: 2em 1.2em;
        margin-top: 6.7em;
    }
    .c-btn01__img {
        left: 1.2em;
    }
    .c-btn01__ico {
        right: 3.3em;
    }
    .c-btn01__logo {
        padding: 1em 0 0.4em;
    }
    .c-btn01__logo-main {
        margin-bottom: 0.7em;
    }
    .c-btn01__logo-txt {
        font-size: max(1.2em, 1rem);
    }
    .c-btn01.has-img .c-btn01__link {
        padding-left: 2em;
    }
    .c-btn01.is-large-pc {
        max-width: 35em;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn01__link {
        transition: all 0.3s ease;
    }
    .c-btn01__link:hover {
        background: rgb(var(--color-accent-300));
        border-color: rgb(var(--color-accent-300));
        color: rgb(var(--color-grayscale-100));
    }
}

/* .c-btn02
================================================== */
.c-btn02.is-border .c-btn02__link {
    background: none;
    color: inherit;
    border: 1px solid;
}

/* .c-btn02.is-small
================================================== */
.c-btn02.is-small {
    max-width: 22em;
    min-height: 4.5em;
}
.c-btn02.is-small .c-btn02__link {
    padding-right: 0.75em;
}
.c-btn02.is-small .c-btn02__ico {
    right: 1.5em;
}
@media (min-width: 768px) {
    .c-btn02.is-small {
        min-height: 6em;
    }
    .c-btn02.is-small .c-btn02__ico {
        right: 2em;
    }
}

/* .c-btn02
================================================== */
.c-btn02.is-white .c-btn02__link {
    background: rgb(var(--color-grayscale-100));
    color: rgb(var(--color-primary-500));
}

/* .c-btn02
================================================== */
.c-btn02 {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 29.5em;
    min-height: 5em;
    margin-top: 2.5em;
    box-sizing: border-box;
}
.c-btn02__wrap {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em 0.5em;
    margin-top: 2.5em;
}
.c-btn02__wrap .c-btn02 {
    max-width: unset;
    margin: 0;
}
.c-btn02__link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 0.5em;
    margin: 0;
    box-sizing: border-box;
    background: rgb(var(--color-primary-500));
    color: rgb(var(--color-grayscale-100));
    border: none;
    border-radius: 9em;
}
.c-btn02__img {
    position: absolute;
    top: 50%;
    left: 2em;
    transform: translateY(-50%);
}
.c-btn02__cart {
    margin-right: 1.3em;
}
.c-btn02__txt {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    line-height: var(--line-height_narrow);
}
.c-btn02__ico {
    position: absolute;
    top: 50%;
    right: 2em;
    transform: translateY(-50%);
}
.c-btn02__ico.is-plus {
    width: 1.4em;
}
.c-btn02__ico.is-plus::before,
.c-btn02__ico.is-plus::after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    border-top: 1px solid;
}
.c-btn02__ico.is-plus::after {
    transform: rotate(90deg);
}
.c-btn02__logo {
    padding: 1em 0 0.4em;
}
.c-btn02__logo-main {
    display: block;
    width: 10.7em;
    margin-bottom: 0.7em;
}
.c-btn02__logo-main svg {
    display: block;
}
.c-btn02__logo-txt {
    display: block;
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    color: #8fa6ac;
    opacity: 0.5;
}
.c-btn02.has-img .c-btn02__link {
    padding-left: 1.8em;
}
.c-btn02.is-center {
    margin-left: auto;
    margin-right: auto;
}
.c-btn02.is-disabled {
    pointer-events: none !important;
    opacity: 0.25 !important;
    color: var(--color-grayscale-100-op50);
}
@media (max-width: 767px) {
    .c-btn02.is-center-sp {
        margin-left: auto;
        margin-right: auto;
    }
}
@media (min-width: 768px) {
    .c-btn02 {
        max-width: 37.5em;
        min-height: 6em;
        margin-top: 4em;
    }
    .c-btn02__wrap {
        gap: 2em 1.5em;
        margin-top: 3.5em;
    }
    .c-btn02__txt {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
    }
    .c-btn02__ico {
        right: 3.3em;
    }
    .c-btn02__logo {
        padding: 1em 0 0.4em;
    }
    .c-btn02__logo-main {
        width: 11.4em;
    }
    .c-btn02__logo-txt {
        font-size: 1.4em;
        font-size: max(1.4em, 1rem);
    }
    .c-btn02.has-img .c-btn02__link {
        padding-left: 2em;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-btn02__link {
        transition: all 0.3s ease;
    }
    .c-btn02__link .c-btn02__logo-txt {
        transition: color 0.3s ease;
    }
    .c-btn02__link:hover {
        background: rgb(var(--color-accent-300)) !important;
        color: rgb(var(--color-grayscale-100)) !important;
        border-color: rgb(var(--color-accent-300)) !important;
    }
    .c-btn02__link:hover .c-btn02__logo-txt {
        color: rgb(var(--color-grayscale-100));
    }
}

/* .c-color-black
================================================== */
.c-color-black {
    color: rgb(var(--color-grayscale-900));
}

.c-head01 {
    font-size: 3.2em;
    font-size: max(3.2em, 1rem);
    margin-bottom: 0.78125em;
}
@media (min-width: 768px) {
    .c-head01 {
        font-size: 5em;
        font-size: max(5em, 1rem);
        margin-bottom: 0.88em;
    }
}

.c-head02 {
    font-size: 1.9em;
    font-size: max(1.9em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
    border-left: 3px solid rgb(var(--color-primary-300));
    padding-left: 0.5em;
    margin-bottom: 1em;
}
@media (min-width: 768px) {
    .c-head02 {
        font-size: 2.9em;
        border-left-width: 4px;
        margin-bottom: 1.38em;
    }
}

/* .c-ico
================================================== */
.c-ico {
    display: inline-block;
    vertical-align: baseline;
}
.c-ico svg {
    transition: all 0.3s ease;
}

/* .c-ico.is-x01
================================================== */
.c-ico.is-x01::after {
    content: "";
    display: block;
    width: 2.1em;
    height: 2.1em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><path d="m12.727 9.054 6.645-8.004h-1.574L12.026 8 7.414 1.05H2.102l6.966 10.51-6.966 8.39h1.573l6.094-7.337 4.864 7.337h5.313L12.72 9.054h.006Zm-2.16 2.6L4.244 2.277h2.418l11.13 16.502h-2.418l-4.807-7.13v.007Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><path d="m12.727 9.054 6.645-8.004h-1.574L12.026 8 7.414 1.05H2.102l6.966 10.51-6.966 8.39h1.573l6.094-7.337 4.864 7.337h5.313L12.72 9.054h.006Zm-2.16 2.6L4.244 2.277h2.418l11.13 16.502h-2.418l-4.807-7.13v.007Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    min-width: 21px !important;
    min-height: 21px !important;
}

/* .c-ico.is-insta01
================================================== */
.c-ico.is-insta01::after {
    content: "";
    display: block;
    width: 2.1em;
    height: 2.1em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><path d="M6.143 20.99C2.75 20.99.01 18.24 0 14.85V6.14C0 2.75 2.751 0 6.143 0h8.715c3.39 0 6.131 2.75 6.142 6.14v8.72c0 3.39-2.751 6.14-6.143 6.14H6.143v-.01ZM1.963 6.14v8.72a4.175 4.175 0 0 0 4.18 4.178h8.715a4.175 4.175 0 0 0 4.178-4.177V6.139a4.175 4.175 0 0 0-4.179-4.176H6.143a4.175 4.175 0 0 0-4.18 4.176Zm3.119 4.355a5.428 5.428 0 0 1 5.429-5.426 5.428 5.428 0 0 1 5.428 5.426 5.427 5.427 0 0 1-10.857 0Zm1.963 0a3.468 3.468 0 0 0 3.466 3.463 3.468 3.468 0 0 0 3.465-3.463A3.468 3.468 0 0 0 10.51 7.03a3.468 3.468 0 0 0-3.465 3.464Zm8.778-4.324a1.31 1.31 0 1 1 1.575-.976 1.304 1.304 0 0 1-1.27 1.007 1.5 1.5 0 0 1-.305-.031Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><path d="M6.143 20.99C2.75 20.99.01 18.24 0 14.85V6.14C0 2.75 2.751 0 6.143 0h8.715c3.39 0 6.131 2.75 6.142 6.14v8.72c0 3.39-2.751 6.14-6.143 6.14H6.143v-.01ZM1.963 6.14v8.72a4.175 4.175 0 0 0 4.18 4.178h8.715a4.175 4.175 0 0 0 4.178-4.177V6.139a4.175 4.175 0 0 0-4.179-4.176H6.143a4.175 4.175 0 0 0-4.18 4.176Zm3.119 4.355a5.428 5.428 0 0 1 5.429-5.426 5.428 5.428 0 0 1 5.428 5.426 5.427 5.427 0 0 1-10.857 0Zm1.963 0a3.468 3.468 0 0 0 3.466 3.463 3.468 3.468 0 0 0 3.465-3.463A3.468 3.468 0 0 0 10.51 7.03a3.468 3.468 0 0 0-3.465 3.464Zm8.778-4.324a1.31 1.31 0 1 1 1.575-.976 1.304 1.304 0 0 1-1.27 1.007 1.5 1.5 0 0 1-.305-.031Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    min-width: 21px !important;
    min-height: 21px !important;
}

/* .c-ico.is-line01
================================================== */
.c-ico.is-line01::after {
    content: "";
    display: block;
    width: 2.1em;
    height: 2.1em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><path d="M17.397.105c-.323-.067-.66-.1-.987-.1C12.455 0 8.5 0 4.543 0 2.385 0 .503 1.545.093 3.657c-.034.181-.047.366-.072.55-.004.038-.013.076-.021.114v12.35c.021.163.038.323.067.487a4.473 4.473 0 0 0 1.482 2.7 4.5 4.5 0 0 0 2.365 1.092c.138.02.277.033.415.05h12.35c.164-.021.323-.042.487-.067a4.473 4.473 0 0 0 2.721-1.508 4.443 4.443 0 0 0 1.067-2.33 4.24 4.24 0 0 0 .046-.617c-.004-3.99-.004-7.979-.004-11.964A4.535 4.535 0 0 0 17.397.105Zm-.201 12.392c-.496.739-1.113 1.377-1.785 1.957a28.175 28.175 0 0 1-4.502 3.162c-.243.138-.487.277-.768.323-.265.042-.407-.093-.37-.357.047-.32.105-.638.143-.962a2.29 2.29 0 0 0-.012-.478c-.013-.122-.105-.202-.206-.265a1.738 1.738 0 0 0-.617-.193c-2.008-.315-3.742-1.138-5.048-2.738a5.31 5.31 0 0 1-1.176-2.688c-.176-1.352.152-2.582.916-3.699.768-1.117 1.81-1.902 3.04-2.452a8.695 8.695 0 0 1 3.22-.743c.148-.005.295 0 .442 0 1.801.004 3.472.449 4.967 1.482 1.03.71 1.844 1.617 2.306 2.792.672 1.714.466 3.339-.55 4.859Z"/><path d="M12.56 7.928c-.135-.004-.273 0-.412 0-.185 0-.214.034-.218.214v1.881c-.009.005-.017.005-.03.009-.025-.03-.05-.055-.071-.084-.475-.638-.945-1.277-1.415-1.915-.055-.071-.114-.105-.202-.105-.13.004-.26 0-.39 0-.202 0-.231.03-.231.231v3.196c0 .142.046.184.189.184h.42c.16 0 .206-.046.206-.205v-1.89c.008-.004.016-.004.025-.008l.075.096c.466.63.932 1.256 1.399 1.89.063.084.13.121.239.117.134-.008.273 0 .412-.004.134 0 .184-.046.184-.18V8.108c0-.135-.042-.177-.18-.181Zm2.926 0h-1.973c-.193 0-.231.038-.231.235v2.927c0 .088-.004.176 0 .26.004.135.054.18.185.18h2.049c.139 0 .189-.045.189-.188v-.428c0-.152-.038-.19-.193-.19-.429 0-.861-.004-1.29 0-.1 0-.13-.033-.121-.125.004-.118.004-.24 0-.357-.004-.088.025-.114.113-.114.441.005.882.005 1.323 0 .126 0 .168-.042.172-.172v-.44c0-.156-.046-.198-.201-.198h-1.302c-.084 0-.114-.021-.105-.105a2.651 2.651 0 0 0 0-.365c-.009-.093.03-.11.113-.11.428.005.861 0 1.29 0 .159 0 .2-.046.205-.205v-.387c-.004-.184-.038-.218-.223-.218Zm-7.919 2.801h-1.28c-.135 0-.14 0-.14-.139V8.113c0-.135-.041-.177-.172-.18-.142-.005-.285 0-.428 0-.164 0-.206.041-.206.205v3.212c0 .147.047.194.193.194H7.58c.126 0 .177-.05.181-.177.004-.147 0-.294 0-.44 0-.156-.042-.198-.193-.198Zm1.306-2.801a8.031 8.031 0 0 0-.45 0c-.142.004-.184.046-.184.193v3.229c0 .135.05.18.185.185h.44c.143 0 .185-.042.185-.189V8.104c0-.13-.042-.172-.176-.176Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><path d="M17.397.105c-.323-.067-.66-.1-.987-.1C12.455 0 8.5 0 4.543 0 2.385 0 .503 1.545.093 3.657c-.034.181-.047.366-.072.55-.004.038-.013.076-.021.114v12.35c.021.163.038.323.067.487a4.473 4.473 0 0 0 1.482 2.7 4.5 4.5 0 0 0 2.365 1.092c.138.02.277.033.415.05h12.35c.164-.021.323-.042.487-.067a4.473 4.473 0 0 0 2.721-1.508 4.443 4.443 0 0 0 1.067-2.33 4.24 4.24 0 0 0 .046-.617c-.004-3.99-.004-7.979-.004-11.964A4.535 4.535 0 0 0 17.397.105Zm-.201 12.392c-.496.739-1.113 1.377-1.785 1.957a28.175 28.175 0 0 1-4.502 3.162c-.243.138-.487.277-.768.323-.265.042-.407-.093-.37-.357.047-.32.105-.638.143-.962a2.29 2.29 0 0 0-.012-.478c-.013-.122-.105-.202-.206-.265a1.738 1.738 0 0 0-.617-.193c-2.008-.315-3.742-1.138-5.048-2.738a5.31 5.31 0 0 1-1.176-2.688c-.176-1.352.152-2.582.916-3.699.768-1.117 1.81-1.902 3.04-2.452a8.695 8.695 0 0 1 3.22-.743c.148-.005.295 0 .442 0 1.801.004 3.472.449 4.967 1.482 1.03.71 1.844 1.617 2.306 2.792.672 1.714.466 3.339-.55 4.859Z"/><path d="M12.56 7.928c-.135-.004-.273 0-.412 0-.185 0-.214.034-.218.214v1.881c-.009.005-.017.005-.03.009-.025-.03-.05-.055-.071-.084-.475-.638-.945-1.277-1.415-1.915-.055-.071-.114-.105-.202-.105-.13.004-.26 0-.39 0-.202 0-.231.03-.231.231v3.196c0 .142.046.184.189.184h.42c.16 0 .206-.046.206-.205v-1.89c.008-.004.016-.004.025-.008l.075.096c.466.63.932 1.256 1.399 1.89.063.084.13.121.239.117.134-.008.273 0 .412-.004.134 0 .184-.046.184-.18V8.108c0-.135-.042-.177-.18-.181Zm2.926 0h-1.973c-.193 0-.231.038-.231.235v2.927c0 .088-.004.176 0 .26.004.135.054.18.185.18h2.049c.139 0 .189-.045.189-.188v-.428c0-.152-.038-.19-.193-.19-.429 0-.861-.004-1.29 0-.1 0-.13-.033-.121-.125.004-.118.004-.24 0-.357-.004-.088.025-.114.113-.114.441.005.882.005 1.323 0 .126 0 .168-.042.172-.172v-.44c0-.156-.046-.198-.201-.198h-1.302c-.084 0-.114-.021-.105-.105a2.651 2.651 0 0 0 0-.365c-.009-.093.03-.11.113-.11.428.005.861 0 1.29 0 .159 0 .2-.046.205-.205v-.387c-.004-.184-.038-.218-.223-.218Zm-7.919 2.801h-1.28c-.135 0-.14 0-.14-.139V8.113c0-.135-.041-.177-.172-.18-.142-.005-.285 0-.428 0-.164 0-.206.041-.206.205v3.212c0 .147.047.194.193.194H7.58c.126 0 .177-.05.181-.177.004-.147 0-.294 0-.44 0-.156-.042-.198-.193-.198Zm1.306-2.801a8.031 8.031 0 0 0-.45 0c-.142.004-.184.046-.184.193v3.229c0 .135.05.18.185.185h.44c.143 0 .185-.042.185-.189V8.104c0-.13-.042-.172-.176-.176Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    min-width: 21px !important;
    min-height: 21px !important;
}

/* .c-ico.is-link01
================================================== */
.c-ico.is-link01::after {
    content: "";
    display: block;
    width: 2.1em;
    height: 2.1em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><path d="M6.157 19.623c-2.46-.945-3.652-3.617-2.658-5.957a4.427 4.427 0 0 1 1.043-1.502c.212.308.46.603.746.863.273.26.584.497.907.71-.684.673-.895 1.666-.522 2.541.124.296.31.556.546.78a2.57 2.57 0 0 0 1.28.65 2.69 2.69 0 0 0 1.404-.13c.31-.118.584-.295.82-.52l3.652-3.475c.348-.331.584-.757.683-1.23a2.382 2.382 0 0 0-.137-1.347 2.312 2.312 0 0 0-.546-.78 2.57 2.57 0 0 0-1.28-.65 2.749 2.749 0 0 0-1.416.13c-.31.118-.584.295-.82.52l-.273.26c-.658.083-1.304-.272-1.553-.863-.1-.225-.124-.473-.1-.71l.274-.26c1.876-1.784 4.932-1.784 6.807 0a4.432 4.432 0 0 1 0 6.478l-3.652 3.476c-1.366 1.3-3.428 1.702-5.217 1.004l.012.012Zm1.429-6.277c-1.503-.579-2.609-1.855-2.92-3.368-.31-1.49.187-3.038 1.317-4.114l3.653-3.475c1.875-1.785 4.931-1.785 6.807 0 1.863 1.785 1.876 4.657.025 6.454a5.579 5.579 0 0 0-.745-.863 6.528 6.528 0 0 0-.907-.71c.335-.33.571-.744.658-1.193a2.294 2.294 0 0 0-.683-2.128c-.708-.674-1.764-.875-2.696-.52-.31.118-.584.295-.82.52L7.623 7.424a2.37 2.37 0 0 0-.683 1.218c-.087.449-.037.91.137 1.336.31.744 1.006 1.276 1.826 1.43.472.083.969.047 1.403-.13.311-.118.584-.296.82-.52l.274-.26a1.475 1.475 0 0 1 1.553.863c.099.224.124.472.099.709l-.274.26a4.748 4.748 0 0 1-2.484 1.253 4.757 4.757 0 0 1-.92.083 5.03 5.03 0 0 1-1.813-.331l.025.011Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 21"><path d="M6.157 19.623c-2.46-.945-3.652-3.617-2.658-5.957a4.427 4.427 0 0 1 1.043-1.502c.212.308.46.603.746.863.273.26.584.497.907.71-.684.673-.895 1.666-.522 2.541.124.296.31.556.546.78a2.57 2.57 0 0 0 1.28.65 2.69 2.69 0 0 0 1.404-.13c.31-.118.584-.295.82-.52l3.652-3.475c.348-.331.584-.757.683-1.23a2.382 2.382 0 0 0-.137-1.347 2.312 2.312 0 0 0-.546-.78 2.57 2.57 0 0 0-1.28-.65 2.749 2.749 0 0 0-1.416.13c-.31.118-.584.295-.82.52l-.273.26c-.658.083-1.304-.272-1.553-.863-.1-.225-.124-.473-.1-.71l.274-.26c1.876-1.784 4.932-1.784 6.807 0a4.432 4.432 0 0 1 0 6.478l-3.652 3.476c-1.366 1.3-3.428 1.702-5.217 1.004l.012.012Zm1.429-6.277c-1.503-.579-2.609-1.855-2.92-3.368-.31-1.49.187-3.038 1.317-4.114l3.653-3.475c1.875-1.785 4.931-1.785 6.807 0 1.863 1.785 1.876 4.657.025 6.454a5.579 5.579 0 0 0-.745-.863 6.528 6.528 0 0 0-.907-.71c.335-.33.571-.744.658-1.193a2.294 2.294 0 0 0-.683-2.128c-.708-.674-1.764-.875-2.696-.52-.31.118-.584.295-.82.52L7.623 7.424a2.37 2.37 0 0 0-.683 1.218c-.087.449-.037.91.137 1.336.31.744 1.006 1.276 1.826 1.43.472.083.969.047 1.403-.13.311-.118.584-.296.82-.52l.274-.26a1.475 1.475 0 0 1 1.553.863c.099.224.124.472.099.709l-.274.26a4.748 4.748 0 0 1-2.484 1.253 4.757 4.757 0 0 1-.92.083 5.03 5.03 0 0 1-1.813-.331l.025.011Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    min-width: 21px !important;
    min-height: 21px !important;
}

/* .c-ico.is-blank01
================================================== */
.c-ico.is-blank01::after {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><path d="M10 .5V.4h-.02a.58.58 0 0 0 0-.04h-.01a.8.8 0 0 0 0-.02V.33L9.96.32a.78.78 0 0 0 0-.01L9.95.3V.28h-.01V.25a.52.52 0 0 0-.01-.02A.44.44 0 0 0 9.9.2L9.89.17a.32.32 0 0 0-.01 0V.15a.46.46 0 0 0-.03-.01.51.51 0 0 0-.01-.02h-.02A.46.46 0 0 0 9.8.1L9.79.09h-.01a.56.56 0 0 0-.01-.01h-.01L9.74.05a.58.58 0 0 0-.05-.02L9.66.02h-.01a.43.43 0 0 0-.04-.01L9.6 0a.52.52 0 0 0-.02 0H6.4a.5.5 0 1 0 0 1h1.9L4.2 5.1a.5.5 0 1 0 .7.7L9 1.7v1.84a.5.5 0 0 0 1 0V.5Z"/><path d="M8.95 5.2a.5.5 0 0 0-.5.5V9H1V1.54h3.26a.5.5 0 1 0 0-.99H.5a.5.5 0 0 0-.5.5V9.5c0 .28.22.5.5.5h8.45a.5.5 0 0 0 .5-.5V5.7a.5.5 0 0 0-.5-.5Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10"><path d="M10 .5V.4h-.02a.58.58 0 0 0 0-.04h-.01a.8.8 0 0 0 0-.02V.33L9.96.32a.78.78 0 0 0 0-.01L9.95.3V.28h-.01V.25a.52.52 0 0 0-.01-.02A.44.44 0 0 0 9.9.2L9.89.17a.32.32 0 0 0-.01 0V.15a.46.46 0 0 0-.03-.01.51.51 0 0 0-.01-.02h-.02A.46.46 0 0 0 9.8.1L9.79.09h-.01a.56.56 0 0 0-.01-.01h-.01L9.74.05a.58.58 0 0 0-.05-.02L9.66.02h-.01a.43.43 0 0 0-.04-.01L9.6 0a.52.52 0 0 0-.02 0H6.4a.5.5 0 1 0 0 1h1.9L4.2 5.1a.5.5 0 1 0 .7.7L9 1.7v1.84a.5.5 0 0 0 1 0V.5Z"/><path d="M8.95 5.2a.5.5 0 0 0-.5.5V9H1V1.54h3.26a.5.5 0 1 0 0-.99H.5a.5.5 0 0 0-.5.5V9.5c0 .28.22.5.5.5h8.45a.5.5 0 0 0 .5-.5V5.7a.5.5 0 0 0-.5-.5Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* .c-ico.is-arw01
================================================== */
.c-ico.is-arw01::after {
    content: "";
    display: block;
    width: 0.8em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 10"><path d="M8 5 0 0l3.353 5L0 10l8-5Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 10"><path d="M8 5 0 0l3.353 5L0 10l8-5Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.c-ico.is-arw01.is-down::after {
    transform: rotate(90deg);
}

/* .c-ico.is-cart01
================================================== */
.c-ico.is-cart01::after {
    content: "";
    display: block;
    width: 1.5em;
    height: 1.5em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><path d="M5.692 15a.968.968 0 0 1-.967-.966.968.968 0 0 1 1.934 0 .968.968 0 0 1-.967.965Zm6.087 0a.968.968 0 0 1-.967-.966.968.968 0 0 1 1.934 0 .968.968 0 0 1-.967.965Zm-5.987-2.944c-.867 0-1.59-.62-1.72-1.476L2.664 1.314A.466.466 0 0 0 2.2.916H.459a.459.459 0 0 1 0-.916H2.2c.692 0 1.268.495 1.372 1.177l.134.889h10.835a.457.457 0 0 1 .45.544L13.73 9.164a.459.459 0 0 1-.45.372H4.84l.138.907a.817.817 0 0 0 .814.698h6.728a.459.459 0 0 1 0 .916H5.792ZM4.702 8.62H12.9l1.086-5.639H3.846l.856 5.639Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15"><path d="M5.692 15a.968.968 0 0 1-.967-.966.968.968 0 0 1 1.934 0 .968.968 0 0 1-.967.965Zm6.087 0a.968.968 0 0 1-.967-.966.968.968 0 0 1 1.934 0 .968.968 0 0 1-.967.965Zm-5.987-2.944c-.867 0-1.59-.62-1.72-1.476L2.664 1.314A.466.466 0 0 0 2.2.916H.459a.459.459 0 0 1 0-.916H2.2c.692 0 1.268.495 1.372 1.177l.134.889h10.835a.457.457 0 0 1 .45.544L13.73 9.164a.459.459 0 0 1-.45.372H4.84l.138.907a.817.817 0 0 0 .814.698h6.728a.459.459 0 0 1 0 .916H5.792ZM4.702 8.62H12.9l1.086-5.639H3.846l.856 5.639Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* .c-ico.is-caution01
================================================== */
.c-ico.is-caution01::after {
    content: "";
    display: block;
    width: 1.4em;
    height: 1.4em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill-rule="evenodd" d="M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm.53-11.67H6.42V9.4h1.1V2.33Zm-1.08 9.15a.86.86 0 0 0 .56.19.8.8 0 0 0 .54-.19.58.58 0 0 0 .23-.47.58.58 0 0 0-.23-.47.76.76 0 0 0-.54-.2.82.82 0 0 0-.56.2.58.58 0 0 0-.23.47c0 .2.08.35.23.47Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill-rule="evenodd" d="M7 14A7 7 0 1 0 7 0a7 7 0 0 0 0 14Zm.53-11.67H6.42V9.4h1.1V2.33Zm-1.08 9.15a.86.86 0 0 0 .56.19.8.8 0 0 0 .54-.19.58.58 0 0 0 .23-.47.58.58 0 0 0-.23-.47.76.76 0 0 0-.54-.2.82.82 0 0 0-.56.2.58.58 0 0 0-.23.47c0 .2.08.35.23.47Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* .c-ico.is-check01
================================================== */
.c-ico.is-check01::after {
    content: "";
    display: block;
    width: 1.7em;
    height: 1.6em;
    background-color: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 16"><path d="M15.1 9.05a.71.71 0 0 0-.7.71v4.81h-13V1.43h10.76a.71.71 0 0 0 .7-.72.7.7 0 0 0-.7-.71H.7a.7.7 0 0 0-.7.71V15.3c0 .4.32.71.7.71h14.4a.71.71 0 0 0 .7-.71V9.76a.7.7 0 0 0-.7-.71Z"/><path d="M16.8 2.03a.7.7 0 0 0-1 0l-8.28 8.38L4.64 7.5a.7.7 0 0 0-1 0 .72.72 0 0 0 0 1l3.38 3.43a.7.7 0 0 0 1 0l8.77-8.9a.72.72 0 0 0 0-1Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 16"><path d="M15.1 9.05a.71.71 0 0 0-.7.71v4.81h-13V1.43h10.76a.71.71 0 0 0 .7-.72.7.7 0 0 0-.7-.71H.7a.7.7 0 0 0-.7.71V15.3c0 .4.32.71.7.71h14.4a.71.71 0 0 0 .7-.71V9.76a.7.7 0 0 0-.7-.71Z"/><path d="M16.8 2.03a.7.7 0 0 0-1 0l-8.28 8.38L4.64 7.5a.7.7 0 0 0-1 0 .72.72 0 0 0 0 1l3.38 3.43a.7.7 0 0 0 1 0l8.77-8.9a.72.72 0 0 0 0-1Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.c-list01 {
    text-align: left;
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    line-height: var(--line-height_head);
}
.c-list01__item {
    position: relative;
    padding-left: 8px;
}
.c-list01__item + .c-list01__item {
    margin-top: 0.2857142857em;
}
.c-list01__item::before {
    content: "";
    position: absolute;
    top: calc(1em - 4px);
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgb(var(--color-primary-300));
}
.c-list01.is-dark .c-list01__item::before {
    background: rgb(var(--color-primary-500));
}
@media (min-width: 768px) {
    .c-list01 {
        font-size: 1.9em;
        font-size: max(1.9em, 1rem);
    }
    .c-list01__item {
        padding-left: 13px;
    }
    .c-list01__item + .c-list01__item {
        margin-top: 0.2352941176em;
    }
    .c-list01__item::before {
        top: calc(1em - 6px);
        width: 5px;
        height: 5px;
    }
    .c-list01__item .is-small {
        font-size: 82.35%;
    }
    .c-list01.is-small-pc {
        font-size: 1.7em;
        font-size: max(1.7em, 1rem);
    }
}

/* .c-modal01
=============================== */
.c-modal01 {
    display: none;
    pointer-events: none;
}
.c-modal01.is-open {
    display: block;
    pointer-events: auto;
}
.c-modal01[aria-hidden="false"] .c-modal01__overlay {
    animation: c-modal01-fadein 0.6s var(--mh--easing);
}
.c-modal01[aria-hidden="false"] .c-modal01__container {
    animation: c-modal01-slideIn 0.6s var(--mh--easing);
}
.c-modal01[aria-hidden="true"] .c-modal01__overlay {
    animation: c-modal01-fadeout 0.6s var(--mh--easing);
}
.c-modal01[aria-hidden="true"] .c-modal01__container {
    animation: c-modal01-slideOut 0.6s var(--mh--easing);
}
.c-modal01__overlay {
    position: -webkit-fixed;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(var(--color-primary-800), 0.7);
    -webkit-backdrop-filter: blur(var(--blur02));
    backdrop-filter: blur(var(--blur02));
    padding: 0;
    will-change: transform;
    z-index: 5000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.c-modal01__container {
    position: relative;
    width: calc(100% - 4em);
    max-height: calc(100% - 4em);
    margin: 2em auto;
    box-sizing: border-box;
    pointer-events: initial;
    background: var(--color-grayscale-100-op90);
    color: rgb(var(--color-primary-500));
    will-change: transform;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
}
.c-modal01__container.has-mov {
    background: none;
    max-width: 45.1vh;
    max-height: unset;
}
.c-modal01__container.has-mov .c-modal01-header {
    top: -25px;
    right: 0;
    color: rgb(var(--color-grayscale-100));
}
.c-modal01__container.has-mov .c-modal01-content__inner {
    padding: 0;
}
.c-modal01__container.has-mov .c-modal01-content__inner::before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 177.78%;
}
.c-modal01__container.has-mov .c-modal01-content__inner iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.c-modal01-header {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 2;
}
.c-modal01-header__title {
    display: none;
}
.c-modal01-header__close {
    position: relative;
    display: block;
    width: 37px;
    height: 14px;
    cursor: pointer;
    padding: 0;
    margin: 0 0 0 auto;
    text-indent: -999px;
    overflow: hidden;
    border: none;
}
.c-modal01-header__close::before,
.c-modal01-header__close::after {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    content: "";
    border-top: 1px solid;
    margin-top: -1px;
}
.c-modal01-header__close::before {
    transform: skewY(-20deg);
}
.c-modal01-header__close::after {
    transform: skewY(20deg);
}
.c-modal01-content {
    overflow: auto;
    width: 100%;
}
.c-modal01-content__inner {
    position: relative;
    padding: 4em 2em;
}
.c-modal01-footer {
    display: none;
}
@media (min-width: 768px) {
    .c-modal01__container {
        max-width: 700px;
        max-height: calc(100vh - 200px);
    }
    .c-modal01__container.has-mov .c-modal01-header {
        top: -35px;
    }
    .c-modal01-header {
        top: 30px;
        right: 30px;
    }
    .c-modal01-header__close {
        width: 57px;
        height: 22px;
    }
    .c-modal01-content__inner {
        padding: 80px 75px;
    }
}

@keyframes c-modal01-fadein {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes c-modal01-fadeout {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes c-modal01-slideIn {
    from {
        transform: translateY(50px);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes c-modal01-slideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-30px);
    }
}
/* .c-modal01-intro layout
--------------------------------------------------------- */
.c-modal01-intro {
    position: relative;
    padding-top: 2em;
}
.c-modal01-intro__detail {
    color: rgb(var(--color-grayscale-900));
}
@media (max-width: 767px) {
    .c-modal01-intro {
        display: grid;
        grid-template-columns: repeat(2, 50%);
        align-items: center;
    }
}
.c-modal01-intro__img {
    padding-right: 0.75em;
}
.c-modal01-intro__detail {
    padding-left: 0.25em;
}
@media (min-width: 768px) {
    .c-modal01-intro {
        padding-top: 0.7em;
    }
    .c-modal01-intro__img {
        max-width: 64.2335766423%;
        margin: 0 auto 2em;
    }
}

/* .parts
--------------------------------------------------------- */
.c-modal01__name {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    line-height: var(--line-height_head);
    font-weight: var(--font_weight_base);
}
.c-modal01__price {
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    line-height: var(--line-height_head);
}
.c-modal01__price-main {
    display: block;
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    margin-right: 0.2em;
}
.c-modal01__price-tax {
    display: block;
    font-size: 1.1em;
    font-size: max(1.1em, 1rem);
}
.c-modal01-colors {
    margin-top: 1.5em;
}
.c-modal01-colors-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.c-modal01-colors-list__item {
    margin-right: 1.5em;
}
.c-modal01-colors-list__item::before {
    content: "";
    width: 0.8em;
    height: 0.8em;
    display: inline-block;
    border-radius: 9em;
    margin: 0 0.5em 0 0;
    border: 1px solid #bcbfc6;
    box-sizing: border-box;
}
.c-modal01-colors-list__item.is-silver::before {
    background: #bcbfc6;
}
.c-modal01-colors-list__item.is-white::before {
    background: rgb(var(--color-grayscale-100));
}
.c-modal01-info {
    text-align: center;
    padding: 0.5em;
    margin-top: 2.6em;
    border-top: 1px solid;
    border-bottom: 1px solid;
    line-height: var(--line-height_head);
}
.c-modal01-info__sub {
    font-size: 1.1em;
    font-size: max(1.1em, 1rem);
}
.c-modal01-info__main {
    font-size: 1.6em;
    font-size: max(1.6em, 1rem);
}
.c-modal01-shops {
    padding-bottom: 0.6em;
}
.c-modal01-shops.is-disabled a {
    pointer-events: none !important;
    background: #000 !important;
    opacity: 0.25 !important;
    color: var(--color-grayscale-100-op50);
}
@media (min-width: 768px) {
    .c-modal01__name {
        text-align: center;
        font-size: 2.9em;
    }
    .c-modal01__price {
        margin-top: 0.5em;
        justify-content: center;
    }
    .c-modal01__price-main {
        font-size: 2.3em;
    }
    .c-modal01__price-tax {
        font-size: 1.9em;
    }
    .c-modal01-colors {
        margin-top: 3em;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }
    .c-modal01-colors__head {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
        color: rgb(var(--color-grayscale-700));
    }
    .c-modal01-colors-list__item {
        margin: 0 0 0 1.25em;
        font-size: 1.2em;
        font-size: max(1.2em, 1rem);
    }
    .c-modal01-colors-list__item::before {
        width: 0.67em;
        height: 0.67em;
    }
    .c-modal01-info {
        margin-top: 5em;
    }
    .c-modal01-info__sub {
        font-size: 1.7em;
        font-size: max(1.7em, 1rem);
    }
    .c-modal01-info__main {
        font-size: 2.1em;
    }
    .c-modal01-shops {
        padding-bottom: 0;
    }
}

/* .c-modal01-about
--------------------------------------------------------- */
.c-modal01-about__head {
    font-size: 2.2em;
    font-size: max(2.2em, 1rem);
    line-height: var(--line-height_head);
    font-weight: var(--font_weight_base);
    margin-bottom: 0.6818181818em;
}
.c-modal01-about__img {
    margin-bottom: 1.5em;
}
.c-modal01-about-sec {
    margin-top: 3em;
}
.c-modal01-about-list {
    counter-reset: num01;
}
.c-modal01-about-list__item {
    margin-top: 1em;
    padding: 1.5em;
    line-height: var(--line-height_head);
    background: rgb(var(--color-grayscale-100));
    display: grid;
    grid-template-columns: 3em auto;
    align-items: center;
}
.c-modal01-about-list__item::before {
    display: block;
    counter-increment: num01;
    content: counter(num01, decimal-leading-zero);
    font-size: 1.7em;
    font-size: max(1.7em, 1rem);
    font-family: var(--fontfamily_en);
    font-weight: var(--font_weight_en);
    letter-spacing: var(--letter-spacing_en);
    color: rgb(var(--color-primary-400));
}
.c-modal01-about-list__item-txt {
    display: block;
}
.c-modal01-about-list__item-txt-sub {
    display: block;
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    margin-bottom: 0.1em;
}
.c-modal01-about-list__item-txt-main {
    display: block;
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
}
.c-modal01-about-list__item-txt-note {
    display: block;
}
@media (min-width: 768px) {
    .c-modal01-about__head {
        font-size: 3.2em;
    }
    .c-modal01-about__img {
        margin-bottom: 2.1em;
    }
    .c-modal01-about-sec {
        margin-top: 5em;
    }
    .c-modal01-about-list__item {
        padding: 2em 2em 2em 2.5em;
        grid-template-columns: 4.5em auto;
    }
    .c-modal01-about-list__item::before {
        font-size: 2.1em;
    }
    .c-modal01-about-list__item-txt-sub {
        font-size: 1.4em;
        font-size: max(1.4em, 1rem);
        margin-bottom: 0.15em;
    }
    .c-modal01-about-list__item-txt-main {
        font-size: 1.8em;
        font-size: max(1.8em, 1rem);
    }
}

/* .c-modal01-detail
--------------------------------------------------------- */
.c-modal01-detail {
    line-height: var(--line-height_head);
}
.c-modal01-detail-list__item {
    border-bottom: 1px solid rgb(var(--color-primary-200));
    padding: 0 0 1.5em 1.3em;
    margin-top: 1.5em;
}
.c-modal01-detail-list__item-head {
    position: relative;
    font-size: 1.5em;
    font-size: max(1.5em, 1rem);
}
.c-modal01-detail-list__item-head::before {
    content: "";
    position: absolute;
    top: calc(1em - 6px);
    left: -0.9em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgb(var(--color-primary-300));
}
.c-modal01-detail-list-child {
    margin-top: 1.5em;
    color: rgb(var(--color-grayscale-900));
}
.c-modal01-detail-list-child__item {
    margin-top: 1.2em;
}
.c-modal01-detail-list-child__item-head {
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    color: #8fa3a0;
}
.c-modal01-detail-list-child__item-txt {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
}
.c-modal01-detail__notes {
    margin-top: 1.5em;
}
@media (min-width: 768px) {
    .c-modal01-detail-list__item-head {
        font-size: 2em;
    }
    .c-modal01-detail-list__item-head::before {
        left: -0.7em;
    }
    .c-modal01-detail-list-child__item-head {
        font-size: 1.4em;
        font-size: max(1.4em, 1rem);
    }
    .c-modal01-detail-list-child__item-txt {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
    }
    .c-modal01-detail__notes {
        margin-top: 2em;
    }
}

.c-nav-sns01 {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fit, minmax(4.5em, 45px));
    gap: 1.5em 1.5em;
    color: rgb(var(--color-primary-500));
}
.c-nav-sns01__item-link,
.c-nav-sns01__item-btn {
    padding: 100% 0 0 0;
    margin: 0;
    position: relative;
    display: block;
    background: rgb(var(--color-grayscale-100));
    border-radius: 50%;
}
.c-nav-sns01__item-link .c-ico,
.c-nav-sns01__item-btn .c-ico {
    display: block;
}
.c-nav-sns01__item-btn {
    position: relative;
    border: 0;
}
.c-nav-sns01__item-btn-txt {
    background: rgb(var(--color-primary-500));
    color: #fff;
    width: 3em;
    text-align: center;
    letter-spacing: 0.05em;
    padding: 2px 1px 4px;
    font-size: max(1.2em, 1rem);
    border-radius: 3px;
    position: absolute;
    bottom: 80%;
    left: 50%;
    transition: all 0.3s ease;
    transform: translate(-50%, 20%);
    opacity: 0;
}
.c-nav-sns01__item-btn.is-active .c-nav-sns01__item-btn-txt {
    transform: translate(-50%, 0%);
    opacity: 1;
}
.c-nav-sns01__item-ico {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media (min-width: 768px) {
    .c-nav-sns01 {
        grid-template-columns: repeat(auto-fit, minmax(6em, 45px));
    }
    .c-nav-sns01__item {
        font-size: 1.33em;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-nav-sns01__item-link,
    .c-nav-sns01__item-btn {
        transition: all 0.3s ease;
    }
    .c-nav-sns01__item-link:hover,
    .c-nav-sns01__item-btn:hover {
        background: rgb(var(--color-accent-300));
        color: rgb(var(--color-grayscale-100));
    }
}

.c-note01 {
    line-height: var(--line-height_head);
    font-weight: var(--font_weight_thin);
    margin-top: 0.91em;
    word-break: break-word;
}
.c-note01__wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0.7em -0.5em 0 0;
}
.c-note01__wrap .c-note01 {
    margin: 0.3em 0.5em 0 0 !important;
}
.c-note01:not([class*="u-text"]) {
    font-size: clamp(1rem, 1.1em, 1.1rem);
}
.c-note01 + .c-note01 {
    margin-top: 0.4em;
}
.c-note01.has-mark {
    text-indent: -1.35em;
    padding-left: 1.35em;
}
.c-note01.has-mark-num {
    text-indent: -1.85em;
    padding-left: 1.85em;
}
.c-note01.is-strong {
    opacity: 1;
}
@media (min-width: 768px) {
    .c-note01 {
        margin-top: 0.83em;
    }
    .c-note01__wrap {
        margin: 0 -2em 0 0;
    }
    .c-note01__wrap .c-note01 {
        margin: 0.83em 1.67em 0 0 !important;
    }
    .c-note01:not([class*="u-text"]) {
        font-size: clamp(1rem, 1.2em, 1.2rem);
    }
}

.c-note02 {
    margin-top: 0.8em;
    padding: 0.7em 1em 0.8em;
    background: rgb(var(--color-surface-200));
    text-align: left;
    display: grid;
    grid-template-columns: 1.4em auto;
    gap: 0 0.5em;
    box-sizing: border-box;
}
.c-note02__ico {
    font-size: 1em;
    font-size: max(1em, 1rem);
    margin-top: 0.25em;
}
.c-note02__txt {
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    line-height: var(--line-height_head);
    font-weight: var(--font_weight_thin);
}
.c-note02__txt .c-note02__link {
    display: inline-block;
}
.c-note02__txt .c-note02__link::after {
    content: "";
    display: block;
    margin-top: 0.2em;
    border-bottom: 1px solid rgb(var(--color-primary-400));
}
.c-note02__txt .c-note02__link-ico {
    font-size: 0.9em;
    margin-left: 0.5em;
}
@media (max-width: 767px) {
    .c-note02__txt .c-note02__link {
        font-size: 83.3%;
    }
}
@media (min-width: 768px) {
    .c-note02 {
        margin-top: 1.5em;
        place-content: center;
        align-items: center;
        grid-template-columns: 1.8em auto;
        gap: 0 1.2em;
    }
    .c-note02__ico {
        font-size: 1.29em;
        font-size: max(1.29em, 1rem);
        margin-top: 0;
    }
    .c-note02__txt {
        font-size: 1.4em;
        font-size: max(1.4em, 1rem);
    }
    .c-note02__txt .c-note02__link {
        margin-bottom: -0.5em;
    }
}

.c-point01 {
    border: 1px solid;
    background: rgba(var(--color-grayscale-900), 0.9);
    text-align: center;
    display: grid;
    place-content: center center;
    place-items: center center;
    width: 9em;
    height: 9em;
    border-radius: 50%;
    transition: all 0.6s var(--mh--easing);
    padding-bottom: 0.4em;
    box-sizing: border-box;
}
.c-point01__head {
    margin-bottom: 0.2em;
}
.c-point01__head-main {
    border-bottom: 1px solid;
    letter-spacing: 0.1em;
}
.c-point01__head-sub {
    font-size: max(0.8em, 1rem);
}
.c-point01__body {
    white-space: nowrap;
}
.c-point01__body-txt {
    display: inline-block;
    font-size: max(1.2em, 1rem);
    vertical-align: bottom;
}
.c-point01__body-num {
    display: inline-block;
    font-size: max(2.4em, 1rem);
    letter-spacing: 0;
}
.c-point01__body sup {
    vertical-align: top;
    font-size: max(0.8em, 1rem);
    margin-right: -1em;
}
.c-point01__foot {
    line-height: var(--line-height_narrow);
}
@media (min-width: 768px) {
    .c-point01 {
        border-width: 2px;
        width: 22em;
        height: 22em;
    }
    .c-point01__head-main {
        font-size: max(2.2em, 1rem);
    }
    .c-point01__head-sub {
        font-size: max(1.6em, 1rem);
    }
    .c-point01__body-txt {
        font-size: max(2.2em, 1rem);
    }
    .c-point01__body-num {
        font-size: max(5.8em, 1rem);
    }
    .c-point01__body sup {
        font-size: max(1.4em, 1rem);
    }
    .c-point01__foot {
        font-size: max(2.4em, 1rem);
    }
}

.c-set-column01 {
    position: relative;
}
.c-set-column01__in {
    position: relative;
    display: block;
}
.c-set-column01__in::before {
    position: absolute;
    top: 0.7em;
    bottom: 0;
    left: 0;
    right: 0;
    content: "";
    background: rgb(var(--color-grayscale-100));
}
.c-set-column01__head {
    position: relative;
    text-align: center;
    font-size: 2.1em;
    font-size: max(2.1em, 1rem);
    color: rgb(var(--color-grayscale-500));
}
.c-set-column01__content {
    position: relative;
    display: grid;
    grid-template-columns: 9.4em auto;
    gap: 0 1.2em;
    align-items: center;
    padding: 0.7em 1.5em 1.5em;
}
.c-set-column01__col.is-img {
    border-radius: 50%;
    overflow: hidden;
}
.c-set-column01__subhead {
    font-size: 1.3em;
    font-size: max(1.3em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
}
.c-set-column01__txt {
    margin-top: 0.4em;
    font-size: 1.1em;
    font-size: max(1.1em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
}
.c-set-column01__btn {
    margin-top: 0.4em;
    display: flex;
    justify-content: flex-end;
    line-height: var(--line-height_head);
}
.c-set-column01__btn-in {
    display: block;
}
.c-set-column01__btn-in::after {
    content: "";
    display: block;
    margin-top: 0.2em;
    border-bottom: 1px solid rgb(var(--color-primary-400));
}
.c-set-column01__btn-ico {
    margin-left: 0.5em;
}
.c-set-column01.is-txt-white {
    color: rgb(var(--color-grayscale-100));
}
.c-set-column01.is-txt-white .c-set-column01__in::before {
    background: rgb(var(--color-primary-700));
}
.c-set-column01.is-txt-white .c-set-column01__head,
.c-set-column01.is-txt-white .c-set-column01__txt {
    color: rgb(var(--color-grayscale-100));
}
@media (max-width: 767px) {
    .c-set-column01__btn-ico {
        font-size: 0.9em;
    }
}
@media (min-width: 768px) {
    .c-set-column01 {
        max-width: 960px;
        margin: 0 auto;
    }
    .c-set-column01__in::before {
        top: 1.3em;
    }
    .c-set-column01__head {
        font-size: 3.6em;
        font-size: max(3.6em, 1rem);
        opacity: 0.7;
    }
    .c-set-column01__content {
        grid-template-columns: 15em auto;
        gap: 0 3em;
        padding: 1.5em 4em 4em;
    }
    .c-set-column01__subhead {
        font-size: 2.4em;
        font-size: max(2.4em, 1rem);
    }
    .c-set-column01__txt {
        margin-top: 0.3em;
        font-size: 1.9em;
        font-size: max(1.9em, 1rem);
        color: var(--color-primary-700-op70);
    }
    .c-set-column01__btn {
        position: absolute;
        bottom: 2em;
        right: 2em;
        margin: 0;
    }
    .c-set-column01__btn-in::after {
        margin-top: 0.5em;
    }
    .c-set-column01__btn-txt {
        font-size: 1.7em;
        font-size: max(1.7em, 1rem);
    }
    .c-set-column01__btn-ico {
        margin: 0 0 0.2em 0.6em;
    }
}
@media (hover: hover) and (pointer: fine) {
    .c-set-column01__in::before {
        transition: background 0.3s ease;
    }
    .c-set-column01__in:hover::before {
        background: rgb(var(--color-primary-100));
    }
    .c-set-column01.is-txt-white .c-set-column01__in:hover::before {
        background: rgb(var(--color-primary-500));
    }
}

.footer {
    font-family: var(--fontfamily_en) var(--fontfamily_base);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
    letter-spacing: var(--letter-spacing_base);
    background: #f5f5f5;
    color: #333;
    position: relative;
    padding: 10.6666666667vw 0 calc(10.6666666667vw + 4rem);
}
.footer img {
    display: block;
    width: 100%;
}
.footer .footer__inner {
    width: 78.6666666667vw;
    margin: 0 auto;
    position: relative;
}
.footer .footer__head {
    position: relative;
}
.footer .footer__ttl {
    width: 17.3333333333vw;
    margin: 0 auto 11.3333333333vw;
}
.footer .footer__bnr {
    margin-bottom: 60px;
}
.footer .footer__bnr--ttl {
    font-size: 3.2vw;
    text-align: center;
    margin-bottom: 2.6666666667vw;
}
@media (min-width: 768px) {
    .footer .footer__bnr {
        margin-bottom: 5.333333333vw;
    }
    .footer .footer__bnr--ttl {
        font-size: 16px;
        margin-bottom: 10px;
        text-align: left;
    }
}
@media (min-width: 768px) {
    .footer .footer__bnr--list {
        display: flex;
        align-items: center;
        margin: 0 -20px;
        justify-content: center;
    }
}
@media (min-width: 768px) {
    .footer .footer__bnr--box {
        flex-basis: 50%;
        max-width: 50%;
        padding: 0 20px;
    }
}
.footer .footer__bnr--box a {
    display: block;
    border: 1px solid #dbdbdb;
}
.footer .footer__bnr--box:not(:last-child) {
    margin-bottom: 2.6666666667vw;
}
@media (min-width: 768px) {
    .footer .footer__bnr--box:not(:last-child) {
        margin-bottom: 0;
    }
}
.footer .footer__lang {
    position: absolute;
    top: 0;
    right: 0;
    color: #c8c8c8;
    width: 20vw;
    display: flex;
    align-items: center;
}
.footer .footer__lang__link {
    display: block;
    width: calc(50% - 1px);
    padding: 1.5vw;
    box-sizing: border-box;
    text-align: center;
    line-height: 1em;
    font-size: 0.7rem;
    color: #333;
    font-size: 10px !important;
}
.footer .footer__langLine {
    display: block;
    height: 10px;
    width: 1px;
    background: #000;
}
.footer .footer__menu-wrap {
    width: 100%;
    margin: 0 auto 10vw;
}
.footer .footer__menu__block {
    margin: 0 0 8vw;
    width: 100%;
}
.footer .footer__menu__block h2 {
    font-size: 14px;
    margin: 0 0 5.3333333333vw;
    letter-spacing: 0.15em;
    font-weight: var(--font_weight_en);
}
.footer .footer__menu-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    font-size: 11px;
}
.footer .footer__menu-list__list {
    width: 50%;
    margin: 0 0 2.6666666667vw 0;
}
.footer .footer__menu-list__list a {
    letter-spacing: 0.06em;
    text-decoration: none;
}
.footer .footer__menu-list__list span {
    display: inline-block;
    position: relative;
}
.footer .footer__menu-list__list span:before {
    content: "";
    display: inline-block;
    background: url(../img/common/ico_window.svg) no-repeat;
    width: 7px;
    height: 7px;
    position: absolute;
    right: -15px;
    top: 6px;
    background-size: contain;
}
@media (min-width: 768px) {
    .footer .footer__menu-list__list a {
        transition: opacity 0.3s;
    }
    .footer .footer__menu-list__list a:hover {
        cursor: pointer;
        opacity: 0.8;
    }
    .footer .footer__menu-list__list span:before {
        content: "";
        display: inline-block;
        background: url(../img/common/ico_window.svg) no-repeat;
        width: 7px;
        height: 7px;
        position: absolute;
        right: -15px;
        top: 4px;
        background-size: contain;
    }
}
.footer .footer__copylight {
    text-align: center;
    letter-spacing: 1.5px;
    font-size: 11px;
}
@media (min-width: 768px) {
    .footer .footer {
        padding: 80px 0 50px;
        margin-top: 150px;
    }
    .footer .footer img {
        width: 100%;
        display: block;
    }
    .footer .footer__inner {
        width: 80%;
        max-width: 1000px;
    }
    .footer .footer__head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 100px;
    }
    .footer .footer__ttl {
        width: 130px;
        margin: 0;
    }
    .footer .footer__lang {
        position: static;
        width: 100px;
    }
    .footer .footer__lang__link {
        padding: 10px 0;
        font-size: 1.2rem !important;
    }
}
@media (min-width: 768px) and (min-width: 768px) {
    .footer .footer__lang__link {
        transition: opacity 0.3s;
    }
    .footer .footer__lang__link:hover {
        cursor: pointer;
        opacity: 0.8;
    }
}
@media (min-width: 768px) {
    .footer .footer__menu-wrap {
        width: 100%;
        max-width: 1000px;
        margin: 0 auto 0px;
        display: flex;
        justify-content: space-between;
    }
}
@media (min-width: 768px) {
    .footer .footer__menu__block {
        margin: 0 0 60px;
    }
    .footer .footer__menu__block h2 {
        margin: 0 0 40px;
        font-size: 2rem;
    }
}
@media (max-width: 767px) {
    .footer .footer__menu-list {
        display: flexbox;
    }
    .footer .footer__menu-list__list.num01 {
        order: 1;
    }
    .footer .footer__menu-list__list.num02 {
        order: 2;
    }
    .footer .footer__menu-list__list.num03 {
        order: 7;
    }
    .footer .footer__menu-list__list.num04 {
        order: 3;
    }
    .footer .footer__menu-list__list.num05 {
        order: 4;
    }
    .footer .footer__menu-list__list.num06 {
        order: 6;
    }
    .footer .footer__menu-list__list.num07 {
        order: 5;
    }
    .footer .footer__menu-list__list.num08 {
        order: 8;
    }
}
@media (min-width: 768px) {
    .footer .footer__menu-list {
        font-size: 1.2rem;
        letter-spacing: 0.06em;
        justify-content: end;
    }
    .footer .footer__menu-list__list {
        width: 33.333333%;
        margin: 0 0 15px;
    }
    .footer .footer__menu-list__list .sp {
        display: none;
    }
}
@media (min-width: 768px) {
    .footer .footer__copylight {
        text-align: center;
        font-size: 1.2rem;
    }
}

.footer .sns-wrap {
    margin: 0 auto 16vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer .sns-list {
    width: 6%;
}
.footer .sns-list a {
    display: block;
    position: relative;
}
@media (min-width: 768px) {
    .footer .sns-list a {
        transition: opacity 0.3s;
    }
    .footer .sns-list a:hover {
        cursor: pointer;
        opacity: 0.8;
    }
}
.footer .sns-list a:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.footer .sns-list img {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
}
@media (min-width: 768px) {
    .footer .sns-wrap {
        width: 250px;
        margin: 0 auto;
    }
    .footer .sns-list {
        width: 20px;
    }
}

/* .l-header
================================================ */
.l-header {
    position: -webkit-fixed;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 320px;
    z-index: 2000;
}
.l-header.is-loading .l-header-info__logo,
.l-header.is-loading .l-nav-btn,
.l-header.is-loading .l-float {
    pointer-events: none;
    opacity: 0;
}
.l-header.is-loading .l-header-info__logo,
.l-header.is-loading .l-nav-btn {
    transform: translateY(-30px);
}
.l-header.is-loading .l-float {
    transform: translateY(30px);
}
.l-header:not(.is-loading) .l-header-info__logo,
.l-header:not(.is-loading) .l-nav-btn,
.l-header:not(.is-loading) .l-float {
    transition:
        opacity 1s ease,
        transform 1s ease,
        color 0.3s ease;
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}
@media (max-width: 767px) {
    .l-header.is-active .l-header-info__logo {
        transition-duration: 0.6s;
        color: rgb(var(--color-primary-500));
    }
    .l-header.is-color-primary500sp {
        color: rgb(var(--color-primary-500)) !important;
    }
}

/* .l-header-info
================================================== */
.l-header-info {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    height: var(--header_height);
    display: flex;
    align-items: center;
}
.l-header-info__inner {
    width: 100%;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    box-sizing: border-box;
}
.l-header-info__logo {
    width: 103px;
}
.l-header-info__logo-link {
    display: block;
}
.l-header-info__logo-link svg {
    display: block;
}
@media (min-width: 768px) {
    .l-header-info__inner {
        padding-left: 50px;
        padding-right: 35px;
    }
    .l-header-info__logo {
        width: 158px;
    }
}

/* .l-nav-btn
================================================== */
.l-nav-btn {
    position: relative;
    width: 37px;
    height: 37px;
    border: none;
    cursor: pointer;
}
.l-nav-btn__line {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    border-top: 1px solid;
    transition:
        margin-top 0.3s ease 0.3s,
        transform 0.3s ease;
}
.l-nav-btn__line:nth-child(1) {
    margin-top: -3px;
}
.l-nav-btn__line:nth-child(2) {
    margin-top: 3px;
}
.l-nav-btn.is-active {
    color: rgb(var(--color-primary-500));
}
.l-nav-btn.is-active .l-nav-btn__line {
    transition-delay: 0s, 0.3s;
    margin-top: 0;
}
.l-nav-btn.is-active .l-nav-btn__line:nth-child(1) {
    transform: skewY(-20deg);
}
.l-nav-btn.is-active .l-nav-btn__line:nth-child(2) {
    transform: skewY(20deg);
}
@media (min-width: 768px) {
    .l-nav-btn {
        width: 60px;
        height: 60px;
    }
    .l-nav-btn__line:nth-child(1) {
        margin-top: -6px;
    }
    .l-nav-btn__line:nth-child(2) {
        margin-top: 6px;
    }
}

/* .l-nav
================================================ */
.l-nav {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    height: 100vh;
    min-height: 100lvh;
    min-width: 320px;
    padding: max(var(--header_height), 22.17vh) 10.6666666667%
        calc(50px + env(safe-area-inset-bottom));
    background: var(--color-grayscale-100-op90);
    -webkit-backdrop-filter: blur(var(--blur02));
    backdrop-filter: blur(var(--blur02));
    box-sizing: border-box;
    overscroll-behavior-y: none;
    -webkit-overflow-scrolling: touch;
    overflow: auto;
    transform: translateX(120%);
    color: rgb(var(--color-primary-500));
    transition: all 0.3s ease;
}
.l-nav::-webkit-scrollbar {
    display: none;
}
.l-nav.is-active {
    transform: translateX(0);
}
@media (max-width: 767px) {
    .l-nav {
        width: 100%;
    }
}
@media (min-width: 768px) {
    .l-nav {
        padding: max(var(--header_height), 21.7vh) 4.3229166667%
            calc(50px + env(safe-area-inset-bottom)) 4.53125%;
        min-width: 57em;
    }
}

/* .l-nav-list
================================================== */
.l-nav-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.4em 0;
}
.l-nav-list__item-link {
    display: block;
    font-size: 1.8em;
    font-size: max(1.8em, 1rem);
}
@media (min-width: 768px) {
    .l-nav-list {
        gap: 5em 0;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-nav-list__item-link {
        transition: color 0.3s ease;
    }
    .l-nav-list__item-link:hover {
        color: rgb(var(--color-accent-300));
    }
}

/* .l-nav-list
================================================== */
.l-nav-bottom {
    padding-top: 3.5em;
    border-top: 1px solid rgb(var(--color-primary-400));
}
.l-nav-bottom__head {
    text-align: center;
    font-size: 1.9em;
    font-size: max(1.9em, 1rem);
    margin-bottom: 1em;
}
@media (max-width: 767px) {
    .l-nav-bottom {
        margin: 8em -13.5593220339% 0;
    }
}
@media (min-width: 768px) {
    .l-nav-bottom {
        margin-top: 7em;
        padding-top: 7em;
    }
    .l-nav-bottom__head {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
        margin-bottom: 1.875em;
    }
}

/* .l-float
================================================== */
.l-float {
    position: -webkit-fixed;
    position: fixed;
    bottom: 15px;
    right: 15px;
    height: 4em;
    width: 11.5em;
}
.l-float-btn {
    display: block;
    height: 100%;
    width: 100%;
}
.l-float-btn__link {
    height: 100%;
    width: 100%;
    background: var(--color-grayscale-100-op90);
    color: rgb(var(--color-primary-500));
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 99em;
}
.l-float-btn__txt {
    margin-left: 0.6153846154em;
    font-size: 1.3em;
    font-size: max(1.3em, 1rem);
}
@media (min-width: 768px) {
    .l-float {
        bottom: 40px;
        right: 40px;
        height: 55px;
        width: 180px;
    }
    .l-float-btn__ico::after {
        width: 20px !important;
        height: 20px !important;
    }
    .l-float-btn__txt {
        margin-left: 8px;
        font-size: 1.8rem;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-float-btn__link {
        transition: all 0.3s ease;
    }
    .l-float-btn__link:hover {
        background: rgb(var(--color-accent-300));
        color: rgb(var(--color-grayscale-100));
    }
}

/* .l-nav-overlay
================================================ */
/* .l-loading
================================================ */
.l-loading {
    font-family: "sp";
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    transition:
        all 3s ease,
        visibility 0s linear;
    background: linear-gradient(180deg, #52a3be, #366b7d);
    z-index: 3;
    display: grid;
    place-items: center;
}
.l-loading.is-loading .l-loading__mov {
    filter: blur(20px);
    opacity: 0;
}
.l-loading.is-loaded {
    transition-delay: 1s, 4s;
    filter: blur(20px);
    transform: scale(1.05);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}
.l-loading.is-loaded .l-loading__copy {
    filter: blur(20px);
    opacity: 0;
}
.l-loading__mov {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition:
        opacity 0.3s ease,
        filter 2s ease;
}
.l-loading__mov video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.l-loading__copy {
    position: relative;
    text-align: center;
    transition: all 2s ease;
}
.l-loading__copy-logo {
    width: 17.8em;
    margin-bottom: 2.1em;
    opacity: 0.9;
}
.l-loading__copy-txt {
    font-size: 1.5em;
    font-size: max(1.5em, 1rem);
}
@media (min-aspect-ratio: 1/1) {
    .l-loading {
        font-family: "tb";
    }
}
@media (min-width: 768px) {
    .l-loading__copy-logo {
        width: 27.2em;
        margin-bottom: 3.53em;
    }
    .l-loading__copy-txt {
        font-size: 2.4em;
    }
}

/* .l-main-img HOME
================================================ */
@keyframes mvScrollAnime {
    0% {
        transform: scaleY(0);
        transform-origin: left top;
    }
    49% {
        transform: scaleY(1);
        transform-origin: left top;
    }
    50% {
        transform: scaleY(1);
        transform-origin: left bottom;
    }
    100% {
        transform: scaleY(0);
        transform-origin: left bottom;
    }
}
.l-main-img {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 100lvh;
    overflow: hidden;
}
.l-main-img__bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: opacity 1s ease;
    transition-delay: 0.8s;
}
.l-main-img__bg img {
    transition:
        opacity 1.6s ease 0.6s,
        transform 1.6s ease-out 0.6s;
    opacity: 1;
    transform: translate(0, 0);
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}
.l-main-img__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    padding-top: calc(var(--header_height) + 2em);
    box-sizing: border-box;
    display: grid;
    place-content: space-between stretch;
}
.l-main-img__copy {
    position: relative;
    display: grid;
    place-content: start;
    z-index: 3;
    transition: all 2s ease;
}
.l-main-img__copy-sub {
    font-size: 1.7em;
    font-size: max(1.7em, 1rem);
    line-height: var(--line-height_head);
    opacity: 0.7;
}
.l-main-img__copy-main {
    margin-top: 0.0689655172em;
    font-size: 2.9em;
    font-size: max(2.9em, 1rem);
    font-weight: var(--font_weight_thin);
    line-height: 1.4;
    letter-spacing: 0.1em;
    margin-right: -0.7em;
}
.l-main-img__copy-en {
    border-top: 1px solid var(--color-grayscale-100-op50);
    margin-top: 0.625em;
    padding-top: 1em;
    font-size: 1.6em;
    font-size: max(1.6em, 1rem);
}
.l-main-img__note {
    transition: all 1s ease;
    position: absolute;
    bottom: 2em;
    left: 2em;
    margin-top: 0;
}
.l-main-img.is-loading .l-main-img__bg {
    opacity: 0;
}
.l-main-img.is-loading .l-main-img__copy {
    pointer-events: none;
    opacity: 0;
    filter: blur(10px);
}
.l-main-img.is-loading .l-main-img__note {
    pointer-events: none;
    opacity: 0;
}
@media (min-aspect-ratio: 1/1) {
    .l-main-img__inner {
        position: static;
        padding-top: 0;
        padding-bottom: min(90px, 9.57vh);
        place-content: center stretch;
    }
    .l-main-img__inner::before {
        content: none;
    }
}
@media (min-width: 768px) {
    .l-main-img__inner {
        max-width: calc(1390px + var(--body_padding_side) * 2);
    }
    .l-main-img__copy-sub {
        font-size: 2px;
        font-size: max(2em, 1rem);
    }
    .l-main-img__copy-main {
        margin-top: 0.0711864407em;
        font-size: 5.9em;
        font-size: max(5.9em, 1rem);
    }
    .l-main-img__copy-en {
        margin-top: 0.7428571429em;
        padding-top: 0.8571428571em;
        font-size: 3.5em;
        font-size: max(3.5em, 1rem);
    }
}

.js-c-anime-elem[data-anime="fadein-left-up"],
.js-c-anime-elem [data-anime="fadein-left-up"] {
    transition:
        opacity 1s ease,
        transform 1s ease;
    opacity: 0;
    transform: translate(20px, 20px);
}
.js-c-anime-elem:not(.is-animated)[data-anime="fadein-left-up"],
.js-c-anime-elem:not(.is-animated) [data-anime="fadein-left-up"] {
    transition: all 0.3s ease 0s !important;
}
.js-c-anime-elem.is-animated[data-anime="fadein-left-up"],
.js-c-anime-elem.is-animated [data-anime="fadein-left-up"] {
    opacity: 1;
    transform: translate(0px, 0px);
}

.js-c-anime-elem[data-anime="fadein-zoomout"],
.js-c-anime-elem [data-anime="fadein-zoomout"] {
    transition:
        opacity 1s ease,
        transform 2s ease;
    opacity: 0;
    transform: scale(1.2);
}
.js-c-anime-elem:not(.is-animated)[data-anime="fadein-zoomout"],
.js-c-anime-elem:not(.is-animated) [data-anime="fadein-zoomout"] {
    transition: all 0.3s ease 0s !important;
}
.js-c-anime-elem.is-animated[data-anime="fadein-zoomout"],
.js-c-anime-elem.is-animated [data-anime="fadein-zoomout"] {
    opacity: 1;
    transform: scale(1);
}

.js-c-anime-elem[data-anime="fadein"],
.js-c-anime-elem [data-anime="fadein"] {
    transition: opacity 1s ease;
    opacity: 0;
}
.js-c-anime-elem:not(.is-animated)[data-anime="fadein"],
.js-c-anime-elem:not(.is-animated) [data-anime="fadein"] {
    transition: opacity 0.3s ease 0s !important;
}
.js-c-anime-elem.is-animated[data-anime="fadein"],
.js-c-anime-elem.is-animated [data-anime="fadein"] {
    opacity: 1;
}

.js-c-anime-elem[data-anime="fadein-self"] {
    transition: opacity 1s ease;
    opacity: 0;
}
.js-c-anime-elem:not(.is-animated)[data-anime="fadein-self"] {
    transition: opacity 0.3s ease 0s !important;
}
.js-c-anime-elem.is-animated[data-anime="fadein-self"] {
    opacity: 1;
}

.js-c-anime-elem .js-c-split-txt span,
.js-c-anime-elem .js-c-split-txt sup {
    display: inline-block;
    opacity: 0;
    transition: opacity 1s ease;
}
.js-c-anime-elem .js-c-split-txt span.is-space,
.js-c-anime-elem .js-c-split-txt sup.is-space {
    min-width: 0.2em;
}
.js-c-anime-elem.is-animated .js-c-split-txt span,
.js-c-anime-elem.is-animated .js-c-split-txt sup {
    opacity: 1;
}
.js-c-anime-elem.is-animated .js-c-split-txt sup {
    transition-delay: 1s;
}
.js-c-anime-elem:not(.is-animated) .js-c-split-txt span,
.js-c-anime-elem:not(.is-animated) .js-c-split-txt sup {
    transition: opacity 0.6s ease 0s !important;
}

.js-c-anime-elem.is-animated[data-anime-delay="0.1"],
.js-c-anime-elem.is-animated [data-anime-delay="0.1"] {
    transition-delay: 0.1s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.1"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="0.1"]::after {
    transition-delay: 0.1s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.2"],
.js-c-anime-elem.is-animated [data-anime-delay="0.2"] {
    transition-delay: 0.2s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.2"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="0.2"]::after {
    transition-delay: 0.2s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.3"],
.js-c-anime-elem.is-animated [data-anime-delay="0.3"] {
    transition-delay: 0.3s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.3"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="0.3"]::after {
    transition-delay: 0.3s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.4"],
.js-c-anime-elem.is-animated [data-anime-delay="0.4"] {
    transition-delay: 0.4s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.4"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="0.4"]::after {
    transition-delay: 0.4s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.5"],
.js-c-anime-elem.is-animated [data-anime-delay="0.5"] {
    transition-delay: 0.5s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.5"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="0.5"]::after {
    transition-delay: 0.5s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.6"],
.js-c-anime-elem.is-animated [data-anime-delay="0.6"] {
    transition-delay: 0.6s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.6"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="0.6"]::after {
    transition-delay: 0.6s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.7"],
.js-c-anime-elem.is-animated [data-anime-delay="0.7"] {
    transition-delay: 0.7s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.7"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="0.7"]::after {
    transition-delay: 0.7s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.8"],
.js-c-anime-elem.is-animated [data-anime-delay="0.8"] {
    transition-delay: 0.8s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.8"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="0.8"]::after {
    transition-delay: 0.8s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.9"],
.js-c-anime-elem.is-animated [data-anime-delay="0.9"] {
    transition-delay: 0.9s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="0.9"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="0.9"]::after {
    transition-delay: 0.9s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1"],
.js-c-anime-elem.is-animated [data-anime-delay="1"] {
    transition-delay: 1s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1"]::after {
    transition-delay: 1s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.1"],
.js-c-anime-elem.is-animated [data-anime-delay="1.1"] {
    transition-delay: 1.1s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.1"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1.1"]::after {
    transition-delay: 1.1s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.2"],
.js-c-anime-elem.is-animated [data-anime-delay="1.2"] {
    transition-delay: 1.2s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.2"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1.2"]::after {
    transition-delay: 1.2s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.3"],
.js-c-anime-elem.is-animated [data-anime-delay="1.3"] {
    transition-delay: 1.3s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.3"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1.3"]::after {
    transition-delay: 1.3s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.4"],
.js-c-anime-elem.is-animated [data-anime-delay="1.4"] {
    transition-delay: 1.4s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.4"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1.4"]::after {
    transition-delay: 1.4s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.5"],
.js-c-anime-elem.is-animated [data-anime-delay="1.5"] {
    transition-delay: 1.5s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.5"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1.5"]::after {
    transition-delay: 1.5s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.6"],
.js-c-anime-elem.is-animated [data-anime-delay="1.6"] {
    transition-delay: 1.6s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.6"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1.6"]::after {
    transition-delay: 1.6s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.7"],
.js-c-anime-elem.is-animated [data-anime-delay="1.7"] {
    transition-delay: 1.7s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.7"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1.7"]::after {
    transition-delay: 1.7s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.8"],
.js-c-anime-elem.is-animated [data-anime-delay="1.8"] {
    transition-delay: 1.8s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.8"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1.8"]::after {
    transition-delay: 1.8s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.9"],
.js-c-anime-elem.is-animated [data-anime-delay="1.9"] {
    transition-delay: 1.9s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="1.9"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="1.9"]::after {
    transition-delay: 1.9s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2"],
.js-c-anime-elem.is-animated [data-anime-delay="2"] {
    transition-delay: 2s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2"]::after {
    transition-delay: 2s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.1"],
.js-c-anime-elem.is-animated [data-anime-delay="2.1"] {
    transition-delay: 2.1s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.1"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2.1"]::after {
    transition-delay: 2.1s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.2"],
.js-c-anime-elem.is-animated [data-anime-delay="2.2"] {
    transition-delay: 2.2s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.2"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2.2"]::after {
    transition-delay: 2.2s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.3"],
.js-c-anime-elem.is-animated [data-anime-delay="2.3"] {
    transition-delay: 2.3s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.3"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2.3"]::after {
    transition-delay: 2.3s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.4"],
.js-c-anime-elem.is-animated [data-anime-delay="2.4"] {
    transition-delay: 2.4s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.4"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2.4"]::after {
    transition-delay: 2.4s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.5"],
.js-c-anime-elem.is-animated [data-anime-delay="2.5"] {
    transition-delay: 2.5s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.5"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2.5"]::after {
    transition-delay: 2.5s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.6"],
.js-c-anime-elem.is-animated [data-anime-delay="2.6"] {
    transition-delay: 2.6s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.6"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2.6"]::after {
    transition-delay: 2.6s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.7"],
.js-c-anime-elem.is-animated [data-anime-delay="2.7"] {
    transition-delay: 2.7s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.7"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2.7"]::after {
    transition-delay: 2.7s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.8"],
.js-c-anime-elem.is-animated [data-anime-delay="2.8"] {
    transition-delay: 2.8s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.8"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2.8"]::after {
    transition-delay: 2.8s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.9"],
.js-c-anime-elem.is-animated [data-anime-delay="2.9"] {
    transition-delay: 2.9s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="2.9"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="2.9"]::after {
    transition-delay: 2.9s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="3"],
.js-c-anime-elem.is-animated [data-anime-delay="3"] {
    transition-delay: 3s !important;
}
.js-c-anime-elem.is-animated[data-anime-delay="3"]::after,
.js-c-anime-elem.is-animated [data-anime-delay="3"]::after {
    transition-delay: 3s !important;
}

.js-c-switch-tab {
    cursor: pointer;
}

.js-c-switch-content {
    display: none;
}
.js-c-switch-content.is-active {
    display: block;
}

.js-c-toggle-trigger {
    cursor: pointer;
}

.js-c-toggle-content {
    display: none;
}

@keyframes marqueeLoop {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
@keyframes rotateLoop {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}
/* .home-concept
================================================ */
.home-concept {
    position: relative;
    z-index: 1;
}
.home-concept__first {
    box-sizing: border-box;
}
.home-concept__second {
    box-sizing: border-box;
    background: rgb(var(--color-surface-100));
    color: rgb(var(--color-primary-500));
    padding-bottom: 7em;
}
@media (min-width: 768px) {
    .home-concept__first {
        padding: 14em 0;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 0;
        grid-template-areas: "gallery intro" "gallery detail";
    }
    .home-concept__second {
        padding-bottom: 15em;
    }
}

.home-concept-intro {
    grid-area: intro;
    box-sizing: border-box;
}
.home-concept-intro__head {
    margin-bottom: 1em;
    font-size: 2.4em;
    font-size: max(2.4em, 1rem);
    line-height: var(--line-height_head);
    font-weight: var(--font_weight_thin);
}
.home-concept-intro__txt {
    font-size: 1.5em;
    font-size: max(1.5em, 1rem);
    line-height: var(--line-height_wide);
}
@media (max-width: 767px) {
    .home-concept-intro {
        padding: 7em var(--body_padding_side) 0;
    }
}
@media (min-width: 768px) {
    .home-concept-intro {
        padding: 17.05em 0;
        min-width: 285px;
        width: 66.1458333333%;
        padding-left: 9.8958333333%;
    }
    .home-concept-intro__head {
        margin-bottom: 1.1111111111em;
        font-size: 4.5em;
        font-size: max(4.5em, 1rem);
    }
    .home-concept-intro__txt {
        font-size: 1.9em;
        font-size: max(1.9em, 1rem);
    }
}

.home-concept-gallery {
    grid-area: gallery;
    position: relative;
    padding-top: 0;
}
.home-concept-gallery__inner {
    position: relative;
    box-sizing: border-box;
}
.home-concept-gallery__img {
    overflow: hidden;
}
@media (max-width: 767px) {
    .home-concept-gallery {
        height: 350vh;
        min-height: 400vw;
        margin-bottom: -100vh;
        --mask_size_x: 81%;
        --mask_size_y: 15vh;
        --trans_x: 0%;
        --scale: 0.27;
        --trans_origin_y: 47%;
    }
    .home-concept-gallery__inner {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
    .home-concept-gallery__img.is-img01 {
        position: absolute;
        top: 4em;
        left: 0;
        width: 77.3333333333%;
        max-width: 100vh;
    }
    .home-concept-gallery__img.is-img03 {
        position: sticky;
        top: 0;
        left: 0;
        height: 100vh;
        min-height: 100lvh;
        -webkit-mask-image: linear-gradient(90deg, #fff, #fff);
        mask-image: linear-gradient(90deg, #fff, #fff);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: var(--mask_size_x) max(var(--mask_size_y), 118px);
        mask-size: var(--mask_size_x) max(var(--mask_size_y), 118px);
        -webkit-mask-position: right 50%;
        mask-position: right 50%;
    }
    @supports not (position: sticky) {
        .home-concept-gallery__img.is-img03 {
            position: -webkit-sticky;
        }
    }
    .home-concept-gallery__img.is-img03 img {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        max-width: unset;
        width: auto;
        height: 100%;
        transform: translateX(var(--trans_x)) scale(var(--scale));
        transform-origin: right var(--trans_origin_y);
    }
}
@media (min-width: 768px) {
    .home-concept-gallery {
        --opacity: 1;
        opacity: var(--opacity);
    }
    .home-concept-gallery__inner {
        position: sticky;
        top: var(--header_height);
        left: 0;
        overflow: hidden;
    }
    @supports not (position: sticky) {
        .home-concept-gallery__inner {
            position: -webkit-sticky;
        }
    }
    .home-concept-gallery[data-current="img01"] .is-img01 {
        opacity: 1;
    }
    .home-concept-gallery[data-current="img02"] .is-img02 {
        opacity: 1;
    }
    .home-concept-gallery[data-current="img03"] .is-img03 {
        opacity: 1;
    }
    .home-concept-gallery__img {
        transition: opacity 1s ease;
        opacity: 0;
    }
    .home-concept-gallery__img.is-img02,
    .home-concept-gallery__img.is-img03 {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
    }
}

.home-concept-detail {
    position: relative;
    grid-area: detail;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .home-concept-intro {
        -ms-grid-row: 1;
        -ms-grid-column: 3;
    }
    .home-concept-gallery {
        -ms-grid-row: 1;
        -ms-grid-row-span: 3;
        -ms-grid-column: 1;
    }
    .home-concept-detail {
        -ms-grid-row: 3;
        -ms-grid-column: 3;
    }
}
@media (max-width: 767px) {
    .home-concept-detail {
        background: rgb(var(--color-surface-100));
        color: rgb(var(--color-primary-500));
        padding: 7em var(--body_padding_side) 0;
    }
}
@media (min-width: 768px) {
    .home-concept-detail {
        min-width: 285px;
        width: 66.1458333333%;
        padding-left: 9.8958333333%;
    }
}

.home-concept-detail-sec + .home-concept-detail-sec {
    margin-top: 5em;
}
.home-concept-detail-sec__head {
    margin-bottom: 1em;
    font-size: 2.2em;
    font-size: max(2.2em, 1rem);
    line-height: var(--line-height_head);
    font-weight: var(--font_weight_thin);
}
@media (min-width: 768px) {
    .home-concept-detail-sec + .home-concept-detail-sec {
        margin-top: 8em;
    }
    .home-concept-detail-sec__head {
        margin-bottom: 1.1428571429em;
        font-size: 3.5em;
        font-size: clamp(1rem, 2vw, 3.5em);
    }
}

.home-concept-detail-sec-box {
    position: relative;
    padding: 0 2em 2em;
}
.home-concept-detail-sec-box__head {
    position: relative;
    font-size: 1.8em;
    font-size: max(1.8em, 1rem);
    line-height: var(--line-height_head);
    font-weight: var(--font_weight_base);
    text-align: center;
}
.home-concept-detail-sec-box__img {
    margin-top: 2.2em;
    margin-bottom: 2em;
}
.home-concept-detail-sec-box__txt {
    font-size: 1.3em;
    font-size: max(1.3em, 1rem);
}
.home-concept-detail-sec-box__txt .has-bg {
    display: inline-block;
    line-height: 1.7;
    padding: 0 0.2em;
    margin-bottom: 0.5em;
    margin-right: 0.2em;
    box-sizing: border-box;
    border: 1px solid var(--color-primary-400-op50);
    background: var(--color-grayscale-100-op90);
}
.home-concept-detail-sec-box__txt .has-bg.is-txt-white {
    border-color: #79a6b2;
    color: rgb(var(--color-grayscale-100));
    background: #79a6b2;
}
.home-concept-detail-sec-box__txt .is-block {
    display: inline-block;
}
.home-concept-detail-sec-box__txt .has-mg {
    margin: 0 0.2em;
}
.home-concept-detail-sec-box__txt .is-large {
    display: inline-block;
    font-size: 1.23em;
    letter-spacing: var(--letter-spacing_base);
    line-height: 1.2;
}
@media (max-width: 767px) {
    .home-concept-detail-sec-box::before {
        position: absolute;
        top: 1.3em;
        bottom: 0;
        left: 0;
        right: 0;
        content: "";
        border: 1px solid rgb(var(--color-primary-400));
    }
    .home-concept-detail-sec-box__head-in {
        display: inline-block;
        background: rgb(var(--color-surface-100));
        padding: 0 0.5em;
    }
}
@media (min-width: 768px) {
    .home-concept-detail-sec-box {
        background: var(--color-grayscale-100-op90);
        color: rgb(var(--color-primary-500));
        padding: 4em;
    }
    .home-concept-detail-sec-box__head {
        font-size: 3em;
        font-size: max(3em, 1rem);
    }
    .home-concept-detail-sec-box__img {
        margin-top: 1.5em;
        margin-bottom: 2em;
    }
    .home-concept-detail-sec-box__txt {
        font-size: 1.9em;
        font-size: max(1.9em, 1rem);
    }
    .home-concept-detail-sec-box__txt .is-large {
        font-size: 1.26em;
        line-height: 1.4;
    }
    .home-concept-detail-sec-box__note {
        margin-top: 2.5em;
    }
}

.home-concept-detail-sec-set + .home-concept-detail-sec-set {
    margin-top: 3em;
}
.home-concept-detail-sec-set__head {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    line-height: var(--line-height_head);
    font-weight: var(--font_weight_base);
    text-align: center;
    padding: 0.1em 1em 0.2em;
    color: rgb(var(--color-primary-500));
    background: var(--color-grayscale-100-op90);
}
.home-concept-detail-sec-set__head.is-txt-white {
    color: rgb(var(--color-grayscale-100));
    background: rgb(var(--color-primary-500));
}
.home-concept-detail-sec-set__img {
    margin-top: 1.5em;
    margin-bottom: 1em;
}
@media (min-width: 768px) {
    .home-concept-detail-sec-set + .home-concept-detail-sec-set {
        margin-top: 4em;
    }
    .home-concept-detail-sec-set__head {
        font-size: 2em;
        font-size: max(2em, 1rem);
    }
    .home-concept-detail-sec-set__head.is-txt-white {
        background: rgb(var(--color-primary-700));
    }
    .home-concept-detail-sec-set__img {
        margin-top: 2.5em;
        margin-bottom: 2.5em;
    }
}

.home-concept-detail-sec-fbia {
    display: grid;
    grid-template-columns: 4.6em auto;
    gap: 0 2em;
    align-items: center;
    padding: 4em var(--body_padding_side);
    color: rgb(var(--color-primary-500));
    background: var(--color-grayscale-100-op90);
    grid-area: 2 / 1 / 2 / 3;
    width: 80%;
    margin-right: auto;
    margin-left: auto;
}
.home-concept-detail-sec-fbia__txt {
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    line-height: var(--line-height_head);
}
@media (max-width: 767px) {
    .home-concept-detail-sec-fbia {
        margin: 4em auto 0;
        width: auto;
    }
    .home-concept-detail-sec-fbia br {
        display: none;
    }
}
@media (min-width: 768px) {
    .home-concept-detail-sec-fbia {
        margin-top: 4em;
        grid-template-columns: 4.4em auto;
        gap: 0 3em;
        padding: 2em 2em 2em 3em;
        width: 70%;
    }
    .home-concept-detail-sec-fbia__txt {
        font-size: 1.4em;
        font-size: max(1.4em, 1rem);
    }
}

.home-concept-detail-movie {
    position: relative;
    text-align: center;
}
.home-concept-detail-movie__btn-in {
    position: relative;
    padding: 0;
    margin: 0;
    border: none;
}
.home-concept-detail-movie__btn-img {
    position: relative;
    display: block;
    overflow: hidden;
}
.home-concept-detail-movie__btn-ico {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9em;
    transform: translate(-50%, -50%);
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150"><path fill-rule="evenodd" d="M150 0H0v150h150V0ZM92.13 73.47l-22.5-15a.83.83 0 0 0-1.3.7v30a.83.83 0 0 0 1.3.69l22.5-15a.83.83 0 0 0 0-1.39ZM70 87.61V60.72l20.16 13.45L70 87.6Z" clip-rule="evenodd"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150"><path fill-rule="evenodd" d="M150 0H0v150h150V0ZM92.13 73.47l-22.5-15a.83.83 0 0 0-1.3.7v30a.83.83 0 0 0 1.3.69l22.5-15a.83.83 0 0 0 0-1.39ZM70 87.61V60.72l20.16 13.45L70 87.6Z" clip-rule="evenodd"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.home-concept-detail-movie__btn-ico img {
    animation: rotateLoop 10s linear infinite;
}
@media (max-width: 767px) {
    .home-concept-detail-movie {
        margin: 6% -9.5238095238% 0;
    }
}
@media (min-width: 768px) {
    .home-concept-detail-movie {
        --width: 100%;
        margin-top: 9.8em;
        height: 2000px;
    }
    .home-concept-detail-movie__inner {
        position: sticky;
        top: var(--header_height);
        right: 0;
        box-sizing: border-box;
        padding-top: 123.5185185185%;
    }
    @supports not (position: sticky) {
        .home-concept-detail-movie__inner {
            position: -webkit-sticky;
        }
    }
    .home-concept-detail-movie__btn {
        position: absolute;
        top: 0;
        right: 0;
        width: var(--width);
        max-width: 235.1851851852%;
        height: 100%;
    }
    .home-concept-detail-movie__btn-in {
        height: 100%;
    }
    .home-concept-detail-movie__btn-img {
        height: 100%;
    }
    .home-concept-detail-movie__btn-img img {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .home-concept-detail-movie__btn-ico {
        width: 15em;
    }
}
@media (hover: hover) and (pointer: fine) {
    .home-concept-detail-movie__btn-ico {
        transition: transform 0.3s ease;
    }
    .home-concept-detail-movie__btn-in:hover
        .home-concept-detail-movie__btn-ico {
        transform: translate(-50%, -50%) scale(1.36);
    }
}

.home-concept-outline__head {
    margin-bottom: 3em;
}
.home-concept-outline__head-main {
    margin-bottom: 1.4em;
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    line-height: var(--line-height_head);
    font-weight: var(--font_weight_base);
}
.home-concept-outline__head-en {
    font-size: 2.9em;
    font-size: max(2.9em, 1rem);
}
.home-concept-outline__head-sub {
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
}
.home-concept-outline__img {
    width: 56.1904761905%;
    margin: 0 auto;
    padding: 0 3em 3em;
    box-sizing: content-box;
    overflow: hidden;
}
.home-concept-outline__col.is-col02 {
    position: relative;
}
.home-concept-outline__col.is-col02::before,
.home-concept-outline__col.is-col02::after {
    display: block;
    content: "";
    position: absolute;
    top: 2.9em;
    left: 50%;
    transform: translateX(-50%);
    width: 2em;
    border-top: 2px solid;
}
.home-concept-outline__col.is-col02::after {
    transform: translateX(-50%) rotate(90deg);
}
.home-concept-outline__txt {
    margin-top: 2.8571428571em;
}
@media (max-width: 767px) {
    .home-concept-outline__inner {
        padding: 7em var(--body_padding_side) 4em;
    }
    .home-concept-outline__col.is-col02 {
        padding-top: 6.3em;
    }
}
@media (min-width: 768px) {
    .home-concept-outline {
        box-sizing: border-box;
        max-width: var(--contents_width_with_padding);
        padding: 14em var(--body_padding_side) 12em;
        margin: 0 auto;
    }
    .home-concept-outline__inner {
        position: relative;
        padding: 0 8em 12em;
        box-sizing: border-box;
        z-index: 1;
    }
    .home-concept-outline__inner::before {
        display: block;
        content: "";
        position: absolute;
        top: 7.5em;
        bottom: 0;
        left: 0;
        right: 0;
        border: 1px solid rgb(var(--color-primary-400));
        z-index: -1;
    }
    .home-concept-outline__head {
        margin-bottom: 6em;
        display: grid;
        place-content: center;
    }
    .home-concept-outline__head-main {
        margin-bottom: 0.7407407407em;
        font-size: 2.7em;
        font-size: max(2.7em, 1rem);
    }
    .home-concept-outline__head-en {
        font-size: 4.2em;
        font-size: max(4.2em, 1rem);
        padding: 0 0.6785714286em;
        background: rgb(var(--color-surface-100));
    }
    .home-concept-outline__head-sub {
        font-size: 2.1em;
        font-size: max(2.1em, 1rem);
    }
    .home-concept-outline__img {
        width: 41.170212766%;
        padding-bottom: 6.3em;
    }
    .home-concept-outline__content {
        display: grid;
        align-items: center;
        grid-template-columns: 48.9361702128% 51.0638297872%;
    }
    .home-concept-outline__col.is-col01 {
        padding-bottom: 2em;
    }
    .home-concept-outline__col.is-col02 {
        padding-left: 22.9166666667%;
    }
    .home-concept-outline__col.is-col02::before,
    .home-concept-outline__col.is-col02::after {
        top: calc(50% - 1em);
        left: 3.5em;
        transform: translateY(-50%);
        width: 4em;
    }
    .home-concept-outline__col.is-col02::after {
        transform: translateY(-50%) rotate(90deg);
    }
    .home-concept-outline__txt {
        margin-top: 2.8421052632em;
    }
}

.home-concept-outline-circles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em 0.75em;
    color: #444;
    font-weight: var(--font_weight_thin);
    text-align: center;
}
.home-concept-outline-circles__item {
    position: relative;
    padding-top: 100%;
}
.home-concept-outline-circles__item-in {
    display: grid;
    place-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding-bottom: 8%;
    box-sizing: border-box;
    background: rgb(var(--color-grayscale-100));
    border-radius: 50%;
}
.home-concept-outline-circles__item-ico {
    display: block;
    width: 46%;
    margin: 0 auto;
}
.home-concept-outline-circles__item-txt {
    display: block;
    line-height: var(--line-height_narrow);
    letter-spacing: 0;
}
@media (min-width: 768px) {
    .home-concept-outline-circles {
        gap: 2em 2em;
    }
    .home-concept-outline-circles__item-txt {
        font-size: 1.4em;
        font-size: max(1.4em, 1rem);
    }
}

.home-concept-outline-box {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    padding: 0 2em 2em;
}
.home-concept-outline-box::before {
    content: "";
    position: absolute;
    top: 0.7em;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgb(var(--color-surface-200));
    z-index: -1;
}
.home-concept-outline-box__head {
    font-size: 2.3em;
    font-size: max(2.3em, 1rem);
}
.home-concept-outline-box__circle {
    position: relative;
    width: 31.746031746%;
    padding-top: 31.746031746%;
    margin: 0.9em auto 1.2em;
    text-align: center;
}
.home-concept-outline-box__circle-in {
    display: grid;
    place-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding-bottom: 8%;
    box-sizing: border-box;
    background: rgb(var(--color-primary-500));
    color: rgb(var(--color-grayscale-100));
    border-radius: 50%;
}
.home-concept-outline-box__circle-ico {
    display: block;
    width: 46%;
    margin: 0 auto;
}
.home-concept-outline-box__circle-txt {
    display: block;
    line-height: var(--line-height_narrow);
    letter-spacing: 0;
}
.home-concept-outline-box__txt {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    line-height: var(--line-height_head);
}
.home-concept-outline-box__btn {
    max-width: unset;
}
@media (min-width: 768px) {
    .home-concept-outline-box {
        padding: 0 4em 3em;
    }
    .home-concept-outline-box__circle {
        width: 48.275862069%;
        padding-top: 48.275862069%;
    }
    .home-concept-outline-box__circle-ico {
        display: block;
        width: 46%;
        margin: 0 auto;
    }
    .home-concept-outline-box__circle-txt {
        font-size: 1.4em;
        font-size: max(1.4em, 1rem);
    }
    .home-concept-outline-box__txt {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
    }
}

.home-concept-belt {
    position: relative;
}
.home-concept-belt__img {
    overflow: hidden;
}
.home-concept-belt__img.is-img01 {
    width: 77.3333333333%;
}
.home-concept-belt__img.is-img02 {
    width: 81.0666666667%;
    margin: 6em 0 0 auto;
}
.home-concept-belt__marquee {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    overflow: hidden;
    transform: translateY(-30%);
}
.home-concept-belt__marquee-in {
    display: block;
    width: 392%;
    padding-top: 16%;
    background: url(../img/home/txt_marquee01.webp) repeat-x left top/contain;
    animation: marqueeLoop 20s linear infinite;
}
@media (min-width: 768px) {
    .home-concept-belt__img.is-img01 {
        width: 36.1458333333%;
        margin: 0 0 0 16em;
    }
    .home-concept-belt__img.is-img02 {
        width: 35.6770833333%;
        margin: -12.4em 9em 0 auto;
    }
    .home-concept-belt__marquee {
        transform: translateY(-70%);
    }
    .home-concept-belt__marquee-in {
        width: 318.75%;
        padding-top: 6.5104166667%;
        animation-duration: 40s;
    }
}

/* .home-function
================================================ */
.home-function-intro__inner {
    padding-top: 7em;
    padding-bottom: 4.7em;
}
.home-function-intro__head {
    font-size: 2.2em;
    font-size: max(2.2em, 1rem);
    font-weight: var(--font_weight_thin);
    line-height: var(--line-height_head);
    margin-bottom: 0.9090909091em;
}
@media (min-width: 768px) {
    .home-function-intro__inner {
        padding-top: 14em;
        padding-bottom: 15em;
    }
    .home-function-intro__head {
        font-size: 4.5em;
        font-size: max(4.5em, 1rem);
        margin-bottom: 1.3333333333em;
    }
}

.home-function-intro-nav {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid;
    border-right: 1px solid;
    color: var(--color-grayscale-100-op70);
    margin-bottom: 2.5em;
}
.home-function-intro-nav__item {
    position: relative;
    display: block;
    border: 0;
    margin: 0;
    padding: 1em 0.5em;
    border-top: 1px solid var(--color-grayscale-100-op70);
    border-left: 1px solid var(--color-grayscale-100-op70);
    text-align: center;
    line-height: var(--line-height_head);
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.home-function-intro-nav__item-num {
    display: block;
    margin-bottom: 0.3em;
    transition: color 0.3s ease;
}
.home-function-intro-nav__item-txt {
    display: block;
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
}
.home-function-intro-nav__item.is-active {
    background: var(--color-grayscale-100-op70);
    color: rgb(var(--color-primary-500));
}
.home-function-intro-nav__item.is-active .home-function-intro-nav__item-num {
    color: rgb(var(--color-primary-400));
}
@media (max-width: 767px) {
    .home-function-intro-nav {
        margin-left: -3.1746031746%;
        margin-right: -3.1746031746%;
    }
    .home-function-intro-nav::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-style: solid;
        border-width: 0.6em 0.6em 0 0.6em;
        border-color: currentColor transparent transparent transparent;
    }
}
@media (min-width: 768px) {
    .home-function-intro-nav {
        grid-template-columns: repeat(6, 1fr);
        margin-bottom: 2.7em;
    }
    .home-function-intro-nav__item {
        padding: 1.5em 0.5em;
    }
    .home-function-intro-nav__item::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-style: solid;
        border-width: 0.7em 0.7em 0 0.7em;
        border-color: #d2e2e7 transparent transparent transparent;
        transition: opacity 0.3s ease;
        opacity: 0;
    }
    .home-function-intro-nav__item-num {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
        margin-bottom: 0.1875em;
    }
    .home-function-intro-nav__item-txt {
        font-size: 1.7em;
        font-size: max(1.7em, 1rem);
    }
    .home-function-intro-nav__item.is-active::after {
        opacity: 1;
    }
}
@media (hover: hover) and (pointer: fine) {
    .home-function-intro-nav__item:hover {
        background: var(--color-grayscale-100-op70);
        color: rgb(var(--color-primary-500));
    }
    .home-function-intro-nav__item:hover .home-function-intro-nav__item-num {
        color: rgb(var(--color-primary-400));
    }
}

.home-function-intro-main__item-in {
    background: var(--color-grayscale-100-op90);
    color: rgb(var(--color-primary-500));
    padding: 0 6.3492063492% 6.3492063492%;
}
.home-function-intro-main__item-col.is-col01 {
    max-width: 73.0158730159%;
    margin: 0 auto;
}
.home-function-intro-main__item-col.is-col02 {
    text-align: center;
}
.home-function-intro-main__item-num {
    font-size: 1.7em;
    font-size: max(1.7em, 1rem);
    color: rgb(var(--color-primary-400));
    margin-bottom: 0.2941176471em;
}
.home-function-intro-main__item-head {
    font-size: 2em;
    font-size: max(2em, 1rem);
    line-height: var(--line-height_head);
    margin-bottom: 0.5em;
}
.home-function-intro-main__item-txt {
    font-size: 1.3em;
    font-size: max(1.3em, 1rem);
    line-height: var(--line-height_head);
}
.home-function-intro-main__item-caution {
    margin-top: 1.5em;
}
@media (min-width: 768px) {
    .home-function-intro-main__item-in {
        padding: 1.8181818182% 7.2727272727%;
        display: grid;
        grid-template-columns: auto 37.2340425532%;
        gap: 0 2em;
        align-items: center;
    }
    .home-function-intro-main__item-col.is-col01 {
        max-width: unset;
        margin: 0;
    }
    .home-function-intro-main__item-col.is-col02 {
        order: -1;
    }
    .home-function-intro-main__item-num {
        font-size: 2.5em;
        font-size: max(2.5em, 1rem);
        margin-bottom: 0.4em;
    }
    .home-function-intro-main__item-head {
        font-size: 3.4em;
        font-size: max(3.4em, 1rem);
        margin-bottom: 0.5294117647em;
    }
    .home-function-intro-main__item-txt {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
        line-height: var(--line-height_base);
    }
    .home-function-intro-main__item-btn {
        margin-top: 4em;
    }
    .home-function-intro-main__item-caution {
        width: 50em;
        margin: 4em auto;
    }
}

.home-function__content {
    position: relative;
    background: rgb(var(--color-surface-100));
    color: rgb(var(--color-primary-500));
}
.home-function__content-side {
    display: none;
}
@media (min-width: 768px) {
    .home-function__content-side {
        position: relative;
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        padding: max(13em, 130px) 0 max(12em, 120px) 6.40625%;
        z-index: 1;
    }
    .home-function__content-side-in {
        position: sticky;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        margin-top: 50%;
    }
    @supports not (position: sticky) {
        .home-function__content-side-in {
            position: -webkit-sticky;
        }
    }
}

@media (min-width: 768px) {
    .home-function-imgs,
    .home-function-nav {
        transition: opacity 0.3s ease;
    }
    .home-function-imgs.is-hide,
    .home-function-nav.is-hide {
        opacity: 0;
        pointer-events: none;
    }

    .home-function-imgs {
        position: relative;
        max-width: 23em;
        margin: 0 0 2.8em 2.25em;
    }
    .home-function-imgs__item {
        transition: opacity 0.3s ease;
        opacity: 0;
        pointer-events: none;
    }
    .home-function-imgs__item:nth-of-type(n + 2) {
        position: absolute;
        top: 0;
        left: 0;
    }
    .home-function-imgs__item.is-current {
        opacity: 1;
        pointer-events: auto;
    }

    .home-function-nav {
        line-height: var(--line-height_head);
    }
    .home-function-nav__item + .home-function-nav__item {
        margin-top: 1.5em;
    }
    .home-function-nav__item-link {
        position: relative;
        display: grid;
        grid-template-columns: 3em auto;
        justify-content: start;
        align-items: center;
        opacity: 0.5;
        transition: opacity 0.6s ease;
        padding-left: 1.2em;
    }
    .home-function-nav__item-link::before {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-30%);
        width: 0.6em;
        height: 0.6em;
        border-radius: 50%;
        content: "";
        background: #4fd0ec;
        transition: opacity 0.3s ease;
        opacity: 0;
    }
    .home-function-nav__item-link.is-current {
        opacity: 1;
    }
    .home-function-nav__item-link.is-current::before {
        opacity: 1;
    }
    .home-function-nav__item-sub {
        display: block;
        padding-top: 0.4em;
        font-size: 1.5em;
        font-size: max(1.5em, 1rem);
    }
    .home-function-nav__item-main {
        display: block;
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
    }
    .home-function-nav__item-note {
        display: block;
        margin-top: 0.7em;
        padding-left: 1.5em;
    }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
    .home-function-nav__item-link:hover {
        opacity: 1;
    }
}
.home-function-sec {
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgb(var(--color-grayscale-100));
}
.home-function-sec::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 88.5333333333%;
    background: var(--gradient04);
}
.home-function-sec__inner {
    position: relative;
    padding: 6em var(--body_padding_side) 5em;
    box-sizing: border-box;
}
.home-function-sec__head {
    margin-bottom: 2.5em;
}
.home-function-sec__head-sub {
    margin-bottom: 0.5em;
}
.home-function-sec__head-sub-txt {
    display: block;
    font-size: 1.5em;
    font-size: max(1.5em, 1rem);
    margin-bottom: 0.3333333333em;
}
.home-function-sec__head-sub-num {
    display: block;
    font-size: 4.3em;
    font-size: max(4.3em, 1rem);
}
.home-function-sec__head-main {
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
    font-size: 2em;
}
.home-function-sec__vi {
    margin-bottom: 3em;
}
.home-function-sec__vi.has-graf {
    background: rgb(var(--color-surface-200));
    padding: 2.1em 2.3em 1.5em;
}
@media (max-width: 767px) {
    .home-function-sec__vi {
        margin-left: -9.5238095238%;
        margin-right: -9.5238095238%;
    }
    .home-function-sec__head-sub {
        padding-left: 0;
    }
    .home-function-sec__head-sub::before {
        left: calc(var(--body_padding_side) * -1);
        width: calc(var(--body_padding_side) - 1em);
    }
    .home-function-sec__head-main {
        text-align: center;
    }
}
@media (min-width: 768px) {
    .home-function-sec {
        border-top: 1px solid var(--color-grayscale-100-op70);
    }
    .home-function-sec::before {
        padding-top: 800px;
        background: var(--gradient03);
    }
    .home-function-sec__inner {
        padding: max(13em, 130px) var(--body_padding_side) max(13.5em, 135px)
            32.03125%;
        max-width: 91.9%;
    }
    .home-function-sec__head {
        margin-bottom: 4.6em;
    }
    .home-function-sec__head-sub {
        margin-bottom: 1em;
    }
    .home-function-sec__head-sub-txt {
        font-size: 1.9em;
        font-size: max(1.9em, 1rem);
    }
    .home-function-sec__head-sub-num {
        font-size: 4.9em;
    }
    .home-function-sec__head-main {
        font-size: 3.6em;
        font-weight: var(--font_weight_thin);
    }
    .home-function-sec__vi.has-graf {
        background: rgb(var(--color-surface-200));
        padding: 8.2em 2em 5.8em;
    }
    .home-function-sec__note {
        margin-top: 2em;
    }
    .home-function-sec__caution {
        margin: 2.5em auto 0;
        max-width: min(960px, 87.27%);
    }
}

.home-function-sec-set {
    margin-top: 3em;
}
.home-function-sec-set__box {
    margin-bottom: 3em;
    border: 1px solid rgb(var(--color-primary-400));
    padding: 1.1em 1.5em 1.5em;
}
.home-function-sec-set__box-head {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
    margin-bottom: 0.71em;
    padding-bottom: 0.71em;
    border-bottom: 1px solid rgb(var(--color-primary-400));
}
.home-function-sec-set__img {
    margin-bottom: 1em;
}
.home-function-sec-set__bottom {
    margin-top: 1.5em;
    border-top: 1px solid rgb(var(--color-primary-200));
    border-bottom: 1px solid rgb(var(--color-primary-200));
    padding-bottom: 1em;
}
@media (min-width: 768px) {
    .home-function-sec-set {
        max-width: min(960px, 87.27%);
        margin: 8em auto 0;
    }
    .home-function-sec-set__box {
        margin-bottom: 8em;
        padding: 3em 0;
        display: grid;
        grid-template-columns: 35em auto;
        align-items: center;
    }
    .home-function-sec-set__box-head {
        font-size: 2.3em;
        font-size: max(2.3em, 1rem);
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }
    .home-function-sec-set__box-list {
        padding: 0 3.5em;
        border-left: 1px solid rgb(var(--color-primary-400));
    }
    .home-function-sec-set__img {
        max-width: 750px;
        margin: 0 auto 3em;
    }
    .home-function-sec-set__bottom {
        margin-top: 4em;
        padding: 0.5em 0 1.5em;
    }
}

.home-function-sec-column {
    margin-top: 3.2em;
}
@media (min-width: 768px) {
    .home-function-sec-column {
        max-width: min(960px, 87.27%);
        margin: 7em auto 0;
    }
}

.home-function-sec-graf {
    position: relative;
}
.home-function-sec-graf__anime {
    display: block;
    position: absolute;
    background: rgb(var(--color-primary-500));
    transition: all 0.4s ease;
    transform-origin: left bottom;
}
.home-function-sec-graf__anime::before {
    transition: all 0.4s ease;
}
.home-function-sec-graf__arw,
.home-function-sec-graf__txt,
.home-function-sec-graf__pop {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: opacity 0.4s ease;
    opacity: 0;
}
.home-function-sec-graf.is-graf01-01 .home-function-sec-graf__anime {
    top: 41.5%;
    bottom: 20%;
    left: 60.3%;
    right: 21.5%;
    transform: scaleY(0.45);
}
.home-function-sec-graf.is-graf05-01 .home-function-sec-graf__anime {
    top: 15%;
    bottom: 19%;
    left: 61.3%;
    right: 20.9%;
    background: rgb(var(--color-primary-400));
}
.home-function-sec-graf.is-graf05-02 .home-function-sec-graf__anime {
    top: 28%;
    bottom: 12.5%;
    left: 58.5%;
    right: 9.2%;
}
.home-function-sec-graf.is-graf05-02 .home-function-sec-graf__anime::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 32.5%;
    background: rgb(var(--color-primary-400));
}
.home-function-sec-graf.is-animated .home-function-sec-graf__anime {
    transition-delay: 0.6s;
}
.home-function-sec-graf.is-animated .home-function-sec-graf__anime::before {
    transition-delay: 0.6s;
}
.home-function-sec-graf.is-animated .home-function-sec-graf__arw,
.home-function-sec-graf.is-animated .home-function-sec-graf__txt,
.home-function-sec-graf.is-animated .home-function-sec-graf__pop {
    opacity: 1;
}
.home-function-sec-graf.is-animated .home-function-sec-graf__arw {
    transition-delay: 1s;
}
.home-function-sec-graf.is-animated .home-function-sec-graf__txt {
    transition-delay: 1.3s;
}
.home-function-sec-graf.is-animated .home-function-sec-graf__pop {
    transition-delay: 1.6s;
}
.home-function-sec-graf.is-animated.is-graf01-01
    .home-function-sec-graf__anime {
    transform: scaleY(1);
}
.home-function-sec-graf.is-animated.is-graf05-01
    .home-function-sec-graf__anime {
    transform: scaleY(0.415);
}
.home-function-sec-graf.is-animated.is-graf05-02
    .home-function-sec-graf__anime {
    transform: scaleY(0.68);
}
.home-function-sec-graf.is-animated.is-graf05-02
    .home-function-sec-graf__anime::before {
    height: 39.5%;
}
@media (min-width: 768px) {
    .home-function-sec-graf {
        max-width: 700px;
        margin: 0 auto 3em;
    }
    .home-function-sec-graf.is-graf01-01 .home-function-sec-graf__anime {
        top: 39.5%;
        bottom: 21%;
        left: 59.8%;
        right: 21.6%;
        transform: scaleY(0.41);
    }
    .home-function-sec-graf.is-graf05-01 .home-function-sec-graf__anime {
        top: 16%;
        bottom: 14.5%;
        left: 60.3%;
        right: 21.6%;
    }
    .home-function-sec-graf.is-graf05-02 .home-function-sec-graf__anime {
        top: 29.3%;
        bottom: 14.8%;
        left: 58.2%;
        right: 12.3%;
    }
    .home-function-sec-graf.is-graf05-02
        .home-function-sec-graf__anime::before {
        height: 31.5%;
    }
    .home-function-sec-graf.is-animated.is-graf05-01
        .home-function-sec-graf__anime {
        transform: scaleY(0.425);
    }
    .home-function-sec-graf.is-animated.is-graf05-02
        .home-function-sec-graf__anime {
        transform: scaleY(0.685);
    }
    .home-function-sec-graf.is-animated.is-graf05-02
        .home-function-sec-graf__anime::before {
        height: 40%;
    }
}

.home-function-sec-mode {
    margin-top: 3em;
    padding: 2em;
    background: var(--color-grayscale-100-op50);
}
.home-function-sec-mode + .home-function-sec-mode {
    margin-top: 0.5em;
}
.home-function-sec-mode__head {
    margin-bottom: 1.5em;
}
.home-function-sec-mode__head-num {
    color: rgb(var(--color-primary-400));
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
}
.home-function-sec-mode__head-main {
    display: inline-block;
    font-size: 2em;
    font-size: max(2em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
}
.home-function-sec-mode__head-sub {
    display: inline-block;
    margin: -0.6em 0 0 0.2em;
    padding: 0.1em 0.8em 0.22em;
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
    background: rgb(var(--color-primary-100));
    border-radius: 9em;
    vertical-align: middle;
}
.home-function-sec-mode__img {
    margin-bottom: 1.5em;
}
@media (min-width: 768px) {
    .home-function-sec-mode {
        max-width: min(960px, 87.27%);
        margin: 8em auto 0;
        padding: 6em 9em;
        box-sizing: border-box;
    }
    .home-function-sec-mode + .home-function-sec-mode {
        margin-top: 1em;
    }
    .home-function-sec-mode__head {
        margin-bottom: 3em;
    }
    .home-function-sec-mode__head-num {
        color: rgb(var(--color-primary-500));
        font-size: 2.1em;
        font-size: max(2.1em, 1rem);
        margin-bottom: 0.25em;
    }
    .home-function-sec-mode__head-main {
        font-size: 2.9em;
        font-size: max(2.9em, 1rem);
    }
    .home-function-sec-mode__head-sub {
        font-size: 1.7em;
        font-size: max(1.7em, 1rem);
    }
    .home-function-sec-mode__img {
        margin-bottom: 3em;
    }
}

.home-function-sec-oxo {
    margin-top: 1.5em;
    display: flex;
    justify-content: center;
    align-items: stretch;
}
.home-function-sec-oxo__item {
    position: relative;
    width: 11em;
    border-radius: 50%;
    border: 1px solid rgb(var(--color-primary-300));
}
.home-function-sec-oxo__item::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%;
}
.home-function-sec-oxo__item-txt {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    font-size: 1.5em;
    font-size: max(1.5em, 1rem);
    line-height: var(--line-height_narrow);
    text-align: center;
}
.home-function-sec-oxo__item-txt .is-small {
    display: block;
    font-size: 60%;
    margin-bottom: 0.2em;
}
.home-function-sec-oxo__x {
    display: grid;
    place-content: center stretch;
    align-self: center;
    width: 4.8em;
    height: 4.8em;
    margin: 0 0.5em;
}
.home-function-sec-oxo__x::before,
.home-function-sec-oxo__x::after {
    display: block;
    content: "";
    border-top: 1px solid;
    width: 100%;
}
.home-function-sec-oxo__x::before {
    transform: rotate(-45deg);
}
.home-function-sec-oxo__x::after {
    transform: rotate(45deg);
}
@media (min-width: 768px) {
    .home-function-sec-oxo {
        margin-top: 4em;
    }
    .home-function-sec-oxo__item {
        width: 25em;
        border-width: 2px;
    }
    .home-function-sec-oxo__item-txt {
        font-size: 2.3em;
        font-size: max(2.3em, 1rem);
    }
    .home-function-sec-oxo__item-txt .is-small {
        font-size: 70%;
        margin-bottom: 0.5em;
        opacity: 0.9;
    }
    .home-function-sec-oxo__x {
        width: 7.8em;
        height: 7.8em;
        margin: 0 2.5em;
    }
}

.home-function-sec-box {
    padding: 1em 1.5em 1.5em;
    margin-top: 1.5em;
    background: rgb(var(--color-surface-200));
}
.home-function-sec-box__head {
    text-align: center;
    margin-bottom: 0.5em;
}
.home-function-sec-box__head-ico {
    display: block;
    width: 2.2em;
    margin: 0 auto 0.5em;
}
.home-function-sec-box__head-main {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
}
.home-function-sec-box__txt {
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
}
@media (min-width: 768px) {
    .home-function-sec-box {
        padding: 4em;
        margin-top: 4em;
        display: grid;
        grid-template-columns: 12em auto;
        gap: 0 2em;
        align-items: center;
    }
    .home-function-sec-box__head {
        margin: 0;
    }
    .home-function-sec-box__head-ico {
        width: 2em;
        margin-bottom: 0.4em;
    }
    .home-function-sec-box__head-main {
        font-size: 2em;
        font-size: max(2em, 1rem);
    }
    .home-function-sec-box__txt {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
    }
}

.home-function-sec-points {
    margin-bottom: 3em;
}
.home-function-sec-points__item {
    background: rgb(var(--color-surface-200));
    display: grid;
    grid-template-columns: 1.7em auto;
    gap: 0 1.5em;
    align-items: center;
    padding: 1em 0.5em 1em 1.5em;
    box-sizing: border-box;
}
.home-function-sec-points__item-txt {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    line-height: var(--line-height_head);
}
@media (max-width: 767px) {
    .home-function-sec-points__item + .home-function-sec-points__item {
        margin-top: 0.5em;
    }
}
@media (min-width: 768px) {
    .home-function-sec-points {
        margin-bottom: 4em;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1em 1.3em;
    }
    .home-function-sec-points__item {
        grid-template-columns: 2.1em auto;
        gap: 0 2em;
        padding: 3.6em 2em 3.6em 2.5em;
    }
    .home-function-sec-points__item-ico {
        font-size: 1.24em;
    }
    .home-function-sec-points__item-txt {
        font-size: 2.1em;
        font-size: max(2.1em, 1rem);
    }
}

.home-function-sec-btns {
    margin-bottom: 3em;
}
@media (max-width: 767px) {
    .home-function-sec-btns__item + .home-function-sec-btns__item {
        margin-top: 1.5em;
    }
}
@media (min-width: 768px) {
    .home-function-sec-btns {
        margin-bottom: 4em;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .home-function-sec-btns__item {
        margin: 4em 1em 0;
        max-width: 38.9583333333%;
    }
}

.home-function-sec-other {
    margin-top: 4em;
    padding: 1.5em 2em;
    background: rgb(var(--color-surface-200));
    display: grid;
    grid-template-columns: auto 8em;
    gap: 0 1em;
    align-items: center;
    justify-content: space-between;
}
@media (max-width: 767px) {
    .home-function-sec-other__txt {
        line-height: var(--line-height_head);
    }
}
@media (min-width: 768px) {
    .home-function-sec-other {
        margin-top: 4.2em;
        padding: 2em 12.5%;
        grid-template-columns: auto 13.5em;
    }
}

.home-function-sec-table {
    margin-top: 2em;
    margin-bottom: 3em;
}
.home-function-sec-table__head {
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
    margin-bottom: 0.8em;
}
.home-function-sec-table table {
    border-bottom: 1px solid rgb(var(--color-grayscale-500));
    border-right: 1px solid rgb(var(--color-grayscale-500));
}
.home-function-sec-table table td {
    padding: 1em;
    vertical-align: middle;
    line-height: var(--line-height_head);
    border-top: 1px solid rgb(var(--color-grayscale-500));
    border-left: 1px solid rgb(var(--color-grayscale-500));
    box-sizing: border-box;
}
.home-function-sec-table table td:first-of-type {
    width: 12em;
}
.home-function-sec-table table thead td {
    background: rgb(var(--color-surface-200));
    text-align: center;
}
@media (max-width: 767px) {
    .home-function-sec-table table thead td {
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }
}
@media (min-width: 768px) {
    .home-function-sec-table__head {
        font-size: 2em;
        font-size: max(2em, 1rem);
        margin-bottom: 0.75em;
    }
    .home-function-sec-table table td {
        font-size: 1.3em;
        font-size: max(1.3em, 1rem);
        padding: 1.5384615385em;
        text-align: center;
    }
    .home-function-sec-table table td:first-of-type {
        width: 26.9230769231em;
    }
    .home-function-sec-table table thead td {
        background: rgb(var(--color-surface-200));
    }
}

.home-function-copy {
    display: grid;
    justify-items: center;
    text-align: center;
    margin-bottom: 5.5em;
}
.home-function-copy__row {
    display: block;
    font-size: 2em;
    font-size: max(2em, 1rem);
    font-weight: var(--font_weight_thin);
    border-bottom: 1px solid;
}
.home-function-copy__row .is-punc {
    font-feature-settings: "palt";
}
.home-function-copy__row + .home-function-copy__row {
    margin-top: 0.5em;
}
@media (min-width: 768px) {
    .home-function-copy {
        margin-bottom: 9em;
    }
    .home-function-copy__row {
        font-size: 4em;
        font-size: max(4em, 1rem);
    }
    .home-function-copy__row + .home-function-copy__row {
        margin-top: 0.25em;
    }
}

.home-function-belt {
    position: relative;
    margin-bottom: 5em;
}
.home-function-belt__img {
    overflow: hidden;
}
.home-function-belt__img.is-img01 {
    width: 77.3333333333%;
    margin: 6em 0 0 auto;
}
.home-function-belt__img.is-img02 {
    width: 81.0666666667%;
}
.home-function-belt__marquee {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    overflow: hidden;
    transform: translateY(-80%);
}
.home-function-belt__marquee-in {
    display: block;
    width: 392%;
    padding-top: 16%;
    background: url(../img/home/txt_marquee01.webp) repeat-x left top/contain;
    animation: marqueeLoop 20s linear infinite;
}
@media (min-width: 768px) {
    .home-function-belt {
        margin-bottom: 14em;
    }
    .home-function-belt__img.is-img01 {
        width: 36.1458333333%;
        margin: -12.4em 16em 0 auto;
    }
    .home-function-belt__img.is-img02 {
        width: 35.6770833333%;
        margin: 0 0 0 9em;
    }
    .home-function-belt__marquee {
        transform: translateY(-40%);
    }
    .home-function-belt__marquee-in {
        width: 318.75%;
        padding-top: 6.5104166667%;
        animation-duration: 40s;
    }
}

.home-function-bottom {
    background: rgb(var(--color-surface-300));
}
.home-function-bottom__inner {
    padding-top: 5em;
    padding-bottom: 5em;
}
.home-function-bottom__box {
    background: var(--color-grayscale-100-op90);
    color: rgb(var(--color-primary-500));
    padding: 2em;
}
.home-function-bottom__head {
    line-height: var(--line-height_head);
    margin-bottom: 2em;
}
.home-function-bottom__head-sub {
    display: inline-block;
    font-size: 1.3em;
    font-size: max(1.3em, 1rem);
    background: rgb(var(--color-primary-500));
    color: rgb(var(--color-grayscale-100));
    font-weight: var(--font_weight_thin);
    padding: 0.1em 0.7em 0.25em;
    border-radius: 9em;
    margin-bottom: 0.4em;
}
.home-function-bottom__head-main {
    font-size: 2.1em;
    font-size: max(2.1em, 1rem);
    font-weight: var(--font_weight_base);
}
.home-function-bottom__img {
    position: relative;
    margin-bottom: 2em;
}
.home-function-bottom__img-pop {
    position: absolute;
    top: -2.8333333333em;
    right: -1.3333333333em;
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    line-height: var(--line-height_narrow);
    width: 6.6666666667em;
    height: 6.6666666667em;
    border-radius: 50%;
    background: rgb(var(--color-surface-300));
    display: grid;
    place-content: center;
}
.home-function-bottom__subhead {
    font-size: 1.8em;
    font-size: max(1.8em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
    margin-bottom: 0.5555555556em;
}
.home-function-bottom-howto {
    position: relative;
    background: rgb(var(--color-surface-100));
    padding: 2em;
    margin-top: 2em;
}
.home-function-bottom-howto__head {
    font-size: 1.5em;
    font-size: max(1.5em, 1rem);
}
.home-function-bottom-howto-list {
    counter-reset: num01;
}
.home-function-bottom-howto-list__item {
    position: relative;
    padding-left: 1.8em;
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    line-height: var(--line-height_head);
}
.home-function-bottom-howto-list__item
    + .home-function-bottom-howto-list__item {
    margin-top: 0.45em;
}
.home-function-bottom-howto-list__item::before {
    position: absolute;
    top: 0.2em;
    left: 0;
    counter-increment: num01;
    content: counter(num01, decimal-leading-zero);
    font-family: var(--fontfamily_en);
    font-weight: var(--font_weight_en);
    letter-spacing: var(--letter-spacing_en);
    color: var(--color-primary-700-op70);
}
@media (max-width: 767px) {
    .home-function-bottom-howto__head {
        margin-bottom: 0.67em;
        padding-bottom: 0.67em;
        border-bottom: 1px solid rgb(var(--color-primary-400));
    }
    .home-function-bottom-howto-list {
        margin-bottom: 1.5em;
    }
}
@media (min-width: 768px) {
    .home-function-bottom__inner {
        padding-top: 13em;
        padding-bottom: 13em;
    }
    .home-function-bottom__box {
        padding: 6em 8em;
    }
    .home-function-bottom__head {
        margin-bottom: 3.5em;
    }
    .home-function-bottom__head-sub {
        font-size: 1.8em;
        font-size: max(1.8em, 1rem);
        padding: 0.2em 1.1em 0.25em;
        margin-bottom: 0.7777777778em;
    }
    .home-function-bottom__head-main {
        font-size: 3.6em;
        font-weight: var(--font_weight_thin);
    }
    .home-function-bottom__img {
        margin-bottom: 5em;
    }
    .home-function-bottom__img-pop {
        top: -2.5555555556em;
        right: -3.3333333333em;
        font-size: 1.8em;
        font-size: max(1.8em, 1rem);
        width: 7.7777777778em;
        height: 7.7777777778em;
    }
    .home-function-bottom__subhead {
        font-size: 2.5em;
        margin-bottom: 0.8em;
    }
    .home-function-bottom__subhead-in {
        display: inline-block;
        border-bottom: 1px solid;
        padding-bottom: 0.4em;
    }
    .home-function-bottom-howto {
        padding: 4em 4em 4em 2em;
        margin-top: 5em;
        display: grid;
        grid-template-columns: 22em auto;
        align-items: center;
    }
    .home-function-bottom-howto__head {
        font-size: max(2em, 1rem);
    }
    .home-function-bottom-howto-list {
        border-left: 1px solid rgb(var(--color-primary-400));
        padding-left: 2em;
    }
    .home-function-bottom-howto-list__item {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
    }
    .home-function-bottom-howto-list__item
        + .home-function-bottom-howto-list__item {
        margin-top: 0.45em;
    }
    .home-function-bottom-howto__note {
        position: absolute;
        bottom: 0.8333333333em;
        right: 0.8333333333em;
    }
}

.home-function-sec__movie {
    margin-bottom: 3em;
}

/* .home-howto
================================================ */
.home-howto__inner {
    padding-top: 7em;
    padding-bottom: 7em;
}
.home-howto__img {
    margin-bottom: 1.5em;
    overflow: hidden;
}
@media (max-width: 767px) {
    .home-howto__content {
        margin: 0 -3.1746031746%;
    }
}
@media (min-width: 768px) {
    .home-howto__inner {
        padding-top: 15em;
        padding-bottom: 15em;
    }
    .home-howto__content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        place-items: center;
    }
}

/* .home-product
================================================ */
.home-product {
    padding-top: 7em;
    padding-bottom: 6.6em;
    color: rgb(var(--color-primary-500));
}
@media (min-width: 768px) {
    .home-product {
        padding-top: 14em;
        padding-bottom: 14.9em;
    }
}

.home-product-content {
    color: rgb(var(--color-grayscale-900));
    border-bottom: 1px solid rgb(var(--color-primary-400));
}
.home-product-content + .home-product-content {
    margin-top: 5em;
}
.home-product-content__inner {
    padding-bottom: 5em;
}
@media (min-width: 768px) {
    .home-product-content {
        margin-top: 7em;
    }
    .home-product-content + .home-product-content {
        margin-top: 8em;
    }
    .home-product-content__inner {
        display: grid;
        grid-template-columns: repeat(2, 50%);
        padding-bottom: 8em;
        align-items: center;
    }
}

.home-product-content-img__item {
    width: 80.9523809524%;
    margin: 0 auto;
}
.home-product-content-img__slide {
    position: relative;
}
.home-product-content-img__slide-item-img {
    width: 80.9523809524%;
    margin: 0 auto;
}
.home-product-content-img__slide-control {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 1;
    pointer-events: none;
}
.home-product-content-img__slide-control-btn {
    pointer-events: auto;
    position: absolute;
    top: 0;
    transform: translateY(-50%);
    border: 1px solid rgb(var(--color-grayscale-700));
    width: 3.5em;
    height: 3.5em;
    border-radius: 50%;
    padding: 0;
    margin: 0;
    display: grid;
    place-items: center;
    color: #8fa6ac;
}
.home-product-content-img__slide-control-btn.is-prev {
    transform: scaleX(-1) translateY(-50%);
    left: 0;
}
.home-product-content-img__slide-control-btn.is-next {
    right: 0;
}
.home-product-content-img__slide-control-btn .c-ico {
    width: 0.8em;
    margin: 0 auto;
}
@media (min-width: 768px) {
    .home-product-content-img__item {
        width: 73.9726027397%;
    }
    .home-product-content-img__slide-item-img {
        width: 73.9726027397%;
    }
    .home-product-content-img__slide-control-btn {
        width: 6em;
        height: 6em;
    }
    .home-product-content-img__slide-control-btn.is-prev {
        left: 1.5em;
    }
    .home-product-content-img__slide-control-btn.is-next {
        right: 1.5em;
    }
    .home-product-content-img__slide-control-btn .c-ico {
        width: 1.4em;
    }
    .home-product-content-img__slide-control-btn .c-ico::after {
        width: 1.4em;
        height: 1.7em;
    }
}
@media (hover: hover) and (pointer: fine) {
    .home-product-content-img__slide-control-btn {
        transition: all 0.3s ease;
    }
    .home-product-content-img__slide-control-btn:hover {
        background: rgb(var(--color-accent-300));
        color: rgb(var(--color-grayscale-100));
        border-color: rgb(var(--color-accent-300));
    }
}

.home-product-content-data {
    margin-top: 2em;
    box-sizing: border-box;
}
.home-product-content-data__head-sub {
    font-size: 2.4em;
    font-size: max(2.4em, 1rem);
}
.home-product-content-data__head-main {
    margin-top: 0.3571428571em;
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    line-height: var(--line-height_head);
}
.home-product-content-data__price {
    margin-top: 0.9090909091em;
    font-size: 1.1em;
    font-size: max(1.1em, 1rem);
}
.home-product-content-data__price .is-large {
    font-size: 127.3%;
    margin-right: 0.2em;
}
.home-product-content-data__color {
    margin-top: 2.75em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.home-product-content-data__color-head {
    font-size: 1.4em;
    font-size: max(1.4em, 1rem);
    color: rgb(var(--color-grayscale-700));
}
.home-product-content-data__color-btns {
    display: flex;
    align-items: center;
}
.home-product-content-data__color-btns-item {
    position: relative;
    display: flex;
    align-items: center;
    border: none;
    margin: 0 0 0 1.2em;
    padding: 0 0 0 25px;
    white-space: nowrap;
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
}
.home-product-content-data__color-btns-item::before,
.home-product-content-data__color-btns-item::after {
    position: absolute;
    top: calc(50% - 2px);
    transform: translateY(-50%);
    content: "";
    display: block;
    border-radius: 50%;
    box-sizing: border-box;
    box-sizing: border-box;
}
.home-product-content-data__color-btns-item::before {
    left: 0;
    width: 19px;
    height: 19px;
    border: 1px solid rgb(var(--color-grayscale-700));
    transition: opacity 0.3s ease;
    opacity: 0;
}
.home-product-content-data__color-btns-item::after {
    left: 4px;
    width: 11px;
    height: 11px;
    background: #848484;
}
.home-product-content-data__color-btns-item.is-silver::after {
    background: rgb(var(--color-grayscale-700));
}
.home-product-content-data__color-btns-item.is-white::after {
    background: rgb(var(--color-grayscale-100));
    box-shadow: 0 0 0 1px inset rgb(var(--color-grayscale-700));
}
.home-product-content-data__color-btns-item.is-active::before {
    opacity: 1;
}
.home-product-content-data-box {
    margin-top: 2.3em;
    background: rgb(var(--color-surface-200));
    padding: 2em;
}
.home-product-content-data-box__head {
    font-size: 1.5em;
    font-size: max(1.5em, 1rem);
    margin-bottom: 0.6666666667em;
    color: rgb(var(--color-primary-400));
    text-align: center;
}
.home-product-content-data-info {
    margin-top: 2.5em;
    color: rgb(var(--color-primary-500));
    line-height: var(--line-height_head);
}
.home-product-content-data-info__sub {
    font-size: 1.3em;
    font-size: max(1.3em, 1rem);
}
.home-product-content-data-info__main {
    font-size: 1.8em;
    font-size: max(1.8em, 1rem);
}
.home-product-content-data__btn {
    margin-top: 1.5em;
}
.home-product-content-data__btn + .home-product-content-data__btn {
    margin-top: 0.7em;
}
@media (max-width: 767px) {
    .home-product-content-data {
        text-align: center;
    }
}
@media (min-width: 768px) {
    .home-product-content-data {
        margin-top: 0;
        min-width: 325px;
        width: 86.9863013699%;
        padding-left: 13.0136986301%;
    }
    .home-product-content-data__head-sub {
        font-size: 2.8em;
        font-size: max(2.8em, 1rem);
    }
    .home-product-content-data__price {
        margin-top: 1.4285714286em;
        font-size: 1.4em;
        font-size: max(1.4em, 1rem);
    }
    .home-product-content-data__price .is-large {
        font-size: 128.6%;
    }
    .home-product-content-data__color {
        margin-top: 3.6em;
        justify-content: flex-start;
    }
    .home-product-content-data__color-head {
        font-size: 1.6em;
        font-size: max(1.6em, 1rem);
    }
    .home-product-content-data-box {
        margin-top: 2.5em;
        padding: 2.5em 4em;
    }
    .home-product-content-data-box__head {
        font-size: 1.9em;
        font-size: max(1.9em, 1rem);
        margin-bottom: 0.5263157895em;
    }
    .home-product-content-data-info {
        margin-top: 3em;
        display: flex;
        align-items: center;
    }
    .home-product-content-data-info__sub {
        font-size: 1.7em;
        font-size: max(1.7em, 1rem);
        margin-right: 0.4em;
    }
    .home-product-content-data-info__main {
        font-size: 2.1em;
        font-size: max(2.1em, 1rem);
    }
    .home-product-content-data__btn {
        margin-top: 2.5em;
    }
    .home-product-content-data__btn + .home-product-content-data__btn {
        margin-top: 1em;
    }
}

.home-product-bottom__note {
    opacity: 1;
}
@media (max-width: 767px) {
    .home-product-bottom__inner {
        padding: 1em 5.3333333333% 0;
    }
    .home-product-bottom__note {
        font-size: clamp(1rem, 1.1em, 1.1rem);
    }
}
@media (min-width: 768px) {
    .home-product-bottom__inner {
        padding-top: 7em;
    }
}

/* .home-column
================================================ */
.home-column {
    position: relative;
}
.home-column::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 88.5333333333%;
    background: var(--gradient03);
}
.home-column__inner {
    padding-top: 6.2em;
    padding-bottom: 0.9em;
}
@media (min-width: 768px) {
    .home-column::before {
        padding-top: 61.4em;
    }
    .home-column__inner {
        padding-top: 20em;
        padding-bottom: 10em;
    }
}

/* .home-campaign
================================================ */
.home-campaign {
    position: relative;
    padding-top: 8em;
    padding-bottom: 7em;
}
.home-campaign__content {
    position: relative;
    box-sizing: border-box;
}
.home-campaign__col {
    box-sizing: border-box;
}
.home-campaign__img {
    overflow: hidden;
}
@media (max-width: 767px) {
    .home-campaign__col.is-col02 {
        padding: 3em var(--body_padding_side) 0;
    }
}
@media (min-width: 768px) {
    .home-campaign {
        padding-top: 13em;
        padding-bottom: 13em;
    }
    .home-campaign__content {
        display: grid;
        grid-template-columns: repeat(2, 50%);
    }
    .home-campaign__col.is-col02 {
        order: -1;
        min-width: 325px;
        width: 66.1458333333%;
        padding-right: 9.8958333333%;
        margin-left: auto;
    }
    .home-campaign__img {
        position: sticky;
        top: var(--header_height);
        left: 0;
    }
    @supports not (position: sticky) {
        .home-campaign__img {
            position: -webkit-sticky;
        }
    }
}

.home-campaign-intro {
    position: relative;
    box-sizing: border-box;
}
.home-campaign-intro__head {
    font-size: 2.6em;
    font-size: max(2.6em, 1rem);
    font-weight: var(--font_weight_thin);
    line-height: var(--line-height_head);
    margin-bottom: 1em;
}
.home-campaign-intro__date {
    line-height: var(--line-height_head);
    display: grid;
    grid-template-columns: 8em auto;
    align-items: center;
    justify-content: start;
    padding: 0.5em 0.5em 0.5em 0;
    margin-bottom: 1.2em;
    background: var(--color-grayscale-100-op10);
    word-break: break-word;
}
.home-campaign-intro__date dt {
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    text-align: center;
}
.home-campaign-intro__date dd {
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    border-left: 1px solid var(--color-grayscale-100-op50);
    padding-left: 1.25em;
}
.home-campaign-intro__date dd .is-block {
    display: inline-block;
}
@media (min-width: 768px) {
    .home-campaign-intro__head {
        font-size: 3.7em;
        font-size: clamp(1rem, 2vw, 3.7em);
        margin-bottom: 0.8918918919em;
    }
    .home-campaign-intro__date {
        grid-template-columns: 10.3em auto;
        padding: 0.6em 0.6em 0.6em 0;
        margin-bottom: 2em;
    }
    .home-campaign-intro__date dt {
        font-size: 1.7em;
        font-size: max(1.7em, 1rem);
    }
    .home-campaign-intro__date dd {
        font-size: 1.7em;
        font-size: max(1.7em, 1rem);
        padding-left: 0.8823529412em;
    }
}

.home-campaign-sec {
    margin-top: 4em;
}
@media (min-width: 768px) {
    .home-campaign-sec {
        margin-top: 8em;
    }
    .home-campaign-sec + .home-campaign-sec {
        margin-top: 12.5em;
    }
}

.home-campaign-detail {
    margin-top: 2em;
}
.home-campaign-detail__head {
    font-size: 1.7em;
    font-size: max(1.7em, 1rem);
    font-weight: var(--font_weight_base);
    line-height: var(--line-height_head);
    margin-bottom: 1.3529411765em;
    padding-bottom: 0.4705882353em;
    border-bottom: 1px solid var(--color-grayscale-100-op30);
}
.home-campaign-detail-step__item + .home-campaign-detail-step__item {
    margin-top: 1em;
}
.home-campaign-detail-step__item-num {
    font-size: 1.3em;
    font-size: max(1.3em, 1rem);
    color: rgb(var(--color-primary-500));
    background: rgb(var(--color-primary-100));
    text-align: center;
    padding: 0.45em 0.2em 0.15em;
    border-radius: 9em;
}
.home-campaign-detail__btn {
    margin-top: 3em;
}
@media (max-width: 767px) {
    .home-campaign-detail {
        background: var(--color-grayscale-100-op10);
        padding: 2.5em 2em 3.5em;
    }
    .home-campaign-detail-step__item {
        display: grid;
        grid-template-columns: 7em auto;
        gap: 0 1em;
        align-items: start;
        line-height: var(--line-height_head);
    }
    .home-campaign-detail-step__item
        + .home-campaign-detail-step__item::before {
        transform: rotate(90deg);
        margin: 0 auto;
    }
    .home-campaign-detail-step__item-num {
        margin-top: 0.15em;
    }
}
@media (min-width: 768px) {
    .home-campaign-detail {
        margin-top: 4em;
    }
    .home-campaign-detail__head {
        font-size: 2.7em;
        font-weight: var(--font_weight_thin);
        padding-bottom: 0.7407407407em;
        margin-bottom: 1em;
    }
    .home-campaign-detail-step__item + .home-campaign-detail-step__item {
        margin-top: 3.3em;
    }
    .home-campaign-detail-step__item-num {
        display: inline-block;
        font-size: 1.9em;
        font-size: max(1.9em, 1rem);
        padding: 0.45em 1.58em 0.15em;
        margin-bottom: 0.5em;
    }
    .home-campaign-detail-step__item-txt {
        font-weight: var(--font_weight_thin);
    }
}

.home-campaign-point {
    margin-top: 2em;
    background: var(--color-grayscale-100-op10);
    padding: 2em;
}
.home-campaign-point__head {
    font-size: 1.3em;
    font-size: max(1.3em, 1rem);
    opacity: 0.5;
    margin-bottom: 0.8em;
}
@media (max-width: 767px) {
    .home-campaign-point__txt {
        line-height: var(--line-height_head);
    }
}
@media (min-width: 768px) {
    .home-campaign-point {
        margin-top: 2.7em;
        padding: 2.5em 2em;
    }
    .home-campaign-point__head {
        font-size: 1.9em;
        margin-bottom: 0.5em;
    }
    .home-campaign-point__txt {
        font-weight: var(--font_weight_thin);
    }
}

.home-campaign-summary {
    background: var(--color-grayscale-100-op10);
    padding: 2em;
    height: 16.7em;
    overflow: auto;
    box-sizing: border-box;
}
.home-campaign-summary p {
    font-size: 1.2em;
    font-size: max(1.2em, 1rem);
    line-height: var(--line-height_head);
}
.home-campaign-summary p + p {
    margin-top: 1.5em;
}
@media (min-width: 768px) {
    .home-campaign-summary {
        margin: 0 auto;
        height: 18.7em;
    }
    .home-campaign-summary p {
        font-weight: var(--font_weight_thin);
    }
}
@media (hover: hover) and (pointer: fine) {
    @supports not selector(::-webkit-scrollbar) {
        .home-campaign-summary {
            scrollbar-width: thin;
            scrollbar-color: var(--color-grayscale-100-op90)
                var(--color-grayscale-100-op30);
        }
    }
    @supports selector(::-webkit-scrollbar) {
        .home-campaign-summary::-webkit-scrollbar {
            background: var(--color-grayscale-100-op30);
            width: 4px;
            height: 4px;
            border-radius: 10px;
        }
        .home-campaign-summary::-webkit-scrollbar-track {
            border-radius: 10px;
        }
        .home-campaign-summary::-webkit-scrollbar-thumb {
            background-color: var(--color-grayscale-100-op90);
            border-radius: 10px;
        }
        .home-campaign-summary::-webkit-scrollbar-thumb:hover {
            background: rgb(var(--color-grayscale-100));
        }
    }
}

/* .home-shopping
================================================ */
.home-shopping {
    background: linear-gradient(180deg, #57909e, rgba(87, 144, 158, 0));
}

.home-shopping-intro {
    position: relative;
    border-bottom: 1px solid var(--color-grayscale-100-op30);
}
.home-shopping-intro__inner {
    padding-top: 8em;
    padding-bottom: 4em;
}
.home-shopping-intro__head {
    font-size: 2.8em;
    font-weight: var(--font_weight_thin);
    line-height: var(--line-height_head);
    margin-bottom: 0.7142857143em;
}
.home-shopping-intro__img {
    overflow: hidden;
}
@media (max-width: 767px) {
    .home-shopping-intro__img {
        margin: 0 -9.5238095238% 2.5em;
    }
}
@media (min-width: 768px) {
    .home-shopping-intro__inner {
        padding-top: 14em;
        padding-bottom: 12em;
        display: grid;
        grid-template-columns: repeat(2, 50%);
        align-items: center;
    }
}

.home-shopping-intro + .home-shopping-refund .home-shopping-refund__inner {
    padding-top: 4em;
}
@media (min-width: 768px) {
    .home-shopping-intro + .home-shopping-refund .home-shopping-refund__inner {
        padding-top: 8em;
    }
}

.home-shopping-refund {
    position: relative;
}
.home-shopping-refund__inner {
    padding-top: 8em;
    padding-bottom: 4em;
}
.home-shopping-refund__box {
    padding: 2em;
    background: var(--color-grayscale-100-op10);
}
.home-shopping-refund__head {
    font-size: 2.2em;
    font-size: max(2.2em, 1rem);
    font-weight: var(--font_weight_thin);
    line-height: var(--line-height_head);
    margin-bottom: 0.9em;
}
.home-shopping-refund__head-in {
    display: inline-block;
    padding-bottom: 0.2em;
    border-bottom: 1px solid var(--color-grayscale-100-op50);
}
.home-shopping-refund__txt strong {
    font-weight: var(--font_weight_base);
    text-decoration: underline;
    -webkit-text-decoration-color: var(--color-grayscale-100-op50);
    text-decoration-color: var(--color-grayscale-100-op50);
}
.home-shopping-refund__bottom {
    margin-top: 2em;
}
.home-shopping-refund__bottom .c-note01 {
    opacity: 1;
}
.home-shopping-refund__caution {
    margin-top: 2em;
    background: var(--color-grayscale-100-op10);
}
.home-shopping-refund__caution .c-ico.is-caution01 {
    color: var(--color-grayscale-100-op70);
}
@media (min-width: 768px) {
    .home-shopping-refund__inner {
        padding-top: 14em;
        padding-bottom: 8em;
    }
    .home-shopping-refund__box {
        padding: 5em;
    }
    .home-shopping-refund__head {
        font-size: 2.9em;
        padding-bottom: 0.1724137931em;
        margin-bottom: 0.8620689655em;
    }
    .home-shopping-refund__bottom {
        margin-top: 3em;
        padding: 0.5em 0 1.5em;
        border-top: 1px solid var(--color-grayscale-100-op30);
        border-bottom: 1px solid var(--color-grayscale-100-op30);
    }
    .home-shopping-refund__caution {
        margin-top: 1em;
        background: none;
        padding: 0;
    }
}

.home-shopping-refund + .home-shopping-sns .home-shopping-sns__inner {
    padding-top: 4em;
}
@media (min-width: 768px) {
    .home-shopping-refund + .home-shopping-sns .home-shopping-sns__inner {
        padding-top: 12em;
    }
}

.home-shopping-sns {
    border-top: 1px solid var(--color-grayscale-100-op30);
}
.home-shopping-sns__inner {
    position: relative;
    padding-top: 7.2em;
    padding-bottom: 7.2em;
}
.home-shopping-sns__head {
    font-size: 2.1em;
    margin-bottom: 0.9em;
}
@media (min-width: 768px) {
    .home-shopping-sns__inner {
        padding-top: 17.4em;
        padding-bottom: 17.4em;
        display: grid;
        grid-template-columns: auto auto;
        gap: 0 3em;
        align-items: center;
        justify-content: center;
    }
    .home-shopping-sns__head {
        font-size: 2.3em;
        margin-bottom: 0;
    }
    .home-shopping-sns__content {
        min-width: max(calc(6em * 4 + 1.5em * 3), calc(45px * 4 + 1.5em * 3));
    }
}

/* .home-beauty
================================================ */
.home-beauty {
    border-top: 1px solid rgb(var(--color-grayscale-100));
    background: var(--gradient05);
    color: rgb(var(--color-primary-500));
}
.home-beauty__inner {
    padding-top: 7.4em;
    padding-bottom: 6.6em;
}
.home-beauty__img {
    overflow: hidden;
}
.home-beauty__content {
    padding-top: 5em;
}
.home-beauty__head {
    margin-bottom: 1.5em;
}
.home-beauty__head-sub {
    font-size: 3.2em;
}
.home-beauty__head-img {
    margin: 2.5em 0 2em;
}
.home-beauty__head-main {
    font-size: 2.4em;
    font-weight: var(--font_weight_thin);
    line-height: var(--line-height_head);
}
.home-beauty__txt {
    margin-top: 1.3em;
}
@media (max-width: 767px) {
    .home-beauty__btn {
        margin-top: 3em;
        max-width: 26.5em;
        min-height: 6.5em;
    }
}
@media (min-width: 768px) {
    .home-beauty__inner {
        padding-top: 10em;
        padding-bottom: 10em;
        display: grid;
        grid-template-columns: repeat(2, 50%);
        align-items: center;
    }
    .home-beauty__content {
        padding-top: 0;
        padding-left: 14em;
    }
    .home-beauty__head {
        margin-bottom: 3em;
    }
    .home-beauty__head-sub {
        font-size: 1.9em;
        margin-bottom: 2.1em;
    }
    .home-beauty__head-main {
        font-size: 3.6em;
    }
    .home-beauty__btn {
        min-height: 7.6em;
    }
}
@media (max-width: 767px) {
    .home-beauty__inner {
        padding-bottom: 0;
    }
    .home-beauty .home-concept-detail-sec-fbia {
        margin: 4em -9.3% 0;
    }
}

#function03 .home-function-sec__movie {
    margin-top: 6%;
}
