﻿:root {
    --site-color-blk-base: var(--site-color-blk1);
    --site-color-blk1: #000000;
    --site-color-white: #fff;
    --site-color-gray: #BDC3C5;
    --site-color-key: var(--site-color-blue);
    --site-color-blue: #0C6DFF;
    --site-color-logoBlue: #0060B3;
    --site-color-darkBlue: #3042FB;
    --site-color-green: #A4FF00;
    --site-color-btn-gray: #F6F8FB;
    --site-color-btn-lightGray: #F3F3F3;
    --site-color-bg-main: #fff;
    --site-color-bg-gray: #F6F8FB;
    -site-color-orange: orange;
    --site-font-base: 'Helvetica Neue', YakuHanJP, "Noto Sans JP", sans-serif;
    --site-font-en: "Spartan";
    --site-font-barlow: "Barlow";
    --site-font-mont: "Montserrat";
    --site-btn-anim: cubic-bezier(0.77, 0, 0.175, 1);
    --site-hover-du: .2s;
    --site-bp-sp: 599px;
    --site-bp-tab: 868px;
    --site-bp-1024: 1024px;
    --swiper-wrapper-transition-timing-function: ease-out --background-color: #ffffff;
    /* Background color for the entire website, including individual sections */
    --default-color: #222222;
    /* Default color used for the majority of the text content across the entire website */
    --heading-color: #172a28;
    /* Color for headings, subheadings and title throughout the website */
    --accent-color: #008374;
    /* Accent color that represents your brand on the website. It's used for buttons, links, and other elements that need to stand out */
    --surface-color: #ffffff;
    /* The surface color is used as a background of boxed elements within sections, such as cards, icon boxes, or other elements that require a visual separation from the global background. */
    --contrast-color: #ffffff;
    /* Contrast color for text, ensuring readability against backgrounds of accent, heading, or default colors. */
    --bg-light: #f5f8fc;
    --main-color: #004080;
    --accent-color: #0073e6;
    --bg-light: #f5f8fc;
    --text-dark: #333;
}

::selection {
    background: var(--site-color-key);
    color: var(--site-color-white)
}

::-moz-selection {
    background: var(--site-color-key);
    color: var(--site-color-white)
}

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

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

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

@font-face {
    font-family: "Barlow";
    font-style: normal;
    font-weight: 500;
    src: local("BarlowSemiCondensed-Medium.ttf"), url("../fonts/barlow/BarlowSemiCondensed-Medium.woff") format("woff"), url("../fonts/barlow/BarlowSemiCondensed-Medium.woff2") format("woff2"), url("../fonts/barlow/BarlowSemiCondensed-Medium.eot") format("eot");
    font-display: swap
}

@font-face {
    font-family: "Barlow";
    font-style: normal;
    font-weight: 700;
    src: local("BarlowSemiCondensed-Bold.ttf"), url("../fonts/barlow/BarlowSemiCondensed-Bold.woff") format("woff"), url("../fonts/barlow/BarlowSemiCondensed-Bold.woff2") format("woff2"), url("../fonts/barlow/BarlowSemiCondensed-Bold.eot") format("eot");
    font-display: swap
}

@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 400;
    src: local("Montserrat-Regular.ttf"), url("../fonts/montserrat/Montserrat-Regular.woff2") format("woff");
    font-display: swap
}

@font-face {
    font-family: "Spartan";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/spartan/Spartan-Regular.woff") format("woff"), url("../fonts/spartan/Spartan-Regular.woff2") format("woff2");
    font-display: swap
}

@font-face {
    font-family: "Spartan";
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/spartan/Spartan-Medium.woff") format("woff"), url("../fonts/spartan/Spartan-Medium.woff2") format("woff2");
    font-display: swap
}

@font-face {
    font-family: "Spartan";
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/spartan/Spartan-Bold.woff") format("woff"), url("../fonts/spartan/Spartan-Bold.woff2") format("woff2");
    font-display: swap
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    src: local("NotoSansJP-Regular.otf"), url("../fonts/notosansjp/NotoSansJP-Regular.woff") format("woff"), url("../fonts/notosansjp/NotoSansJP-Regular.woff2") format("woff2"), url("../fonts/notosansjp/NotoSansJP-Regular.eot") format("eot");
    font-display: swap
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 500;
    src: local("NotoSansJP-Medium.otf"), url("../fonts/notosansjp/NotoSansJP-Medium.woff") format("woff"), url("../fonts/notosansjp/NotoSansJP-Medium.woff2") format("woff2"), url("../fonts/notosansjp/NotoSansJP-Medium.eot") format("eot");
    font-display: swap
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 700;
    src: local("NotoSansJP-Bold.otf"), url("../fonts/notosansjp/NotoSansJP-Bold.woff") format("woff"), url("../fonts/notosansjp/NotoSansJP-Bold.woff2") format("woff2"), url("../fonts/notosansjp/NotoSansJP-Bold.eot") format("eot");
    font-display: swap
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 900;
    src: local("NotoSansJP-Black.otf"), url("../fonts/notosansjp/NotoSansJP-Black.woff") format("woff"), url("../fonts/notosansjp/NotoSansJP-Black.woff2") format("woff2");
    font-display: swap
}

html {
    scroll-behavior: auto
}

body {
    color: var(--site-color-blk-base);
    font-feature-settings: "palt" 1;
    font-kerning: normal;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-family: var(--site-font-base);
    -webkit-font-smoothing: antialiased
}

body.fixed {
    height: 100%;
    overflow: hidden
}

@media screen and (max-width: 599px) {
    body {
        font-size: 14px
    }
}

button {
    color: var(--site-color-blk-base)
}

br.pc {
    display: block
}

@media screen and (max-width: 599px) {
    br.pc {
        display: none
    }
}

br.sp {
    display: none
}

@media screen and (max-width: 599px) {
    br.sp {
        display: block
    }
}

br.sp2 {
    display: none
}

@media screen and (max-width: 376px) {
    br.sp2 {
        display: block
    }
}

img {
    width: 100%;
    height: auto;
    image-rendering: -webkit-optimize-contrast
}

svg {
    width: 100%;
    height: auto
}

a {
    color: var(--site-color-key);
    text-decoration: none
}

p {
    margin-bottom: 1em;
}

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

* {
    list-style: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, .1)
}

em {
    font-weight: 700;
    font-style: normal
}

.disabled {
    pointer-events: none
}

@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
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

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

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

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

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

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

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

.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);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

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

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
    transform-style: preserve-3d
}

.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-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

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

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

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

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

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

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

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

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

.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, .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-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: rgba(0, 0, 0, 0)
}

.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-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: var(--swiper-navigation-top-offset, 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: .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 svg,
.swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-lock {
    display: none
}

.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:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

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

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .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: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    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: var(--swiper-pagination-bullet-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: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    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: .2s transform, .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: .2s transform, .2s left
}

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

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, 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: var(--swiper-pagination-progressbar-size, 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: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    -ms-touch-action: none;
    background: var(--swiper-scrollbar-bg-color, 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: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2*var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: var(--swiper-scrollbar-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;
    touch-action: none
}

.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;
    -webkit-backface-visibility: hidden;
    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-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: .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-cube .swiper-slide-next+.swiper-slide {
    pointer-events: auto;
    visibility: visible
}

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

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    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-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

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

.swiper-cards {
    overflow: visible
}

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

.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    *zoom: 1;
    *display: inline;
    position: relative
}

.odometer.odometer-auto-theme .odometer-digit,
.odometer.odometer-theme-default .odometer-digit {
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    *zoom: 1;
    *display: inline;
    position: relative
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer {
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    *zoom: 1;
    *display: inline;
    visibility: hidden
}

.odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-digit-inner {
    text-align: left;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon {
    display: block
}

.odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner,
.odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner {
    display: block;
    -webkit-backface-visibility: hidden
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value {
    display: block;
    -webkit-transform: translateZ(0)
}

.odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value,
.odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value {
    position: absolute
}

.odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 1.2s;
    -moz-transition: -moz-transform 1.2s;
    -ms-transition: -ms-transform 1.2s;
    -o-transition: -o-transform 1.2s;
    transition: transform 1.2s
}

.odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%)
}

.odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%)
}

.odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner,
.odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 1.2s;
    -moz-transition: -moz-transform 1.2s;
    -ms-transition: -ms-transform 1.2s;
    -o-transition: -o-transform 1.2s;
    transition: transform 1.2s;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0)
}

.odometer.odometer-auto-theme,
.odometer.odometer-theme-default {
    font-family: "Helvetica Neue", sans-serif;
    line-height: 1.1em
}

.odometer.odometer-auto-theme .odometer-value,
.odometer.odometer-theme-default .odometer-value {
    text-align: center
}

/*!
 * fullPage 2.9.5
 * https://github.com/alvarotrigo/fullPage.js
 * MIT licensed
 *
 * Copyright (C) 2013 alvarotrigo.com - A project by Alvaro Trigo
 */
html.fp-enabled,
.fp-enabled body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.fp-section {
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

.fp-slide {
    float: left
}

.fp-slide,
.fp-slidesContainer {
    height: 100%;
    display: block
}

.fp-slides {
    z-index: 1;
    height: 100%;
    overflow: hidden;
    position: relative;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out
}

.fp-section.fp-table,
.fp-slide.fp-table {
    display: table;
    table-layout: fixed;
    width: 100%
}

.fp-tableCell {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 100%
}

.fp-slidesContainer {
    float: left;
    position: relative
}

.fp-controlArrow {
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -ms-user-select: none;
    position: absolute;
    z-index: 4;
    top: 50%;
    cursor: pointer;
    width: 0;
    height: 0;
    border-style: solid;
    margin-top: -38px;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.fp-controlArrow.fp-prev {
    left: 15px;
    width: 0;
    border-width: 38.5px 34px 38.5px 0;
    border-color: rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.fp-controlArrow.fp-next {
    right: 15px;
    border-width: 38.5px 0 38.5px 34px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
}

.fp-scrollable {
    overflow: hidden;
    position: relative
}

.fp-scroller {
    overflow: hidden
}

.iScrollIndicator {
    border: 0 !important
}

.fp-notransition {
    -webkit-transition: none !important;
    transition: none !important
}

#fp-nav {
    position: fixed;
    z-index: 100;
    margin-top: -32px;
    top: 50%;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0)
}

#fp-nav.right {
    right: 17px
}

#fp-nav.left {
    left: 17px
}

.fp-slidesNav {
    position: absolute;
    z-index: 4;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0 !important;
    right: 0;
    margin: 0 auto !important
}

.fp-slidesNav.bottom {
    bottom: 17px
}

.fp-slidesNav.top {
    top: 17px
}

#fp-nav ul,
.fp-slidesNav ul {
    margin: 0;
    padding: 0
}

#fp-nav ul li,
.fp-slidesNav ul li {
    display: block;
    width: 14px;
    height: 13px;
    margin: 7px;
    position: relative
}

.fp-slidesNav ul li {
    display: inline-block
}

#fp-nav ul li a,
.fp-slidesNav ul li a {
    display: block;
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    cursor: pointer;
    text-decoration: none
}

#fp-nav ul li a.active span,
.fp-slidesNav ul li a.active span,
#fp-nav ul li:hover a.active span,
.fp-slidesNav ul li:hover a.active span {
    height: 12px;
    width: 12px;
    margin: -6px 0 0 -6px;
    border-radius: 100%
}

#fp-nav ul li a span,
.fp-slidesNav ul li a span {
    border-radius: 50%;
    position: absolute;
    z-index: 1;
    height: 4px;
    width: 4px;
    border: 0;
    background: #333;
    left: 50%;
    top: 50%;
    margin: -2px 0 0 -2px;
    -webkit-transition: all .1s ease-in-out;
    -moz-transition: all .1s ease-in-out;
    -o-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out
}

#fp-nav ul li:hover a span,
.fp-slidesNav ul li:hover a span {
    width: 10px;
    height: 10px;
    margin: -5px 0px 0px -5px
}

#fp-nav ul li .fp-tooltip {
    position: absolute;
    top: -2px;
    color: #fff;
    font-size: 14px;
    font-family: arial, helvetica, sans-serif;
    white-space: nowrap;
    max-width: 220px;
    overflow: hidden;
    display: block;
    opacity: 0;
    width: 0;
    cursor: pointer
}

#fp-nav ul li:hover .fp-tooltip,
#fp-nav.fp-show-active a.active+.fp-tooltip {
    -webkit-transition: opacity .2s ease-in;
    transition: opacity .2s ease-in;
    width: auto;
    opacity: 1
}

#fp-nav ul li .fp-tooltip.right {
    right: 20px
}

#fp-nav ul li .fp-tooltip.left {
    left: 20px
}

.fp-auto-height.fp-section,
.fp-auto-height .fp-slide,
.fp-auto-height .fp-tableCell {
    height: auto !important
}

.fp-responsive .fp-auto-height-responsive.fp-section,
.fp-responsive .fp-auto-height-responsive .fp-slide,
.fp-responsive .fp-auto-height-responsive .fp-tableCell {
    height: auto !important
}

.work {
    padding: 15.7vw 0 196px
}

.work .base-width {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

.work .base-width::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 43px;
    width: calc(100vw - 15px);
    height: 29.765625vw;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1280' height='380.297' viewBox='0 0 1280 380.297'%3E%3Cg transform='translate(-176.947 -2692.686)'%3E%3Cpath d='M282.687,39.057c-29.939,62.182-58.171,124.8-86.8,187.974,29.86,62.3,58.568,125.554,88.825,187.537v.913c-26.366.794-54.359,1.43-80.209.874-17.193-33.434-32-67.7-48.681-101.293-9.133,16.756-16.915,34.268-24.9,51.818-7.981,16.836-15.883,33.354-23.507,49.713l-.834.754c-27.16-.079-53.128,1.191-79.494-.238l.4-2.541L60.366,342.3c2.025-1.628,1.787-5.36,3.812-7.862,15.565-36.054,34.188-70.957,49.793-107.408C84.866,164.69,54.609,102.747,26.615,39.454c26.842.159,53.684-1.628,79.494-.476,16.677,33.354,31.091,67.3,49.118,99.983l2.065-3.256c15.208-32.2,29.383-64.921,45.068-97.044,26.366-.675,53.565-.437,79.851-.437Z' transform='translate(1172.235 2654.504)' fill='%23f6f8fb'/%3E%3Cpath d='M189.815,39.445c.318,17.908.318,37.6-.159,55.074-25.135.516-51.5.238-76.556.913l-.913,1.866c0,30.416.635,61.427-.159,91.128C82.646,210.9,51.992,230,22.688,250.926c-1.31-24.738-.715-46.457-.238-71.116,1.787-40.62,4.487-82.909,10.88-122.139,3.335-10.006,13.381-17.987,23.864-18.7,44.353-.754,87.872-.516,131.788-.754Z' transform='translate(989.421 2655.746)' fill='%23f6f8fb'/%3E%3Cpath d='M244.307,38.966l-.238,18.067V95.191l-74.848-.238c-.755,105.462.556,213.029.238,319.365l-2.065.953-76.953.08-1.31-1.271c-.477-106.614.6-212.314-.556-319.524L15.752,94.4l.079-56.146Z' transform='translate(751.76 2657.18)' fill='%23f6f8fb'/%3E%3Cpath d='M177.721,38.709l-.238,57.456-79.1-.318-.4,2.422-.238,90.056c-29.066,21.6-59.243,41.256-88.865,62.1H7.972A1055.647,1055.647,0,0,1,19.051,58.087C21.989,47.8,32.472,38.948,42.994,38.233l124.165.476Z' transform='translate(427.708 2656.48)' fill='%23f6f8fb'/%3E%3Cpath d='M101.435,38.406c1.31,106.733-.318,211.044,1.39,319.762,25.055,1.39,51.1.238,76.953.4l.913,2.3-.675,54.994c-46.021.238-89.818,0-135.878-.477-8.021-1.31-15.446-7.981-18.7-15.208-5.122-11.634-4.13-25.572-6.194-38.079C10.783,255.882,8.282,142.24,22.417,38.247Z' transform='translate(620.261 2657.026)' fill='%23f6f8fb'/%3E%3Cpath d='M255.72,38.208l-1.231,2.859c-30.019,79.415-59.561,158.67-88.269,238.561l-.238,136.355-79.176.278v-2.224c.079-43.519-.635-89.58.4-134.25C59.884,199.3,27.8,119.012.879,38.208h67.7l.715,1.707c18.146,53.208,36.729,106.415,57.456,158.511,7.981-20.449,15.287-41.772,23.268-62.817,10.919-32.481,23.864-65.2,35.578-97.4Z' transform='translate(176.068 2655.511)' fill='%23f6f8fb'/%3E%3Cpath d='M188.653,41.2c.834,22.554.794,46.378.715,68.773-25.214,19.1-51.143,37.4-77.27,54.836l-.437,1.628c-.079,24.738-.874,52.374.278,76.158,25.929,1.787,50.984-.238,77.429.318.675,18.782.6,37.92.119,56.94l-.437.675c-45.981.873-86.959-.159-132.146.953-1.191-1.787-4.288-.477-5.916-1.787-8.3-1.708-14.97-9.173-18.384-16.836-6.83-39.707-8.815-82.035-10.681-123.371l3.772-3.812c46.021-31.964,91.287-65.318,137.9-96.568,7.822-6.194,16.28-12.786,25.055-17.908' transform='translate(990.59 2771.442)' fill='%23f6f8fb'/%3E%3Cpath d='M176.8,41.23l.238,69.567-.874.755c-26.524,16.836-52.1,36.61-78.382,53.684-.079,26.286-1.866,51.818.079,77.707,25.969.4,53.128.635,79.1.238l-.159,56.464c-45.227,1.469-91.208.159-136.513.4a27.735,27.735,0,0,1-19.973-14.374c-5.837-11.078-4.447-25.889-6.472-38.754-3.256-28.947-5.718-58.489-6.433-88.746C48.9,129.579,89.638,98.925,131.966,72.321c14.573-11.475,29.78-20.687,44.829-31.091' transform='translate(428.629 2772.488)' fill='%23f6f8fb'/%3E%3C/g%3E%3C/svg%3E");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-size: contain;
    transform: translate(-50%, -100%);
    z-index: -1
}

.work .site__title {
    margin: 0 0 38px
}

.work .site__text {
    max-width: 432px;
    margin: 0 0 60px
}

.work .site__btn a {
    margin: 0 0 0 auto
}

.work__slide {
    position: relative;
    width: 54.31%
}

.work__slide::before,
.work__slide::after {
    content: "";
    position: absolute
}

.work__slide::before {
    left: -84px;
    top: -74px;
    width: 168px;
    height: 168px;
    background-color: var(--site-color-key)
}

.work__slide::after {
    right: -34px;
    bottom: -34px;
    width: 80px;
    height: 80px;
    background-color: var(--site-color-green)
}

.work__text {
    width: 40.82%;
    margin: 22px 0 0
}

@media screen and (max-width: 1024px) {
    .work {
        padding: 4vw 0 146px
    }

    .work .base-width {
        display: block
    }

    .work .site__title {
        margin: 0 0 38px
    }

    .work .site__text {
        max-width: none;
        margin: 0 0 60px
    }

    .work .site__btn a {
        margin: 0
    }

    .work__slide {
        position: relative;
        width: 100%;
        margin: 0 0 82px
    }

    .work__slide::before,
    .work__slide::after {
        content: "";
        position: absolute
    }

    .work__slide::before {
        left: -32px;
        top: -32px;
        width: 108px;
        height: 108px;
        background-color: var(--site-color-key)
    }

    .work__slide::after {
        right: -34px;
        bottom: -34px;
        width: 60px;
        height: 60px;
        background-color: var(--site-color-green)
    }

    .work__text {
        width: 100%;
        max-width: 540px;
        margin: 22px 0 0
    }

    .work .swiper-util {
        justify-content: flex-end
    }
}

@media screen and (max-width: 599px) {
    .work {
        padding: 30vw 0 72px
    }

    .work .base-width::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 4vw;
        width: 100vw;
        height: 29.765625vw
    }

    .work .site__title {
        margin: 0 0 32px
    }

    .work .site__text {
        margin: 0 0 42px
    }

    .work .site__btn a {
        margin: 0 0 0 auto
    }

    .work__slide {
        position: relative;
        width: 100%;
        margin: 0 0 82px
    }

    .work__slide::before,
    .work__slide::after {
        content: "";
        position: absolute
    }

    .work__slide::before {
        left: -52px;
        top: -52px;
        width: 108px;
        height: 108px;
        background-color: var(--site-color-key)
    }

    .work__slide::after {
        right: -18px;
        bottom: -18px;
        width: 40px;
        height: 40px;
        background-color: var(--site-color-green)
    }

    .work__text {
        width: 100%;
        max-width: 540px;
        margin: 22px 0 0
    }

    .work .swiper-util {
        justify-content: flex-end
    }
}

.swiper-util {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 22px;
    padding: 21px 0 0;
    transform: translateY(100%);
    display: flex;
    align-items: center;
    z-index: 4
}

.swiper-util .swiper-pagination {
    position: relative;
    left: inherit;
    top: inherit;
    bottom: inherit;
    width: max-content;
    font-size: 18px;
    font-family: var(--site-font-barlow);
    letter-spacing: .08em
}

.swiper-util .swiper-scrollbar {
    position: relative;
    left: inherit;
    top: inherit;
    bottom: inherit;
    width: 210px;
    height: 3px;
    margin: 0 18px 0 0;
    border-radius: 0;
    background-color: #c9c9c9
}

.swiper-util .swiper-scrollbar .swiper-scrollbar-drag {
    background-color: var(--site-color-darkBlue);
    border-radius: 0
}

.about {
    background-color: var(--site-color-key)
}

.about .base-width {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.about .site__title {
    margin: 0 0 54px
}

.about .site__text {
    margin: 0 0 167px
}

.about__pic {
    width: calc(40.82% + (100vw - 100%)/2);
    margin: 0 0 0 calc((100vw - 100%)/-2)
}

.about__pic img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about__text {
    width: 50%;
    padding: 100px 0 10px;
    display: flex;
    flex-direction: column;
    color: #fff
}

.about__text a {
    color: #fff
}

.about__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.about__list a {
    position: relative;
    display: block;
    padding: 15px 0;
    border-bottom: 1px solid #fff
}

.about__list a::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 17px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='18' viewBox='0 0 21 18'%3E%3Cg transform='translate(19950 12375)'%3E%3Cg transform='translate(-19949.656 -12373.824)'%3E%3Cpath d='M7.5,18H26.816' transform='translate(-7.5 -10.175)' fill='none' stroke='%23fff' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath d='M18,7.5l7.825,7.825L18,23.15' transform='translate(-6.736 -7.5)' fill='none' stroke='%23fff' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3Crect width='21' height='18' transform='translate(-19950 -12375)' fill='none'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin: -7px 0 0
}

.about__list a:hover::after {
    animation: arrowMove2 .3s cubic-bezier(0.16, 1, 0.3, 1) 0s normal both
}

.about__btn {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 85px 0 0
}

.about__btn .site__btn a {
    max-width: none
}

@media screen and (max-width: 1024px) {
    .about {
        overflow: hidden
    }

    .about .site__title {
        margin: 0 0 44px
    }

    .about .site__text {
        margin: 0 0 118px
    }

    .about__text {
        padding: 92px 0 0
    }

    .about__list {
        gap: 16px
    }

    .about__list a {
        padding: 14px 0
    }

    .about__btn {
        grid-template-columns: repeat(2, 1fr);
        margin: 80px 0 0
    }
}

@media screen and (max-width: 867px) {
    .about .base-width {
        display: block
    }

    .about .site__title {
        margin: 0 0 44px
    }

    .about .site__text {
        margin: 0 0 62px;
        max-width: 490px
    }

    .about__pic {
        width: calc(100% + 100vw - 100%)
    }

    .about__text {
        width: 100%;
        padding: 92px 23px 0;
        box-sizing: border-box
    }

    .about__list {
        gap: 16px
    }

    .about__list a {
        padding: 14px 0
    }

    .about__btn {
        grid-template-columns: repeat(2, 1fr);
        margin: 80px 0 0
    }
}

@media screen and (max-width: 599px) {
    .about .site__title {
        margin: 0 0 32px
    }

    .about .site__text {
        margin: 0 0 32px;
        max-width: 490px
    }

    .about__pic {
        width: calc(100% + 100vw - 100%)
    }

    .about__text {
        width: 100%;
        padding: 62px 11px 10px;
        box-sizing: border-box
    }

    .about__list a {
        padding: 14px 0
    }

    .about__list a::after {
        width: 14px;
        height: 10px;
        margin: -5px 0 0
    }

    .about__btn {
        grid-template-columns: repeat(1, 1fr);
        margin: 62px 0 0
    }
}

.member {
    position: relative;
    background-color: var(--site-color-key);
    padding: 162px 0 0;
    overflow: hidden
}

.member__hero {
    padding: 0px 0 0;
    margin: 0 auto 0;
    background-color: #fff
}

.member__hero img {
    width: calc(100% + (100vw - 100%)/2);
    height: 590px;
    margin-left: calc((100vw - 100%)/-2);
    border-radius: 0 13px 13px 0;
    overflow: hidden;
    object-fit: cover
}

.member .base-width {
    position: relative;
    z-index: 2
}

.member::after {
    content: "";
    position: absolute;
    left: 0;
    top: 515px;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1280' height='1210.996' viewBox='0 0 1280 1210.996'%3E%3Cpath d='M21520,17355V16164.87c194.99-13.4,411.73-20.868,640-20.868s445.01,7.467,640,20.868V17355Z' transform='translate(-21520.002 -16144.002)' fill='%23fff'/%3E%3C/svg%3E");
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat
}

.member .site__title {
    margin: 0 0 54px
}

.member__slide {
    position: relative
}

.member__slider--item {
    display: block
}

.member__slider--item__top {
    position: relative;
    border-radius: 13px;
    overflow: hidden
}

.member__slider--item__top img {
    transition-duration: .7s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1)
}

.member__slider--item__top__inner {
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 192px;
    box-sizing: border-box;
    padding: 19px 0 0 18px;
    background-color: #fff;
    border-radius: 17px 0 0
}

.member__slider--item .name {
    font-weight: 700;
    margin: 0 0 12px
}

.member__slider--item .role,
.member__slider--item .year {
    font-size: 12px;
    line-height: 1.67;
    color: #5c5c5c
}

.member__slider--item .role {
    margin: 0 0 2px
}

.member__slider--item .copy {
    font-weight: 700;
    line-height: 1.75;
    margin: 23px 0 0
}

.member__slider--item:hover .member__slider--item__top img {
    transform: scale(1.05)
}

@media screen and (max-width: 1024px) {
    .member {
        padding: 122px 0 0
    }

    .member__hero {
        padding: 101px 0 0
    }

    .member__hero img {
        height: 70vw
    }

    .member .base-width {
        position: relative;
        z-index: 2
    }

    .member::after {
        content: "";
        position: absolute;
        left: 0;
        top: 515px;
        width: 100%;
        height: 100%;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1280' height='1210.996' viewBox='0 0 1280 1210.996'%3E%3Cpath d='M21520,17355V16164.87c194.99-13.4,411.73-20.868,640-20.868s445.01,7.467,640,20.868V17355Z' transform='translate(-21520.002 -16144.002)' fill='%23fff'/%3E%3C/svg%3E");
        background-size: 100% auto;
        background-position: center top;
        background-repeat: no-repeat
    }

    .member .site__title {
        margin: 0 0 46px
    }

    .member__slider--item__top__inner {
        width: 172px;
        padding: 19px 0 0 18px
    }

    .member__slider--item .name {
        margin: 0 0 12px
    }

    .member__slider--item .role,
    .member__slider--item .year {
        font-size: 12px;
        line-height: 1.67;
        color: #5c5c5c
    }

    .member__slider--item .role {
        margin: 0 0 2px
    }

    .member__slider--item .copy {
        font-size: 18px;
        margin: 23px 0 0
    }
}

@media screen and (max-width: 599px) {
    .member {
        padding: 92px 0 0
    }

    .member__hero {
        padding: 62px 0 0
    }

    .member__hero img {
        height: 60vw
    }

    .member .base-width {
        position: relative;
        z-index: 2;
        box-sizing: border-box
    }

    .member::after {
        content: "";
        position: absolute;
        left: 0;
        top: 515px
    }

    .member .site__title {
        margin: 0 0 46px
    }

    .member__slider--item__top__inner {
        width: 172px;
        padding: 19px 0 0 18px
    }

    .member__slider--item .name {
        font-size: 15px
    }

    .member__slider--item .role,
    .member__slider--item .year {
        font-size: 12px
    }

    .member__slider--item .role {
        margin: 0 0 2px
    }

    .member__slider--item .copy {
        font-size: 4.3vw;
        margin: 28px 0 0
    }
}

.member__button {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%
}

.member-button-next,
.member-button-prev {
    position: absolute;
    top: 50%;
    width: 70px;
    height: 70px;
    margin: -35px 0 0;
    background-color: var(--site-color-green);
    border-radius: 50%;
    transition: .3s
}

.member-button-next.swiper-button-disabled,
.member-button-prev.swiper-button-disabled {
    opacity: 1;
    background-color: #ddd
}

.member-button-next.swiper-button-disabled::after,
.member-button-prev.swiper-button-disabled::after {
    opacity: .3
}

.member-button-next::after,
.member-button-prev::after {
    content: "";
    position: initial;
    right: initial;
    top: initial;
    width: 19px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='18' viewBox='0 0 21 18'%3E%3Cg transform='translate(19950 12375)'%3E%3Cg transform='translate(-19949.656 -12373.824)'%3E%3Cpath d='M7.5,18H26.816' transform='translate(-7.5 -10.175)' fill='none' stroke='%23000' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath d='M18,7.5l7.825,7.825L18,23.15' transform='translate(-6.736 -7.5)' fill='none' stroke='%23000' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3Crect width='21' height='18' transform='translate(-19950 -12375)' fill='none'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin: 0 0 0 -2px
}

.member-button-next:hover::after {
    animation: arrowMove2 .3s cubic-bezier(0.16, 1, 0.3, 1) 0s normal both
}

.member-button-prev:hover::after {
    animation: arrowMove3 .3s cubic-bezier(0.16, 1, 0.3, 1) 0s normal both
}

.member-button-prev {
    left: -35px
}

.member-button-prev::after {
    transform: rotate(180deg)
}

.member-button-next {
    right: -35px
}

@media screen and (max-width: 1024px) {

    .member-button-next,
    .member-button-prev {
        width: 60px;
        height: 60px;
        margin: -30px 0 0
    }

    .member-button-next::after,
    .member-button-prev::after {
        width: 19px;
        height: 16px;
        margin: 0 0 0 -2px
    }

    .member-button-prev {
        left: -30px
    }

    .member-button-next {
        right: -30px
    }
}

@media screen and (max-width: 599px) {

    .member-button-next,
    .member-button-prev {
        width: 40px;
        height: 40px;
        margin: -20px 0 0
    }

    .member-button-next::after,
    .member-button-prev::after {
        width: 15px;
        height: 12px;
        margin: 0 0 0 -2px
    }

    .member-button-prev {
        left: -20px
    }

    .member-button-next {
        right: -20px
    }
}

.data {
    padding: 129px 0 98px
}

.data svg {
    max-width: 188px
}

.data .base-width {
    position: relative;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    display: flex
}

.data .base-width::after {
    content: "";
    position: absolute;
    left: -373px;
    top: -364px;
    width: 576px;
    height: 683px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='555.711' height='683' viewBox='0 0 555.711 683'%3E%3Cpath d='M498.532,867.431l-478.242-683H397.665L576,439.12V867.431Z' transform='translate(-20.289 -184.431)' fill='%23f6f8fb' opacity='0.9'/%3E%3C/svg%3E");
    background-size: contain;
    background-position: left top
}

.data__text {
    width: calc(50% - 8px);
    position: relative;
    z-index: 2;
    background-color: #454545;
    margin: 51px 0 0;
    padding: 58px 84px 73px 55px;
    color: #fff
}

.data__text::after {
    content: "";
    position: absolute;
    right: -147px;
    top: 0;
    width: 149px;
    height: 100%;
    background-color: #454545
}

.data__text .site__title {
    margin: 0 0 29px
}

.data__text .site__text {
    margin: 0 0 46px
}

.data__slide {
    position: relative;
    z-index: 2;
    width: calc(50% - 8px)
}

.data__slide__inner {
    position: relative
}

.data__slide__inner::after {
    content: "";
    position: absolute;
    right: -12px;
    bottom: -12px;
    width: 100%;
    height: 100%;
    background-color: #e0e0e0;
    z-index: -1
}

.data__slide .data__slider--wrapper {
    z-index: 4;
    z-index: 9;
    box-sizing: border-box;
    border: solid 1px var(--site-color-key);
    background-color: #fff
}

.data__slide .data__slider--container {
    box-sizing: border-box
}

.data__slider--item {
    padding: 39px 20px 21px;
    box-sizing: border-box
}

.data__slider--item__title {
    width: 100%;
    padding: 0 0 19px
}

.data__slider--item__title .ja {
    font-size: 24px;
    font-weight: 500;
    color: var(--site-color-key)
}

.data__slider--item__title::after {
    height: 1px;
    background-color: var(--site-color-key)
}

.data .swiper-util {
    position: initial;
    justify-content: flex-end;
    padding: 38px 0 0;
    transform: translateY(0)
}

@media screen and (max-width: 1024px) {
    .data {
        padding: 102px 0
    }

    .data .base-width {
        position: relative;
        flex-direction: column-reverse;
        gap: 0
    }

    .data .base-width::after {
        content: "";
        position: absolute;
        left: -373px;
        top: -364px;
        width: 576px;
        height: 683px;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='555.711' height='683' viewBox='0 0 555.711 683'%3E%3Cpath d='M498.532,867.431l-478.242-683H397.665L576,439.12V867.431Z' transform='translate(-20.289 -184.431)' fill='%23f6f8fb' opacity='0.9'/%3E%3C/svg%3E");
        background-size: contain;
        background-position: left top
    }

    .data__text {
        width: 70%;
        margin: 0;
        padding: 88px 55px 73px 55px;
        box-sizing: border-box;
        color: #fff
    }

    .data__text::after {
        display: none
    }

    .data__text .site__title {
        margin: 0 0 29px
    }

    .data__text .site__text {
        margin: 0 0 46px
    }

    .data__slide {
        position: relative;
        z-index: 2;
        width: 70%;
        margin: 0 0 -80px auto
    }

    .data__slider--item {
        padding: 36px 17px 18px
    }

    .data__slider--item__title {
        padding: 0 0 17px
    }

    .data__slider--item__title .ja {
        font-size: 22px
    }

    .data .swiper-util {
        padding: 24px 0 0
    }
}

@media screen and (max-width: 599px) {
    .data {
        padding: 52px 0
    }

    .data__text {
        width: 100%;
        margin: 0;
        padding: 138px 24px 38px;
        box-sizing: border-box;
        color: #fff
    }

    .data__text::after {
        display: none
    }

    .data__text .site__title {
        margin: 0 0 29px
    }

    .data__text .site__text {
        margin: 0 0 46px
    }

    .data__slide {
        position: relative;
        z-index: 2;
        width: calc(100% - 48px);
        margin: 0 auto -80px
    }

    .data__slider--item {
        padding: 30px 13px 18px
    }

    .data__slider--item__title {
        padding: 0 0 17px;
        margin: 0 0 12px
    }

    .data__slider--item__title .ja {
        font-size: 20px
    }

    .data .swiper-util {
        padding: 24px 0 0
    }

    .data .swiper-util .swiper-pagination {
        color: #fff
    }
}

.recruit {
    padding: 180px 0 176px;
    background: linear-gradient(#3042FB, #008CF2)
}

.recruit .site__title {
    margin: 0 0 97px
}

.recruit__cont {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 86px
}

.recruit__item {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    aspect-ratio: 1.7224489796/1
}

.recruit__item::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .16);
    z-index: 3
}

.recruit__item::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 8px;
    width: 100%;
    height: 100%;
    background: var(--site-color-green);
    z-index: 1
}

.recruit__item:nth-child(2)::after {
    background: rgba(0, 0, 0, .3)
}

.recruit__item:nth-child(3) {
    grid-column: 1/span 2;
    aspect-ratio: initial;
    padding: 57px 0 54px;
    margin: 45px 0 0
}

.recruit__item:nth-child(3)::after {
    background: rgba(0, 0, 0, .28)
}

.recruit__item .arrow {
    position: absolute;
    right: 22px;
    bottom: 19px;
    z-index: 4
}

.recruit__item:hover .recruit__pic img {
    transform: scale(1.05)
}

.recruit__item:hover .arrow::after {
    animation: arrowMove2 .3s cubic-bezier(0.16, 1, 0.3, 1) 0s normal both
}

.recruit__pic {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    border: 1px solid #fff;
    box-sizing: border-box;
    overflow: hidden
}

.recruit__pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition-duration: .7s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1)
}

.recruit__title {
    width: 100%;
    position: relative;
    text-align: center;
    z-index: 4
}

.recruit__title span {
    display: block;
    color: #fff
}

.recruit__title .en {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .01em;
    margin: 0 0 9px
}

.recruit__title .ja {
    font-size: 22px;
    font-weight: 700
}

@media screen and (max-width: 1024px) {
    .recruit {
        padding: 130px 0 126px
    }

    .recruit .site__title {
        margin: 0 0 72px
    }

    .recruit__cont {
        gap: 0 62px
    }
}

@media screen and (max-width: 867px) {
    .recruit {
        padding: 100px 0 96px
    }

    .recruit .site__title {
        margin: 0 0 58px
    }
}

@media screen and (max-width: 768px) {
    .recruit__cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 62px
    }

    .recruit__item:nth-child(3) {
        grid-column: 1;
        padding: 8vw 0;
        margin: 0
    }
}

@media screen and (max-width: 599px) {
    .recruit {
        padding: 72px 0 72px
    }

    .recruit .site__title {
        margin: 0 0 42px
    }

    .recruit__cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 42px
    }

    .recruit__item:nth-child(3) {
        grid-column: 1;
        padding: 13vw 0 13.5vw;
        margin: 0
    }
}

.arrow {
    position: relative;
    display: block;
    width: 38px;
    height: 38px;
    background-color: #fff;
    border-radius: 50%;
    transition: .3s
}

.arrow::after {
    content: "";
    position: absolute;
    right: 11px;
    top: 50%;
    width: 17px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='18' viewBox='0 0 21 18'%3E%3Cg transform='translate(19950 12375)'%3E%3Cg transform='translate(-19949.656 -12373.824)'%3E%3Cpath d='M7.5,18H26.816' transform='translate(-7.5 -10.175)' fill='none' stroke='%233042FB' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath d='M18,7.5l7.825,7.825L18,23.15' transform='translate(-6.736 -7.5)' fill='none' stroke='%233042FB' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3Crect width='21' height='18' transform='translate(-19950 -12375)' fill='none'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin: -7px 0 0
}

.news {
    padding: 105px 0 91px;
    background: #f6f8fb
}

.news .base-width {
    grid-template-columns: repeat(12, 1fr);
    gap: 16px;
    align-items: flex-start
}

.news .site__title {
    grid-column: 1/span 5
}

.news__list {
    grid-column: 6/span 7
}

.news__item {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 0 0 37px 0;
    margin: 0 0 40px;
    border-bottom: 1px solid #c6c6c6
}

.news__item:last-of-type {
    margin: 0 0 59px
}

.news__item:hover .news__title::after {
    animation: arrowMove2 .3s cubic-bezier(0.16, 1, 0.3, 1) 0s normal both
}

.news__pic {
    position: relative;
    width: 132px;
    margin: 0 40px 0 0
}

.news__pic::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: solid 1px #707070;
    box-sizing: border-box
}

.news__inner {
    flex: 1
}

.news__inner span {
    display: block
}

.news__date {
    font-size: 13px;
    line-height: 1
}

.news__title {
    position: relative;
    font-size: 14px;
    line-height: 1.5714;
    margin: 1em 0 0;
    padding: 0 79px 0 0
}

.news__title::before,
.news__title::after {
    content: "";
    position: absolute
}

.news__title::before {
    top: 0;
    right: 0;
    width: 38px;
    height: 38px;
    background: #fff;
    border-radius: 50%;
    transition: .3s
}

.news__title::after {
    top: 12px;
    right: 11px;
    width: 17px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='18' viewBox='0 0 21 18'%3E%3Cg transform='translate(19950 12375)'%3E%3Cg transform='translate(-19949.656 -12373.824)'%3E%3Cpath d='M7.5,18H26.816' transform='translate(-7.5 -10.175)' fill='none' stroke='%233042FB' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath d='M18,7.5l7.825,7.825L18,23.15' transform='translate(-6.736 -7.5)' fill='none' stroke='%233042FB' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3Crect width='21' height='18' transform='translate(-19950 -12375)' fill='none'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat
}

.news .site__btn a {
    margin: 0 0 0 auto
}

@media screen and (max-width: 1024px) {
    .news .base-width {
        display: block
    }

    .news .site__title {
        margin: 0 0 62px
    }
}

@media screen and (max-width: 599px) {
    .news {
        padding: 62px 0
    }

    .news .site__title {
        margin: 0 0 42px
    }

    .news__item {
        padding: 0 0 24px 0;
        margin: 0 0 24px
    }

    .news__item:last-of-type {
        margin: 0 0 42px
    }

    .news__pic {
        width: 92px;
        margin: 0 18px 0 0
    }

    .news__inner {
        position: relative
    }

    .news__date {
        font-size: 11px
    }

    .news__title {
        position: initial;
        font-size: 14px;
        margin: .7em 0 0;
        padding: 0 36px 0 0
    }

    .news__title::before {
        top: 50%;
        width: 24px;
        height: 24px;
        margin: -12px 0 0
    }

    .news__title::after {
        top: 50%;
        right: 7px;
        width: 16px;
        height: 16px;
        margin: -8px 0 0
    }
}

.lower__about__message {
    padding: 100px 0 94px;
    background-color: var(--site-color-bg-gray)
}

.lower__about__message .site__title {
    margin: 0 0 60px
}

.lower__about__message__title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.375;
    margin: 0 0 66px
}

.lower__about__message__cont {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px
}

.lower__about__message__left {
    grid-column: 1/span 5;
    padding: 0 50px 0 0;
    box-sizing: border-box
}

.lower__about__message__left span {
    display: block
}

.lower__about__message__pic {
    position: relative;
    margin: 0 0 35px
}

.lower__about__message__pic img {
    position: relative;
    z-index: 3
}

.lower__about__message__pic::before,
.lower__about__message__pic::after {
    content: "";
    position: absolute
}

.lower__about__message__pic::before {
    left: -38px;
    top: -21px;
    width: 80px;
    height: 80px;
    background-color: var(--site-color-green)
}

.lower__about__message__pic::after {
    left: 14px;
    top: 14px;
    width: 100%;
    height: 100%;
    background-color: var(--site-color-key)
}

.lower__about__message__company {
    margin: 0 0 12px
}

.lower__about__message__role {
    margin: 0 0 17px
}

.lower__about__message__name {
    font-size: 28px;
    font-weight: 700
}

.lower__about__message__right {
    grid-column: 6/span 7
}

.lower__about__message__right.site__text.fz18 {
    line-height: 1.9444444444
}

.lower__about__message br.tab2 {
    display: none
}

@media screen and (max-width: 1024px) {
    .lower__about__message {
        padding: 92px 0
    }

    .lower__about__message .site__title {
        margin: 0 0 52px
    }

    .lower__about__message__title {
        font-size: 36px;
        margin: 0 0 62px
    }

    .lower__about__message__cont {
        display: block
    }

    .lower__about__message__left {
        text-align: right;
        padding: 0;
        margin: 0 0 42px
    }

    .lower__about__message__pic {
        margin: 0 0 52px
    }
}

@media screen and (max-width: 867px) {
    .lower__about__message br.tab2 {
        display: block
    }
}

@media screen and (max-width: 599px) {
    .lower__about__message {
        padding: 72px 0 62px
    }

    .lower__about__message .site__title {
        margin: 0 0 38px
    }

    .lower__about__message__title {
        font-size: 26px;
        margin: 0 0 48px;
        line-height: 1.48
    }

    .lower__about__message__cont {
        display: block
    }

    .lower__about__message__left {
        text-align: right;
        padding: 0;
        margin: 0 0 38px
    }

    .lower__about__message__pic {
        margin: 0 0 42px
    }

    .lower__about__message__company {
        font-size: 13px;
        margin: 0 0 9px
    }

    .lower__about__message__role {
        font-size: 13px;
        margin: 0 0 16px
    }

    .lower__about__message__name {
        font-size: 20px;
        font-weight: 700
    }
}

.lower__about__company {
    padding: 0px 0 106px
}

.lower__about__company .site__title {
    margin: 0 0 62px
}

.lower__about__company__cont {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px
}

.lower__about__company .site__table {
    grid-column: 2/span 10
}

@media screen and (max-width: 1024px) {
    .lower__about__company {
        padding: 92px 0
    }

    .lower__about__company .site__title {
        margin: 0 0 52px
    }

    .lower__about__company__cont {
        display: block
    }
}

@media screen and (max-width: 599px) {
    .lower__about__company {
        padding: 62px 0
    }

    .lower__about__company .site__title {
        margin: 0 0 32px
    }

    .lower__about__company__cont {
        display: block
    }
}

.site__table {
    color: #262626
}

.site__table th,
.site__table td {
    font-size: 18px;
    line-height: 2;
    padding: 30px 0 31px;
    border-bottom: solid 1px #c6c6c6;
    vertical-align: top
}

.site__table th {
    width: 150px;
    border-color: var(--site-color-key)
}

.site__table td {
    padding-left: 38px
}

.site__table a {
    text-decoration: none
}

.site__table .flex__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 50px
}

.site__table .flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0 32px
}

.site__table .flex dl {
    display: flex;
    justify-content: space-between;
    gap: 0 50px
}

@media screen and (max-width: 1024px) {
    .site__table .site__title {
        margin: 0 0 32px
    }

    .site__table__cont {
        display: block
    }

    .site__table th,
    .site__table td {
        font-size: 16px;
        padding: 26px 0 27px
    }

    .site__table th {
        width: 132px
    }

    .site__table td {
        padding-left: 28px
    }

    .site__table .flex__list {
        gap: 0 32px
    }

    .site__table .flex {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0 32px
    }

    .site__table .flex__inner {
        width: 100%;
        max-width: 280px
    }

    .site__table .flex dl {
        display: flex;
        justify-content: space-between;
        gap: 0 50px
    }
}

@media screen and (max-width: 599px) {
    .site__table {
        display: block
    }

    .site__table .site__title {
        margin: 0 0 32px
    }

    .site__table__cont {
        display: block
    }

    .site__table fr {
        display: flex
    }

    .site__table th,
    .site__table td {
        display: block;
        font-size: 16px;
        box-sizing: border-box
    }

    .site__table th {
        width: 100%;
        padding: 18px 0 0;
        border-bottom: none;
        font-size: 13px;
        font-weight: 700;
        color: var(--site-color-key)
    }

    .site__table td {
        padding-left: 0;
        padding: 0 0 18px
    }

    .site__table .flex__list {
        gap: 0 22px
    }

    .site__table .flex__inner {
        max-width: 320px
    }

    .site__table .flex dl {
        display: flex;
        justify-content: space-between;
        gap: 0 32px
    }
}

.small__btn a {
    display: flex;
    align-items: center;
    text-decoration: none;
    gap: 0 5px
}

.small__btn span {
    display: inline-block;
}

.small__btn .text {
    font-size: 18px;
    color: #262626
}

.small__btn .arrow {
    width: 22px;
    height: 22px;
    border: solid 1px var(--site-color-key);
    box-sizing: border-box
}

.small__btn .arrow::after {
    right: 7px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.15' height='6.969' viewBox='0 0 7.15 6.969'%3E%3Cpath d='M6.5,3.04l.354.354a.381.381,0,0,1,0,.541l-3.1,3.1a.381.381,0,0,1-.541,0l-3.1-3.1a.381.381,0,0,1,0-.541L.467,3.04a.383.383,0,0,1,.547.006L2.846,4.97V.383A.382.382,0,0,1,3.229,0H3.74a.382.382,0,0,1,.383.383V4.97L5.955,3.047A.381.381,0,0,1,6.5,3.04Z' transform='translate(0 6.969) rotate(-90)' fill='%230e66ff'/%3E%3C/svg%3E");
    width: 7px;
    height: 8px;
    margin: -4px 0 0
}

@media screen and (max-width: 599px) {
    .small__btn .text {
        font-size: 15px
    }
}

.lower__about__name {
    padding: 104px 0;
    background-color: var(--site-color-bg-gray)
}

.lower__about__name .site__title {
    margin: 0 0 62px
}

.lower__about__name .site__title .en {
    margin: 0 0 12px
}

.lower__about__name .site__title .ja {
    font-size: 24px
}

.lower__about__name .site__title img {
    max-width: 141px
}

.lower__about__name__cont {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.lower__about__name__cont li {
    display: flex;
    padding: 21px 23px 23px 13px;
    border: solid 1px var(--site-color-key);
    background: #fff;
    box-shadow: 0 0 14px rgba(0, 0, 0, .16)
}

.lower__about__name__cont span {
    display: block
}

.lower__about__name__cont .icon {
    width: 84px;
    flex-shrink: 0;
    margin: 0 21px 0 0;
    padding: 0 14px 0 0;
    border-right: 1px solid var(--site-color-key)
}

.lower__about__name__cont .text {
    line-height: 1.5625
}

@media screen and (max-width: 599px) {
    .lower__about__name {
        padding: 62px 0;
        background-color: var(--site-color-bg-gray)
    }

    .lower__about__name .site__title {
        margin: 0 0 62px
    }

    .lower__about__name .site__title .en {
        margin: 0 0 12px
    }

    .lower__about__name .site__title .ja {
        font-size: 24px
    }

    .lower__about__name .site__title img {
        max-width: 141px
    }

    .lower__about__name__cont {
        grid-template-columns: repeat(1, 1fr)
    }

    .lower__about__name__cont .icon {
        width: 64px;
        flex-shrink: 0;
        margin: 0 18px 0 0;
        padding: 0 12px 0 0
    }
}

.lower__about__history {
    padding: 25px 0 58px
}

.lower__about__history .site__title {
    margin: 0 0 32px
}

.lower__about__history__cont {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px;
    font-size: 18px;
    line-height: 1.666667
}

.lower__about__history__cont__inner {
    grid-column: 2/span 10
}

.lower__about__history__item {
    padding: 37px 0 41px;
    border-bottom: 1px solid #c6c6c6;
    display: flex;
    align-items: flex-start;
    gap: 0 16px
}

.lower__about__history__item__year {
    width: 76px;
    flex-shrink: 0;
    position: relative;
    font-size: 36px;
    font-family: var(--site-font-barlow);
    font-weight: 700;
    line-height: 1
}

.lower__about__history__item__year::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -13px;
    width: 100%;
    height: 2px;
    background: var(--site-color-key)
}

.lower__about__history__item__inner {
    padding: 9px 0 0
}

.lower__about__history__item__inner dl {
    display: flex;
    align-items: flex-start;
    gap: 0 16px
}

.lower__about__history__item__inner dl:not(:last-child) {
    margin: 0 0 24px
}

.lower__about__history__item__inner dl dt {
    flex-shrink: 0;
    width: 78px;
    padding: 0 0 0 20px;
    box-sizing: border-box;
    font-weight: 700
}

@media screen and (max-width: 1024px) {
    .lower__about__history {
        padding: 82px 0 42px
    }

    .lower__about__history__cont {
        display: block
    }
}

@media screen and (max-width: 599px) {
    .lower__about__history {
        padding: 62px 0 82px
    }

    .lower__about__history .site__title {
        margin: 0 0 22px
    }

    .lower__about__history__cont {
        font-size: 16px
    }

    .lower__about__history__item {
        padding: 24px 0 26px;
        border-bottom: 1px solid #c6c6c6;
        display: block;
        gap: 0 32px
    }

    .lower__about__history__item__year {
        width: 56px;
        flex-shrink: 0;
        position: relative;
        font-size: 28px;
        font-family: var(--site-font-barlow);
        font-weight: 700;
        line-height: 1;
        margin: 0 0 32px
    }

    .lower__about__history__item__year::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -7px;
        width: 100%;
        height: 2px;
        background: var(--site-color-key)
    }

    .lower__about__history__item__inner {
        padding: 0
    }

    .lower__about__history__item__inner dl {
        gap: 0
    }

    .lower__about__history__item__inner dl:not(:last-child) {
        margin: 0 0 24px
    }

    .lower__about__history__item__inner dl dt {
        width: 4em;
        padding: 0
    }
}

.lower__concept__mission {
    padding: 89px 0 58px;
    background-color: var(--site-color-bg-gray)
}

.lower__concept__mission .site__title {
    margin: 0 0 43px
}

.lower__concept__mission__title {
    text-align: center;
    font-size: 60px;
    font-weight: 700;
    line-height: 1.375;
    margin: 0 0 67px;
    color: var(--site-color-key)
}

.lower__concept__mission__cont {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px
}

.lower__concept__mission__left {
    grid-column: 1/span 5;
    box-sizing: border-box
}

.lower__concept__mission__left span {
    display: block
}

.lower__concept__mission__pic {
    position: relative;
    margin: 0 0 35px
}

.lower__concept__mission__pic img {
    position: relative;
    z-index: 3
}

.lower__concept__mission__pic::before,
.lower__concept__mission__pic::after {
    content: "";
    position: absolute
}

.lower__concept__mission__pic::before {
    left: -34px;
    top: -34px;
    width: 80px;
    height: 80px;
    background-color: var(--site-color-green)
}

.lower__concept__mission__pic::after {
    left: 14px;
    top: 14px;
    width: 100%;
    height: 100%;
    background-color: var(--site-color-key)
}

.lower__concept__mission__company {
    margin: 0 0 12px
}

.lower__concept__mission__role {
    margin: 0 0 17px
}

.lower__concept__mission__name {
    font-size: 28px;
    font-weight: 700
}

.lower__concept__mission__right {
    grid-column: 7/span 6
}

.lower__concept__mission__right .site__text.fz18 {
    font-size: 22px;
    line-height: 1.9444444444
}

.lower__concept__mission__right .lower__concept__mission__pic {
    max-width: 454px;
    margin: 96px 0 0
}

.lower__concept__mission__right .lower__concept__mission__pic img {
    border: solid 1px #fff
}

.lower__concept__mission__right .lower__concept__mission__pic::before {
    display: none
}

.lower__concept__mission br.tab2 {
    display: none
}

@media screen and (max-width: 1024px) {
    .lower__concept__mission {
        padding: 72px 0 0
    }

    .lower__concept__mission .site__title {
        margin: 0 0 52px
    }

    .lower__concept__mission__title {
        font-size: 46px;
        margin: 0 0 72px
    }

    .lower__concept__mission__cont {
        grid-template-columns: repeat(2, 1fr);
        gap: 0 72px
    }

    .lower__concept__mission__left {
        grid-column: auto;
        text-align: right;
        padding: 0;
        margin: 0 0 42px
    }

    .lower__concept__mission__pic {
        margin: 0 0 52px
    }

    .lower__concept__mission__right {
        grid-column: auto
    }

    .lower__concept__mission__right .lower__concept__mission__pic {
        margin: 82px 0 0
    }

    .lower__concept__mission__right .site__text.fz18 {
        font-size: 18px;
        line-height: 1.9444444444
    }
}

@media screen and (max-width: 867px) {
    .lower__concept__mission br.tab2 {
        display: block
    }

    .lower__concept__mission__cont {
        display: block
    }
}

@media screen and (max-width: 599px) {
    .lower__concept__mission {
        padding: 72px 0 62px
    }

    .lower__concept__mission .site__title {
        margin: 0 0 38px
    }

    .lower__concept__mission__title {
        text-align: left;
        font-size: 23px;
        margin: 0 0 48px;
        line-height: 1.48
    }

    .lower__concept__mission__title br {
        display: none
    }

    .lower__concept__mission__left {
        text-align: right;
        padding: 0;
        margin: 0 0 38px
    }

    .lower__concept__mission__pic {
        margin: 0 0 42px
    }

    .lower__concept__mission__company {
        font-size: 13px;
        margin: 0 0 9px
    }

    .lower__concept__mission__role {
        font-size: 13px;
        margin: 0 0 16px
    }

    .lower__concept__mission__name {
        font-size: 20px;
        font-weight: 700
    }

    .lower__concept__mission__right .lower__concept__mission__pic {
        margin: 62px 0 0
    }

    .lower__concept__mission__right .site__text.fz18 {
        font-size: 16px;
        line-height: 1.9444444444
    }
}

.lower__concept__promise {
    padding: 89px 0 50px;
    background-color: var(--site-color-bg-gray)
}

.lower__concept__promise .site__title {
    margin: 0 0 92px
}

.lower__concept__promise__title {
    text-align: center;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.375;
    margin: 0 0 66px
}

.lower__concept__promise__title span {
    display: block
}

.lower__concept__promise__cont {
    position: relative;
    /* max-width: 924px; */
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 21px;
    z-index: 2
}

.lower__concept__promise__item {
    text-align: center;
    border-radius: 14px;
    border: solid 1px var(--site-color-key);
    background-color: #fff;
    box-shadow: 0 0 14px rgba(0, 0, 0, .16);
    padding: 0 16px 30px
}

.lower__concept__promise__item__title {
    font-size: 24px;
    font-weight: 700;
    color: var(--site-color-key);
    margin: 0 0 14px
}

.lower__concept__promise__item__pic {
    margin: 0 -16px 20px;
    border-radius: 13px 13px 0 0;
    overflow: hidden
}

.lower__concept__promise__item .site__text {
    font-weight: 500;
    line-height: 1.75
}

.lower__concept__promise__bg {
    margin: -3.2vw 0 0
}

@media screen and (max-width: 1024px) {
    .lower__concept__promise {
        padding: 72px 0 0
    }

    .lower__concept__promise .site__title {
        margin: 0 0 40px
    }

    .lower__concept__promise__title {
        font-size: 36px;
        margin: 0 0 60px
    }

    .lower__concept__promise__item__title {
        font-size: 21px;
        margin: 0 0 12px
    }

    .lower__concept__promise__item__pic {
        margin: 0 -16px 20px
    }

    .lower__concept__promise__item .site__text {
        font-size: 15px
    }
}

@media screen and (max-width: 867px) {
    .lower__concept__promise {
        padding: 62px 0 0
    }

    .lower__concept__promise .site__title {
        margin: 0 0 32px
    }

    .lower__concept__promise__title {
        font-size: 32px;
        margin: 0 0 60px
    }

    .lower__concept__promise__cont {
        display: flex;
        flex-wrap: wrap;
        gap: 20px
    }

    .lower__concept__promise__item {
        width: calc(50% - 10px);
        box-sizing: border-box
    }

    .lower__concept__promise__item:nth-child(3) {
        margin: 0 auto
    }

    .lower__concept__promise__item__title {
        font-size: 19px;
        margin: 0 0 10px
    }

    .lower__concept__promise__item__pic {
        margin: 0 -16px 18px
    }

    .lower__concept__promise__item .site__text {
        font-size: 14px
    }
}

@media screen and (max-width: 599px) {
    .lower__concept__promise {
        padding: 42px 0 0
    }

    .lower__concept__promise .site__title {
        margin: 0 0 42px
    }

    .lower__concept__promise .site__title .en {
        line-height: 1.28
    }

    .lower__concept__promise__title {
        font-size: 23px;
        margin: 0 0 42px
    }

    .lower__concept__promise__title br {
        display: none
    }

    .lower__concept__promise__cont {
        justify-content: center;
        gap: 16px
    }

    .lower__concept__promise__item {
        width: 100%;
        position: relative;
        max-width: 100%;
        box-sizing: border-box;
        border-radius: 10px;
        padding: 22px 14px 22px 120px;
        text-align: left
    }

    .lower__concept__promise__item:nth-child(1) {
        margin: 0
    }

    .lower__concept__promise__item__title {
        font-size: 17px;
        margin: 0 0 10px
    }

    .lower__concept__promise__item__pic {
        position: absolute;
        left: 0;
        top: 0;
        width: 100px;
        height: 100%;
        margin: 0;
        border-radius: 10px 0 0 10px
    }

    .lower__concept__promise__item__pic img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .lower__concept__promise__item .site__text {
        font-size: 13px;
        line-height: 1.4
    }
}

.lower__concept__spirits {
    padding: 122px 0 95px
}

.lower__concept__spirits .site__title {
    grid-column: 1/span 5
}

.lower__concept__spirits .base-width {
    display: grid;
    align-items: flex-start;
    grid-template-columns: repeat(12, 1fr);
    gap: 16px
}

.lower__concept__spirits__list {
    grid-column: 6/span 7;
    padding: 0 0 0 40px
}

.lower__concept__spirits__list dt {
    position: relative;
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 10px;
    line-height: 1.32
}

.lower__concept__spirits__list dt::before {
    content: attr(data-num);
    position: absolute;
    left: -40px;
    top: 5px;
    font-size: 16px;
    font-weight: 700;
    color: var(--site-color-key)
}

.lower__concept__spirits__list dd {
    font-size: 18px;
    line-height: 1.5
}

.lower__concept__spirits__list dd:not(:last-child) {
    margin: 0 0 36px
}

@media screen and (max-width: 1024px) {
    .lower__concept__spirits {
        padding: 102px 0 85px
    }

    .lower__concept__spirits .site__title {
        grid-column: 1/span 5
    }
}

@media screen and (max-width: 867px) {
    .lower__concept__spirits {
        padding: 92px 0 65px
    }

    .lower__concept__spirits .base-width {
        display: block;
        gap: 16px
    }

    .lower__concept__spirits .site__title {
        margin: 0 0 62px
    }

    .lower__concept__spirits__list {
        padding: 0 0 0 40px
    }

    .lower__concept__spirits__list dt {
        font-size: 24px;
        margin: 0 0 10px
    }

    .lower__concept__spirits__list dd {
        font-size: 16px
    }

    .lower__concept__spirits__list dd:not(:last-child) {
        margin: 0 0 36px
    }
}

@media screen and (max-width: 599px) {
    .lower__concept__spirits {
        padding: 72px 0 52px
    }

    .lower__concept__spirits .site__title {
        margin: 0 0 42px
    }

    .lower__concept__spirits__list {
        padding: 0 0 0 28px
    }

    .lower__concept__spirits__list dt {
        font-size: 20px;
        margin: 0 0 7px
    }

    .lower__concept__spirits__list dt::before {
        left: -28px;
        top: 5px;
        font-size: 13px
    }

    .lower__concept__spirits__list dd {
        font-size: 14px
    }

    .lower__concept__spirits__list dd br {
        display: none
    }

    .lower__concept__spirits__list dd:not(:last-child) {
        margin: 0 0 28px
    }
}

.lower__concept__culture {
    padding: 114px 0 35px;
    background-color: var(--site-color-bg-gray)
}

.lower__concept__culture .site__title {
    margin: 0 0 84px
}

.lower__concept__culture__cont {
    position: relative;
    max-width: 924px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 46px;
    z-index: 2
}

.lower__concept__culture__item {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-row: span 3;
    grid-template-rows: subgrid;
    gap: 0;
    margin: 0 0 73px
}

.lower__concept__culture__item__title {
    font-size: 24px;
    font-weight: 700;
    color: var(--site-color-key);
    line-height: 1.32;
    padding: 19px 0 16px
}

.lower__concept__culture__item__title br {
    display: block
}

.lower__concept__culture__item__pic {
    border-radius: 10px;
    overflow: hidden
}

.lower__concept__culture__item__text {
    line-height: 1.875
}

@media screen and (max-width: 1024px) {
    .lower__concept__culture {
        padding: 92px 0 35px
    }

    .lower__concept__culture .site__title {
        margin: 0 0 64px
    }

    .lower__concept__culture__cont {
        gap: 0 46px;
        z-index: 2
    }

    .lower__concept__culture__item {
        margin: 0 0 56px
    }

    .lower__concept__culture__item__title {
        font-size: 24px;
        padding: 19px 0 16px
    }

    .lower__concept__culture__item__title br {
        display: block
    }
}

@media screen and (max-width: 867px) {
    .lower__concept__culture {
        padding: 82px 0 35px
    }

    .lower__concept__culture .site__title {
        margin: 0 0 58px
    }

    .lower__concept__culture__cont {
        display: block;
        gap: 0 46px;
        z-index: 2
    }

    .lower__concept__culture__item {
        margin: 0 0 56px;
        display: block;
    }

    .lower__concept__culture__item__title {
        font-size: 20px;
        padding: 16px 0 13px
    }

    .lower__concept__culture__item__text {
        font-size: 15px
    }
}

@media screen and (max-width: 599px) {
    .lower__concept__culture {
        padding: 62px 0 20px
    }

    .lower__concept__culture .site__title {
        margin: 0 0 42px
    }

    .lower__concept__culture__cont {
        margin-top: 30px;
        gap: 0 28px;
        z-index: 2
    }

    .lower__concept__culture__item {
        margin: 0 0 42px
    }

    .lower__concept__culture__item__pic {
        border-radius: 8px
    }

    .lower__concept__culture__item__title {
        font-size: 15px;
        padding: 16px 0 10px
    }

    .lower__concept__culture__item__text {
        font-size: 13px
    }
}

.lower__member__list {
    padding: 0 0 102px
}

.lower__member__list .base-width {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 81px 40px
}

@media screen and (max-width: 1024px) {
    .lower__member__list {
        padding: 22px 0 92px
    }

    .lower__member__list .base-width {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (max-width: 599px) {
    .lower__member__list {
        padding: 18px 0 72px
    }

    .lower__member__list .base-width {
        grid-template-columns: repeat(1, 1fr);
        gap: 52px 40px
    }

    .lower__member__list .base-width .member__slider--item .copy {
        margin: 22px 0 0
    }
}

.lower__member__head {
    position: relative
}

.lower__member__head::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 413px;
    width: calc(100vw - var(--scrollbar));
    height: calc(100% - 70px - 413px);
    background-color: var(--site-color-key);
    z-index: -1;
    transform: translateX(-50%)
}

.lower__member__head__hero {
    position: relative;
    margin: 0 0 -70px
}

.lower__member__head__hero::before {
    content: "";
    position: absolute;
    left: -35px;
    top: -38px;
    width: 80px;
    height: 80px;
    background-color: var(--site-color-green);
    z-index: -1
}

.lower__member__head__text {
    position: relative;
    margin: 0 0 0 94px;
    padding: 42px 0 47px 59px;
    background-color: #000;
    border: 1px solid var(--site-color-key);
    border-right: none;
    z-index: 2;
    color: #fff;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.lower__member__head__text::after {
    content: "";
    position: absolute;
    left: 100%;
    top: -1px;
    width: calc((100vw - var(--scrollbar) - (100% + 95px))/2);
    height: calc(100% + 2px);
    background-color: #000;
    border: 1px solid var(--site-color-key);
    border-left: none;
    border-right: none
}

.lower__member__head__text::before {
    content: "MEMBER PROFILE";
    position: absolute;
    left: -32px;
    bottom: 0;
    font-size: 12px;
    font-family: var(--site-font-en);
    font-weight: 500;
    color: var(--site-color-green);
    transform: rotate(90deg) translateX(-100%);
    transform-origin: left bottom
}

.lower__member__head__left {
    flex: 1
}

.lower__member__head__left .en {
    font-family: var(--site-font-en);
    font-size: 17px;
    color: var(--site-color-key)
}

.lower__member__head__right {
    width: 51%;
    line-height: 1.75;
    padding: 0 0 0 35px;
    margin: 7px 0 0 35px;
    border-left: 1px solid var(--site-color-key)
}

.lower__member__head__title span {
    display: block
}

.lower__member__head__title .role {
    margin: 0 0 13px
}

.lower__member__head__title .name {
    font-size: 59px;
    font-weight: 500;
    margin: 0 0 19px
}

@media screen and (max-width: 1024px) {
    .lower__member__head::after {
        top: 302px;
        width: calc(100vw - var(--scrollbar));
        height: calc(100% - 70px - 302px)
    }

    .lower__member__head__hero {
        margin: 0 0 -70px
    }

    .lower__member__head__hero::before {
        left: -35px;
        top: -38px;
        width: 80px;
        height: 80px
    }

    .lower__member__head__text {
        margin: 0 0 0 95px;
        padding: 42px 0 47px 59px
    }

    .lower__member__head__text::after {
        top: -1px;
        width: calc((100vw - var(--scrollbar) - (100% + 96px))/2);
        height: calc(100% + 2px)
    }

    .lower__member__head__text::before {
        left: -32px;
        bottom: 0;
        font-size: 11px
    }

    .lower__member__head__left .en {
        font-size: 16px
    }

    .lower__member__head__right {
        width: 50%;
        padding: 0 0 0 30px;
        margin: 7px 0 0 30px;
        font-size: 15px
    }

    .lower__member__head__title .role {
        font-size: 15px;
        margin: 0 0 13px
    }

    .lower__member__head__title .name {
        font-size: 48px;
        margin: 0 0 19px
    }
}

@media screen and (max-width: 867px) {
    .lower__member__head::after {
        top: 26vw;
        width: calc(100vw - var(--scrollbar));
        height: calc(100% - 70px - 26vw)
    }

    .lower__member__head__hero {
        margin: 0 0 -70px
    }

    .lower__member__head__hero::before {
        left: -35px;
        top: -38px;
        width: 80px;
        height: 80px
    }

    .lower__member__head__text {
        margin: 0 0 0 75px;
        padding: 42px 0 47px 59px;
        display: block
    }

    .lower__member__head__text::after {
        top: -1px;
        width: calc((100vw - var(--scrollbar) - (100% + 76px))/2);
        height: calc(100% + 2px)
    }

    .lower__member__head__text::before {
        left: -32px;
        bottom: 0;
        font-size: 11px
    }

    .lower__member__head__left .en {
        font-size: 15px
    }

    .lower__member__head__right {
        width: 100%;
        padding: 0;
        margin: 34px 0 0;
        font-size: 15px;
        border: none
    }

    .lower__member__head__title .role {
        font-size: 14px;
        margin: 0 0 12px
    }

    .lower__member__head__title .name {
        font-size: 42px;
        margin: 0 0 19px
    }
}

@media screen and (max-width: 599px) {
    .lower__member__head::after {
        top: 30vw;
        width: calc(100vw - var(--scrollbar));
        height: calc(100% - 44px - 30vw)
    }

    .lower__member__head__hero {
        margin: 0 0 -44px
    }

    .lower__member__head__hero img {
        aspect-ratio: 1/1;
        object-fit: cover
    }

    .lower__member__head__hero::before {
        left: -35px;
        top: -38px;
        width: 80px;
        height: 80px
    }

    .lower__member__head__text {
        margin: 0 0 0 32px;
        padding: 22px 0 20px 26px;
        display: block
    }

    .lower__member__head__text::after {
        top: -1px;
        width: 24px;
        height: calc(100% + 2px)
    }

    .lower__member__head__text::before {
        left: -32px;
        bottom: 0;
        font-size: 11px
    }

    .lower__member__head__left .en {
        font-size: 12px
    }

    .lower__member__head__right {
        width: 100%;
        padding: 0;
        margin: 28px 0 0;
        font-size: 13px;
        border: none
    }

    .lower__member__head__title .role {
        font-size: 12px;
        margin: 0 0 10px
    }

    .lower__member__head__title .name {
        font-size: 30px;
        margin: 0 0 16px
    }
}

.lower__member__interview {
    padding: 0 0 70px
}

.lower__member__interview__title {
    font-size: 52px;
    font-weight: 700;
    line-height: 1.65;
    margin: 70px 0 92px
}

.lower__member__interview__box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

.lower__member__interview__box:not(:last-child) {
    margin: 0 0 70px
}

.lower__member__interview__box:nth-of-type(odd) .lower__member__interview__box__text {
    order: 1;
    padding-right: 30px;
    padding-left: 0
}

.lower__member__interview__box:nth-of-type(odd) .lower__member__interview__box__pic {
    order: 2
}

.lower__member__interview__box__text {
    padding: 0 0 0 30px
}

.lower__member__interview__box__text .sub {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    padding: 6px 12px 6px;
    background-color: #000;
    color: #fff
}

.lower__member__interview__box__text .subtitle {
    font-size: 30px;
    font-weight: 700;
    color: #005eea;
    margin: 11px 0 19px;
    line-height: 1.5
}

.lower__member__interview__box__text .subtitle br.tab {
    display: none
}

.lower__member__interview__box__text .site__text {
    line-height: 2
}

@media screen and (max-width: 1024px) {
    .lower__member__interview {
        padding: 0 0 70px
    }

    .lower__member__interview__title {
        font-size: 46px;
        margin: 80px 0 82px
    }

    .lower__member__interview__box:not(:last-child) {
        margin: 0 0 70px
    }

    .lower__member__interview__box:nth-of-type(odd) .lower__member__interview__box__text {
        padding-right: 37px;
        padding-left: 0
    }

    .lower__member__interview__box__text {
        padding: 0 0 0 37px
    }

    .lower__member__interview__box__text .sub {
        font-size: 16px;
        padding: 5px 12px 7px
    }

    .lower__member__interview__box__text .subtitle {
        font-size: 30px;
        margin: 11px 0 19px
    }

    .lower__member__interview__box__text .subtitle br.tab {
        display: block
    }

    .lower__member__interview__box__text .site__text {
        font-size: 15px
    }
}

@media screen and (max-width: 867px) {
    .lower__member__interview {
        padding: 0 0 70px
    }

    .lower__member__interview__title {
        font-size: 42px;
        margin: 80px 0 82px
    }

    .lower__member__interview__box {
        display: block
    }

    .lower__member__interview__box:not(:last-child) {
        margin: 0 0 70px
    }

    .lower__member__interview__box:nth-of-type(odd) .lower__member__interview__box__text {
        padding-right: 0;
        padding-left: 0
    }

    .lower__member__interview__box__text {
        padding: 0;
        margin: 32px 0 0
    }

    .lower__member__interview__box__text .sub {
        font-size: 16px;
        padding: 5px 12px 7px
    }

    .lower__member__interview__box__text .subtitle {
        font-size: 30px;
        margin: 11px 0 19px
    }

    .lower__member__interview__box__text .subtitle br.tab {
        display: none
    }

    .lower__member__interview__box__text .site__text {
        font-size: 15px
    }
}

@media screen and (max-width: 599px) {
    .lower__member__interview {
        padding: 0 0 62px
    }

    .lower__member__interview__title {
        font-size: 28px;
        margin: 50px 0 52px
    }

    .lower__member__interview__box:not(:last-child) {
        margin: 0 0 60px
    }

    .lower__member__interview__box__text {
        padding: 0;
        margin: 32px 0 0
    }

    .lower__member__interview__box__text .sub {
        font-size: 13px;
        padding: 5px 12px 7px
    }

    .lower__member__interview__box__text .subtitle {
        font-size: 23px;
        margin: 8px 0 14px
    }

    .lower__member__interview__box__text .subtitle br.tab {
        display: none
    }

    .lower__member__interview__box__text .site__text {
        font-size: 15px
    }
}

.lower__member__schedule {
    overflow: hidden
}

.lower__member__schedule .base-width {
    padding: 81px 94px 91px;
    box-sizing: border-box;
    background: var(--site-color-bg-gray)
}

.lower__member__schedule .site__title {
    margin: 0 0 53px
}

.lower__member__schedule__item {
    display: flex
}

.lower__member__schedule__item:not(:last-child) {
    margin: 0 0 6px
}

.lower__member__schedule__time {
    padding: 29px 20px 27px;
    width: 126px;
    box-sizing: border-box;
    margin: 0 4px 0 0;
    background-color: var(--site-color-key);
    display: flex;
    align-items: flex-start;
    border-radius: 10px 0 0 10px;
    line-height: 1
}

.lower__member__schedule__time .text {
    display: block;
    font-size: 18px;
    font-family: var(--site-font-en);
    font-weight: 500;
    color: #fff;
    padding: 7px 0 0 7px
}

.lower__member__schedule__time::before {
    content: "";
    display: block;
    width: 27.64px;
    height: 27.64px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate(-195 -3463)'%3E%3Crect width='32' height='32' transform='translate(195 3463)' fill='%23fff' opacity='0'/%3E%3Cpath d='M15.822,2A13.822,13.822,0,0,1,25.6,25.6,13.822,13.822,0,0,1,6.048,6.048,13.732,13.732,0,0,1,15.822,2Zm0,25.645a11.822,11.822,0,1,0-8.36-3.463A11.745,11.745,0,0,0,15.822,27.645Z' transform='translate(195.178 3463)' fill='%23fff'/%3E%3Cpath d='M23.128,20.258a1,1,0,0,1-.446-.106l-5.129-2.564A1,1,0,0,1,17,16.693V9a1,1,0,0,1,2,0v7.075l4.576,2.288a1,1,0,0,1-.448,1.895Z' transform='translate(193 3462.129)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E")
}

.lower__member__schedule__item__inner {
    flex: 1;
    display: flex;
    align-items: flex-start;
    padding: 24px 25px 21px;
    background-color: #fff;
    border-radius: 0 10px 10px 0;
    font-size: 18px
}

.lower__member__schedule__title {
    width: 131px;
    padding: 9px 11px 12px;
    margin: 0 15px 0 0;
    line-height: 1;
    box-sizing: border-box;
    border-radius: 10px;
    background-color: var(--site-color-bg-gray)
}

.lower__member__schedule__text {
    flex: 1;
    line-height: 1.4444;
    margin: 4px 0 0
}

@media screen and (max-width: 1024px) {
    .lower__member__schedule .base-width {
        padding: 64px 80px 80px;
        box-sizing: border-box;
        background: var(--site-color-bg-gray)
    }

    .lower__member__schedule__time {
        flex-shrink: 0;
        padding: 26px 20px 27px;
        width: 126px;
        border-radius: 10px 0 0 10px
    }

    .lower__member__schedule__time .text {
        font-size: 16px;
        padding: 7px 0 0 7px
    }

    .lower__member__schedule__time::before {
        width: 26px;
        height: 26px
    }

    .lower__member__schedule__item__inner {
        padding: 20px 25px 21px;
        border-radius: 0 10px 10px 0;
        font-size: 16px
    }

    .lower__member__schedule__title {
        width: 132px;
        padding: 9px 11px 11px;
        margin: 0 15px 0 0;
        line-height: 1;
        box-sizing: border-box;
        border-radius: 10px;
        background-color: var(--site-color-bg-gray)
    }

    .lower__member__schedule__text {
        flex: 1;
        line-height: 1.4444;
        margin: 5px 0 0
    }
}

@media screen and (max-width: 867px) {
    .lower__member__schedule .base-width {
        padding: 50px 42px 42px;
        box-sizing: border-box;
        background: var(--site-color-bg-gray)
    }

    .lower__member__schedule__item__inner {
        display: block;
        padding: 20px 25px 21px;
        border-radius: 0 10px 10px 0;
        font-size: 16px
    }

    .lower__member__schedule__title {
        width: 132px;
        padding: 9px 11px 11px;
        margin: 0 15px 0 0;
        line-height: 1;
        box-sizing: border-box;
        border-radius: 10px;
        background-color: var(--site-color-bg-gray)
    }
}

@media screen and (max-width: 599px) {
    .lower__member__schedule .base-width {
        padding: 46px 20px 42px;
        box-sizing: border-box;
        background: var(--site-color-bg-gray)
    }

    .lower__member__schedule__item {
        display: block
    }

    .lower__member__schedule__item:not(:last-child) {
        margin: 0 0 12px
    }

    .lower__member__schedule__time {
        flex-shrink: 0;
        padding: 10px 13px 11px;
        width: 100%;
        border-radius: 10px 10px 0 0;
        margin: 0 0 4px
    }

    .lower__member__schedule__time .text {
        font-size: 13px;
        font-weight: 700;
        padding: 6px 0 0 5px
    }

    .lower__member__schedule__time::before {
        width: 21px;
        height: 21px
    }

    .lower__member__schedule__item__inner {
        display: block;
        padding: 8px 14px 16px;
        border-radius: 0 0 10px 10px;
        font-size: 15px
    }

    .lower__member__schedule__title {
        padding: 16px 12px 16px;
        padding: 0;
        border-radius: 10px;
        font-weight: 700;
        box-sizing: border-box;
        background: none;
        color: var(--site-color-key)
    }

    .lower__member__schedule__text {
        margin: 6px 0 0
    }

    .lower__member__schedule__text br {
        display: none
    }
}

.lower__member__summary {
    margin: 0 0 101px
}

.lower__member__summary .base-width {
    padding: 55px 51px 42px;
    box-sizing: border-box;
    background: #005eea;
    color: #fff
}

.lower__member__summary .site__title {
    margin: 0 0 53px
}

.lower__member__summary .site__title .ja {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.346
}

.lower__member__summary .site__title::after {
    height: 5px;
    width: 60px;
    background-color: #fff
}

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

.lower__member__summary__pic {
    position: relative;
    width: 270px;
    margin: 0 63px 0 0
}

.lower__member__summary__pic::after {
    content: "";
    position: absolute;
    inset: 0;
    border: solid 1px #fff;
    width: 100%;
    height: 100%
}

.lower__member__summary__title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 18px
}

.lower__member__summary__text {
    flex: 1
}

.lower__member__summary__text .site__text {
    line-height: 2
}

@media screen and (max-width: 1024px) {
    .lower__member__summary {
        margin: 0 0 92px
    }

    .lower__member__summary .base-width {
        padding: 50px 42px 42px
    }

    .lower__member__summary .site__title {
        margin: 0 0 48px
    }

    .lower__member__summary .site__title .ja {
        font-size: 24px
    }

    .lower__member__summary .site__title::after {
        height: 5px;
        width: 60px
    }

    .lower__member__summary__pic {
        width: 250px;
        margin: 0 53px 0 0
    }

    .lower__member__summary__title {
        font-size: 28px;
        margin: 0 0 16px
    }

    .lower__member__summary__text {
        font-size: 15px
    }
}

@media screen and (max-width: 867px) {
    .lower__member__summary {
        margin: 0 0 82px
    }

    .lower__member__summary .base-width {
        padding: 48px 34px 34px
    }

    .lower__member__summary .site__title {
        margin: 0 0 48px
    }

    .lower__member__summary .site__title .ja {
        font-size: 21px
    }

    .lower__member__summary .site__title::after {
        height: 5px;
        width: 60px
    }

    .lower__member__summary__pic {
        width: 200px;
        margin: 0 40px 0 0
    }

    .lower__member__summary__title {
        font-size: 22px;
        margin: 0 0 16px
    }

    .lower__member__summary__text {
        font-size: 15px
    }
}

@media screen and (max-width: 599px) {
    .lower__member__summary {
        margin: 0 0 72px
    }

    .lower__member__summary .base-width {
        padding: 32px 20px 32px
    }

    .lower__member__summary .site__title {
        margin: 0 0 36px
    }

    .lower__member__summary .site__title .ja {
        font-size: 19px
    }

    .lower__member__summary .site__title::after {
        height: 4px;
        width: 58px
    }

    .lower__member__summary__cont {
        display: block
    }

    .lower__member__summary__pic {
        width: 100%;
        margin: 0 0 40px
    }

    .lower__member__summary__title {
        font-size: 20px;
        margin: 22px 0 18px
    }

    .lower__member__summary__text {
        font-size: 14px
    }
}

.lower__member__subtitle {
    margin: 0 0 63px
}

@media screen and (max-width: 599px) {
    .lower__member__subtitle {
        margin: 0 0 32px
    }
}

.lower__work__block,
.lower__work__block3 {
    padding: 80px 0 122px;
    overflow: hidden
}

.lower__work__block {
    background: var(--site-color-bg-gray);
}

.lower__work__block3 {
    background: var(--site-color-key);
    color: #fff;
}

.lower__work__block.lower__work__block2 {
    background: none;
    padding: 25px 0 25px
}

.lower__work__block .site__title {
    padding: 0 0 23px;
    margin: 0 0 82px
}

.lower__work__block .site__title .ja {
    font-size: 50px;
    font-weight: 500
}

.lower__work__block__cont {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: start
}

.lower__work__block__cont:nth-child(odd) .lower__work__block__pic {
    order: 2;
    margin: 43px 0 0 43px
}

.lower__work__block__cont:nth-child(odd) .lower__work__block__pic::before {
    background-color: var(--site-color-green)
}

.lower__work__block__cont:nth-child(odd) .lower__work__block__pic::after {
    background-color: var(--site-color-key)
}

.lower__work__block__cont:nth-child(odd) .lower__work__block__text {
    order: 1
}

.lower__work__block__cont:not(:last-child) {
    margin: 0 0 75px
}

.lower__work__block__pic {
    position: relative;
    margin: 43px 43px 0 0
}

.lower__work__block__pic::before,
.lower__work__block__pic::after {
    content: "";
    position: absolute
}

.lower__work__block__pic::before {
    left: -35px;
    top: -38px;
    width: 80px;
    height: 80px;
    background-color: #005eea
}

.lower__work__block__pic::after {
    right: -29px;
    bottom: 65px;
    width: 58px;
    height: 58px;
    background-color: var(--site-color-green)
}

.lower__work__block__pic img {
    position: relative;
    z-index: 3
}

.lower__work__block__title span {
    display: block
}

.lower__work__block__title .ja {
    font-size: 36px;
    font-weight: 500;
    line-height: 1.48;
    color: #005eea;
    margin: 0 0 2px;
    display: flex
}

.lower__work__block__title .en {
    font-size: 17px;
    font-family: var(--site-font-en);
    line-height: 1.3;
    margin: 0 0 32px
}

.lower__work__block .md {
    font-size: 25px;
    line-height: 3;
    font-weight: 700;
    margin: 0 0 18px;
    text-align: center;
}

h3.lower__work__block__title,
h2.lower__work__block__title {
    margin: 0 0 32px;
}

.lower__work__block .site__text {
    line-height: 2
}

.lower__work__block br.tab {
    display: none
}

@media screen and (max-width: 1024px) {
    .lower__work__block {
        padding: 80px 0 102px
    }

    .lower__work__block br.tab {
        display: block
    }

    .lower__work__block.lower__work__block2 {
        padding: 95px 0 153px
    }

    .lower__work__block .site__title {
        margin: 0 0 72px
    }

    .lower__work__block .site__title .ja {
        font-size: 42px
    }

    .lower__work__block__cont:nth-child(odd) .lower__work__block__pic {
        margin: 38px 0 0 38px
    }

    .lower__work__block__cont:not(:last-child) {
        margin: 0 0 155px
    }

    .lower__work__block__pic {
        margin: 38px 38px 0 0
    }

    .lower__work__block__pic::before {
        left: -25px;
        top: -28px;
        width: 60px;
        height: 60px
    }

    .lower__work__block__pic::after {
        right: -19px;
        bottom: -19px;
        width: 44px;
        height: 44px
    }

    .lower__work__block__title .ja {
        font-size: 46px;
        margin: 0 0 4px
    }

    .lower__work__block__title .en {
        font-size: 15px;
        margin: 0 0 32px
    }

    .lower__work__block .md {
        font-size: 30px;
        margin: 0 0 18px
    }

    .lower__work__block .site__text {
        font-size: 15px
    }
}

@media screen and (max-width: 867px) {
    .lower__work__block {
        padding: 72px 0 92px
    }

    .lower__work__block br.tab {
        display: none
    }

    .lower__work__block.lower__work__block2 {
        padding: 85px 0 123px
    }

    .lower__work__block .site__title {
        margin: 0 0 72px
    }

    .lower__work__block .site__title .ja {
        font-size: 42px
    }

    .lower__work__block__cont {
        display: block
    }

    .lower__work__block__cont:not(:last-child) {
        margin: 0 0 105px
    }

    .lower__work__block__pic {
        margin: 38px 0 42px !important
    }

    .lower__work__block__title .ja {
        font-size: 40px;
        margin: 0 0 4px
    }

    .lower__work__block__title .en {
        font-size: 13px;
        margin: 0 0 32px
    }

    .lower__work__block .md {
        font-size: 26px;
        margin: 0 0 15px
    }

    .lower__work__block .site__text {
        font-size: 15px
    }
}

@media screen and (max-width: 599px) {
    .lower__work__block {
        padding: 42px 0 42px
    }

    .lower__work__block br.tab {
        display: block
    }

    .lower__work__block.lower__work__block2 {
        padding: 42px 0 0
    }

    .lower__work__block .site__title {
        margin: 0 0 62px
    }

    .lower__work__block .site__title .ja {
        font-size: 36px
    }

    .lower__work__block__cont:not(:last-child) {
        margin: 0 0 85px
    }

    .lower__work__block__pic {
        margin: 0 0 28px !important
    }

    .lower__work__block__pic::after {
        right: -15px;
        bottom: -15px;
        width: 30px;
        height: 30px
    }

    .lower__work__block__title .ja {
        font-size: 32px;
        margin: 0 0 4px
    }

    .lower__work__block__title .en {
        font-size: 10px;
        margin: 0 0 26px
    }

    .lower__work__block .md {
        font-size: 21px;
        margin: 0 0 15px
    }

    .lower__work__block .md br {
        display: none
    }

    .lower__work__block .md .sp {
        display: block
    }

    .lower__work__block .site__text {
        font-size: 15px
    }
}

.lower__recruit__block__tab {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border: 2px solid #005eea;
    border-bottom: none
}

.lower__recruit__block__tab button {
    position: relative;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    padding: 22px 0;
    color: #005eea
}

.lower__recruit__block__tab button.active {
    background-color: #005eea;
    color: #fff
}

.lower__recruit__block__tab button.active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -14px;
    width: 0;
    height: 0;
    border-width: 14px 8px 0;
    border-color: rgba(0, 0, 0, 0);
    border-style: solid;
    margin: 0 0 0 -8px;
    border-top-color: #005eea
}

.lower__recruit__block__map {
    position: relative;
    width: 100%;
    height: 0;
    padding: 428px 0 0;
    margin: 42px 0 0
}

.lower__recruit__block__map iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.lower__recruit__block__entry.footer__entry__block {
    padding-inline: 95px;
    margin: 57px 0 0;
    background-color: var(--site-color-key);
    overflow: hidden
}

.lower__recruit__block__entry.footer__entry__block::after {
    left: 0;
    width: 100%
}

.lower__recruit__block__cont {
    padding: 56px 94px 72px;
    border: 2px solid var(--site-color-key);
    display: none
}

.lower__recruit__block__cont.active {
    display: block
}

.lower__recruit__block__cont .hidden {
    display: none
}

.lower__recruit__block__cont__item:not(:last-child) {
    margin: 0 0 24px;
    padding: 0 0 22px;
    border-bottom: solid 1px #d7d7d7
}

.lower__recruit__block__cont__item__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--site-color-key)
}

.lower__recruit__block__cont__item dd {
    line-height: 2
}

.lower__recruit__block__cont__item .md {
    display: block;
    position: relative;
    padding: 0 0 0 1em
}

.lower__recruit__block__cont__item .md::before {
    content: "■";
    position: absolute;
    left: 0
}

.lower__recruit__block__cont__item .blue {
    color: var(--site-color-key)
}

.lower__recruit__block__cont__item .inner_text {
    display: block;
    padding: 0 0 0 1em
}

.lower__recruit__block__cont__item .square__list2>li:not(:last-child) {
    margin: 0 0 1.5em
}

.lower__recruit__block__cont__item p {
    margin: 0 0 4px
}

.lower__recruit__block__cont__item a {
    text-decoration: underline;
    color: var(--site-color-key)
}

.lower__recruit__block__cont__item .check__list .md {
    padding: 0 0 0 2em
}

.lower__recruit__block__cont__item .check__list .md::before {
    content: "";
    top: 7px;
    width: 21.3px;
    height: 21.3px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3E%3Cpath d='M9.865,12.285l-1.54,1.54,4.95,4.95,11-11-1.54-1.54-9.46,9.4Zm13.31,2.09a8.762,8.762,0,1,1-6.38-8.47L18.5,4.2a10.232,10.232,0,0,0-4.125-.825,11,11,0,1,0,11,11Z' transform='translate(-3.375 -3.375)' fill='%23bababa'/%3E%3C/svg%3E")
}

.lower__recruit__block__cont__item .flex__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 16px
}

.lower__recruit__block__cont__item .flex__list>li {
    flex: 1
}

.lower__recruit__block__cont__item .flex__box {
    display: flex;
    gap: 0
}

.lower__recruit__block__cont__item .flex__box .md2 {
    flex-shrink: 0
}

@media screen and (max-width: 1024px) {
    .lower__recruit__block__map {
        padding: 382px 0 0
    }

    .lower__recruit__block__entry.footer__entry__block {
        margin: 48px 0 0;
        padding-inline: 83px
    }

    .lower__recruit__block__cont {
        padding: 48px 84px 64px
    }

    .lower__recruit__block__cont__item:not(:last-child) {
        margin: 0 0 24px;
        padding: 0 0 22px
    }

    .lower__recruit__block__cont__item__title {
        font-size: 20px;
        margin: 0 0 10px
    }

    .lower__recruit__block__cont__item p {
        margin: 0 0 4px
    }

    .lower__recruit__block__cont__item .check__list .md {
        padding: 0 0 0 2em
    }

    .lower__recruit__block__cont__item .check__list .md::before {
        top: 7px;
        width: 21.3px;
        height: 21.3px
    }

    .lower__recruit__block__cont__item .flex__box {
        display: flex
    }
}

@media screen and (max-width: 867px) {
    .lower__recruit__block__tab button {
        font-size: 18px;
        padding: 20px 0
    }

    .lower__recruit__block__tab button.active::after {
        bottom: -14px;
        border-width: 14px 8px 0
    }

    .lower__recruit__block__entry.footer__entry__block {
        margin: 42px 0 0;
        padding-inline: 44px
    }

    .lower__recruit__block__map {
        padding: 342px 0 0;
        margin: 42px 0 0
    }

    .lower__recruit__block__cont {
        padding: 38px 44px 48px
    }

    .lower__recruit__block__cont__item .flex__list {
        display: block
    }

    .lower__recruit__block__cont__item .flex__box {
        display: block
    }
}

@media screen and (max-width: 599px) {
    .lower__recruit__block__tab button {
        font-size: 16px;
        padding: 17px 0
    }

    .lower__recruit__block__entry.footer__entry__block {
        margin: 32px 0 0;
        padding-inline: 24px
    }

    .lower__recruit__block__map {
        padding: 300px 0 0;
        margin: 28px 0 0
    }

    .lower__recruit__block__cont {
        padding: 36px 24px 28px
    }

    .lower__recruit__block__cont__item:not(:last-child) {
        margin: 0 0 24px;
        padding: 0 0 22px
    }

    .lower__recruit__block__cont__item__title {
        font-size: 17px;
        margin: 0 0 8px
    }

    .lower__recruit__block__cont__item p {
        margin: 0 0 4px
    }

    .lower__recruit__block__cont__item .check__list .md {
        padding: 0 0 0 1.75em
    }

    .lower__recruit__block__cont__item .check__list .md::before {
        top: 6px;
        width: 19px;
        height: 19px
    }
}

.lower__recruit__flow {
    padding: 134px 0 78px;
    overflow: hidden
}

.lower__recruit__flow .site__title {
    margin: 0 0 85px
}

.lower__recruit__flow__cont {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 46px
}

.lower__recruit__flow__summary {
    margin: 36px 0 0;
    padding: 24px 40px 31px;
    background-color: var(--site-color-bg-gray);
    border-radius: 10px
}

.lower__recruit__flow__item {
    position: relative;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0;
    padding: 65px 24px 20px;
    border: 1px solid var(--site-color-key);
    border-radius: 10px
}

.lower__recruit__flow__item::before {
    content: attr(data-num);
    position: absolute;
    top: 0;
    left: 50%;
    width: 66px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    background-color: var(--site-color-key);
    border-radius: 50%;
    transform: translate(-50%, -50%)
}

.lower__recruit__flow__item::after {
    content: "";
    position: absolute;
    right: -37px;
    top: 50%;
    width: 28px;
    height: 24px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='24' viewBox='0 0 28 24'%3E%3Cg transform='translate(-337 -3899)'%3E%3Crect width='28' height='24' transform='translate(337 3899)' fill='none'/%3E%3Cg transform='translate(0 0.193)'%3E%3Cpath d='M20.679,18,11.742,9.07a1.681,1.681,0,0,1,0-2.384,1.7,1.7,0,0,1,2.391,0L24.258,16.8a1.685,1.685,0,0,1,.049,2.327L14.14,29.32a1.688,1.688,0,0,1-2.391-2.384Z' transform='translate(339.753 3892.803)' fill='%23a4ff00'/%3E%3Cpath d='M20.679,18,11.742,9.07a1.681,1.681,0,0,1,0-2.384,1.7,1.7,0,0,1,2.391,0L24.258,16.8a1.685,1.685,0,0,1,.049,2.327L14.14,29.32a1.688,1.688,0,0,1-2.391-2.384Z' transform='translate(326.753 3892.803)' fill='%23a4ff00'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    margin: -12px 0 0
}

.lower__recruit__flow__item:last-child::after {
    display: none
}

.lower__recruit__flow__item__pic {
    text-align: center
}

.lower__recruit__flow__item__pic img {
    width: 88px
}

.lower__recruit__flow__item__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 22px 0 13px;
    font-size: 20px;
    font-weight: 700;
    color: var(--site-color-key);
    line-height: 1.4
}

.lower__recruit__flow__item__title small {
    font-size: 14px
}

.lower__recruit__flow__item .site__text {
    font-size: 12px;
    line-height: 1.58333
}

@media screen and (max-width: 1024px) {
    .lower__recruit__flow {
        padding: 104px 0 62px
    }

    .lower__recruit__flow .site__title {
        margin: 0 0 62px
    }

    .lower__recruit__flow__cont {
        grid-template-columns: repeat(2, 1fr);
        gap: 72px 46px
    }

    .lower__recruit__flow__summary {
        margin: 30px 0 0;
        padding: 24px 36px 31px
    }

    .lower__recruit__flow__item {
        padding: 65px 20px 20px
    }

    .lower__recruit__flow__item::before {
        width: 66px;
        font-size: 20px;
        transform: translate(-50%, -50%)
    }

    .lower__recruit__flow__item::after {
        right: -37px;
        width: 28px;
        height: 24px;
        margin: -12px 0 0
    }

    .lower__recruit__flow__item:nth-child(2)::after {
        display: none
    }

    .lower__recruit__flow__item__pic img {
        width: 128px
    }

    .lower__recruit__flow__item__title {
        margin: 18px 0 13px;
        font-size: 20px
    }

    .lower__recruit__flow__item__title small {
        font-size: 14px
    }

    .lower__recruit__flow__item .site__text {
        font-size: 12px
    }
}

@media screen and (max-width: 599px) {
    .lower__recruit__flow {
        padding: 72px 0 42px
    }

    .lower__recruit__flow .site__title {
        margin: 0 0 62px
    }

    .lower__recruit__flow__cont {
        grid-template-columns: repeat(1, 1fr);
        gap: 72px 46px
    }

    .lower__recruit__flow__summary {
        margin: 33px 0 0;
        padding: 24px 20px 22px
    }

    .lower__recruit__flow__item {
        display: block;
        padding: 32px 20px 22px
    }

    .lower__recruit__flow__item::before {
        width: 40px;
        font-size: 14px;
        transform: translate(-50%, -50%)
    }

    .lower__recruit__flow__item::after {
        top: initial;
        bottom: -40px;
        right: initial;
        left: 50%;
        width: 28px;
        height: 24px;
        margin: 0 0 0 -14px;
        transform: rotate(90deg)
    }

    .lower__recruit__flow__item:nth-child(2)::after {
        display: block
    }

    .lower__recruit__flow__item__pic img {
        width: 82px
    }

    .lower__recruit__flow__item__title {
        margin: 16px 0 12px;
        font-size: 18px
    }

    .lower__recruit__flow__item__title small {
        font-size: 12px
    }

    .lower__recruit__flow__item .site__text {
        font-size: 12px
    }
}

.lower__recruit__photo {
    padding: 100px 0 110px;
    background: var(--site-color-bg-gray);
    overflow: hidden
}

.lower__recruit__photo .site__title {
    margin: 0 0 72px
}

.lower__recruit__photo__slide {
    position: relative;
    width: 90%;
    max-width: 771px;
    margin: 0 auto
}

.lower__recruit__photo .photo__slide--wrapper {
    overflow: visible;
    touch-action: auto !important
}

.lower__recruit__photo .photo__slide--item {
    border-radius: 10px;
    overflow: hidden
}

.lower__recruit__photo .photo__slide--item img {
    width: 100%
}

.lower__recruit__photo .member-button-next {
    right: -47px
}

.lower__recruit__photo .member-button-prev {
    left: -47px
}

@media screen and (max-width: 1024px) {
    .lower__recruit__photo {
        padding: 80px 0 86px
    }

    .lower__recruit__photo .site__title {
        margin: 0 0 56px
    }

    .lower__recruit__photo .member-button-next {
        right: -42px
    }

    .lower__recruit__photo .member-button-prev {
        left: -42px
    }
}

@media screen and (max-width: 599px) {
    .lower__recruit__photo {
        padding: 52px 0 72px
    }

    .lower__recruit__photo__slide {
        width: 94%
    }

    .lower__recruit__photo .site__title {
        margin: 0 0 42px
    }

    .lower__recruit__photo .member-button-next {
        right: -26px
    }

    .lower__recruit__photo .member-button-prev {
        left: -26px
    }
}

.lower__intern .lower__recruit__block__entry {
    background: var(--site-color-green);
    color: var(--site-color-key)
}

.lower__intern .lower__recruit__block .footer__entry__title {
    color: var(--site-color-key)
}

.lower__intern .lower__recruit__block .footer__entry__btn .inner {
    border-color: var(--site-color-key);
    color: var(--site-color-key)
}

.lower__intern .lower__recruit__block .footer__entry__btn .inner::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='18' viewBox='0 0 21 18'%3E%3Cg transform='translate(19950 12375)'%3E%3Cg transform='translate(-19949.656 -12373.824)'%3E%3Cpath d='M7.5,18H26.816' transform='translate(-7.5 -10.175)' fill='none' stroke='%230C6DFF' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath d='M18,7.5l7.825,7.825L18,23.15' transform='translate(-6.736 -7.5)' fill='none' stroke='%230C6DFF' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3Crect width='21' height='18' transform='translate(-19950 -12375)' fill='none'/%3E%3C/g%3E%3C/svg%3E")
}

@media screen and (max-width: 1200px) {
    .lower__intern .lower__recruit__block__entry {
        padding-block: 59px 57px
    }

    .lower__intern .lower__recruit__block .footer__entry__title {
        font-size: 48px;
        margin: 10px 0 0
    }

    .lower__intern .lower__recruit__block .footer__entry__btn .text {
        font-size: 16px
    }
}

@media screen and (max-width: 1024px) {
    .lower__intern .lower__recruit__block__entry {
        padding-inline: 63px
    }
}

@media screen and (max-width: 867px) {
    .lower__intern .lower__recruit__block__entry {
        padding: 32px 44px 32px
    }

    .lower__intern .lower__recruit__block .footer__entry__title {
        font-size: 30px;
        margin: 10px 0 0
    }
}

@media screen and (max-width: 599px) {
    .lower__intern .lower__recruit__block__entry {
        padding: 27px 24px 28px
    }

    .lower__intern .lower__recruit__block .footer__entry__title {
        font-size: 26px;
        margin: 10px 0 0
    }

    .lower__intern .lower__recruit__block .footer__entry__btn .inner::before {
        width: 19px;
        height: 19px
    }
}

.lower__intern .lower__main {
    position: relative;
    padding: 0 0 78px;
    margin: 0 0 59px
}

.lower__intern .lower__main::before {
    content: "";
    position: absolute;
    left: -35px;
    top: -38px;
    width: 80px;
    height: 80px;
    background-color: var(--site-color-green);
    z-index: -1
}

.lower__intern .lower__main::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: calc(100vw - var(--scrollbar));
    height: calc(100% + 78px - 413px);
    background-color: var(--site-color-key);
    z-index: -1;
    transform: translateX(-50%)
}

@media screen and (max-width: 1024px) {
    .lower__intern .lower__main {
        padding: 0 0 64px;
        margin: 0 0 48px
    }

    .lower__intern .lower__main::before {
        left: -25px;
        top: -28px;
        width: 60px;
        height: 60px
    }

    .lower__intern .lower__main::after {
        height: calc(100% + 64px - 26vw)
    }
}

@media screen and (max-width: 599px) {
    .lower__intern .lower__main {
        padding: 0 0 24px;
        margin: 0 0 24px
    }

    .lower__intern .lower__main::before {
        left: -15px;
        top: -18px;
        width: 40px;
        height: 40px
    }

    .lower__intern .lower__main::after {
        height: calc(100% + 24px - 36vw)
    }

    .lower__intern .lower__main .sp {
        display: block;
        height: 0
    }
}

.lower__intern .lower__recruit__block {
    margin: 0 0 132px
}

@media screen and (max-width: 1024px) {
    .lower__intern .lower__recruit__block {
        margin: 0 0 102px
    }
}

@media screen and (max-width: 599px) {
    .lower__intern .lower__recruit__block {
        margin: 0 0 82px
    }
}

.lower__data__block {
    padding: 78px 0 87px;
    background-color: var(--site-color-bg-gray)
}

.lower__data__block .base-width {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.lower__data__block__aside {
    grid-column: 100%;
    text-align: right;
    margin: 2em 0 0;
    font-size: .9em;
    opacity: .8;
    grid-column: 1/span 3
}

.lower__data__block__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    text-align: center;
    border-radius: 10px;
    padding: 20px 11px 12px;
    box-shadow: 0 0 9px rgba(0, 0, 0, .13);
    background-color: #fff;
    gap: 0
}

.lower__data__block__item dt {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    font-size: 24px;
    font-weight: 500;
    padding: 0 0 16px;
    line-height: 1.25
}

.lower__data__block__item dt span {
    display: block
}

.lower__data__block__item dt::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 60px;
    height: 1px;
    background-color: var(--site-color-key);
    margin: 0 0 0 -30px
}

.lower__data__block__item dd img {
    max-width: 338px
}

.lower__data__block__item .sp {
    display: none
}

.lower__data__block__item.w2 {
    grid-column: span 2
}

.lower__data__block__item.w2 dd img {
    max-width: 713px
}

.lower__data__block__item .flex {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 16px
}

.lower__data__block__item .flex img:nth-child(3) {
    width: 46%;
    max-width: 312px;
    grid-column: 1/span 2;
    justify-self: center
}

@media screen and (max-width: 1024px) {
    .lower__data__block__item dt {
        font-size: 22px;
        padding: 0 0 14px
    }
}

@media screen and (max-width: 867px) {
    .lower__data__block .base-width {
        grid-template-columns: repeat(2, 1fr)
    }

    .lower__data__block__item dt {
        font-size: 22px
    }

    .lower__data__block__aside {
        grid-column: 1/span 2
    }
}

@media screen and (max-width: 599px) {
    .lower__data__block {
        padding: 42px 0 72px
    }

    .lower__data__block .base-width {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px
    }

    .lower__data__block__item {
        padding: 20px 4px 18px
    }

    .lower__data__block__item dt {
        font-size: 16px;
        padding: 0 0 10px;
        line-height: 1.25
    }

    .lower__data__block__item .flex {
        display: block
    }

    .lower__data__block__item .flex .sp {
        display: block
    }

    .lower__data__block__item .flex .pc {
        display: none
    }
}

.lower__privacy__block .base-width {
    display: grid;
    grid-template-columns: repeat(12, 1fr)
}

.lower__privacy__block .inner {
    grid-column: 2/span 10;
    padding: 0 0 102px
}

@media screen and (max-width: 867px) {
    .lower__privacy__block .inner {
        grid-column: 1/span 12
    }
}

.lower__privacy__block .inner dt {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--site-color-key)
}

.lower__privacy__block .inner dd:not(:last-child) {
    margin: 0 0 26px;
    padding: 0 0 26px;
    border-bottom: 1px solid #d7d7d7
}

.lower__privacy__block .inner .sub_txt {
    text-align: right;
    margin: 42px 0 0
}

@media screen and (max-width: 599px) {
    .lower__privacy__block .inner {
        padding: 0 0 72px
    }

    .lower__privacy__block .inner dt {
        font-size: 18px;
        margin: 0 0 4px
    }

    .lower__privacy__block .inner dd:not(:last-child) {
        margin: 0 0 19px;
        padding: 0 0 19px
    }

    .lower__privacy__block .inner .sub_txt {
        margin: 24px 0 0
    }
}

.lower__contact__body .footer__entry__block {
    padding: 0
}

.lower__contact__body .footer__entry__title,
.lower__contact__body .footer__entry__btn {
    display: none;
    visibility: hidden
}

.lower__contact__body .footer__entry__inner {
    margin: 0
}

.lower-contact .base-width {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    padding: 0 0 100px
}

.lower-contact .red {
    color: var(--site-color-key)
}

.lower-contact .txt_box {
    grid-column: 1/span 12;
    line-height: 1.5;
    margin-bottom: 89px
}

.lower-contact .txt_box a {
    display: inline;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-origin: border-box;
    background-size: 0 1px;
    transition: background-size .2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    position: relative;
    background-size: 100% 1px
}

.lower-contact .txt_box a:hover {
    background-size: 105% 1px;
    background-size: 0% 1px
}

.lower-contact .txt_box.privacy-box {
    margin-bottom: 36px
}

.lower-contact .txt_box small {
    display: block;
    font-size: .8em;
    margin: .8em 0 0
}

.lower-contact .sub {
    grid-column: 2/span 10;
    text-align: center;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
    margin: 102px 0 32px
}

@media screen and (max-width: 868px) {
    .lower-contact .sub {
        font-size: 17px;
        margin: 72px 0 26px
    }
}

.lower-contact .tel_box {
    grid-column: 2/span 10;
    padding: 2.9125em;
    background-color: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap
}

.lower-contact .tel_box .tel {
    font-size: 2.5em;
    font-weight: bold;
    letter-spacing: 0em;
    margin-right: 1.6em;
    color: var(--site-color-key)
}

.lower-contact .tel_box .tel a {
    color: var(--site-color-key)
}

.lower-contact .tel_box .tel span {
    display: block;
    text-align: center;
    width: 100%;
    font-size: 14px;
    font-weight: 400;
    color: #000;
    margin: .75em 0 0
}

.lower-contact .tel_box dl {
    display: flex;
    align-items: center
}

.lower-contact .tel_box dl dt {
    margin-right: 1em;
    font-weight: 500
}

@media screen and (max-width: 1024px) {
    .lower-contact .tel_box {
        padding: 2.25em
    }

    .lower-contact .tel_box .tel {
        font-size: 2em
    }

    .lower-contact .tel_box dl {
        font-size: 1em
    }
}

@media screen and (max-width: 868px) {
    .lower-contact .tel_box {
        padding: 2em 2em 2.1em;
        text-align: center
    }

    .lower-contact .tel_box .tel {
        font-size: 30px;
        margin-right: 0px;
        margin-bottom: .25em
    }

    .lower-contact .tel_box .tel span {
        font-size: 11px
    }

    .lower-contact .tel_box dl {
        justify-content: center;
        font-size: 13px;
        margin: 1.2em 0 0
    }
}

.lower-contact .error_txt {
    color: #d80000
}

@media screen and (max-width: 1024px) {
    .lower-contact .base-width {
        display: block
    }
}

@media screen and (max-width: 867px) {
    .lower-contact .base-width {
        padding: 0 0 72px
    }

    .lower-contact .txt_box {
        margin: 0 0 64px
    }
}

@media screen and (max-width: 599px) {
    .lower-contact .base-width {
        padding: 0 0 62px
    }

    .lower-contact .txt_box {
        margin: 0 0 42px
    }
}

.form-section {
    grid-column: 2/span 10
}

.form-section .error_txt {
    font-size: 12px
}

.form-section .item {
    margin-bottom: 19px
}

.form-section dl {
    display: flex;
    align-items: flex-start;
    line-height: 1.76
}

.form-section dl dt {
    margin-top: 13px;
    width: 188px;
    font-weight: 700
}

.form-section dl dd {
    flex: 1
}

.form-section input,
.form-section select,
.form-section textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 13px 27px 18px;
    border-radius: 5px;
    background-color: #f5f5f5
}

.form-section select {
    border-color: #707070;
    border-radius: 100rem
}

.form-section .select-outer {
    position: relative
}

.form-section .select-outer::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 50%;
    width: .75em;
    height: .75em;
    margin-top: -0.5em;
    border-bottom: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: rotate(45deg);
    pointer-events: none
}

@media screen and (max-width: 867px) {
    .form-section dl {
        display: block
    }

    .form-section dt {
        margin: 0 0 8px;
        font-size: 14px
    }

    .form-section input,
    .form-section select,
    .form-section textarea {
        width: 100%;
        box-sizing: border-box;
        padding: 13px 24px 18px;
        border-radius: 5px;
        background-color: #f5f5f5
    }
}

.form-btn_box {
    max-width: calc(100% - 188px);
    margin: 44px 0 0 auto
}

.form-btn_box .privacy-box {
    padding: 2rem;
    border: solid 1px #bfbfbf;
    height: 280px;
    overflow-y: scroll;
    font-size: 15px;
    line-height: 1.92
}

.form-btn_box .privacy-box h3 {
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 .5em
}

.form-btn_box .privacy-box p {
    margin: 0 0 20px
}

.form-btn_box .privacy-box dl {
    display: block
}

.form-btn_box .privacy-box dl:not(:last-child) {
    margin: 0 0 20px
}

.form-btn_box .privacy-box dl dt,
.form-btn_box .privacy-box dl dd {
    width: 100%
}

.form-btn_box .privacy-box dl dt {
    font-weight: 500
}

.form-btn_box .check_box {
    justify-content: center;
    margin: 0 0 47px
}

.form-btn_box .btn_in {
    display: flex;
    align-items: stretch;
    flex-direction: row-reverse;
    justify-content: center;
    gap: 16px
}

.form-btn_box .btn_in .f_btn {
    display: block;
    position: relative;
    flex: 1;
    text-align: center;
    font-size: 19px;
    padding: 32px 0 31px;
    overflow: hidden;
    transition: .15s;
    background-color: var(--site-color-key);
    color: #fff;
    border-radius: 5px
}

.form-btn_box .btn_in .f_btn::before {
    right: 20px;
    top: 50%;
    content: "";
    position: absolute;
    width: 16.578px;
    height: 16px;
    margin: -8px 0 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.578' height='14.186' viewBox='0 0 16.578 14.186'%3E%3Cg transform='translate(0 0.707)'%3E%3Cpath d='M23.263,19H7.5V17H23.263Z' transform='translate(-7.5 -11.614)' fill='%23fff'/%3E%3Cpath d='M18.707,20.979l-1.414-1.414,5.679-5.679L17.293,8.207l1.414-1.414,6.386,6.386a1,1,0,0,1,0,1.414Z' transform='translate(-8.808 -7.5)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat
}

.form-btn_box .btn_in .f_btn::after {
    position: absolute;
    top: 50%;
    right: 57px;
    content: "";
    display: block;
    width: 2px;
    height: 28px;
    background-color: #fff;
    margin: -14px 0 0
}

.form-btn_box .btn_in .f_btn i {
    position: relative;
    font-style: normal;
    font-weight: 700
}

.form-btn_box .btn_in .f_btn2 {
    max-width: 150px
}

.form-btn_box .btn_in .back {
    pointer-events: auto;
    max-width: 150px;
    border-color: #ddd;
    background-color: #ddd;
    color: #777
}

.form-btn_box .btn_in .back::before,
.form-btn_box .btn_in .back::after {
    display: none
}

.form-btn_box .btn_in .back:hover {
    background-color: #eaeaea;
    color: #000
}

.form-btn_box .btn_in .back:hover:before {
    right: 0;
    left: inherit
}

@media screen and (max-width: 867px) {
    .form-btn_box {
        max-width: 100%;
        margin: 42px 0 0 auto
    }

    .form-btn_box .check_box {
        justify-content: center;
        margin: 0 0 32px
    }

    .form-btn_box .btn_in .f_btn {
        font-size: 16px;
        padding: 22px 0 23px;
        border-radius: 5px
    }

    .form-btn_box .btn_in .f_btn::before {
        right: 16px;
        width: 16px;
        height: 16px;
        margin: -8px 0 0;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='18' viewBox='0 0 21 18'%3E%3Cg transform='translate(19950 12375)'%3E%3Cg transform=' translate(-19949.656 -12373.824)'%3E%3Cpath d=' M7.5, 18H26.816' transform=' translate(-7.5 -10.175)' fill=' none' stroke=' %23fff' stroke-linejoin=' round' stroke-width=' 2'/%3E%3Cpath d=' M18, 7.5l7.825, 7.825L18, 23.15' transform=' translate(-6.736 -7.5)' fill=' none' stroke=' %23fff' stroke-linejoin=' round' stroke-width=' 2'/%3E%3C/g%3E%3Crect width=' 21' height=' 18' transform=' translate(-19950 -12375)' fill=' none'/%3E%3C/g%3E%3C/svg%3E");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat
    }

    .form-btn_box .btn_in .f_btn::after {
        display: none
    }
}

.check_box {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 37px;
    margin: 13px 0 10px
}

.check_box .error_txt {
    margin-top: 1em
}

.check_box li a {
    text-decoration: underline
}

.check_box li input[type=checkbox],
.check_box li input[type=radio] {
    display: none !important
}

.check_box li input[type=checkbox]+label {
    display: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding: 0 0 1px 1.75em;
    color: var(--site-color-black)
}

.check_box li input[type=checkbox]+label::before {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    left: 0;
    top: 50%;
    border: 2px solid;
    border-color: #e6e6e6;
    background-color: #fff;
    border-radius: 3px
}

.check_box li input[type=checkbox]:checked+label::after {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 12px;
    height: 8px;
    top: 50%;
    left: 4px;
    margin: -5px 0 0;
    transform: rotate(-45deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color: var(--site-color-key)
}

.check_box li input[type=radio]+label {
    display: none;
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding: 0 0 1px 1.75em;
    color: var(--site-color-black)
}

.check_box li input[type=radio]+label::before {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    left: 0;
    top: 50%;
    border: 2px solid;
    border-color: #e6e6e6;
    background-color: #fff;
    border-radius: 50%
}

.check_box li input[type=radio]:checked+label::after {
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 12px;
    height: 12px;
    top: 50%;
    left: 4px;
    transform: translateY(-50%);
    background-color: var(--site-color-key);
    border-radius: 50%
}

@media screen and (max-width: 868px) {
    .check_box li {
        margin-right: 0px
    }

    .check_box li label {
        font-size: 14px
    }
}

.check_box.no_margin li {
    margin: 0px
}

.check_box.no_margin2 li {
    margin-top: 0px
}

@media screen and (max-width: 867px) {
    .check_box {
        gap: 13px 26px;
        margin: 10px 0 32px
    }
}

.site-pager {
    grid-column: 2/span 10;
    margin: 62px 0 92px
}

@media screen and (max-width: 599px) {
    .site-pager {
        grid-column: 1/span 12;
        margin: 32px 0 72px
    }
}

.news__list2 {
    grid-column: 2/span 10
}

.news__list2 .news__list {
    grid-column: 2/span 10;
    margin: 0 0 52px
}

.news__list2 .news__title {
    position: initial;
    font-size: 17px
}

.news__list2 .news__title::before,
.news__list2 .news__title::after {
    top: 50%;
    margin: 0
}

.news__list2 .news__title::before {
    margin: -19px 0 0
}

.news__list2 .news__title::after {
    margin: -7px 0 0
}

.news__list2 .news__pic {
    width: 206px
}

.news__list2 .news__inner {
    position: initial
}

.news__list2 .news__item {
    position: relative;
    margin: 0;
    padding: 40px 0
}

.news__list2 .news__item:nth-child(1) {
    border-top: 1px solid #c6c6c6
}

@media screen and (max-width: 599px) {
    .news__list2 {
        grid-column: 1/span 12
    }

    .news__list2 .news__list {
        grid-column: 1/span 12;
        margin: 0 0 42px
    }

    .news__list2 .news__title {
        position: initial;
        font-size: 15px
    }

    .news__list2 .news__title::before,
    .news__list2 .news__title::after {
        top: 50%;
        margin: 0;
        transform: translateY(-50%)
    }

    .news__list2 .news__pic {
        width: 92px
    }

    .news__list2 .news__item {
        position: relative;
        margin: 0;
        padding: 28px 0
    }

    .news__list2 .news__item:nth-child(1) {
        border-top: 1px solid #c6c6c6
    }

    .news__list2 .site-pager {
        grid-column: 1/span 12
    }
}

.lower-news .lower-case-post__content__left {
    grid-column: 2/span 10
}

.lower-news .lower-case-post__content__left .case__post__date,
.lower-news .lower-case-post__content__left .case__item__date {
    font-size: 14px;
    margin: 0 0 .5em;
    color: #656565
}

.lower-news .lower-case-post__content__right {
    grid-column: 9/span 5
}

.lower-case-post__content__inner {
    margin: 42px 0 0
}

.lower-case-post__content__left {
    padding: 22px 0 0
}

.lower-case-post__content__left .case__title {
    font-size: 34px;
    font-weight: 500;
    line-height: 1.4705882353;
    margin: 0
}

.lower-case-post__content__left .case__item__cat {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px 11px;
    margin: 25px 0 0
}

.lower-case-post__content__left .case__item__cat li {
    font-size: 10px;
    line-height: 1.2;
    font-weight: 500;
    padding: 5px 13px 7px;
    background-color: #f7f7f7
}

.lower-case-post__content__left .case__item__cat2 li:last-child {
    font-weight: 400;
    padding: 0;
    background-color: rgba(0, 0, 0, 0)
}

.lower-case-post__content__block h3 {
    position: relative;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.32;
    padding: 0 0 0 36px;
    margin: 0 0 28px
}

.lower-case-post__content__block h3::after {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 23px;
    height: 2px;
    background-color: var(--site-color-key)
}

.lower-case-post__content__block p {
    margin: 0 !important
}

.lower-case-post__content__block video {
    max-width: 100%;
    height: auto
}

.lower-case-post__content__block a {
    color: var(--site-color-key);
    text-decoration: underline
}

.lower-case-post__content__bottom {
    grid-column: 1/span 12;
    width: 100%
}

.lower-case-post__content__bottom__nav {
    margin: 122px 0 132px
}

.lower-case-post__content__recommended .case__title {
    padding: 0 0 28px;
    margin: 0 0 5px
}

@media screen and (max-width: 1024px) {
    .lower-case-post__content .base-width {
        display: block
    }

    .lower-case-post__content__left {
        flex: 1;
        margin: 0 0 92px
    }

    .lower-case-post__content__left .case__title {
        font-size: 30px;
        margin: 0 0 53px
    }
}

@media screen and (max-width: 599px) {

    .lower-case-post__content .case__post__date,
    .lower-case-post__content .case__item__date {
        font-size: 12px;
        margin: 0 0 5px
    }

    .lower-case-post__content__left {
        grid-column: 1/span 12 !important;
        margin: 0 0 62px
    }

    .lower-case-post__content__left .case__title {
        font-size: 22px;
        margin: 0 0 28px;
        padding-top: 0
    }

    .lower-case-post__content__bottom__nav {
        margin: 52px 0 42px
    }
}

.site-footer {
    overflow: hidden;
    background-color: #fff;
}

.page-top {
    position: fixed;
    right: 0;
    bottom: 0;
    display: block;
    width: 84px;
    height: 84px;
    background-color: var(--site-color-logoBlue);
    z-index: 88;
    display: flex;
    align-items: center;
    justify-content: center
}

.page-top::after {
    content: "";
    position: relative;
    width: 17px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='18' viewBox='0 0 21 18'%3E%3Cg transform='translate(19950 12375)'%3E%3Cg transform='translate(-19949.656 -12373.824)'%3E%3Cpath d='M7.5,18H26.816' transform='translate(-7.5 -10.175)' fill='none' stroke='%23fff' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath d='M18,7.5l7.825,7.825L18,23.15' transform='translate(-6.736 -7.5)' fill='none' stroke='%23fff' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3Crect width='21' height='18' transform='translate(-19950 -12375)' fill='none'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transform: rotate(-90deg)
}

@media screen and (max-width: 1024px) {
    .page-top {
        width: 52px;
        height: 52px
    }
}

@media screen and (max-width: 599px) {
    .page-top {
        width: 100%;
        height: 42px;
        background-color: #222
    }
}

/*------------*/
/* Custom Play Button */
.play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    background: rgba(255, 0, 0, 0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease-in-out, transform 0.3s;
}

.video:hover .play-icon {
    background: rgba(255, 0, 0, 1);
    transform: translate(-50%, -50%) scale(1.1);
}

.play-icon::after {
    content: "";
    border-style: solid;
    border-width: 12px 20px 12px 0;
    border-color: transparent white transparent transparent;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/*---------------*/
.footer__entry {
    background: var(--site-color-key);
    color: #fff;
    overflow: hidden
}

.footer__entry__title {
    position: relative;
    font-size: 60px;
    font-family: var(--site-font-en);
    font-weight: 700;
    line-height: 1;
    margin: 5px 0 0;
    color: #fff;
    z-index: 2
}

.footer__entry__block {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 73px 0 61px
}

.footer__entry__block::after {
    content: "";
    position: absolute;
    left: calc((100vw - 100%)/-2);
    top: -1px;
    width: 100vw;
    height: calc(100% + 2px);
    background-color: #000;
    transform: scale(0, 1);
    transition: .6s cubic-bezier(0.19, 1, 0.22, 1);
    transform-origin: left
}

.footer__entry__block:hover::after {
    transform: scale(1, 1)
}

.footer__entry__btn {
    position: relative;
    z-index: 2
}

.footer__entry__btn .inner {
    position: relative;
    display: flex;
    align-items: center;
    color: #fff;
    border: 2px solid;
    padding: 14px 20px 14px 18px
}

.footer__entry__btn .inner::after {
    content: "";
    display: block;
    width: 36px;
    height: 26px;
    border-left: 2px solid;
    margin: 0 0 0 44px
}

.footer__entry__btn .inner::before {
    right: 20px;
    top: 50%;
    content: "";
    position: absolute;
    width: 17px;
    height: 14px;
    margin: -7px 0 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='18' viewBox='0 0 21 18'%3E%3Cg transform='translate(19950 12375)'%3E%3Cg transform='translate(-19949.656 -12373.824)'%3E%3Cpath d='M7.5,18H26.816' transform='translate(-7.5 -10.175)' fill='none' stroke='%23fff' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath d='M18,7.5l7.825,7.825L18,23.15' transform='translate(-6.736 -7.5)' fill='none' stroke='%23fff' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3Crect width='21' height='18' transform='translate(-19950 -12375)' fill='none'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat
}

.footer__entry__btn .text {
    font-size: 18px;
    font-weight: 500
}

.footer__entry__inner {
    width: 100%;
    display: flex
}

.footer__entry__item {
    position: relative;
    flex: 1;
    padding: 5.156vw 0 2.65625vw
}

.footer__entry__item::after {
    content: "";
    position: absolute;
    inset: 0;
    width: calc(100% + (100vw - 200%)/2);
    height: 100%;
    background: rgba(29, 102, 128, .3);
    z-index: 2;
    transition: .7s cubic-bezier(0.19, 1, 0.22, 1)
}

.footer__entry__item:nth-child(1) {
    padding-right: 66px
}

.footer__entry__item:nth-child(1)::after {
    left: calc((100vw - 200%)/-2)
}

.footer__entry__item:nth-child(1) .footer__entry__pic {
    left: calc((100vw - 200%)/-2)
}

.footer__entry__item:nth-child(2) {
    padding-left: 62px
}

.footer__entry__item:nth-child(2)::after {
    left: 0
}

.footer__entry__item:nth-child(2) .footer__entry__pic {
    left: 0
}

.footer__entry__item .site__title {
    position: relative;
    z-index: 4;
    margin: 0 0 46px
}

.footer__entry__item .site__title .en {
    font-size: 26px;
    font-weight: 500
}

.footer__entry__item .site__title .ja {
    font-size: 12px;
    font-weight: 500
}

.footer__entry__item .site__title::after {
    background-color: var(--site-color-darkBlue)
}

.footer__entry__item .arrow {
    position: relative;
    z-index: 3;
    margin: 0 0 0 auto
}

.footer__entry__item:hover::after {
    background: rgba(29, 102, 128, .6)
}

.footer__entry__item:hover .arrow::after {
    animation: arrowMove2 .3s cubic-bezier(0.16, 1, 0.3, 1) 0s normal both
}

.footer__entry__pic {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.footer__entry__pic img {
    width: calc(100% + (100vw - 200%)/2);
    height: 100%;
    object-fit: cover
}

@media screen and (max-width: 867px) {
    .footer__entry__inner {
        display: block
    }

    .footer__entry__block {
        padding: 32px 0 32px;
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .footer__entry__title {
        font-size: 30px;
        margin: 8px 0 0
    }

    .footer__entry__btn .inner {
        position: relative;
        display: flex;
        align-items: center;
        border: none;
        height: 24px;
        padding: 0;
        border: 0
    }

    .footer__entry__btn .inner::after {
        content: "";
        display: block;
        width: 36px;
        height: 26px;
        border-left: 2px solid;
        margin: 0 0 0 44px;
        display: none
    }

    .footer__entry__btn .inner::before {
        right: initial;
        top: initial;
        position: initial;
        width: 24px;
        height: 24px;
        margin: 0 7px 0 0;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='18' viewBox='0 0 21 18'%3E%3Cg transform='translate(19950 12375)'%3E%3Cg transform='translate(-19949.656 -12373.824)'%3E%3Cpath d='M7.5,18H26.816' transform='translate(-7.5 -10.175)' fill='none' stroke='%23fff' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath d='M18,7.5l7.825,7.825L18,23.15' transform='translate(-6.736 -7.5)' fill='none' stroke='%23fff' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3Crect width='21' height='18' transform='translate(-19950 -12375)' fill='none'/%3E%3C/g%3E%3C/svg%3E");
        background-position: center
    }

    .footer__entry__btn .text {
        font-size: 15px;
        display: none
    }

    .footer__entry__item {
        display: block;
        width: 100%;
        padding: 52px 0 34px
    }

    .footer__entry__item::after {
        content: "";
        position: absolute;
        inset: 0;
        width: 100vw;
        height: 100%
    }

    .footer__entry__item:nth-child(1) {
        padding-right: 0
    }

    .footer__entry__item:nth-child(1)::after {
        left: -52px
    }

    .footer__entry__item:nth-child(1) .footer__entry__pic {
        width: 100vw;
        left: -52px
    }

    .footer__entry__item:nth-child(2) {
        padding-left: 0
    }

    .footer__entry__item:nth-child(2)::after {
        left: -52px
    }

    .footer__entry__item:nth-child(2) .footer__entry__pic {
        left: -52px
    }

    .footer__entry__item .site__title {
        position: relative;
        z-index: 4;
        margin: 0 0 42px
    }

    .footer__entry__item .site__title .en {
        font-size: 24px
    }

    .footer__entry__item .site__title .ja {
        font-size: 11px
    }

    .footer__entry__pic {
        width: 100vw
    }

    .footer__entry__pic img {
        width: 100vw
    }
}

@media screen and (max-width: 599px) {
    .footer__entry__item:nth-child(1) {
        padding-right: 0
    }

    .footer__entry__item:nth-child(1)::after {
        left: -24px
    }

    .footer__entry__item:nth-child(1) .footer__entry__pic {
        width: 100vw;
        left: -24px
    }

    .footer__entry__item:nth-child(2) {
        padding-left: 0
    }

    .footer__entry__item:nth-child(2)::after {
        left: -24px
    }

    .footer__entry__item:nth-child(2) .footer__entry__pic {
        left: -24px
    }

    .footer__entry__item .site__title {
        position: relative;
        z-index: 4;
        margin: 0 0 32px
    }

    .footer__entry__item .site__title .en {
        font-size: 24px
    }

    .footer__entry__item .site__title .ja {
        font-size: 12px
    }

    .footer__entry__pic {
        width: 100vw
    }

    .footer__entry__pic img {
        width: 100vw
    }
}

.footer__nav {
    padding: 51px 0 56px;
    background: var(--site-color-key);
}

.footer__nav a {
    color: #fff
}

.footer__nav .base-width {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.footer__nav__logo {
    width: 358px;
    text-align: center
}

.footer__nav__logo svg {
    width: 98px
}

.footer__nav__list {
    width: 642px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 58px
}

.footer__nav__list .list {
    max-width: 250px;
    padding: 31px 0 0 23px
}

.footer__nav__list .list li {
    position: relative
}

.footer__nav__list .list a {
    display: block;
    font-weight: 500
}

.footer__nav__list .list .md {
    position: relative;
    margin: 0 0 9px;
    font-family: var(--site-font-en)
}

.footer__nav__list .list .md::before {
    content: "";
    position: absolute;
    left: -23px;
    top: 4.5px;
    width: 10px;
    height: 3px;
    background-color: var(--site-color-white)
}

.footer__nav__list .list a:not(.md) {
    font-size: 10px;
    color: #b9b9b9
}

.footer__nav__list .list__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 11px;
    line-height: 1.5
}

.footer__nav__list .list__inner li {
    padding-left: 0
}

@media screen and (max-width: 1024px) {
    .footer__nav .base-width {
        gap: 0 52px
    }
}

@media screen and (max-width: 867px) {
    .footer__nav {
        padding: 72px 0 56px
    }

    .footer__nav .base-width {
        flex-direction: column
    }

    .footer__nav__logo {
        width: 100%;
        margin: 0 0 42px
    }

    .footer__nav__logo svg {
        width: 78px
    }
}

@media screen and (max-width: 599px) {
    .footer__nav {
        padding: 62px 0 56px
    }

    .footer__nav__logo {
        width: 100%;
        margin: 0 0 14px
    }

    .footer__nav__logo svg {
        width: 78px
    }

    .footer__nav__list {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 0
    }

    .footer__nav__list .list {
        max-width: none;
        padding: 42px 0 0 23px
    }

    .footer__nav__list .list li {
        position: relative
    }

    .footer__nav__list .list a {
        display: block;
        font-weight: 500
    }

    .footer__nav__list .list .md {
        font-size: 20px;
        position: relative;
        margin: 0 0 9px;
        font-family: var(--site-font-en)
    }

    .footer__nav__list .list .md::before {
        content: "";
        position: absolute;
        left: -23px;
        top: 5px;
        width: 10px;
        height: 3px;
        background-color: var(--site-color-key)
    }

    .footer__nav__list .list a:not(.md) {
        font-size: 14px;
        color: #b9b9b9
    }

    .footer__nav__list .list__inner {
        display: flex;
        flex-wrap: wrap;
        gap: 9px 14px;
        line-height: 1.5
    }

    .footer__nav__list .list__inner li {
        padding-left: 0
    }
}

.footer__bottom .base-width {
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px 0 0;
    line-height: 1
}

.footer__bottom .list {
    display: flex;
    gap: 0 38px
}

.footer__bottom .list a {
    font-size: 14px;
    padding: 0 0 5px
}

.footer__bottom .copyright {
    font-size: 14px;
    font-family: var(--site-font-mont);
    /* color: #fff !important;
    padding-top: 65px; */
}

@media screen and (max-width: 1024px) {
    .footer__bottom .base-width {
        height: 52px;
        padding: 0 32px 0 0;
        line-height: 1
    }

    .footer__bottom .list {
        display: flex;
        gap: 0 20px
    }

    .footer__bottom .list a {
        display: block;
        font-size: 12px;
        padding: 0 0 3px
    }

    .footer__bottom .copyright {
        font-size: 12px;
        font-family: var(--site-font-mont)
    }
}

@media screen and (max-width: 1024px) {
    .footer__bottom .base-width {
        height: auto;
        padding: 32px 0 74px;
        display: block
    }

    .footer__bottom .list {
        display: flex;
        justify-content: center;
        gap: 0 20px;
        margin: 0 0 16px
    }

    .footer__bottom .list a {
        display: block;
        font-size: 11px;
        padding: 0 0 3px
    }

    .footer__bottom .copyright {
        text-align: center;
        font-size: 10px
    }
}

.pt-2 {
    padding-top: 1.75em;
}

.footerGap {
    height: 30px;
    width: 100%;
    background-color: #fff;
}

.footer__bottom a {
    color: var(--site-color-blk-base);
}

/* Reset some default browser styles */
.table-container {
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    border-radius: 8px;
    overflow-x: auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.table-container table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
}

.table-container thead {
    background-color: #007BFF;
    color: #fff;
}

.table-container th,
.table-container td {
    padding: 12px 15px;
    border-bottom: 1px solid #ddd;
    text-align: left;
    vertical-align: middle;
}

/* .table-container tbody tr:nth-child(even) {
    background-color: #f2f2f2;
} */

.table-container tbody tr:hover {
    background-color: #e9f5ff;
}

.tdWhite {
    background-color: white;
}

.tdlightgray {
    background-color: lightgray;
}

.table-container tfoot td {
    padding: 10px;
    text-align: center;
    font-size: 0.9em;
    color: #555;
}

@media (max-width: 768px) {

    .table-container th,
    .table-container td {
        padding: 8px 10px;
    }
}

.lower-news a,
.news__list a {
    color: var(--site-color-blk-base);
}

.subtitle {
    font-size: 30px;
    font-weight: 700;
    color: #005eea;
    margin: 11px 0 19px;
    line-height: 1.5;
}

.time-time-table-list,
.time-table-list {
    padding-bottom: 2%;

}

.time-table-list li {
    padding-left: 1.5%;
    list-style: disc inside;
    line-height: 1.8rem;
}

.order_list {
    padding: 0 0 2% 1.5%;

}

/* office_environment */
.section {
    padding: 4rem 1.5rem;
    max-width: 1100px;
    margin: auto;
}

.section h2 {
    font-size: 2rem;
    margin-bottom: 1rem;

}

.section p {
    margin-bottom: 2rem;
    line-height: 1.5rem;
}

.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 30px;
}

.gallery img {
    width: 100%;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    margin-bottom: 30px;
}

.gallery img:hover {
    transform: scale(1.03);
}

.gallery.single-image {
    display: block;
}

.gallery.single-image img {
    width: 50%;
    max-width: 100%;
}

.cta {
    background: var(--bg-light);
    text-align: center;
    padding: 3rem 1rem;
}

.cta h3 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: var(--main-color);
}

.cta p {
    margin-bottom: 2rem;
    font-size: 1rem;
}

.cta a {
    background: var(--accent-color);
    color: #fff;
    padding: 0.8rem 2rem;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    transition: background 0.3s ease;
}

.cta a:hover {
    background: #005bb5;
}

.rutineSection {
    background: var(--bg-light);
    text-align: center;
    padding: 3rem 1rem;
}

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

.routine-item {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    background: #fff;
    padding: 1rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    text-align: left;
}

.routine-item img {
    width: 180px;
    height: auto;
    border-radius: 10px;
    flex-shrink: 0;
}

.routine-text h3 {
    font-size: 1.5rem;
    color: var(--main-color);
    margin-bottom: 0.5rem;
}

@media (max-width: 768px) {
    .routine-item {
        flex-direction: column;
        text-align: center;
    }

    .routine-item img {
        width: 100%;
        max-width: 300px;
    }

    .gallery.single-image img {
        width: 100%;
        max-width: 100%;
    }
}