@charset "UTF-8";
@import url("swiper/swiper-bundle.css");

/* lenis */

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
    scrollbar-gutter: stable;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}


/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/

*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
}

body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

input,
button,
textarea,
select {
    font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

#root,
#__next {
    isolation: isolate;
}

ul,
ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

img,
picture,
video,
canvas,
svg {
    height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
}

sup {
    font-size: 0.5em;
}

html {
    font-size: 10px;
}

@media screen and (max-width: 1600px) {
    html {
        font-size: calc(0.00625 * 100vw);
    }
}

@media screen and (max-width: 768px) {
    html {
        font-size: calc(0.0260416667 * 100vw);
    }
}

:root {
    --remV: 10px;
}

@media screen and (max-width: 1920px) {
     :root {
        --remV: calc(0.0052083333 * 100vw);
    }
}

@media screen and (max-width: 768px) {
     :root {
        --remV: calc(0.0052083333 * 100vw);
    }
}

body {
    background: #fff;
    color: #333;
    font-size: calc(1.6 * 1rem);
    line-height: 1.75;
    letter-spacing: 0.08em;
    font-family: "Figtree", Yakuhanjp, "Noto Sans JP", sans-serif;
    text-align: justify;
    word-break: break-all;
    font-feature-settings: "palt" 1;
    font-optical-sizing: auto;
}

@media screen and (max-width: 768px) {
    body {
        font-size: calc(1.4 * 1rem);
    }
}

a {
    color: #333;
    text-decoration: none;
}

em {
    font-style: normal;
}

img,
iframe {
    display: block;
    width: 100%;
}

button {
    padding: 0;
    border: none;
    touch-action: manipulation;
    cursor: pointer;
}

.layout-container {
    padding-top: calc(11 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-container {
        overflow: hidden;
        padding-top: calc(6 * 1rem);
    }
}

.layout-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 999;
}

.layout-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: calc(11 * var(--remV));
    padding-right: calc(4.4 * var(--remV));
    padding-left: calc(4.4 * var(--remV));
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .layout-header__inner {
        height: calc(6 * 1rem);
        padding-right: calc(2 * 1rem);
        padding-left: calc(2.4 * 1rem);
    }
}

.layout-header .header-logo {
    width: calc(22.7 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-logo {
        width: calc(12 * 1rem);
    }
}

.layout-header .header-nav {
    display: flex;
    align-items: center;
    height: 100%;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav {
        position: absolute;
        top: calc(6 * 1rem);
        right: 0;
        left: 0;
        flex-direction: column;
        align-items: flex-start;
        translate: 100% 0;
        overflow: auto;
        height: calc(100dvh - calc(6 * 1rem));
        padding: calc(1.6 * 1rem) calc(2 * 1rem);
        border-top: 1px solid #eee;
        background-color: #fff;
        transition: translate 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
}

.layout-header .header-nav .header-nav-global {
    display: flex;
    align-items: center;
    height: 100%;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global {
        width: 100%;
        height: auto;
        align-items: flex-start;
        flex-direction: column;
    }
}

.layout-header .header-nav .header-nav-global__item {
    height: 100%;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global__item {
        width: 100%;
        height: auto;
    }
}

.layout-header .header-nav .header-nav-global__button {
    height: 100%;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global__button {
        width: 100%;
        height: auto;
    }
}

.layout-header .header-nav .header-nav-global__button a,
.layout-header .header-nav .header-nav-global__button button {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 calc(1.6 * var(--remV));
    background: none;
    font-weight: 500;
    font-size: calc(1.7 * var(--remV));
    letter-spacing: 0.05em;
    transition: color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global__button a,
    .layout-header .header-nav .header-nav-global__button button {
        width: 100%;
        padding: calc(1.6 * 1rem);
        border-bottom: 1px solid #eee;
        font-size: calc(1.7 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .layout-header .header-nav .header-nav-global__button a:hover,
    .layout-header .header-nav .header-nav-global__button button:hover {
        color: #0599d9;
    }
}

@media (hover: none) {
    .layout-header .header-nav .header-nav-global__button a:active,
    .layout-header .header-nav .header-nav-global__button button:active {
        color: #0599d9;
    }
}

.layout-header .header-nav .header-nav-global__button button {
    display: flex;
    align-items: center;
    gap: calc(0.6 * var(--remV));
    position: relative;
    height: 100%;
    padding: 0 calc(1.6 * var(--remV));
    background: none;
    color: #333;
    font-weight: 500;
    font-size: calc(1.7 * var(--remV));
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global__button button {
        justify-content: space-between;
        flex-direction: row-reverse;
        gap: calc(0.6 * 1rem);
        padding: calc(1.6 * 1rem);
        font-size: calc(1.7 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .layout-header .header-nav .header-nav-global__button button:hover::before {
        translate: 0 40%;
    }
}

@media (hover: none) {
    .layout-header .header-nav .header-nav-global__button button:active::before {
        translate: 0 40%;
    }
}

.layout-header .header-nav .header-nav-global__button button::before {
    display: block;
    width: calc(1.5 * var(--remV));
    height: calc(0.8 * var(--remV));
    content: "";
    margin-top: calc(0.2 * var(--remV));
    background: url("/assets/img/common/arw_round.svg") no-repeat center/contain;
    transition: translate 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global__button button::before {
        display: block;
        width: calc(1.5 * 1rem);
        height: calc(0.8 * 1rem);
        content: "";
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu {
    position: absolute;
    top: calc(11 * var(--remV));
    right: 0;
    left: 0;
    z-index: -1;
    translate: 0 -100%;
    background-color: #eefaff;
    transition: translate 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu {
        display: grid;
        grid-template-rows: 0fr;
        position: static;
        translate: 0;
        background: none;
        transition: grid-template-rows 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu.is-clicked {
    translate: 0;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu.is-clicked {
        grid-template-rows: 1fr;
    }
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__wrapper {
        overflow: hidden;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__inner {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding: calc(6 * var(--remV)) 0;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__inner {
        padding: calc(3 * 1rem) calc(2 * 1rem);
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__head {
    display: flex;
    align-items: center;
    gap: calc(4 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__head {
        flex-direction: column;
        align-items: flex-start;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__content {
    width: calc(34 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__content {
        width: 100%;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__text {
    display: flex;
    gap: calc(1.5 * var(--remV));
    color: #0599d9;
    font-weight: 700;
    font-size: calc(5 * var(--remV));
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__text {
        gap: calc(1.5 * 1rem);
        font-size: calc(5 * 1rem);
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__text .component-logo-blue::before {
    width: calc(2.4 * var(--remV));
    height: calc(2.4 * var(--remV));
}

.layout-header .header-nav .header-nav-global .header-magemenu__text span {
    margin-top: calc(-0.6 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__text span {
        margin-top: calc(-0.8 * 1rem);
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__link {
    display: inline-flex;
    align-items: center;
    gap: calc(1 * var(--remV));
    color: #0599d9;
    font-weight: 700;
    font-size: calc(1.8 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__link {
        gap: calc(1 * 1rem);
        font-size: calc(1.8 * 1rem);
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__link--blank::after {
    display: block;
    width: calc(1.7 * var(--remV));
    height: calc(1.6 * var(--remV));
    content: "";
    background-color: #0599d9;
    -webkit-mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
    mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__link--blank::after {
        width: calc(1.7 * 1rem);
        height: calc(1.6 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__button {
        width: 100%;
        margin-top: calc(1.6 * 1rem) !important;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__button a,
.layout-header .header-nav .header-nav-global .header-magemenu__button span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: calc(20 * var(--remV));
    height: calc(3.6 * var(--remV));
    gap: calc(1 * 1rem);
    border: calc(0.2 * var(--remV)) solid #0599d9;
    border-radius: calc(3.6 * var(--remV));
    color: #0599d9;
    font-weight: 700;
    font-size: calc(1.6 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__button a,
    .layout-header .header-nav .header-nav-global .header-magemenu__button span {
        width: 100%;
        height: calc(3.6 * 1rem);
        border-width: calc(0.2 * 1rem);
        border-radius: calc(3.6 * 1rem);
        font-size: calc(1.6 * 1rem);
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__button a::after,
.layout-header .header-nav .header-nav-global .header-magemenu__button span::after {
    display: block;
    width: calc(1.4 * var(--remV));
    height: calc(0.9 * var(--remV));
    content: "";
    background: url("/assets/img/common/arw_button.svg") no-repeat center/contain;
    transition: translate 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: translate;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu__button a::after,
    .layout-header .header-nav .header-nav-global .header-magemenu__button span::after {
        display: block;
        width: calc(1.4 * 1rem);
        height: calc(0.9 * 1rem);
        content: "";
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__button a {
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

@media (hover: hover) and (pointer: fine) and (pointer: fine) {
    .layout-header .header-nav .header-nav-global .header-magemenu__button a:hover {
        opacity: 0.5;
    }
    .layout-header .header-nav .header-nav-global .header-magemenu__button a:hover::after {
        translate: 50% 0;
    }
}

@media (hover: none) {
    .layout-header .header-nav .header-nav-global .header-magemenu__button a:active {
        opacity: 0.5;
    }
    .layout-header .header-nav .header-nav-global .header-magemenu__button a:active::after {
        translate: 50% 0;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__button--wide span {
    width: 80%;
}

.layout-header .header-nav .header-nav-global .header-magemenu a.hover-arrow .header-magemenu__button span {
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

@media (hover: hover) and (pointer: fine) {
    .layout-header .header-nav .header-nav-global .header-magemenu a.hover-arrow:hover .header-magemenu__button span {
        opacity: 0.5;
    }
    .layout-header .header-nav .header-nav-global .header-magemenu a.hover-arrow:hover .header-magemenu__button span::after {
        translate: 50% 0;
    }
}

@media (hover: none) {
    .layout-header .header-nav .header-nav-global .header-magemenu a.hover-arrow:active .header-magemenu__button span {
        opacity: 0.5;
    }
    .layout-header .header-nav .header-nav-global .header-magemenu a.hover-arrow:active .header-magemenu__button span::after {
        translate: 50% 0;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__image {
    margin-top: calc(1.4 * var(--remV));
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-company {
    display: flex;
    flex-wrap: wrap;
    gap: calc(3 * var(--remV));
    margin-top: calc(2 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-company {
        flex-direction: column;
        gap: calc(1.5 * 1rem);
        margin-top: calc(2 * 1rem);
        padding: calc(1 * 1rem);
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-company__item {
    width: calc(25% - calc(2.4 * var(--remV)));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-company__item {
        width: 100%;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-company__item a {
    display: flex;
    flex-direction: column;
    gap: calc(1.5 * var(--remV));
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business {
    display: flex;
    justify-content: center;
    flex: 1;
    flex-direction: column;
    gap: calc(3 * var(--remV));
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business {
        padding: calc(1 * 1rem);
        line-height: 2;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business__item {
    display: flex;
    flex-direction: column;
    gap: calc(2.5 * var(--remV));
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub {
    display: flex;
    flex-direction: column;
    gap: calc(2.5 * var(--remV));
    padding-left: calc(4 * var(--remV));
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub__item {
    display: flex;
    flex-direction: column;
    gap: calc(1.5 * var(--remV));
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub__text a {
    color: #0599d9;
    font-weight: 700;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

@media (hover: hover) and (pointer: fine) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub__text a:hover {
        opacity: 0.5;
    }
}

@media (hover: none) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub__text a:active {
        opacity: 0.5;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links {
    display: flex;
    flex-wrap: wrap;
    gap: calc(1 * var(--remV)) calc(3 * var(--remV));
    padding-left: calc(2 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links {
        flex-direction: column;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item a {
    display: flex;
    align-items: center;
    gap: calc(0.4 * var(--remV));
    color: #0599d9;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item a {
        gap: calc(0.4 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item a:hover {
        opacity: 0.5;
    }
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item a:hover::before {
        translate: 50% 0;
    }
}

@media (hover: none) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item a:active {
        opacity: 0.5;
    }
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item a:active::before {
        translate: 50% 0;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item a::before {
    display: block;
    width: calc(0.7 * var(--remV));
    height: calc(1 * var(--remV));
    content: "";
    background: url("/assets/img/common/arw_line.svg") no-repeat center/contain;
    transition: translate 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item a::before {
        display: block;
        width: calc(0.7 * 1rem);
        height: calc(1 * 1rem);
        content: "";
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item--blank a::after {
    display: block;
    width: calc(1.3 * var(--remV));
    height: calc(1.3 * var(--remV));
    content: "";
    background-color: #0599d9;
    -webkit-mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
    mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu .header-magemenu-business .header-magemenu-business-sub .header-magemenu-business-links__item--blank a::after {
        width: calc(1.3 * 1rem);
        height: calc(1.3 * 1rem);
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__close {
    position: absolute;
    top: calc(1 * var(--remV));
    right: 0;
}

.layout-header .header-nav .header-nav-global .header-magemenu__close button {
    width: calc(4 * var(--remV));
    height: calc(4 * var(--remV));
    border-radius: 100%;
    position: relative;
    border: calc(0.2 * var(--remV)) solid #0599d9;
    background-color: #fff;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

@media (hover: hover) and (pointer: fine) {
    .layout-header .header-nav .header-nav-global .header-magemenu__close button:hover {
        opacity: 0.5;
    }
}

@media (hover: none) {
    .layout-header .header-nav .header-nav-global .header-magemenu__close button:active {
        opacity: 0.5;
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu__close button::before,
.layout-header .header-nav .header-nav-global .header-magemenu__close button::after {
    display: block;
    width: calc(2.2 * var(--remV));
    height: calc(0.2 * var(--remV));
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background-color: #0599d9;
}

.layout-header .header-nav .header-nav-global .header-magemenu__close button::before {
    rotate: 45deg;
}

.layout-header .header-nav .header-nav-global .header-magemenu__close button::after {
    rotate: -45deg;
}

.layout-header .header-nav .header-nav-global .header-magemenu--business .header-magemenu__inner {
    display: flex;
    gap: calc(7 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-global .header-magemenu--business .header-magemenu__inner {
        flex-direction: column;
        gap: calc(2 * 1rem);
    }
}

.layout-header .header-nav .header-nav-global .header-magemenu--business .header-magemenu__button {
    margin-top: calc(2 * var(--remV));
}

.layout-header .header-nav .header-nav-button {
    display: flex;
    gap: calc(2 * var(--remV));
    margin-left: calc(5 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-button {
        flex-direction: column;
        gap: calc(1 * 1rem);
        width: 100%;
        margin-top: calc(4 * 1rem);
        margin-left: 0;
    }
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-button__item {
        width: 100%;
    }
}

.layout-header .header-nav .header-nav-button__item a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(19 * var(--remV));
    height: calc(5 * var(--remV));
    gap: calc(0.8 * var(--remV));
    border: calc(0.1 * 1rem) solid #0599d9;
    border-radius: calc(2.5 * var(--remV));
    background-color: #0599d9;
    color: #fff;
    font-weight: 500;
    font-size: calc(1.6 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-button__item a {
        width: 100%;
        height: calc(5 * 1rem);
        gap: calc(0.8 * 1rem);
        border-radius: calc(2.5 * 1rem);
        font-size: calc(1.6 * 1rem);
    }
}

.layout-header .header-nav .header-nav-button__item a::before {
    background-color: #fff;
    -webkit-mask: no-repeat center/contain;
    mask: no-repeat center/contain;
}

.layout-header .header-nav .header-nav-button__item:nth-of-type(1) a::before {
    display: block;
    width: calc(1.9 * var(--remV));
    height: calc(1.6 * var(--remV));
    content: "";
    -webkit-mask-image: url("/assets/img/common/icn_download.svg");
    mask-image: url("/assets/img/common/icn_download.svg");
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-button__item:nth-of-type(1) a::before {
        display: block;
        width: calc(1.9 * 1rem);
        height: calc(1.6 * 1rem);
        content: "";
    }
}

.layout-header .header-nav .header-nav-button__item:nth-of-type(2) a::before {
    display: block;
    width: calc(1.8 * var(--remV));
    height: calc(1.5 * var(--remV));
    content: "";
    -webkit-mask-image: url("/assets/img/common/icn_mail.svg");
    mask-image: url("/assets/img/common/icn_mail.svg");
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-button__item:nth-of-type(2) a::before {
        display: block;
        width: calc(1.8 * 1rem);
        height: calc(1.5 * 1rem);
        content: "";
    }
}

.layout-header .header-nav .header-nav-language {
    display: flex;
    margin-left: calc(3.4 * var(--remV));
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav .header-nav-language {
        justify-content: center;
        width: 100%;
        margin-top: calc(4 * 1rem);
        margin-left: 0;
    }
}

.layout-header .header-nav .header-nav-language__item:nth-of-type(n+2)::before {
    margin: 0 calc(0.8 * var(--remV));
    content: "/";
}

.layout-header .header-nav .header-nav-language__item a {
    opacity: 0.5;
    background: none;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (hover: hover) and (pointer: fine) {
    .layout-header .header-nav .header-nav-language__item a:hover {
        opacity: 1;
        color: #0599d9;
    }
}

@media (hover: none) {
    .layout-header .header-nav .header-nav-language__item a:active {
        opacity: 1;
        color: #0599d9;
    }
}

.layout-header .header-nav .header-nav-language__item a.is-active {
    opacity: 1;
    pointer-events: none;
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav--en {
        display: contents;
    }
}

@media screen and (max-width: 768px) {
    .layout-header .header-nav--en .header-nav-language {
        justify-content: flex-end;
        margin-top: 0;
    }
}

.layout-header .header-hamburger {
    width: calc(3.2 * 1rem);
    height: calc(2.2 * 1rem);
    position: relative;
    overflow: hidden;
    margin-left: auto;
    background: none;
}

.layout-header .header-hamburger span {
    width: calc(3.2 * 1rem);
    height: calc(0.2 * 1rem);
    position: absolute;
    left: calc(50% - calc(1.6 * 1rem));
    display: block;
    background-color: #0599d9;
    will-change: opacity, translate;
}

.layout-header .header-hamburger span:nth-of-type(1),
.layout-header .header-hamburger span:nth-of-type(2),
.layout-header .header-hamburger span:nth-of-type(3) {
    transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.layout-header .header-hamburger span:nth-of-type(1) {
    top: calc(2 * 1rem);
}

.layout-header .header-hamburger span:nth-of-type(2) {
    top: calc(50% - calc(0.1 * 1rem));
}

.layout-header .header-hamburger span:nth-of-type(3) {
    bottom: calc(2 * 1rem);
}

.layout-header .header-hamburger span:nth-of-type(4),
.layout-header .header-hamburger span:nth-of-type(5) {
    top: calc(50% - calc(0.1 * 1rem));
    opacity: 0;
    transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.layout-header .header-hamburger span:nth-of-type(4) {
    translate: calc(-4 * 1rem) calc(-4 * 1rem);
    rotate: 45deg;
}

.layout-header .header-hamburger span:nth-of-type(5) {
    translate: calc(4 * 1rem) calc(-4 * 1rem);
    rotate: -45deg;
}

.layout-footer .footer-head {
    padding: calc(9 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-head {
        padding: calc(4 * 1rem) calc(3 * 1rem);
    }
}

.layout-footer .footer-head .footer-nav {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-head .footer-nav {
        flex-direction: column;
    }
}

@media (hover: hover) and (pointer: fine) {
    .layout-footer .footer-head .footer-nav a:hover {
        text-decoration: underline;
    }
}

@media (hover: none) {
    .layout-footer .footer-head .footer-nav a:active {
        text-decoration: underline;
    }
}

.layout-footer .footer-head .footer-nav__heading {
    color: #111;
    font-weight: 700;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-head .footer-nav__heading {
        font-size: calc(1.4 * 1rem);
    }
}

.layout-footer .footer-head .footer-nav .footer-nav-search,
.layout-footer .footer-head .footer-nav .footer-nav-global {
    display: flex;
}

.layout-footer .footer-head .footer-nav .footer-nav-search {
    gap: calc(9 * 1rem);
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-head .footer-nav .footer-nav-search {
        gap: calc(4 * 1rem);
    }
}

.layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub {
    display: flex;
    gap: calc(2 * 1rem) calc(5 * 1rem);
    margin-top: calc(1 * 1rem);
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub {
        flex-direction: column;
        width: 100%;
    }
}

.layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub--column {
    flex-direction: column;
}

.layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub__heading {
    display: flex;
    align-items: center;
    gap: calc(0.6 * 1rem);
    padding-left: calc(0.2 * 1rem);
    color: #666;
    font-weight: 700;
    font-size: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub__heading {
        font-size: calc(1.2 * 1rem);
    }
}

.layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub__heading::before {
    display: block;
    width: calc(1 * 1rem);
    height: 1px;
    content: "";
    background-color: #666;
}

.layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub__heading:nth-of-type(n+2) {
    margin-top: calc(1 * 1rem);
}

.layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub .footer-search-link {
    margin-top: calc(0.4 * 1rem);
    padding-left: calc(1.8 * 1rem);
}

.layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub .footer-search-link__item {
    line-height: 1.7;
}

.layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub .footer-search-link__item a {
    color: #666;
    font-size: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-head .footer-nav .footer-nav-search .footer-search-sub .footer-search-link__item a {
        font-size: calc(1.1 * 1rem);
    }
}

.layout-footer .footer-head .footer-nav .footer-nav-global {
    gap: calc(9 * 1rem);
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-head .footer-nav .footer-nav-global {
        flex-wrap: wrap;
        gap: calc(3 * 1rem) calc(4 * 1rem);
    }
}

.layout-footer .footer-head .footer-nav .footer-nav-global__item .footer-global-sub__item {
    line-height: 1.9;
}

.layout-footer .footer-head .footer-nav .footer-nav-global__item .footer-global-sub__item a {
    color: #333;
    font-weight: 700;
}

.layout-footer .footer-head .footer-nav .footer-nav-global__item:has(.footer-nav__heading) .footer-global-sub {
    margin-top: calc(0.6 * 1rem);
}

.layout-footer .footer-head .footer-nav .footer-nav-global__item:has(.footer-nav__heading) .footer-global-sub__item a {
    color: #666;
    font-size: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-head .footer-nav .footer-nav-global__item:nth-of-type(n+2) {
        width: calc(50% - calc(2 * 1rem));
    }
}

.layout-footer .footer-foot {
    padding: calc(4 * 1rem) 0 calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-foot {
        padding: calc(3 * 1rem) 0 calc(3 * 1rem);
    }
}

.layout-footer .footer-foot .footer-logo {
    width: 100%;
    max-width: calc(24.8 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-foot .footer-logo {
        max-width: calc(19.3 * 1rem);
    }
}

.layout-footer .footer-foot .footer-copy {
    margin-top: calc(2.5 * 1rem);
    color: #666;
    font-size: calc(1.2 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-foot .footer-copy {
        font-size: calc(1.1 * 1rem);
    }
}

.layout-footer .footer-totop {
    position: fixed;
    right: calc(5 * 1rem);
    bottom: calc(1 * 1rem);
    z-index: 9;
    rotate: 90deg;
    transform-origin: top right;
}

@media screen and (max-width: 768px) {
    .layout-footer .footer-totop {
        right: calc(0.2 * 1rem);
        bottom: calc(-1 * 1rem);
    }
}

.layout-footer .footer-totop a {
    display: flex;
    align-items: center;
    gap: calc(0.9 * 1rem);
    color: #0599d9;
    font-size: calc(1.4 * 1rem);
    font-weight: 700;
    font-family: "Figtree", Yakuhanjp, sans-serif;
    letter-spacing: 0.1em;
}

@media (hover: hover) and (pointer: fine) {
    .layout-footer .footer-totop a:hover::before {
        animation: line-draw 1s cubic-bezier(0.23, 1, 0.32, 1) forwards;
    }
}

@media (hover: none) {
    .layout-footer .footer-totop a:active::before {
        animation: line-draw 1s cubic-bezier(0.23, 1, 0.32, 1) forwards;
    }
}

.layout-footer .footer-totop a::before {
    display: block;
    width: calc(6 * 1rem);
    height: 1px;
    content: "";
    background-color: #0599d9;
}

@keyframes line-draw {
    0% {
        scale: 1;
        transform-origin: center left;
    }
    50% {
        scale: 0 1;
        transform-origin: center left;
    }
    50.001% {
        scale: 0 1;
        transform-origin: center right;
    }
    100% {
        scale: 1;
        transform-origin: center right;
    }
}

body.on-hamburger {
    overflow: hidden;
}

body.on-hamburger .header-nav {
    translate: 0;
}

body.on-hamburger .header-hamburger span:nth-of-type(1),
body.on-hamburger .header-hamburger span:nth-of-type(2),
body.on-hamburger .header-hamburger span:nth-of-type(3) {
    opacity: 0;
    transition: translate 0.18s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body.on-hamburger .header-hamburger span:nth-of-type(1) {
    translate: -200%;
}

body.on-hamburger .header-hamburger span:nth-of-type(2) {
    translate: 200%;
    transition-delay: 0.04s;
}

body.on-hamburger .header-hamburger span:nth-of-type(3) {
    translate: -200%;
    transition-delay: 0.06s;
}

body.on-hamburger .header-hamburger span:nth-of-type(4),
body.on-hamburger .header-hamburger span:nth-of-type(5) {
    translate: 0;
    opacity: 1;
    transition: translate 0.22s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition-delay: 0.18s;
}

body.on-hamburger .header-hamburger span:nth-of-type(5) {
    transition-delay: 0.22s;
}

.article__inner,
.section__inner,
.aside__inner,
.nav__inner {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    .article__inner,
    .section__inner,
    .aside__inner,
    .nav__inner {
        padding-right: calc(2 * 1rem);
        padding-left: calc(2 * 1rem);
    }
}

.home-section__inner {
    width: 100%;
    max-width: calc(144 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    .home-section__inner {
        padding-right: calc(2 * 1rem);
        padding-left: calc(2 * 1rem);
    }
}

.component-logo-white::before,
.component-logo-blue::before {
    display: block;
    width: calc(3 * 1rem);
    height: calc(3 * 1rem);
    content: "";
    background: no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .component-logo-white::before,
    .component-logo-blue::before {
        width: calc(2 * 1rem);
        height: calc(2 * 1rem);
    }
}

.component-logo-white::before {
    background-image: url("/assets/img/common/logo_white.svg");
}

.component-logo-blue::before {
    background-image: url("/assets/img/common/logo_blue.svg");
}

.component-icon-modal {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
}

.component-icon-modal::before {
    background: url("/assets/img/common/icn_modal.webp") no-repeat center/contain;
    transition: scale 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: scale;
}

.component-icon-modal--38 {
    width: calc(3.8 * 1rem);
    height: calc(3.8 * 1rem);
    border-radius: 100%;
}

.component-icon-modal--38::before {
    display: block;
    width: calc(1.8 * 1rem);
    height: calc(1.8 * 1rem);
    content: "";
}

.component-line-gradation::before {
    display: block;
    width: calc(0.5 * 1rem);
    height: calc(9 * 1rem);
    content: "";
    background: linear-gradient(#0599d9, #fff);
}

@media (hover: hover) and (pointer: fine) {
    .component-arrow:hover .component-arrow__target {
        transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    .component-arrow:hover .component-arrow__target::after {
        animation: arrow-move 0.3s 1 cubic-bezier(0.39, 0.575, 0.565, 1);
    }
}

@media (hover: none) {
    .component-arrow:active .component-arrow__target {
        transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    .component-arrow:active .component-arrow__target::after {
        animation: arrow-move 0.3s 1 cubic-bezier(0.39, 0.575, 0.565, 1);
    }
}

.component-arrow__target {
    display: block;
    position: relative;
    overflow: hidden;
    transition: background-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.component-arrow__target::after {
    display: block;
    width: calc(1.4 * 1rem);
    height: calc(0.8 * 1rem);
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    -webkit-mask: url(/assets/img/common/arw_button.svg) no-repeat center/contain;
    mask: url(/assets/img/common/arw_button.svg) no-repeat center/contain;
    will-change: translate;
}

.component-arrow__target--none-ttl {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    padding: calc(2 * 1rem);
    color: #fff;
    font-weight: 700;
    font-size: calc(2 * 1rem);
    line-height: 1.8;
}

.component-arrow--30 .component-arrow__target {
    width: calc(3 * 1rem);
    height: calc(3 * 1rem);
    border-radius: 100%;
}

.component-arrow--40 .component-arrow__target {
    width: calc(4 * 1rem);
    height: calc(4 * 1rem);
    border-radius: 100%;
}

.component-arrow--50 .component-arrow__target {
    width: calc(5 * 1rem);
    height: calc(5 * 1rem);
    border-radius: 100%;
}

.component-arrow--65 .component-arrow__target {
    width: calc(6.5 * 1rem);
    height: calc(6.5 * 1rem);
    border-radius: 100%;
}

@media screen and (max-width: 768px) {
    .component-arrow--34sp .component-arrow__target {
        width: calc(3.4 * 1rem);
        height: calc(3.4 * 1rem);
        border-radius: 100%;
    }
}

@media screen and (max-width: 768px) {
    .component-arrow--34sp .component-button-more {
        font-size: calc(1 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .component-arrow--white:hover .component-arrow__target {
        background-color: #0599d9;
    }
    .component-arrow--white:hover .component-arrow__target::after {
        background-color: #fff;
    }
}

@media (hover: none) {
    .component-arrow--white:active .component-arrow__target {
        background-color: #0599d9;
    }
    .component-arrow--white:active .component-arrow__target::after {
        background-color: #fff;
    }
}

.component-arrow--white .component-arrow__target {
    background-color: #fff;
}

.component-arrow--white .component-arrow__target::after {
    background-color: #0599d9;
}

@media (hover: hover) and (pointer: fine) {
    .component-arrow--blue:hover .component-arrow__target {
        background-color: #fff;
    }
    .component-arrow--blue:hover .component-arrow__target::after {
        background-color: #0599d9;
    }
}

@media (hover: none) {
    .component-arrow--blue:active .component-arrow__target {
        background-color: #fff;
    }
    .component-arrow--blue:active .component-arrow__target::after {
        background-color: #0599d9;
    }
}

.component-arrow--blue .component-arrow__target {
    border: calc(0.2 * 1rem) solid #fff;
    background-color: #0599d9;
}

.component-arrow--blue .component-arrow__target::after {
    background-color: #fff;
}

@media (hover: hover) and (pointer: fine) {
    .component-arrow--border:hover .component-arrow__target {
        background-color: #0599d9;
    }
    .component-arrow--border:hover .component-arrow__target::after {
        background-color: #fff;
    }
}

@media (hover: none) {
    .component-arrow--border:active .component-arrow__target {
        background-color: #0599d9;
    }
    .component-arrow--border:active .component-arrow__target::after {
        background-color: #fff;
    }
}

.component-arrow--border .component-arrow__target {
    border: calc(0.2 * 1rem) solid #0599d9;
    background-color: #fff;
}

.component-arrow--border .component-arrow__target::after {
    background-color: #0599d9;
}

@media (hover: hover) and (pointer: fine) {
    .component-arrow--light-blue:hover .component-arrow__target {
        background-color: #0599d9;
    }
    .component-arrow--light-blue:hover .component-arrow__target::after {
        background-color: #eefaff;
    }
}

@media (hover: none) {
    .component-arrow--light-blue:active .component-arrow__target {
        background-color: #0599d9;
    }
    .component-arrow--light-blue:active .component-arrow__target::after {
        background-color: #eefaff;
    }
}

.component-arrow--light-blue .component-arrow__target {
    border: calc(0.2 * 1rem) solid #0599d9;
    background-color: #eefaff;
}

.component-arrow--light-blue .component-arrow__target::after {
    background-color: #0599d9;
}

@keyframes arrow-move {
    0%,
    100% {
        translate: -50% -50%;
    }
    50% {
        translate: 200% -50%;
    }
    51% {
        translate: -250% -50%;
    }
}

.component-heading {
    display: flex;
    flex-direction: column;
    color: #0599d9;
    font-weight: 700;
    line-height: 1;
}

.component-heading.component-logo-white,
.component-heading.component-logo-blue {
    position: relative;
}

.component-heading.component-logo-white::before,
.component-heading.component-logo-blue::before {
    position: absolute;
    top: calc(1.2 * 1rem);
    left: calc(-4.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-heading.component-logo-white::before,
    .component-heading.component-logo-blue::before {
        position: static;
    }
}

.component-heading__en {
    font-size: calc(8 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
}

@media screen and (max-width: 768px) {
    .component-heading__en {
        padding-left: calc(2 * 1rem);
        font-size: calc(5 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .component-heading__en:has(br) {
        line-height: 1;
    }
}

@media screen and (max-width: 768px) {
    .component-heading__en.component-heading__en--facility {
        font-size: calc(4.1 * 1rem);
    }
}

.component-heading__ja {
    margin-top: calc(1.2 * 1rem);
    padding-left: calc(1.5 * 1rem);
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .component-heading__ja {
        margin-top: calc(0.4 * 1rem);
        padding-left: calc(3.5 * 1rem);
        font-size: calc(1.6 * 1rem);
    }
}

.component-heading__ja:has(br) {
    line-height: 1.75;
}

@media screen and (max-width: 768px) {
    .component-heading--medium .component-heading__en {
        font-size: calc(4 * 1rem);
    }
}

.component-heading__row {
    display: flex;
    align-items: flex-end;
    gap: calc(2.2 * 1rem);
    font-size: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-heading__row {
        flex-direction: column;
        align-items: flex-start;
        gap: calc(1.1 * 1rem);
        font-size: calc(3.8 * 1rem);
        padding-left: calc(2 * 1rem);
    }
}

.component-heading__row small {
    font-size: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-heading__row small {
        font-size: calc(2 * 1rem);
    }
}

.component-heading--white {
    color: #fff;
}

.component-heading--large .component-heading__en {
    font-size: calc(10 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-heading--large .component-heading__en {
        font-size: calc(5 * 1rem);
    }
}

.component-heading--large .component-heading__ja {
    margin-top: 0;
}

.component-heading--only-ja {
    font-size: calc(6.4 * 1rem);
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .component-heading--only-ja {
        font-size: calc(2.56 * 1rem);
    }
}

.component-heading--only-ja strong {
    font-size: calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-heading--only-ja strong {
        font-size: calc(3.2 * 1rem);
    }
}

.component-heading--only-ja.component-logo-white::before,
.component-heading--only-ja.component-logo-blue::before {
    top: calc(3 * 1rem);
}

.component-heading.js-inview {
    translate: 0 calc(2.5 * 1rem);
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.39, 0.575, 0.565, 1), translate 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity, translate;
}

.component-heading.js-inview::before {
    scale: 0;
    transition: scale 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition-delay: 0.2s;
    will-change: scale;
}

.component-heading.is-inview {
    translate: 0;
    opacity: 1;
}

.component-heading.is-inview.component-logo-white::before,
.component-heading.is-inview.component-logo-blue::before {
    scale: 1;
}

.component-background-grid {
    background-image: linear-gradient(0deg, transparent calc(100% - 1px), rgba(51, 51, 51, 0.05) calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), rgba(51, 51, 51, 0.05) calc(100% - 1px));
    background-size: calc(1.6 * 1rem) calc(1.6 * 1rem);
    background-repeat: repeat;
    background-position: center center;
}

.component-section-heading {
    display: flex;
    align-items: center;
    gap: calc(1.5 * 1rem);
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-section-heading {
        font-size: calc(1.8 * 1rem);
    }
}

.component-section-heading.component-logo-blue::before {
    margin-top: calc(0.2 * 1rem);
}

.component-section-heading small {
    font-size: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-section-heading small {
        font-size: calc(1.2 * 1rem);
    }
}

.component-section-heading--center {
    justify-content: center;
}

.component-section-heading--black {
    color: #333;
}

.component-section-heading--white {
    color: #fff;
}

.component-section-heading--small {
    font-size: calc(2.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-section-heading--small {
        font-size: calc(1.68 * 1rem);
    }
}

.component-section-heading--large {
    font-size: calc(3.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-section-heading--large {
        font-size: calc(1.92 * 1rem);
    }
}

.component-section-heading-small {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3.2 * 1rem);
    letter-spacing: 0.05em;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .component-section-heading-small {
        font-size: calc(1.92 * 1rem);
    }
}

.component-section-heading-small--white {
    color: #fff;
}

.component-section-heading-small--black {
    color: #333;
}

.component-section-heading-large {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: calc(0.2 * 1rem);
    color: #0599d9;
    font-weight: 700;
    font-size: calc(4 * 1rem);
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .component-section-heading-large {
        font-size: calc(2.4 * 1rem);
    }
}

.component-section-heading-large--left {
    align-items: flex-start;
    text-align: left;
}

.component-section-heading-large--wide-space {
    gap: calc(4.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-section-heading-large--wide-space {
        gap: calc(2.925 * 1rem);
    }
}

.component-section-heading-large--white {
    color: #fff;
}

.component-section-heading-large--black {
    color: #333;
}

.component-section-heading-large.case-list-section-heading {
    margin-top: calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-section-heading-large.case-list-section-heading {
        margin-top: calc(4 * 1rem);
    }
}

.component-section-text {
    font-size: calc(1.8 * 1rem);
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .component-section-text {
        font-size: calc(1.35 * 1rem);
    }
}

.component-section-text--blue {
    color: #0599d9;
}

.component-category {
    display: flex;
    flex-wrap: wrap;
    gap: calc(0.6 * 1rem);
    margin-top: calc(2.4 * 1rem);
}

.component-category__item {
    display: flex;
    align-items: center;
    height: calc(2.3 * 1rem);
    padding: 0 calc(0.8 * 1rem) calc(0.1 * 1rem) calc(0.8 * 1rem);
    font-size: calc(1.4 * 1rem);
    background-color: #ddd;
}

.component-category--small .component-category__item {
    padding: 0 calc(0.6 * 1rem) calc(0.1 * 1rem) calc(0.6 * 1rem);
    font-size: calc(1.2 * 1rem);
    letter-spacing: 0.1em;
}

.component-tag {
    display: flex;
    flex-wrap: wrap;
    gap: calc(0.8 * 1rem);
    margin-top: calc(1 * 1rem);
}

.component-tag__item {
    display: flex;
    align-items: baseline;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: 500;
    background: #E6F4F1;
    color: #0599d9;
    border-radius: 4px;
    padding: calc(0.4 * 1rem) calc(1.6 * 1rem);
    line-height: 1;
    font-size: calc(1.4 * 1rem);
}

.component-tag--small .component-tag__item {
    padding: calc(0.4 * 1rem) calc(0.8 * 1rem);
    font-size: calc(1.2 * 1rem);
    letter-spacing: 0.1em;
}

.component-more a,
.component-more span {
    display: inline-flex;
    align-items: center;
    gap: calc(1 * 1rem);
    color: #0599d9;
    font-weight: 500;
    font-size: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-more a,
    .component-more span {
        font-size: calc(1.2 * 1rem);
    }
}

.component-more a::before,
.component-more span::before {
    display: block;
    width: calc(0.6 * 1rem);
    height: calc(1 * 1rem);
    content: "";
    margin-top: calc(0.1 * 1rem);
    background: url("/assets/img/common/arw_line.svg") no-repeat center/contain;
    transition: translate 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: translate;
}

@media (hover: hover) and (pointer: fine) {
    .component-more a:hover {
        text-decoration: underline;
    }
    .component-more a:hover::before {
        translate: 50% 0;
    }
}

@media (hover: none) {
    .component-more a:active {
        text-decoration: underline;
    }
    .component-more a:active::before {
        translate: 50% 0;
    }
}

.component-more--anchor a::before {
    rotate: 90deg;
}

.component-more--small a,
.component-more--small span {
    font-size: calc(1.2 * 1rem);
}

.component-link-map {
    display: flex;
    align-items: center;
    gap: calc(0.5 * 1rem);
    color: #0599d9;
    font-size: calc(1.2 * 1rem);
    letter-spacing: 0.05em;
}

.component-link-map:before {
    display: block;
    width: calc(1.1 * 1rem);
    height: calc(1.5 * 1rem);
    content: "";
    margin-top: calc(0.2 * 1rem);
    background: url("/assets/img/common/icn_map.svg") no-repeat center/contain;
}

.component-button a,
.component-button--no-animation a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: calc(35 * 1rem);
    height: calc(8 * 1rem);
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding-right: calc(1 * 1rem);
    border: calc(0.2 * 1rem) solid #0599d9;
    border-radius: calc(4 * 1rem);
    background-color: #0599d9;
    color: #fff;
    font-weight: 700;
    font-size: calc(1.8 * 1rem);
    transition: color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .component-button a,
    .component-button--no-animation a {
        width: calc(31.5 * 1rem);
        height: calc(6 * 1rem);
        font-size: calc(1.6 * 1rem);
    }
}

.component-button a::before,
.component-button--no-animation a::before {
    display: block;
    width: calc(1.7 * 1rem);
    height: calc(1 * 1rem);
    content: "";
    position: absolute;
    top: 50%;
    right: calc(3 * 1rem);
    translate: 0 -50%;
    background-color: #fff;
    -webkit-mask: url("/assets/img/common/arw_button.svg") no-repeat center/contain;
    mask: url("/assets/img/common/arw_button.svg") no-repeat center/contain;
    transition: background-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.component-button a::after,
.component-button--no-animation a::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -2;
    background-color: #0599d9;
}

.component-button a span {
    width: calc(96 * 1rem);
    height: calc(96 * 1rem);
    border-radius: 100%;
    position: absolute;
    z-index: -1;
    translate: -50% -50%;
    scale: 0;
    display: block;
    background-color: #fff;
    transition: scale 0.3s cubic-bezier(0.47, 0, 0.745, 0.715);
    will-change: scale;
}

@media (hover: hover) and (pointer: fine) {
    .component-button a:hover {
        color: #0599d9;
    }
    .component-button a:hover::before {
        background-color: #0599d9;
    }
    .component-button a:hover span {
        scale: 1;
    }
}

@media (hover: none) {
    .component-button a:active {
        color: #0599d9;
    }
    .component-button a:active::before {
        background-color: #0599d9;
    }
    .component-button a:active span {
        scale: 1;
    }
}

.component-button--wide a {
    width: auto;
    height: calc(7 * 1rem);
    padding-right: calc(7 * 1rem);
    padding-left: calc(7 * 1rem);
}

.component-button--wide-slim a {
    padding-left: calc(3.8 * 1rem);
}

.component-button--large a {
    width: calc(40 * 1rem);
    height: calc(8 * 1rem);
}

.component-button--large a.component-arrow {
    justify-content: flex-start;
    padding-left: calc(4 * 1rem);
    font-size: calc(1.6 * 1rem);
}

.component-button--large a.component-arrow .component-arrow__target {
    position: absolute;
    top: calc(50% - calc(2 * 1rem));
    right: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-button--large-popup a {
        width: calc(26 * 1rem);
        height: calc(8 * 1rem);
        margin-top: calc(2 * 1rem);
    }
}

.component-button--x-large a {
    width: calc(44 * 1rem);
    height: calc(8 * 1rem);
    justify-content: flex-start;
    padding-bottom: 0;
    padding-left: calc(5 * 1rem);
}

.component-button--x-large a.component-arrow {
    justify-content: flex-start;
    padding-left: calc(4 * 1rem);
    font-size: calc(1.6 * 1rem);
}

.component-button--x-large a.component-arrow .component-arrow__target {
    position: absolute;
    top: calc(50% - calc(2 * 1rem));
    right: calc(2 * 1rem);
}

.component-button--reverse a::before {
    position: absolute;
    top: 50%;
    left: calc(3 * 1rem);
    right: auto;
    rotate: 180deg;
}

.component-button--border a {
    border: calc(0.2 * 1rem) solid #0599d9;
    background-color: #fff;
    color: #0599d9;
}

.component-button--border a::before {
    background-color: #0599d9;
}

.component-button--border a::after {
    background-color: #fff;
}

.component-button--border a span {
    background-color: #0599d9;
}

@media (hover: hover) and (pointer: fine) {
    .component-button--border a:not(.no-animation):hover {
        color: #fff;
    }
    .component-button--border a:not(.no-animation):hover::before {
        background-color: #fff;
    }
}

@media (hover: none) {
    .component-button--border a:not(.no-animation):active {
        color: #fff;
    }
    .component-button--border a:not(.no-animation):active::before {
        background-color: #fff;
    }
}

.component-button--mail a {
    gap: calc(1.5 * 1rem);
}

.component-button--mail a::before {
    width: calc(1.8 * 1rem);
    height: calc(1.5 * 1rem);
    translate: 0;
    position: static;
    margin-top: calc(0.2 * 1rem);
    -webkit-mask-image: url("/assets/img/common/icn_mail.svg");
    mask-image: url("/assets/img/common/icn_mail.svg");
}

.component-button--download a {
    gap: calc(1.2 * 1rem);
}

.component-button--download a::before {
    width: calc(1.9 * 1rem);
    height: calc(1.6 * 1rem);
    translate: 0;
    position: static;
    margin-top: calc(0.2 * 1rem);
    -webkit-mask-image: url("/assets/img/common/icn_download.svg");
    mask-image: url("/assets/img/common/icn_download.svg");
}

.component-button--blank a::before {
    width: calc(2.1 * 1rem);
    height: calc(2.1 * 1rem);
    -webkit-mask-image: url("/assets/img/common/icn_blank.svg");
    mask-image: url("/assets/img/common/icn_blank.svg");
}

.component-button--blank-inner a {
    flex-direction: row-reverse;
    gap: calc(1.8 * 1rem);
    padding-right: 0;
}

.component-button--blank-inner a::before {
    width: calc(2.1 * 1rem);
    height: calc(2.1 * 1rem);
    translate: 0;
    position: static;
    margin-top: calc(0.2 * 1rem);
    -webkit-mask-image: url("/assets/img/common/icn_blank.svg");
    mask-image: url("/assets/img/common/icn_blank.svg");
}

@media screen and (max-width: 768px) {
    .component-button--mv a {
        width: calc(20 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .hataraku-link__button {
        text-align: center;
    }
}

.hataraku-link__button a {
    margin-top: calc(2 * 1rem);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    justify-content: space-between;
    width: calc(26 * 1rem);
    height: calc(6 * 1rem);
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: calc(0.2 * 1rem) solid #0599d9;
    border-radius: calc(4 * 1rem);
    background-color: #fff;
    color: #0599d9;
    font-weight: 700;
    padding-left: calc(3.6 * 1rem);
    padding-right: calc(1 * 1rem);
    font-size: calc(1.8 * 1rem);
    transition: color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .hataraku-link__button a {
        width: calc(26.5 * 1rem);
        height: calc(6 * 1rem);
        font-size: calc(1.6 * 1rem);
    }
}

.hataraku-link__button .component-arrow__target {
    width: calc(4 * 1rem);
    height: calc(4 * 1rem);
    border-radius: 100%;
    background-color: #0599d9;
}

@media (hover: hover) and (pointer: fine) {
    .hataraku-link__button:hover:hover .component-arrow__target {
        background-color: #0599d9;
    }
    .hataraku-link__button:hover:hover .component-arrow__target::after {
        background-color: #fff;
    }
}

@media (hover: none) {
    .hataraku-link__button:hover:active .component-arrow__target {
        background-color: #0599d9;
    }
    .hataraku-link__button:hover:active .component-arrow__target::after {
        background-color: #fff;
    }
}

.component-button-corner a {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: calc(40 * 1rem);
    height: calc(8 * 1rem);
    padding-right: calc(2 * 1rem);
    padding-left: calc(4 * 1rem);
    background-color: #fff;
    gap: calc(1 * 1rem);
    font-weight: 700;
    transition: color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .component-button-corner a {
        width: 100%;
    }
}

@media (hover: hover) and (pointer: fine) {
    .component-button-corner a:hover {
        color: #0599d9;
    }
}

@media (hover: none) {
    .component-button-corner a:active {
        color: #0599d9;
    }
}

.component-button-more {
    display: flex;
    align-items: center;
    gap: calc(2 * 1rem);
    color: #0599d9;
    font-weight: 700;
    font-size: calc(1.2 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
}

.component-button-more--white {
    color: #fff;
}

.component-breadcrumb {
    position: absolute;
    top: calc(12.6 * 1rem);
    right: calc(2 * 1rem);
    z-index: 9;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .component-breadcrumb {
        top: calc(7 * 1rem);
        left: calc(2 * 1rem);
        right: auto;
        width: calc(100% - 2 * 1rem);
        overflow-x: auto;
        white-space: nowrap;
    }
}

.component-breadcrumb .component-breadcrumb-list {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-breadcrumb .component-breadcrumb-list {
        justify-content: flex-start;
        margin-right: initial;
        flex-wrap: nowrap;
        width: 100%;
        max-width: none;
    }
}

.component-breadcrumb .component-breadcrumb-list__item:nth-of-type(1) a {
    color: #0599d9;
}

.component-breadcrumb .component-breadcrumb-list__item:nth-of-type(n+2) {
    display: flex;
    align-items: center;
}

.component-breadcrumb .component-breadcrumb-list__item:nth-of-type(n+2)::before {
    display: block;
    width: 1px;
    height: calc(1 * 1rem);
    content: "";
    margin: 0 calc(1.6 * 1rem);
    background-color: #b9b9bc;
}

@media (hover: hover) and (pointer: fine) {
    .component-breadcrumb .component-breadcrumb-list__item a:hover {
        text-decoration: underline;
    }
}

@media (hover: none) {
    .component-breadcrumb .component-breadcrumb-list__item a:active {
        text-decoration: underline;
    }
}

.component-breadcrumb--white {
    color: #fff;
}

.component-breadcrumb--white .component-breadcrumb-list__item:nth-of-type(1) a {
    color: #fff;
}

.component-breadcrumb--white .component-breadcrumb-list__item:nth-of-type(n+2)::before {
    background-color: #fff;
}

.component-breadcrumb--white .component-breadcrumb-list__item:nth-of-type(n+2) a {
    color: #fff;
}

.component-breadcrumb--black .component-breadcrumb-list__item:nth-of-type(1) a {
    color: #333;
}

.component-nav .component-nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(3 * 1rem) calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-nav .component-nav-list {
        flex-direction: column;
    }
}

@media screen and (max-width: 768px) {
    .component-nav .component-nav-list:has(.component-nav-list__item--half) {
        flex-direction: row;
        gap: calc(1 * 1rem);
    }
}

.component-nav .component-nav-list__item {
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .component-nav .component-nav-list__item {
        width: 100%;
    }
}

.component-nav .component-nav-list__item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(40 * 1rem);
    height: calc(8 * 1rem);
    padding-right: calc(2 * 1rem);
    padding-left: calc(4 * 1rem);
    gap: calc(2 * 1rem);
    font-weight: 700;
    transition: color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .component-nav .component-nav-list__item a {
        width: 100%;
        padding-right: calc(1 * 1rem);
        padding-left: calc(2 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .component-nav .component-nav-list__item a:hover {
        color: #0599d9;
    }
}

@media (hover: none) {
    .component-nav .component-nav-list__item a:active {
        color: #0599d9;
    }
}

.component-nav .component-nav-list__item a span {
    rotate: 90deg;
}

.component-nav .component-nav-list__item.is-current a {
    opacity: 0.5;
    pointer-events: none;
}

.component-nav .component-nav-list__item.is-current a span {
    border-color: #aaa;
}

.component-nav .component-nav-list__item.is-current a span::after {
    background-color: #444;
}

@media screen and (max-width: 768px) {
    .component-nav .component-nav-list__item--half {
        width: 48%;
    }
}

.component-nav .component-nav-list__item--half a {
    width: 100%;
    padding: 0 1rem;
    gap: calc(0 * 1rem);
}

@media screen and (min-width: 769px) {
    .component-nav .component-nav-list__item--half a {
        width: calc(40 * 1rem);
        padding-right: 2rem;
        padding-left: 4rem;
    }
}

.component-nav .component-nav-list__item--half span {
    flex-shrink: 0;
}

.component-nav .component-nav-list__body {
    display: flex;
    flex-direction: column;
}

.component-nav .component-nav-list__content {
    display: flex;
    flex-direction: column;
}

@media screen and (min-width: 769px) {
    .component-nav .component-nav-list__content {
        flex-direction: row;
        align-items: center;
        gap: calc(0.5 * 1rem);
    }
}

.component-nav .component-nav-list__heading,
.component-nav .component-nav-list__text {
    rotate: 0deg !important;
    letter-spacing: 0;
}

.component-nav .component-nav-list__heading {
    font-size: calc(1.5 * 1rem);
}

@media screen and (min-width: 769px) {
    .component-nav .component-nav-list__heading {
        font-size: calc(1.8 * 1rem);
    }
}

.component-nav .component-nav-list__text {
    font-size: calc(1.1 * 1rem);
    font-weight: normal;
}

@media screen and (min-width: 769px) {
    .component-nav .component-nav-list__text {
        font-size: calc(1.4 * 1rem);
    }
}

.component-nav .component-nav-list__icon {
    display: none;
}

@media screen and (min-width: 769px) {
    .component-nav .component-nav-list__icon {
        display: flex;
        justify-content: center;
        align-items: center;
        background: #EEFAFF;
        border-radius: calc(1 * 1rem);
        rotate: 0deg !important;
        width: calc(4 * 1rem);
        height: calc(4 * 1rem);
    }
}

.component-nav--global .component-nav-list__item a span {
    rotate: 0deg;
}

.component-nav--slim .component-nav-list {
    justify-content: center;
}

.component-nav--slim .component-nav-list__item a {
    width: calc(40.1 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-nav--slim .component-nav-list__item a {
        width: 100%;
    }
}

.component-list-text {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: calc(4.2 * 1rem) calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-list-text {
        flex-direction: column;
    }
}

.component-list-text__item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(40 * 1rem);
    height: calc(12 * 1rem);
    display: flex !important;
    line-height: 2;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .component-list-text__item {
        width: 100%;
    }
}

.component-list-text__item em {
    color: #0599d9;
}

.component-list-text--small {
    justify-content: flex-start;
    gap: calc(1 * 1rem) calc(1.4 * 1rem);
}

.component-list-text--small .component-list-text__item {
    width: calc(24 * 1rem);
    height: calc(7.6 * 1rem);
    font-size: calc(1.4 * 1rem);
    line-height: 1.8571428571;
}

.component-customer {
    display: flex;
    position: relative;
}

@media screen and (max-width: 768px) {
    .component-customer {
        flex-direction: column;
    }
}

.component-customer .component-customer-list {
    display: flex;
    flex-direction: column;
    gap: calc(0.8 * 1rem);
    width: 33.333%;
}

@media screen and (max-width: 768px) {
    .component-customer .component-customer-list {
        width: auto;
    }
}

.component-customer__note {
    position: absolute;
    right: 0;
    bottom: 0;
    translate: -100% 0;
}

@media screen and (max-width: 768px) {
    .component-customer__note {
        position: static;
        translate: 0;
    }
}

.component-group {
    padding: calc(10.6 * 1rem) 0 calc(11 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-group {
        padding: calc(5 * 1rem) 0 calc(5.2 * 1rem);
    }
}

.component-group .component-section-heading.component-logo-blue::before {
    margin-top: calc(0.2 * 1rem);
}

.component-group__content {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
}

@media screen and (max-width: 768px) {
    .component-group__content {
        flex-direction: column;
        align-items: center;
        gap: calc(3.2 * 1rem);
    }
}

.component-group .component-group-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(5 * 1rem) calc(6.4 * 1rem);
    width: 100%;
    margin-top: calc(4.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-group .component-group-list {
        gap: calc(1.5 * 1rem);
        margin-top: 0;
    }
}

.component-group .component-group-list__item {
    overflow: hidden;
    width: calc(33.3333333333% - 6.4 * 1rem);
    border: 1px solid #ddd;
    border-radius: calc(1 * 1rem);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .component-group .component-group-list__item {
        display: flex;
        justify-content: center;
        align-items: center;
        width: calc(50% - 0.75 * 1rem);
    }
}

.component-group .component-group-list__item:has(.component-group-sns) {
    border: none;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

.component-group .component-group-list__item:has(.component-group-sns) a:before {
    display: none;
}

.component-group .component-group-list a {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.component-group .component-group-list a::before {
    display: block;
    width: calc(1.6 * 1rem);
    height: calc(1.6 * 1rem);
    content: "";
    position: absolute;
    right: calc(2 * 1rem);
    bottom: calc(2 * 1rem);
    background: url("/assets/img/common/icn_window.svg") no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .component-group .component-group-list a::before {
        display: block;
        width: calc(1.2 * 1rem);
        height: calc(1.2 * 1rem);
        content: "";
        right: calc(0.4 * 1rem);
        bottom: calc(0.8 * 1rem);
    }
}

.component-group .component-group-list a::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background-color: #eefaff;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    .component-group .component-group-list a:hover::after {
        opacity: 0.6;
    }
}

@media (hover: none) {
    .component-group .component-group-list a:active::after {
        opacity: 0.6;
    }
}

.component-group .component-group-sns {
    display: flex;
    align-items: center;
    flex: 1;
    gap: calc(1.5 * 1rem);
}

.component-group .component-group-sns__item a {
    display: block;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

@media (hover: hover) and (pointer: fine) {
    .component-group .component-group-sns__item a:hover {
        opacity: 0.5;
    }
}

@media (hover: none) {
    .component-group .component-group-sns__item a:active {
        opacity: 0.5;
    }
}

.component-group .component-group-sns__item--facebook a {
    display: block;
    width: calc(5 * 1rem);
    height: calc(5 * 1rem);
    content: "";
    background: url("/assets/img/common/icn_facebook.svg") no-repeat center/contain;
}

.component-group .component-group-sns__item--x a {
    display: block;
    width: calc(4 * 1rem);
    height: calc(4 * 1rem);
    content: "";
    background: url("/assets/img/common/icn_x.webp") no-repeat center/contain;
}

.component-group--light-blue {
    background-color: #eefaff;
}

.component-group--no-heading .component-group .component-group,
.component-group--no-heading .component-group .component-group-list {
    margin-top: 0;
}

.component-group--en {
    padding: calc(8.5 * 1rem) 0 calc(10 * 1rem);
}

.component-group--en .component-group-list {
    gap: calc(4 * 1rem);
    margin-top: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-group--en .component-group-list {
        gap: calc(1.5 * 1rem);
    }
}

.component-cta {
    display: flex;
}

@media screen and (max-width: 768px) {
    .component-cta {
        flex-direction: column;
    }
}

.component-cta__item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: calc(5.2 * 1rem);
    width: 50%;
    padding: calc(10 * 1rem) 0 calc(6.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-cta__item {
        align-items: center !important;
        width: 100%;
        padding: calc(5 * 1rem) calc(4 * 1rem) calc(5 * 1rem) !important;
    }
}

.component-cta__head {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .component-cta__head {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .component-cta__content {
        width: 100%;
    }
}

.component-cta__heading {
    display: flex;
    flex-direction: column;
    gap: calc(1.4 * 1rem);
    font-weight: 700;
    font-size: calc(6 * 1rem);
    line-height: 1;
    margin-left: calc(5 * 1rem);
    position: relative;
}

@media screen and (max-width: 768px) {
    .component-cta__heading {
        gap: calc(0.2 * 1rem);
        font-size: calc(5 * 1rem);
        margin-left: calc(4 * 1rem);
    }
}

.component-cta__heading.component-logo-blue::before,
.component-cta__heading.component-logo-white::before {
    position: absolute;
    top: calc(0.8 * 1rem);
    left: calc(-4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-cta__heading.component-logo-blue::before,
    .component-cta__heading.component-logo-white::before {
        left: -6.5vw;
    }
}

.component-cta__subheading {
    font-weight: 700;
    font-size: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-cta__subheading {
        padding-left: 1em;
        font-size: calc(1.6 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .component-cta__button {
        width: 100%;
    }
}

.component-cta__button a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(27 * 1rem);
    height: calc(7 * 1rem);
    gap: calc(1.4 * 1rem);
    padding-right: calc(1.4 * 1rem);
    padding-bottom: calc(0.2 * 1rem);
    border: calc(0.2 * 1rem) solid;
    border-radius: calc(3.5 * 1rem);
    font-weight: 500;
    font-size: calc(1.8 * 1rem);
    margin: calc(4.4 * 1rem) 0 0;
}

@media screen and (max-width: 768px) {
    .component-cta__button a {
        width: 100%;
        height: calc(6 * 1rem);
    }
}

.component-cta__button a::before {
    margin-top: calc(0.2 * 1rem);
    -webkit-mask: no-repeat center/contain;
    mask: no-repeat center/contain;
}

.component-cta__item:nth-of-type(1) {
    align-items: flex-end;
    background-color: #0599d9;
    padding: calc(5.7 * 1rem) 0;
}

.component-cta__item:nth-of-type(1) .component-cta__head {
    gap: calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-cta__item:nth-of-type(1) .component-cta__head {
        gap: calc(0 * 1rem);
    }
}

.component-cta__item:nth-of-type(1) .component-cta__content {
    color: #fff;
}

.component-cta__item:nth-of-type(1) .component-cta__image {
    width: calc(31.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-cta__item:nth-of-type(1) .component-cta__image {
        width: 70%;
        margin-inline: auto;
    }
}

.component-cta__item:nth-of-type(1) .component-cta__button a {
    border-color: #fff;
    background-color: #fff;
    color: #0599d9;
}

.component-cta__item:nth-of-type(1) .component-cta__button a::before {
    display: block;
    width: calc(1.9 * 1rem);
    height: calc(1.6 * 1rem);
    content: "";
    background-color: #0599d9;
    -webkit-mask-image: url("/assets/img/common/icn_download.svg");
    mask-image: url("/assets/img/common/icn_download.svg");
}

@media screen and (max-width: 768px) {
    .component-cta__item:nth-of-type(1) .component-cta__button a {
        margin: calc(4.4 * 1rem) 0;
    }
}

.component-cta__item:nth-of-type(2) {
    border-top: calc(0.2 * 1rem) solid #f4f5f8;
    padding: calc(2 * 1rem) 0 calc(3.5 * 1rem) 0;
    align-items: center;
}

.component-cta__item:nth-of-type(2) .component-cta__head {
    gap: calc(5.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-cta__item:nth-of-type(2) .component-cta__head {
        gap: calc(0 * 1rem);
    }
}

.component-cta__item:nth-of-type(2) .component-cta__content {
    color: #0599d9;
}

.component-cta__item:nth-of-type(2) .component-cta__image {
    width: calc(31.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-cta__item:nth-of-type(2) .component-cta__image {
        width: 70%;
        margin-inline: auto;
    }
}

.component-cta__item:nth-of-type(2) .component-cta__button a {
    border-color: #0599d9;
    background-color: #0599d9;
    color: #fff;
}

.component-cta__item:nth-of-type(2) .component-cta__button a::before {
    display: block;
    width: calc(1.8 * 1rem);
    height: calc(1.5 * 1rem);
    content: "";
    background-color: #fff;
    -webkit-mask-image: url("/assets/img/common/icn_mail.svg");
    mask-image: url("/assets/img/common/icn_mail.svg");
}

@media screen and (max-width: 768px) {
    .component-cta__item:nth-of-type(2) .component-cta__button a {
        margin: calc(4.4 * 1rem) 0;
    }
}

.component-page-header {
    position: relative;
    z-index: 1;
}

.component-page-header__background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    height: calc(34.5 * var(--remV));
}

@media screen and (max-width: 768px) {
    .component-page-header__background {
        height: calc(21.4 * 1rem);
    }
}

.component-page-header__background img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.component-page-header__wave {
    position: absolute;
    right: 0;
    bottom: -2px;
    left: 0;
    height: calc(12 * var(--remV));
}

@media screen and (max-width: 768px) {
    .component-page-header__wave {
        height: calc(6 * 1rem);
        bottom: -5px;
    }
}

.component-page-header__rectangle {
    width: calc(128 * var(--remV));
    height: 100%;
    position: absolute;
    top: 0;
    right: calc((100vw - calc(192 * 1rem)) / 2);
    z-index: -1;
}

@media screen and (max-width: 1920px) {
    .component-page-header__rectangle {
        right: 0;
    }
}

.component-page-header__rectangle img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.component-page-header__line {
    position: absolute;
    right: 0;
    bottom: calc(-3.5 * var(--remV));
    left: 0;
}

.component-page-header__line path {
    fill: none;
    stroke: #0599d9;
    stroke-width: calc(0.15 * 1rem);
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
    transition: stroke-dashoffset 2.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.component-page-header .section__inner {
    display: flex;
    align-items: center;
    height: calc(34.5 * var(--remV));
}

@media screen and (max-width: 768px) {
    .component-page-header .section__inner {
        height: calc(21.4 * 1rem);
        padding-right: 0;
    }
}

.component-page-header .section__inner:has(.component-page-header__text) {
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: calc(4.5 * 1rem);
    height: 100%;
}

.component-page-header__heading {
    font-weight: 700;
}

.component-page-header__heading.component-logo-white {
    position: relative;
}

.component-page-header__heading.component-logo-white::before {
    position: absolute;
    top: calc(1.2 * 1rem);
    left: calc(-4.2 * 1rem);
}

.component-page-header__heading-en {
    display: block;
    font-size: calc(8 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .component-page-header__heading-en {
        font-size: calc(6 * 1rem);
    }
}

.component-page-header__text {
    width: 100%;
    padding: calc(1.6 * 1rem) 0;
    background: linear-gradient(to right, #fff, transparent);
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3.2 * 1rem);
    line-height: 1.875;
}

@media screen and (max-width: 768px) {
    .component-page-header__text {
        font-size: calc(1.6 * 1rem);
        padding-right: calc(1.6 * 1rem);
    }
}

.component-page-header--rectangle-high {
    height: calc(50 * var(--remV));
}

@media screen and (max-width: 768px) {
    .component-page-header--rectangle-high {
        height: auto;
    }
}

.component-page-header--rectangle-wide .component-page-header__rectangle {
    width: 100%;
    height: calc(40 * var(--remV));
    right: 0;
}

@media screen and (max-width: 768px) {
    .component-page-header--rectangle-wide .component-page-header__rectangle {
        height: calc(18 * 1rem);
    }
}

.component-page-header--rectangle-wide .section__inner {
    height: calc(40 * var(--remV));
}

@media screen and (max-width: 768px) {
    .component-page-header--rectangle-wide .section__inner {
        height: calc(18 * 1rem);
    }
}

.component-case-index {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(calc(40 * 1rem), 1fr));
    gap: calc(6 * 1rem) calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-case-index {
        grid-template-columns: auto;
    }
}

.component-case-index[id^=home] {
    display: none !important;
}

.component-case-index.is-clicked {
    display: grid !important;
}

.component-case-index__content {
    padding: calc(1.6 * 1rem);
    display: grid;
    grid-template-rows: 1fr auto;
    gap: calc(2.4 * 1rem);
    flex: 1;
}

.component-case-index__body {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.component-case-index__head {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: calc(0.8 * 1rem);
    height: calc(12 * 1rem);
    overflow: hidden;
}

.component-case-index__summary {
    line-height: 1.45;
    font-size: calc(1.6 * 1rem);
    font-weight: 700;
}

.component-case-index__heading {
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 1.3;
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.component-case-index__item {
    border: calc(0.1 * 1rem) solid #e6f4f1;
}

.component-case-index__item a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

@media (hover: hover) and (pointer: fine) {
    .component-case-index__item a:hover .component-case-index__heading {
        color: #0599d9;
    }
}

@media (hover: none) {
    .component-case-index__item a:active .component-case-index__heading {
        color: #0599d9;
    }
}

.home-case-sub {
    display: flex;
    flex-wrap: wrap;
    gap: calc(0.8 * 1rem);
    margin-top: calc(1 * 1rem);
}

.home-case-sub__item {
    display: flex;
    align-items: baseline;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: 500;
    background: #E6F4F1;
    color: #0599d9;
    border-radius: 4px;
    padding: calc(0.4 * 1rem) calc(1.6 * 1rem);
    line-height: 1;
    font-size: calc(1.4 * 1rem);
}

.home-case-sub__heading {
    margin-top: calc(0.3 * 1rem);
    color: #666;
    font-size: calc(1.4 * 1rem);
    letter-spacing: 0.1em;
}

.home-case-sub__text {
    flex: 1;
}

.home-case-sub.case-slide__sub {
    padding-bottom: calc(2.4 * 1rem);
}

.component-modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

.component-modal__background {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background-color: rgba(51, 51, 51, 0.3);
    scrollbar-gutter: stable;
}

.component-modal__content {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow-y: auto;
    pointer-events: none;
}

.component-modal__content-inner {
    width: 100%;
    max-width: calc(92 * 1rem);
    margin-left: auto;
    margin-right: auto;
    position: relative;
    max-height: 100vh;
    pointer-events: auto;
}

.component-modal__content-item {
    padding: calc(6 * 1rem) calc(8.5 * 1rem) calc(6.4 * 1rem);
    border-radius: calc(2 * 1rem);
    background-color: #fff;
}

.component-modal__button {
    position: absolute;
    top: 0;
    right: calc(0.2 * 1rem);
}

.component-modal__button button {
    width: calc(8.8 * 1rem);
    height: calc(8.8 * 1rem);
    background: none;
    position: relative;
}

.component-modal__button button::before,
.component-modal__button button::after {
    display: block;
    width: calc(0.2 * 1rem);
    height: calc(3 * 1rem);
    content: "";
    position: absolute;
    top: calc(50% - calc(1.5 * 1rem));
    left: calc(50% - calc(0.1 * 1rem));
    background-color: #333;
}

.component-modal__button button::before {
    rotate: 45deg;
}

.component-modal__button button::after {
    rotate: -45deg;
}

.component-modal.is-active {
    opacity: 1;
    visibility: visible;
}

body.is-loaded .component-page-header__line svg path {
    stroke-dashoffset: 0;
}

body.on-modal {
    overflow: hidden;
}

body.on-modal .layout-header,
body.on-modal .layout-content,
body.on-modal .layout-footer {
    overflow: auto;
    scrollbar-gutter: stable;
}

.component-contact-recruit .section__inner {
    display: flex;
    align-items: center;
    gap: calc(7.2 * 1rem);
    padding: calc(5 * 1rem) calc(16.6 * 1rem);
    border-radius: calc(2 * 1rem);
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .component-contact-recruit .section__inner {
        flex-direction: column;
        padding: calc(2 * 1rem);
        gap: calc(1.2 * 1rem);
    }
}

.component-contact-recruit__heading {
    font-size: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-contact-recruit__heading {
        font-size: calc(2.25 * 1rem);
    }
}

.component-contact-recruit__text {
    font-size: calc(1.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-contact-recruit__text {
        font-size: calc(1.35 * 1rem);
    }
}

.component-contact-recruit__body {
    flex: 1;
    font-family: "Figtree", Yakuhanjp, sans-serif;
}

.component-contact-recruit a {
    display: inline-flex;
    align-items: center;
}

.component-contact-recruit a::before {
    background-color: #0599d9;
}

.component-contact-recruit__tel a {
    gap: calc(1.4 * 1rem);
    color: #0599d9;
    font-size: calc(6 * 1rem);
    pointer-events: none;
}

@media screen and (max-width: 768px) {
    .component-contact-recruit__tel a {
        font-size: calc(3.9 * 1rem);
        pointer-events: auto;
    }
}

.component-contact-recruit__tel a::before {
    display: block;
    width: calc(3.4 * 1rem);
    height: calc(4.4 * 1rem);
    content: "";
    -webkit-mask: url("/assets/img/common/icn_tel.svg") no-repeat center/contain;
    mask: url("/assets/img/common/icn_tel.svg") no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .component-contact-recruit__tel a::before {
        display: block;
        width: calc(2.21 * 1rem);
        height: calc(2.86 * 1rem);
        content: "";
    }
}

.component-contact-recruit__mail a {
    gap: calc(2 * 1rem);
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-contact-recruit__mail a {
        font-size: calc(1.8 * 1rem);
    }
}

.component-contact-recruit__mail a::before {
    display: block;
    width: calc(2.5 * 1rem);
    height: calc(1.8 * 1rem);
    content: "";
    margin-top: calc(0.3 * 1rem);
    -webkit-mask: url("/assets/img/common/icn_mail-line.svg") no-repeat center/contain;
    mask: url("/assets/img/common/icn_mail-line.svg") no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .component-contact-recruit__mail a::before {
        display: block;
        width: calc(1.875 * 1rem);
        height: calc(1.35 * 1rem);
        content: "";
    }
}

.component-contact-recruit--blue {
    color: #fff;
}

.component-contact-recruit--blue a {
    color: #fff;
}

.component-contact-recruit--blue a::before {
    background-color: #fff;
}

.component-subject-list {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .component-subject-list {
        flex-direction: column;
        align-items: center;
        gap: calc(4 * 1rem) 0;
    }
}

.component-subject-list__item {
    width: calc(36 * 1rem);
    height: calc(53.3 * 1rem);
    position: relative;
}

.component-subject-list__text {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(21 * 1rem);
    position: relative;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .component-subject-list__text {
        font-size: calc(2 * 1rem);
    }
}

.component-subject-list__text::before {
    display: block;
    width: 100%;
    height: calc(28.5 * 1rem);
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
    background: url("/assets/img/solution/kankyo/office/bg_bubble.svg") no-repeat center/cover;
}

.component-subject-list__image {
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
}

.component-subject-list__image:nth-of-type(1) {
    width: calc(23.3 * 1rem);
}

.component-subject-list__image:nth-of-type(2) {
    width: calc(21.8 * 1rem);
}

.component-subject-list__image:nth-of-type(3) {
    width: calc(25.1 * 1rem);
}

.component-subject-list--small .component-subject-list__item {
    width: calc(28.8 * 1rem);
    height: calc(34.7 * 1rem);
}

.component-subject-list--small .component-subject-list__text {
    height: calc(16.5 * 1rem);
    font-size: calc(1.8 * 1rem);
}

.component-subject-list--small .component-subject-list__text::before {
    height: calc(22.8 * 1rem);
}

.component-subject-list--small .component-subject-list__image:nth-of-type(1) {
    width: calc(11.6 * 1rem);
}

.component-subject-list--small .component-subject-list__image:nth-of-type(2),
.component-subject-list--small .component-subject-list__image:nth-of-type(4) {
    width: calc(10.9 * 1rem);
}

.component-subject-list--small .component-subject-list__image:nth-of-type(3) {
    width: calc(12.6 * 1rem);
}

.component-solution-list {
    display: flex;
    flex-direction: column;
    gap: calc(18 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-solution-list {
        gap: calc(6 * 1rem) 0;
    }
}

.component-solution-list__item {
    display: flex;
    gap: calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-solution-list__item {
        flex-direction: column;
    }
}

.component-solution-list__item:nth-of-type(even) {
    flex-direction: row-reverse;
    gap: calc(7 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-solution-list__item:nth-of-type(even) {
        flex-direction: column;
    }
}

.component-solution-list__image {
    width: calc(50.1 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-solution-list__image {
        width: 100%;
    }
}

.component-solution-list__content {
    flex: 1;
}

.component-solution-list__content--align-center {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.component-solution-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-solution-list__heading {
        font-size: calc(2.25 * 1rem);
    }
}

.component-solution-list__heading--small {
    font-size: calc(2.4 * 1rem);
}

.component-solution-list__subheading {
    font-weight: 700;
    color: #0599d9;
}

.component-solution-list__logo {
    margin-top: calc(-16 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-solution-list__logo {
        margin-top: calc(-2 * 1rem);
    }
}

.component-solution-list__logo ul {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: calc(1.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-solution-list__logo ul {
        grid-template-columns: repeat(3, 1fr);
    }
}

.component-solution-list__text {
    line-height: 1.5;
}

.component-solution-list--small-image .component-solution-list__image {
    width: calc(43.5 * 1rem);
}

.component-solution-list--large-image .component-solution-list__image {
    width: calc(55.2 * 1rem);
}

.component-aside-office {
    display: flex;
    flex-wrap: wrap;
    gap: calc(5.8 * 1rem) calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-aside-office {
        flex-direction: column;
    }
}

.component-aside-office__item {
    width: calc(33.333% - calc(3.4 * 1rem));
}

@media screen and (max-width: 768px) {
    .component-aside-office__item {
        width: 100%;
    }
}

.component-aside-office__head {
    position: relative;
}

.component-aside-office__head::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(transparent 50%, rgba(51, 51, 51, 0.5));
}

.component-aside-office__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    padding: calc(2 * 1rem);
    color: #fff;
    font-weight: 700;
    font-size: calc(2 * 1rem);
    line-height: 1.8;
}

.component-aside-office__text {
    line-height: 2;
}

.component-table {
    border: 1px solid #aad5df;
    border-spacing: 0;
    width: 100%;
    margin-block-start: 3rem;
}

.component-table__th {
    background: #e2f8fe;
    font-weight: bold;
    color: #139de2;
    text-align: center;
    border-block-end: 1px solid #aad5df;
    padding: 8px 0;
}

@media screen and (min-width: 769px) {
    .component-table__th {
        width: 14.2857142857%;
    }
}

.component-table__th:not(:last-child) {
    border-inline-end: 1px solid #aad5df;
}

.component-table__th.size--l {
    width: 50%;
}

@media screen and (min-width: 769px) {
    .component-table__th.size--l {
        width: 40%;
    }
}

.component-table__td {
    padding: 2rem;
    vertical-align: top;
    white-space: nowrap;
}

@media screen and (min-width: 769px) {
    .component-table__td {
        white-space: normal;
    }
}

.component-table__td:not(:last-child) {
    border-inline-end: 1px solid #aad5df;
}

.component-table__td.em {
    background: #EDFAFF;
}

.component-table__list {
    list-style: disc;
    margin-left: 2rem;
}

.component-scroll {
    max-width: 100%;
    overflow-x: auto;
}

@media screen and (min-width: 769px) {
    .component-scroll {
        overflow-x: hidden;
    }
}

.component-section-heading--black {
    color: #333;
}

.component-arrow--33 .component-arrow__target {
    width: calc(3.3 * 1rem);
    height: calc(3.3 * 1rem);
    border-radius: 100%;
}

.component-image-link {
    display: flex;
    flex-wrap: wrap;
    gap: calc(5.5 * 1rem) calc(5.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-image-link {
        flex-direction: column;
        gap: calc(2.75 * 1rem);
    }
}

.component-image-link__item {
    width: calc(39 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-image-link__item {
        width: 100%;
    }
}

.component-image-link__item a {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: calc(2 * 1rem);
    overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
    .component-image-link__item a:hover .company-index-list__heading {
        color: #0599d9;
    }
}

@media (hover: none) {
    .component-image-link__item a:active .company-index-list__heading {
        color: #0599d9;
    }
}

.component-image-link__image {
    width: 100%;
    height: calc(20 * 1rem);
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .component-image-link__image {
        width: 100%;
    }
}

.component-image-link__image-label {
    display: none;
}

.component-image-link__content {
    display: flex;
    align-items: center;
    flex: 1;
    gap: calc(2 * 1rem);
    background: #fff;
    position: relative;
    padding-left: calc(2.4 * 1rem);
    padding-right: calc(3 * 1rem);
}

.component-image-link__heading {
    height: 100%;
    flex: 1;
    font-weight: 700;
    font-size: calc(2 * 1rem);
    line-height: 1.3;
    letter-spacing: 0.08em;
    transition: color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .component-image-link__heading {
        font-size: calc(1.5 * 1rem);
        line-height: 1.4;
    }
}

.component-image-link__meta {
    display: flex;
    gap: calc(1.6 * 1rem);
    align-items: center;
    color: #333;
    margin-block: calc(0.4 * 1rem);
}

.component-image-link__meta-item {
    display: flex;
    gap: calc(0.4 * 1rem);
    align-items: center;
}

.component-image-link__meta-item img {
    width: calc(1.6 * 1rem);
    height: calc(1.6 * 1rem);
}

@media screen and (min-width: 769px) {
    .component-image-link--small {
        gap: calc(5.5 * 1rem) calc(2.6 * 1rem);
    }
    .component-image-link--small .component-image-link__item {
        width: calc(30 * 1rem);
    }
    .component-image-link--small .component-image-link__image {
        width: calc(30 * 1rem);
        height: calc(16.4 * 1rem);
    }
    .component-image-link--small .component-image-link__heading {
        font-size: calc(1.4 * 1rem);
        line-height: 2.0714285714;
        text-align: left;
        letter-spacing: 0em;
    }
    .component-image-link--small .component-image-link__content {
        background: #fff;
        position: relative;
        width: calc(30 * 1rem);
        padding-left: calc(2 * 1rem);
        padding-right: calc(4.8 * 1rem);
    }
    .component-image-link--small .component-image-link__content .component-arrow__target {
        position: absolute;
        top: calc(2.7 * 1rem);
        right: calc(1 * 1rem);
        flex-shrink: 0;
    }
}

@media screen and (min-width: 769px) {
    .component-image-link--center:not(:has(:nth-child(3))) {
        justify-content: center;
        gap: calc(13 * 1rem);
    }
}

.component-image-link :has(.component-image-link__meta) .component-arrow__target {
    flex-shrink: 0;
    align-self: flex-end;
}

.component-image-link--seminar .component-image-link__heading {
    min-height: calc(6 * 1rem);
    height: auto;
}

@media screen and (max-width: 768px) {
    .component-image-link--seminar .component-image-link__heading {
        font-size: calc(2 * 1rem);
    }
}

.component-image-link--seminar .component-image-link__content {
    flex-direction: column;
    justify-content: space-between;
}

.component-image-link--seminar .component-image-link__foot {
    display: flex;
}

.component-image-link--seminar .component-image-link__image {
    height: calc(24 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-image-link--seminar .component-image-link__image {
        height: calc(21 * 1rem);
    }
}

.component-image-link__item.warning .component-image-link__image-label {
    display: block;
    position: absolute;
    top: calc(1 * 1rem);
    right: calc(1 * 1rem);
    background: #fff;
    border: calc(0.2 * 1rem) solid #ec6558;
    color: #ec6558;
    width: -moz-fit-content;
    width: fit-content;
    padding: calc(0.4 * 1rem) calc(1.6 * 1rem);
    text-align: center;
    font-size: calc(1.8 * 1rem);
    font-weight: 700;
    line-height: 1.3;
    border-radius: calc(0.4 * 1rem);
}

.component-image-link__item.disabled .component-image-link__image-label {
    display: block;
    position: absolute;
    top: calc(1 * 1rem);
    right: calc(1 * 1rem);
    background: #ec6558;
    color: #fff;
    width: -moz-fit-content;
    width: fit-content;
    padding: calc(0.4 * 1rem) calc(1.6 * 1rem);
    text-align: center;
    font-size: calc(1.8 * 1rem);
    font-weight: 700;
    line-height: 1.3;
    border-radius: calc(0.4 * 1rem);
}

.component-image-link__item.disabled .component-image-link__image img {
    filter: brightness(0.7);
}

.component-image-link__item.disabled .component-image-link__content {
    opacity: 0.5;
}

.component-contact {
    color: #fff;
    background: #0599d9;
    border-radius: calc(2 * 1rem);
    letter-spacing: 0.08em;
}

@media screen and (max-width: 768px) {
    .component-contact {
        padding: calc(4 * 1rem) calc(2 * 1rem);
    }
}

.component-contact__heading {
    font-size: calc(3 * 1rem);
    font-weight: 700;
    text-align: center;
    line-height: 1.2666666667;
}

@media screen and (max-width: 768px) {
    .component-contact__heading {
        font-size: calc(2.25 * 1rem);
    }
}

.component-contact__inner {
    display: flex;
    justify-content: center;
    gap: 0 calc(7 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-contact__inner {
        flex-direction: column;
        gap: calc(2 * 1rem) calc(7 * 1rem);
    }
}

.component-contact__text {
    font-size: calc(1.8 * 1rem);
    font-weight: 700;
    text-align: center;
    line-height: 1.6666666667;
}

@media screen and (max-width: 768px) {
    .component-contact__text {
        font-size: calc(1.35 * 1rem);
    }
}

.component-contact__button a {
    color: #0599d9;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(44.4 * 1rem);
    height: calc(7.5 * 1rem);
    gap: calc(1.7 * 1rem);
    padding-right: calc(1.4 * 1rem);
    padding-bottom: calc(0.2 * 1rem);
    border: calc(0.2 * 1rem) solid #fff;
    border-radius: calc(1 * 1rem);
    font-weight: 700;
    font-size: calc(1.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-contact__button a {
        width: 100%;
        height: calc(5.625 * 1rem);
        font-size: calc(1.53 * 1rem);
    }
}

.component-contact__button--mail a::before {
    background: #0599d9;
    display: block;
    width: calc(2.5 * 1rem);
    height: calc(1.8 * 1rem);
    content: "";
    -webkit-mask: url("/assets/img/guide/icn_cta_mail.svg") no-repeat center/contain;
    mask: url("/assets/img/guide/icn_cta_mail.svg") no-repeat center/contain;
}

.component-form {
    padding: 0 calc(9 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form {
        padding: calc(2 * 1rem);
    }
}

.component-form__attention {
    line-height: 1.75;
}

.component-form__attention-required {
    color: #fff;
    background: #ea4048;
    font-size: calc(1.2 * 1rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    display: inline-flex;
    height: calc(2.3 * 1rem);
    padding: 0 calc(0.8 * 1rem);
    margin-right: calc(1 * 1rem);
    vertical-align: text-bottom;
}

.component-form__content {
    display: flex;
    flex-direction: column;
    gap: calc(4.9 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .component-form__content {
        gap: calc(2.45 * 1rem) 0;
    }
}

.component-form__item {
    display: flex;
}

@media screen and (max-width: 768px) {
    .component-form__item {
        flex-direction: column;
    }
}

.component-form__item:has(.component-form-checkbox) {
    margin-top: calc(3.4 * 1rem);
}

.component-form__heading {
    font-size: calc(1.8 * 1rem);
    font-weight: 700;
    line-height: 1.6666666667;
    width: calc(27.6 * 1rem);
    max-height: 2.5em;
}

@media screen and (max-width: 768px) {
    .component-form__heading {
        max-height: 100%;
        font-size: calc(1.35 * 1rem);
    }
}

.component-form__heading.is-required {
    position: relative;
}

.component-form__heading.is-required:after {
    color: #fff;
    background: #ea4048;
    font-size: calc(1.2 * 1rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    display: inline-flex;
    height: calc(2.3 * 1rem);
    padding: 0 calc(0.8 * 1rem);
    vertical-align: text-bottom;
    content: "必須";
    margin-left: calc(2 * 1rem);
}

.component-form__data {
    line-height: 1.75;
    width: calc(100% - calc(27.6 * 1rem));
}

@media screen and (max-width: 768px) {
    .component-form__data {
        width: 100%;
        margin-top: calc(1 * 1rem);
    }
}

.component-form__note {
    line-height: 1.75;
    margin-top: calc(0.4 * 1rem);
    padding-left: 0.25em;
    margin-bottom: calc(-1.2 * 1rem);
}

.component-form-input-text {
    padding: 0;
    border: none;
    border-radius: 0;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: "Figtree", Yakuhanjp, "Noto Sans JP", sans-serif;
    background: #f9f9f9;
    border: 1px solid #dddddd;
    width: 100%;
    height: calc(4 * 1rem);
    padding: 0 calc(1 * 1rem);
}

.component-form-input-text--company {
    width: calc(56.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form-input-text--company {
        width: 100%;
    }
}

.component-form-input-text--name,
.component-form-input-text--division,
.component-form-input-text--position {
    width: calc(32 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form-input-text--name,
    .component-form-input-text--division,
    .component-form-input-text--position {
        width: 100%;
    }
}

.component-form-input-text--member,
.component-form-input-text--address {
    width: calc(20 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form-input-text--member,
    .component-form-input-text--address {
        width: 100%;
    }
}

.component-form-textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: "Figtree", Yakuhanjp, "Noto Sans JP", sans-serif;
    background: #f9f9f9;
    border: 1px solid #dddddd;
    width: 100%;
    width: calc(56.6 * 1rem);
    height: calc(18 * 1rem);
    padding: calc(1 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form-textarea {
        width: 100%;
    }
}

.component-form-textarea--other {
    height: calc(15.2 * 1rem);
}

.component-form-checkbox {
    display: flex;
    align-items: center;
}

.component-form-checkbox__input {
    display: none;
}

.component-form-checkbox__input:checked+.component-form-checkbox__dummy {
    background: #ea4048;
    border: none;
}

.component-form-checkbox__input:checked+.component-form-checkbox__dummy:before {
    opacity: 1;
}

.component-form-checkbox__dummy {
    background: #f9f9f9;
    border: 1px solid #dddddd;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: calc(2.4 * 1rem);
    height: calc(2.4 * 1rem);
    border-radius: 1px;
    vertical-align: text-bottom;
    padding-bottom: calc(0.3 * 1rem);
    cursor: pointer;
}

.component-form-checkbox__dummy:before {
    display: inline-block;
    width: calc(1.2 * 1rem);
    height: calc(0.8 * 1rem);
    box-sizing: border-box;
    border: solid #fff;
    border-width: 0 0 calc(0.3 * 1rem) calc(0.3 * 1rem);
    content: "";
    rotate: -45deg;
    opacity: 0;
}

.component-form-checkbox__text {
    flex: 1;
    line-height: 1.5;
    letter-spacing: 0.08em;
    margin-left: calc(0.9 * 1rem);
    cursor: pointer;
}

.component-form-checkbox+.component-form-checkbox {
    margin-top: calc(2.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form-checkbox+.component-form-checkbox {
        margin-top: calc(1.3 * 1rem);
    }
}

.component-form-radio {
    display: flex;
    align-items: center;
    min-width: calc(31.5 * 1rem);
}

.component-form-radio-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: calc(2.9 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .component-form-radio-wrapper {
        gap: calc(1.45 * 1rem);
    }
}

.component-form-radio-wrapper--area {
    gap: calc(2.9 * 1rem) calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form-radio-wrapper--area {
        gap: calc(1.45 * 1rem);
    }
}

.component-form-radio-wrapper--area .component-form-radio {
    min-width: calc(16.4 * 1rem);
}

.component-form-radio-wrapper--area .component-form-radio:nth-of-type(2n) {
    margin-right: 40%;
}

.component-form-radio__input {
    display: none;
}

.component-form-radio__input:checked+.component-form-radio__dummy {
    background: #ea4048;
    border: none;
}

.component-form-radio__input:checked+.component-form-radio__dummy:before {
    opacity: 1;
}

.component-form-radio__dummy {
    background: #f9f9f9;
    border: 1px solid #dddddd;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: calc(2.4 * 1rem);
    height: calc(2.4 * 1rem);
    border-radius: 50%;
    vertical-align: text-bottom;
    cursor: pointer;
}

.component-form-radio__dummy:before {
    background-color: #fff;
    display: block;
    width: calc(1 * 1rem);
    height: calc(1 * 1rem);
    box-sizing: border-box;
    border-radius: 50%;
    content: "";
    opacity: 0;
}

.component-form-radio__text {
    line-height: 1.5;
    letter-spacing: 0.08em;
    margin-left: calc(0.9 * 1rem);
    cursor: pointer;
}

.component-form-address-button {
    display: inline-block;
}

.component-form-address-button__inner {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: "Figtree", Yakuhanjp, "Noto Sans JP", sans-serif;
    position: relative;
    color: #333;
    background-color: #eeeeee;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: calc(3.6 * 1rem);
    box-sizing: border-box;
    padding: 0 calc(1.1 * 1rem);
    padding-bottom: calc(0.2 * 1rem);
    border: calc(0.2 * 1rem) solid #dddddd;
    border-radius: calc(0.2 * 1rem);
    margin-left: calc(2.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form-address-button__inner {
        margin-left: 0;
        margin-top: calc(1 * 1rem);
    }
}

.component-form-agree.is-required .component-form-agree__heading {
    position: relative;
}

.component-form-agree.is-required .component-form-agree__heading:after {
    color: #fff;
    background: #ea4048;
    font-size: calc(1.2 * 1rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    display: inline-flex;
    height: calc(2.3 * 1rem);
    padding: 0 calc(0.8 * 1rem);
    vertical-align: middle;
    content: "必須";
    margin-left: calc(1.3 * 1rem);
    margin-right: calc(calc(-1.3 * 1rem) - 2em - calc(1.6 * 1rem));
}

.component-form-agree__heading {
    font-size: calc(2.4 * 1rem);
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .component-form-agree__heading {
        font-size: calc(1.8 * 1rem);
        text-align: left;
    }
}

.component-form-agree__text {
    line-height: 1.75;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .component-form-agree__text {
        font-size: calc(1.4 * 1rem);
        text-align: left;
    }
}

.component-form-agree__text a {
    color: #0599d9;
    text-decoration: underline;
    text-underline-offset: 0.5em;
}

@media screen and (max-width: 768px) {
    .component-form-agree__text a {
        display: block;
    }
}

@media (hover: hover) and (pointer: fine) {
    .component-form-agree__text a:hover {
        text-decoration: none;
    }
}

@media (hover: none) {
    .component-form-agree__text a:active {
        text-decoration: none;
    }
}

.component-form-agree__checkbox {
    display: flex;
    justify-content: center;
    align-items: center;
}

.component-form-agree__input {
    display: none;
}

.component-form-agree__input:checked+.component-form-agree__dummy {
    background: #ea4048;
    border: none;
}

.component-form-agree__input:checked+.component-form-agree__dummy:before {
    opacity: 1;
}

.component-form-agree__dummy {
    background: #f9f9f9;
    border: 1px solid #dddddd;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: calc(2.4 * 1rem);
    height: calc(2.4 * 1rem);
    border-radius: 1px;
    vertical-align: text-bottom;
    padding-bottom: calc(0.3 * 1rem);
    cursor: pointer;
    border-radius: 50%;
}

.component-form-agree__dummy:before {
    display: inline-block;
    width: calc(1.2 * 1rem);
    height: calc(0.8 * 1rem);
    box-sizing: border-box;
    border: solid #fff;
    border-width: 0 0 calc(0.3 * 1rem) calc(0.3 * 1rem);
    content: "";
    rotate: -45deg;
    opacity: 0;
}

.component-form-agree__text {
    line-height: 1.75;
    letter-spacing: 0.08em;
    margin-left: calc(1.5 * 1rem);
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .component-form-agree__text {
        margin-left: 0;
        font-size: calc(1.4 * 1rem);
    }
}

.component-form-button {
    display: flex;
    justify-content: center;
}

.component-form-button__inner {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: "Figtree", Yakuhanjp, "Noto Sans JP", sans-serif;
    position: relative;
    color: #fff;
    background-color: #0599d9;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(35 * 1rem);
    height: calc(8 * 1rem);
    padding-bottom: calc(0.2 * 1rem);
    border: calc(0.2 * 1rem) solid #0599d9;
    border-radius: calc(4 * 1rem);
    font-weight: 700;
    font-size: calc(1.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form-button__inner {
        width: 100%;
    }
}

.component-form-button__inner::before {
    background: #fff;
    position: absolute;
    top: calc(50% - calc(0.6 * 1rem));
    right: calc(3 * 1rem);
    display: block;
    width: calc(1.8 * 1rem);
    height: calc(1.2 * 1rem);
    content: "";
    -webkit-mask: url("/assets/img/common/arw_button.svg") no-repeat center/contain;
    mask: url("/assets/img/common/arw_button.svg") no-repeat center/contain;
}

.component-form--download {
    background: #fff;
    border-radius: calc(2 * 1rem);
}

.component-form--download .component-form__attention-required {
    background: #0599d9;
}

.component-form--download .component-form__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

@media screen and (max-width: 768px) {
    .component-form--download .component-form__heading {
        flex-direction: row;
    }
}

.component-form--download .component-form__heading.is-required:after {
    background: #0599d9;
    margin-left: 0;
    margin-top: calc(0.8 * 1rem);
    margin-bottom: calc(-2.3 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-form--download .component-form__heading.is-required:after {
        margin-top: 0;
        margin-left: calc(0.8 * 1rem);
    }
}

.component-form--download .component-form-checkbox__input:checked+.component-form-checkbox__dummy {
    background: #0599d9;
}

.component-form--download .component-form-agree__input:checked+.component-form-agree__dummy {
    background: #0599d9;
}

.works-list {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    gap: calc(6 * 1rem) calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .works-list {
        gap: calc(3 * 1rem);
    }
}

.works-list__item {
    width: calc(40 * 1rem);
    position: relative;
}

@media screen and (max-width: 768px) {
    .works-list__item {
        width: 100%;
    }
}

@media (hover: hover) and (pointer: fine) {
    .works-list__item a:hover .home-works-body__company,
    .works-list__item a:hover .home-works-body__heading {
        color: #0599d9;
    }
}

@media (hover: none) {
    .works-list__item a:active .home-works-body__company,
    .works-list__item a:active .home-works-body__heading {
        color: #0599d9;
    }
}

.works-list__image {
    position: relative;
}

.works-list__content {
    margin-top: calc(2 * 1rem);
}

.works-list__company,
.works-list__heading {
    line-height: 1.45;
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.works-list__company {
    font-weight: 700;
}

.works-list__heading {
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .works-list__heading {
        font-size: calc(2.04 * 1rem);
    }
}

.works-list .works-list-data {
    display: flex;
    flex-wrap: wrap;
    gap: 0 calc(0.8 * 1rem);
    margin-top: calc(1 * 1rem);
}

@media screen and (max-width: 768px) {
    .works-list .works-list-data {
        flex-direction: column;
    }
}

.works-list .works-list-data__item {
    display: flex;
    gap: calc(0.8 * 1rem);
    width: calc(50% - calc(0.4 * 1rem));
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .works-list .works-list-data__item {
        width: 100%;
    }
}

.works-list .works-list-data__heading {
    margin-top: calc(0.3 * 1rem);
    color: #666;
    font-size: calc(1.4 * 1rem);
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .works-list .works-list-data__heading {
        font-size: calc(1.05 * 1rem);
    }
}

.works-list .works-list-data__text {
    flex: 1;
}

.section-white-base-blue-bg {
    position: relative;
}

.section-white-base-blue-bg:before {
    background: #0599d9;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: calc(22.3 * 1rem);
    content: "";
}

.section-white-base-blue-bg .section__inner {
    position: relative;
    background: #fff;
    border-radius: calc(3 * 1rem) calc(3 * 1rem) 0 0;
}

.component-faq {
    display: flex;
    flex-direction: column;
    gap: calc(1.5 * 1rem);
}

.component-faq__item {
    background: #f6fcff;
    overflow: hidden;
}

.component-faq__item[aria-hidden=false] .component-faq__content {
    grid-template-rows: 1fr;
}

.component-faq__item[aria-hidden=false] .component-faq__inner {
    padding-top: calc(3.1 * 1rem);
    padding-bottom: calc(3.6 * 1rem);
}

.component-faq__item[aria-hidden=false] .component-faq__button:before {
    rotate: 0deg;
}

.component-faq__header {
    position: relative;
    display: flex;
    padding: calc(3.4 * 1rem) calc(14 * 1rem) calc(3.8 * 1rem) calc(4.5 * 1rem);
    cursor: pointer;
    transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: background-color;
}

@media (hover: hover) and (pointer: fine) {
    .component-faq__header:hover {
        background-color: #eefaff;
    }
}

@media (hover: none) {
    .component-faq__header:active {
        background-color: #eefaff;
    }
}

.component-faq__header:before {
    content: "Q";
    color: #0599d9;
    font-weight: 700;
    font-family: "Figtree", Yakuhanjp, sans-serif;
    font-size: calc(4 * 1rem);
    line-height: 1;
    width: calc(7 * 1rem);
}

.component-faq__heading {
    font-size: calc(1.8 * 1rem);
    line-height: 1.7777777778;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding-top: calc(0.2 * 1rem);
}

.component-faq__button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
    top: calc(50% - calc(4.5 * 1rem));
    right: calc(3 * 1rem);
    width: calc(9 * 1rem);
    height: calc(9 * 1rem);
    cursor: pointer;
}

.component-faq__button:after,
.component-faq__button:before {
    background: #0599d9;
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(3.2 * 1rem);
    height: calc(0.6 * 1rem);
    content: "";
    translate: -50% -50%;
    border-radius: calc(0.3 * 1rem);
    box-sizing: border-box;
}

.component-faq__button:before {
    rotate: 90deg;
    transition: rotate 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.component-faq__content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.component-faq__inner {
    position: relative;
    display: flex;
    padding: calc(3.1 * 1rem) calc(14 * 1rem) calc(3.6 * 1rem) calc(4.5 * 1rem);
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    transition: padding 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.component-faq__inner a {
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: color;
}

.component-faq__inner:before {
    content: "A";
    color: #d98205;
    font-weight: 700;
    font-family: "Figtree", Yakuhanjp, sans-serif;
    font-size: calc(4 * 1rem);
    line-height: 1;
    width: calc(7 * 1rem);
}

.component-faq__inner:after {
    background: #d7f0fa;
    position: absolute;
    top: 0;
    left: calc(3 * 1rem);
    display: block;
    width: calc(122 * 1rem);
    height: calc(0.2 * 1rem);
    content: "";
}

.component-faq__text {
    font-size: calc(1.8 * 1rem);
    line-height: 1.7777777778;
    letter-spacing: 0.06em;
}

.component-banner-img {
    max-width: 350px;
    margin: 0 auto 3rem;
}

@media screen and (min-width: 769px) {
    .component-banner-img {
        max-width: 700px;
        margin-bottom: 10rem;
    }
}

.component-banner-img .component-arrow {
    display: block;
    position: relative;
    overflow: hidden;
    color: #fff;
}

.component-banner-img .home-solution-body-list__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    padding: 0 1.5rem 1.5rem 3rem;
}

.component-banner-img .home-solution-body-list__heading {
    font-size: calc(1.8 * 1rem);
    font-weight: bold;
}

@media screen and (min-width: 769px) {
    .component-banner-img .home-solution-body-list__heading {
        font-size: calc(4 * 1rem);
    }
}

.component-ex-banner {
    display: flex !important;
    height: 16rem;
    background-color: rgba(225, 217, 1, 0.2);
    background-image: repeating-linear-gradient(-45deg, #fff, #fff 7px, rgba(225, 225, 225, 0) 0, rgba(225, 225, 225, 0) 14px);
    border: solid 4px #ffd900;
}

@media screen and (max-width: 768px) {
    .component-ex-banner {
        flex-direction: column;
        height: auto;
    }
}

.component-ex-banner__content {
    flex: 1;
    padding: 1.5rem;
}

@media screen and (min-width: 769px) {
    .component-ex-banner__content {
        padding: 3.2rem 6rem;
    }
}

.component-ex-banner__text {
    color: #333;
    font-weight: 500;
    line-height: 1.875;
}

.component-ex-banner__image {
    position: relative;
    overflow: hidden;
    width: 36rem;
}

.component-ex-banner__image .component-button-more {
    display: none;
}

@media screen and (min-width: 769px) {
    .component-ex-banner__image .component-button-more {
        display: flex;
        position: absolute;
        right: 3.2rem;
        bottom: 2.4rem;
    }
}

.component-ex-banner .component-section-heading {
    color: #333;
}

.component-pager {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-pager {
        gap: calc(1.5 * 1rem);
    }
}

.component-pager__prev,
.component-pager__next {
    display: flex;
    align-items: center;
    gap: calc(0.8 * 1rem);
    padding: calc(1.2 * 1rem) calc(2 * 1rem);
    border: calc(0.1 * 1rem) solid #0599d9;
    border-radius: calc(2.5 * 1rem);
    background-color: #fff;
    color: #0599d9;
    font-weight: 500;
    font-size: calc(1.4 * 1rem);
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .component-pager__prev,
    .component-pager__next {
        padding: calc(1 * 1rem) calc(1.6 * 1rem);
        font-size: calc(1.2 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .component-pager__prev:hover:hover,
    .component-pager__next:hover:hover {
        color: #fff;
    }
}

@media (hover: none) {
    .component-pager__prev:hover:active,
    .component-pager__next:hover:active {
        color: #fff;
    }
}

@media (hover: hover) and (pointer: fine) {
    .component-pager__prev:not(:disabled):hover:hover,
    .component-pager__next:not(:disabled):hover:hover {
        background-color: #0599d9;
        border-color: #0599d9;
    }
}

@media (hover: none) {
    .component-pager__prev:not(:disabled):hover:active,
    .component-pager__next:not(:disabled):hover:active {
        background-color: #0599d9;
        border-color: #0599d9;
    }
}

.component-pager__prev:disabled,
.component-pager__next:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

@media (hover: hover) and (pointer: fine) {
    .component-pager__prev:disabled:hover:hover,
    .component-pager__next:disabled:hover:hover {
        color: #0599d9;
    }
}

@media (hover: none) {
    .component-pager__prev:disabled:hover:active,
    .component-pager__next:disabled:hover:active {
        color: #0599d9;
    }
}

@media screen and (max-width: 768px) {
    .component-pager__text {
        display: none;
    }
}

.component-pager__numbers {
    display: flex;
    align-items: center;
    gap: calc(1.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .component-pager__numbers {
        gap: calc(1 * 1rem);
    }
}

.component-pager__number {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(4 * 1rem);
    height: calc(4 * 1rem);
    border: calc(0.2 * 1rem) solid #0599d9;
    border-radius: 50%;
    background-color: #fff;
    color: #0599d9;
    font-weight: 500;
    font-size: calc(1.4 * 1rem);
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .component-pager__number {
        width: calc(3.5 * 1rem);
        height: calc(3.5 * 1rem);
        font-size: calc(1.2 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .component-pager__number:hover:hover {
        background-color: #0599d9;
        border-color: #0599d9;
        color: #fff;
    }
}

@media (hover: none) {
    .component-pager__number:hover:active {
        background-color: #0599d9;
        border-color: #0599d9;
        color: #fff;
    }
}

.component-pager__number.is-active {
    background-color: #0599d9;
    border-color: #0599d9;
    color: #fff;
}

@media (hover: hover) and (pointer: fine) {
    .component-pager__number.is-active:hover:hover {
        background-color: #0599d9;
    }
}

@media (hover: none) {
    .component-pager__number.is-active:hover:active {
        background-color: #0599d9;
    }
}

.home-hero {
    position: relative;
}

.home-hero .swiper-slide {
    overflow: hidden;
    height: 70%;
}

@media screen and (max-width: 1280px) {
    .home-hero .swiper-slide {
        height: 60%;
    }
}

@media screen and (max-width: 768px) {
    .home-hero .swiper-slide {
        height: 80%;
    }
}

@media screen and (max-width: 480px) {
    .home-hero .swiper-slide {
        height: 70%;
    }
}

.home-hero .swiper-slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.home-hero .swiper-nav {
    position: absolute;
    bottom: calc(3 * 1rem);
    left: 50%;
    display: flex;
    align-items: center;
    gap: calc(3 * 1rem);
    translate: -50% 0;
    z-index: 99;
}

@media screen and (max-width: 768px) {
    .home-hero .swiper-nav {
        bottom: calc(2 * 1rem);
    }
}

.home-hero .swiper-pause {
    width: calc(1.7 * 1rem);
    height: calc(2 * 1rem);
    display: flex;
    justify-content: space-between;
    position: relative;
    background: none;
}

.home-hero .swiper-pause::before,
.home-hero .swiper-pause::after {
    display: block;
    width: calc(0.5 * 1rem);
    height: calc(2 * 1rem);
    content: "";
    background-color: #fff;
    transition: scale 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.home-hero .swiper-pause::before {
    transform-origin: center left;
}

.home-hero .swiper-pause.is-started::before {
    scale: 3.5 1;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background-color: #fff;
}

.home-hero .swiper-pause.is-started::after {
    scale: 1 0;
}

@media (hover: hover) and (pointer: fine) {
    .home-hero .swiper-pause:hover::before,
    .home-hero .swiper-pause:hover::after {
        background-color: #0599d9;
    }
}

@media (hover: none) {
    .home-hero .swiper-pause:active::before,
    .home-hero .swiper-pause:active::after {
        background-color: #0599d9;
    }
}

.home-hero .swiper-pagination {
    display: flex;
    gap: calc(2 * 1rem);
    position: relative;
    bottom: auto;
    width: auto;
}

.home-hero .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1;
    margin: 0 !important;
    transition: scale 0.25s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: scale;
}

@media (hover: hover) and (pointer: fine) {
    .home-hero .swiper-pagination-bullet:hover {
        scale: 1.6;
    }
}

@media (hover: none) {
    .home-hero .swiper-pagination-bullet:active {
        scale: 1.6;
    }
}

.home-hero .swiper-pagination-bullet-active {
    width: calc(1 * 1rem);
    height: calc(1 * 1rem);
    scale: 1.6;
    background-color: #0599d9;
}

.home-hero .section__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 9;
    translate: -50% -50%;
}

@media screen and (max-width: 768px) {
    .home-hero .section__inner {
        top: 0;
        translate: -50% 0;
        padding: calc(3 * 1rem);
    }
}

.home-hero__content {
    display: inline-flex;
    align-items: center;
    flex-direction: column;
    gap: calc(1 * 1rem);
    color: #fff;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .home-hero__content {
        align-items: flex-start;
        gap: calc(1.4 * 1rem);
        text-align: left;
    }
}

.home-hero__heading,
.home-hero__text {
    translate: 0 calc(2.5 * 1rem);
    opacity: 0;
    transition: opacity 0.45s cubic-bezier(0.39, 0.575, 0.565, 1), translate 0.45s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity, transform;
}

.home-hero__heading {
    font-size: calc(6.4 * 1rem);
    line-height: 1.40625;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .home-hero__heading {
        font-size: calc(3.8 * 1rem);
        line-height: 1.2631578947;
    }
}

.home-hero__heading span {
    letter-spacing: 0.15em;
}

.home-hero__text {
    font-size: calc(2.2 * 1rem);
    letter-spacing: 0.175em;
    transition-delay: 0.25s;
}

@media screen and (max-width: 768px) {
    .home-hero__text {
        font-size: calc(1.8 * 1rem);
        line-height: 1.4444444444;
    }
}

body.is-loaded .home-hero__heading,
body.is-loaded .home-hero__text {
    translate: 0;
    opacity: 1;
}

.home-news {
    padding-top: calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-news {
        padding: 0;
    }
}

@media screen and (max-width: 768px) {
    .home-news .section__inner {
        padding: 0;
    }
}

.home-news .swiper {
    height: calc(8 * 1rem);
    border-radius: calc(4 * 1rem);
    background-color: #f4f5f8;
}

@media screen and (max-width: 768px) {
    .home-news .swiper {
        height: calc(7 * 1rem);
        border-radius: 0;
    }
}

@media screen and (max-width: 768px) {
    .home-news .swiper-wrapper {
        align-items: center;
    }
}

.home-news .swiper-slide {
    display: flex;
    align-items: center;
    padding-right: calc(16 * 1rem);
    padding-left: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-news .swiper-slide {
        flex-direction: column;
        align-items: flex-start;
        overflow: hidden;
        height: calc(4.5 * 1rem);
        padding-right: calc(7 * 1rem);
        padding-left: calc(2 * 1rem);
    }
}

.home-news .swiper-nav {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    gap: calc(6 * 1rem);
    z-index: 1;
    padding: 0 calc(5 * 1rem);
    background-color: #f4f5f8;
}

@media screen and (max-width: 768px) {
    .home-news .swiper-nav {
        gap: calc(2.4 * 1rem);
        padding: 0 calc(1.5 * 1rem);
    }
}

.home-news .swiper-nav:before {
    display: block;
    width: 1px;
    height: calc(2.6 * 1rem);
    content: "";
    position: absolute;
    top: calc(50% - calc(1.3 * 1rem));
    right: calc(9 * 1rem);
    background-color: #b9b9bc;
}

@media screen and (max-width: 768px) {
    .home-news .swiper-nav:before {
        top: calc(50% - calc(0.8 * 1rem));
        right: calc(3.5 * 1rem);
        height: calc(1.6 * 1rem);
    }
}

.home-news .swiper-button {
    width: calc(0.8 * 1rem);
    height: calc(1.4 * 1rem);
    position: static;
    margin: 0;
}

@media (hover: hover) and (pointer: fine) {
    .home-news .swiper-button:hover::after {
        translate: 80% 0;
    }
}

@media (hover: none) {
    .home-news .swiper-button:active::after {
        translate: 80% 0;
    }
}

.home-news .swiper-button::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: url("/assets/img/common/arw_line.svg") no-repeat center/contain;
    font-size: 0;
    transition: translate 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: translate;
}

.home-news .swiper-button-prev {
    right: calc(11 * 1rem);
    left: auto;
    rotate: 180deg;
}

.home-news .swiper-button-next {
    display: flex;
    align-items: center;
    gap: calc(3 * 1rem);
}

.home-news__head {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .home-news__head {
        gap: calc(2.4 * 1rem);
    }
}

.home-news__date,
.home-news__tag {
    color: #0599d9;
    font-size: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-news__date,
    .home-news__tag {
        display: inline-block;
        font-size: calc(1.2 * 1rem);
    }
}

.home-news__tag {
    margin-left: calc(1.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-news__tag {
        margin-left: 0;
    }
}

.home-news__text {
    flex: 1;
    margin-left: calc(5.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-news__text {
        margin-left: 0;
        font-size: calc(1.4 * 1rem);
    }
}

.home-news__text a {
    color: #0599d9;
}

.home-news .component-more {
    margin-top: calc(0.8 * 1rem);
    padding-right: calc(3 * 1rem);
    text-align: right;
}

@media screen and (max-width: 768px) {
    .home-news .component-more {
        padding-right: calc(2 * 1rem);
    }
}

.home-banner {
    padding: calc(3.5 * 1rem) 0 calc(13.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-banner {
        padding: calc(3.5 * 1rem) 0 calc(2.5 * 1rem);
    }
}

.home-banner .swiper {
    position: relative;
    overflow: hidden;
    padding: 0 calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-banner .swiper {
        padding: 0;
    }
}

.home-banner .swiper-wrapper {
    display: flex;
}

.home-banner .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
}

.home-banner .swiper-button {
    position: absolute;
    top: 50%;
    left: 0;
    width: calc(4 * 1rem);
    height: calc(4 * 1rem);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.95);
    border: 1px solid #0599d9;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    z-index: 100;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.home-banner .swiper-button::after {
    content: "";
    width: calc(0.8 * 1rem);
    height: calc(0.8 * 1rem);
    border-left: 2px solid #0599d9;
    border-bottom: 2px solid #0599d9;
    transform: rotate(45deg);
}

.home-banner .swiper-button-next {
    left: auto;
    right: 0;
}

.home-banner .swiper-button-next::after {
    transform: rotate(-135deg);
}

@media (hover: hover) and (pointer: fine) {
    .home-banner .swiper-button:hover {
        background-color: #0599d9;
        border-color: #0599d9;
        transform: scale(1.1);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }
    .home-banner .swiper-button:hover::after {
        border-color: #fff;
    }
}

@media (hover: none) {
    .home-banner .swiper-button:active {
        background-color: #0599d9;
        border-color: #0599d9;
        transform: scale(1.1);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }
    .home-banner .swiper-button:active::after {
        border-color: #fff;
    }
}

.home-banner .swiper-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(1 * 1rem);
    margin-top: calc(3 * 1rem);
}

.home-banner .swiper-pagination-bullet {
    width: calc(0.8 * 1rem);
    height: calc(0.8 * 1rem);
    background-color: #0599d9;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.home-banner .swiper-pagination-bullet-active {
    background-color: #0599d9;
    transform: scale(1.2);
}

@media (hover: hover) and (pointer: fine) {
    .home-banner .swiper-pagination-bullet:hover {
        background-color: #0599d9;
    }
}

@media (hover: none) {
    .home-banner .swiper-pagination-bullet:active {
        background-color: #0599d9;
    }
}

.home-banner .home-banner-list__item {
    width: 100%;
}

.home-banner .home-banner-list__item a {
    display: block;
    overflow: hidden;
    border-radius: calc(0.8 * 1rem);
    transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.home-banner .home-banner-list__item a img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
}

@media (hover: hover) and (pointer: fine) {
    .home-banner .home-banner-list__item a:hover {
        transform: scale(1.02);
    }
}

@media (hover: none) {
    .home-banner .home-banner-list__item a:active {
        transform: scale(1.02);
    }
}

.home-solution-foot {
    padding: calc(11 * 1rem) 0 calc(9.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution-foot {
        padding: calc(5 * 1rem) 0 calc(5.5 * 1rem);
    }
}

.home-solution-foot__text {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 1.6666666667;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .home-solution-foot__text {
        font-size: calc(1.6 * 1rem);
        text-align: left;
    }
}

.home-solution-foot-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(2 * 1rem) calc(10.5 * 1rem);
    margin-top: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution-foot-list {
        flex-direction: column;
        margin-top: calc(2.5 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .home-solution-foot-list__item {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .home-solution-foot-list__item:nth-of-type(n+2) {
        padding-top: calc(2 * 1rem);
        border-top: 1px dotted rgba(5, 153, 217, 0.3);
    }
}

@media screen and (max-width: 768px) {
    .home-solution-foot-list__item a {
        display: flex;
        align-items: center;
        gap: calc(2 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .home-solution-foot-list__item a:hover .home-solution-foot-list__heading {
        color: #0599d9;
    }
}

@media (hover: none) {
    .home-solution-foot-list__item a:active .home-solution-foot-list__heading {
        color: #0599d9;
    }
}

.home-solution-foot-list__image {
    width: calc(22 * 1rem);
    height: calc(22 * 1rem);
    border-radius: 100%;
    overflow: hidden;
    border: calc(0.5 * 1rem) solid #f4f5f8;
}

@media screen and (max-width: 768px) {
    .home-solution-foot-list__image {
        width: calc(10 * 1rem);
        height: calc(10 * 1rem);
        border-width: calc(0.2 * 1rem);
    }
}

.home-solution-foot-list__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.home-solution-foot-list__heading {
    margin-top: calc(1 * 1rem);
    font-weight: 700;
    font-size: calc(1.8 * 1rem);
    text-align: center;
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .home-solution-foot-list__heading {
        flex: 1;
        margin-top: 0;
        font-weight: 700;
        font-size: calc(2 * 1rem);
        text-align: left;
    }
}

.home-solution-foot-list__heading em {
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution-foot-list__heading em {
        font-size: calc(1.8 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .home-solution {
        padding-top: calc(5 * 1rem);
    }
}

.home-solution__inner {
    position: relative;
    z-index: 1;
    padding: calc(13 * 1rem) 0 calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution__inner {
        padding: calc(4 * 1rem) calc(2 * 1rem) calc(7 * 1rem);
    }
}

.home-solution__background {
    position: absolute;
    top: 0;
    left: 0;
    width: calc((100vw - calc(172 * var(--remV))) / 2 + calc(172 * var(--remV)));
    height: 100%;
    z-index: -1;
    overflow: hidden;
    border-radius: 0 calc(28 * 1rem) 0 0;
    background-color: #0599d9;
}

@media screen and (max-width: 768px) {
    .home-solution__background {
        width: 100%;
        border-radius: 0;
    }
}

.home-solution__background svg {
    position: absolute;
    top: calc(-33 * 1rem);
    right: calc(-29.5 * 1rem);
    width: calc(258.4 * 1rem);
    height: calc(175.5 * 1rem);
    display: block;
    max-width: calc(258.4 * 1rem);
}

.home-solution__background svg path {
    stroke-dasharray: 4000;
    stroke-dashoffset: 4000;
    fill: none;
    stroke: #7bc9eb;
    stroke-width: calc(0.05 * 1rem);
    transition: stroke-dashoffset 5s cubic-bezier(0.23, 1, 0.32, 1);
}

.home-solution__background svg path:nth-of-type(1),
.home-solution__background svg path:nth-of-type(4) {
    stroke-dashoffset: -4000;
}

.home-solution__background svg path:nth-of-type(1) {
    transition-duration: 2.8s;
}

.home-solution__background svg path:nth-of-type(4) {
    transition-duration: 3.5s;
}

.home-solution.is-inview .home-solution__background svg path {
    stroke-dashoffset: 0;
}

.home-solution .component-heading {
    width: 100%;
    max-width: calc(144 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

.home-solution .home-solution-head,
.home-solution .home-solution-body,
.home-solution .home-solution-body-list,
.home-solution .home-solution-box,
.home-solution .home-solution-box-list {
    display: flex;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-head,
    .home-solution .home-solution-body,
    .home-solution .home-solution-body-list,
    .home-solution .home-solution-box,
    .home-solution .home-solution-box-list {
        flex-direction: column;
    }
}

.home-solution .home-solution-head,
.home-solution .home-solution-body {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
}

.home-solution .home-solution-head a,
.home-solution .home-solution-body a {
    display: block;
    position: relative;
    overflow: hidden;
    color: #fff;
}

.home-solution .home-solution-head__content,
.home-solution .home-solution-body__content {
    position: relative;
}

.home-solution .home-solution-head__content::before,
.home-solution .home-solution-body__content::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    border-radius: calc(3 * 1rem) calc(3 * 1rem) calc(3 * 1rem) 0;
    background: linear-gradient(transparent, rgba(51, 51, 51, 0.5));
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-head__content::before,
    .home-solution .home-solution-body__content::before {
        border-radius: calc(2 * 1rem) calc(2 * 1rem) calc(2 * 1rem) 0;
        background: linear-gradient(to left, transparent, rgba(51, 51, 51, 0.5));
    }
}

.home-solution .home-solution-head {
    margin-top: calc(9 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-head {
        margin-top: calc(3 * 1rem);
    }
}

.home-solution .home-solution-head__image {
    width: calc(62 * 1rem);
    height: calc(34.1 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-head__image {
        width: 100%;
        height: auto;
    }
}

.home-solution .home-solution-head__heading {
    position: absolute;
    bottom: calc(3 * 1rem);
    left: calc(4 * 1rem);
    z-index: 1;
    font-weight: 700;
    font-size: calc(3.6 * 1rem);
    line-height: 1.1;
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-head__heading {
        bottom: 50%;
        left: calc(2 * 1rem);
        translate: 0 50%;
        font-size: calc(3 * 1rem);
    }
}

.home-solution .home-solution-head__heading small {
    font-size: calc(2.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-head__heading small {
        font-size: calc(2.4 * 1rem);
    }
}

.home-solution .home-solution-head .component-button-more {
    position: absolute;
    right: calc(4 * 1rem);
    bottom: calc(4 * 1rem);
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-head .component-button-more {
        right: calc(1 * 1rem);
        bottom: calc(1 * 1rem);
    }
}

.home-solution .home-solution-head__text {
    margin-top: calc(2 * 1rem);
    padding: 0 calc(6 * 1rem);
    color: #fff;
    font-weight: 500;
    font-size: calc(1.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-head__text {
        margin-top: calc(1 * 1rem);
        padding: 0;
        font-size: calc(1.4 * 1rem);
    }
}

.home-solution .home-solution-body {
    align-items: center;
    margin-top: calc(7 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body {
        align-items: flex-start;
        gap: calc(2.8 * 1rem);
        margin-top: calc(5.8 * 1rem);
        text-align: left;
    }
}

.home-solution .home-solution-body__heading {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1;
    height: 100%;
    height: calc(16.6 * 1rem);
    padding-left: calc(6 * 1rem);
    color: #fff;
    font-weight: 700;
    font-size: calc(3.2 * 1rem);
    line-height: 1.1;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body__heading {
        flex-direction: row;
        justify-content: flex-start;
        font-size: calc(2.4 * 1rem);
        padding-left: 0;
    }
}

.home-solution .home-solution-body__heading small {
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list {
        gap: calc(2 * 1rem);
        width: 100%;
    }
}

.home-solution .home-solution-body .home-solution-body-list__item {
    width: calc(30 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list__item {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list__item:nth-of-type(n+2) {
        padding-top: calc(2 * 1rem);
        border-top: 1px dotted rgba(255, 255, 255, 0.3);
    }
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list__item a {
        display: flex;
        gap: calc(2 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list__item a::before {
        display: none;
    }
}

.home-solution .home-solution-body .home-solution-body-list__image {
    width: calc(30 * 1rem);
    height: calc(16.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list__image {
        width: calc(14 * 1rem);
        height: calc(10 * 1rem);
    }
}

.home-solution .home-solution-body .home-solution-body-list__image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.home-solution .home-solution-body .home-solution-body-list__content {
    display: flex;
    align-items: center;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    padding: 0 calc(1.5 * 1rem) calc(1.5 * 1rem) calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list__content {
        flex: 1;
        align-items: flex-start;
        position: relative;
        padding: calc(1.5 * 1rem) 0 0;
    }
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list__content .component-button-more {
        position: absolute;
        right: calc(1.2 * 1rem);
        bottom: 0;
    }
}

.home-solution .home-solution-body .home-solution-body-list__content--blank::after {
    display: block;
    width: calc(3 * 1rem);
    height: calc(3 * 1rem);
    content: "";
    background-color: #fff;
    -webkit-mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
    mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list__content--blank::after {
        width: calc(2 * 1rem);
        height: calc(2 * 1rem);
    }
}

.home-solution .home-solution-body .home-solution-body-list__content--blank .component-arrow__target {
    opacity: 0;
}

.home-solution .home-solution-body .home-solution-body-list__heading {
    flex: 1;
    width: 100%;
    color: #fff;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 1.2;
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-body .home-solution-body-list__heading {
        font-size: calc(2.2 * 1rem);
    }
}

.home-solution .home-solution-box {
    width: 100%;
    max-width: calc(138 * 1rem);
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(7 * 1rem);
    padding: calc(4 * 1rem) calc(5 * 1rem);
    border-radius: calc(3 * 1rem);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-box {
        gap: calc(2 * 1rem);
        margin-top: calc(5 * 1rem);
        padding: calc(3 * 1rem) calc(2 * 1rem);
        border-radius: calc(1 * 1rem);
    }
}

.home-solution .home-solution-box__heading {
    display: flex;
    align-items: center;
    gap: calc(1.2 * 1rem);
    color: #0599d9;
    font-weight: 700;
    font-size: calc(4 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
    letter-spacing: 0.05em;
}

.home-solution .home-solution-box__heading::before,
.home-solution .home-solution-box__heading::after {
    display: block;
    width: calc(2.3 * 1rem);
    height: calc(3.4 * 1rem);
    content: "";
    opacity: 0.4;
    background: url("/assets/img/home/deco_heading.svg") no-repeat center/contain;
}

.home-solution .home-solution-box__heading::before {
    margin-top: calc(-1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-box__heading::before {
        rotate: 24deg;
        margin-top: calc(-5.4 * 1rem);
        margin-right: calc(-1 * 1rem);
    }
}

.home-solution .home-solution-box__heading::after {
    margin-bottom: calc(-1.4 * 1rem);
    rotate: 180deg;
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-box__heading::after {
        rotate: 204deg;
        margin-bottom: calc(-2.4 * 1rem);
        margin-left: calc(-1 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-box .home-solution-box-list {
        gap: calc(1.5 * 1rem);
    }
}

.home-solution .home-solution-box .home-solution-box-list__item {
    width: calc(30 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-box .home-solution-box-list__item {
        display: flex;
        align-items: center;
        gap: calc(1.5 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-box .home-solution-box-list__item:nth-of-type(n+2) {
        padding-top: calc(1.5 * 1rem);
        border-top: 1px dotted rgba(5, 153, 217, 0.3);
    }
}

.home-solution .home-solution-box .home-solution-box-list__item a {
    position: relative;
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-box .home-solution-box-list__image {
        width: calc(14 * 1rem);
        height: calc(10 * 1rem);
    }
}

.home-solution .home-solution-box .home-solution-box-list__image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.home-solution .home-solution-box .home-solution-box-list__text {
    margin-top: calc(1.6 * 1rem);
    color: #0599d9;
    font-weight: 500;
    line-height: 1.5625;
}

@media screen and (max-width: 768px) {
    .home-solution .home-solution-box .home-solution-box-list__text {
        flex: 1;
        margin-top: 0;
    }
}

.home-solution .home-solution-box .home-solution-box-list__content {
    position: absolute;
    right: calc(1.5 * 1rem);
    bottom: calc(2.5 * 1rem);
}

.home-case {
    margin-block-end: calc(10 * 1rem);
}

.home-case__image {
    position: relative;
    width: 100%;
}

.home-case__image::after {
    display: block;
    width: calc((100vw - 172 * var(--remV)) / 2 + 172 * var(--remV));
    height: calc(12 * var(--remV));
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 0 calc(10 * 1rem) 0 0;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .home-case__image::after {
        display: none;
    }
}

.home-case .home-case-head {
    width: 100%;
    max-width: calc(144 * 1rem);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    gap: calc(3 * 1rem) calc(5.5 * 1rem);
    padding-right: calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-case .home-case-head {
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-end;
        padding-top: calc(5 * 1rem);
        padding-right: 0;
    }
}

.home-case .home-case-head .home-case-tab {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: calc(0.6 * 1rem);
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-case .home-case-head .home-case-tab {
        order: 1;
        margin-top: 0;
        padding-left: calc(2 * 1rem);
    }
}

.home-case .home-case-head .home-case-tab__item button {
    display: flex;
    align-items: center;
    height: calc(2.6 * 1rem);
    padding: 0 calc(1 * 1rem) calc(0.2 * 1rem) calc(1 * 1rem);
    background-color: #ddd;
    font-size: calc(1.4 * 1rem);
    transition: background-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (hover: hover) and (pointer: fine) {
    .home-case .home-case-head .home-case-tab__item button:hover {
        background-color: #0599d9;
        color: #fff;
    }
}

@media (hover: none) {
    .home-case .home-case-head .home-case-tab__item button:active {
        background-color: #0599d9;
        color: #fff;
    }
}

.home-case .home-case-head .home-case-tab__item button.is-clicked {
    background-color: #0599d9;
    color: #fff;
    pointer-events: none;
}

.home-case .component-case-index {
    margin-top: calc(5 * 1rem);
}

.home-case .home-case-foot {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(9 * 1rem);
}

.home-case .home-case-foot__heading {
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    text-align: center;
}

.home-case .home-case-foot .home-case-logo {
    display: flex;
    flex-wrap: wrap;
    gap: calc(7.6 * 1rem) calc(3.4 * 1rem);
    margin-top: calc(5.1 * 1rem);
}

.home-case .home-case-foot .home-case-logo__item {
    width: calc(18.5 * 1rem);
}

.home-case .component-button {
    margin-top: calc(8 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .home-case .component-button {
        margin-top: calc(4.5 * 1rem);
    }
}

.home-nav .home-nav-list {
    display: flex;
}

@media screen and (max-width: 768px) {
    .home-nav .home-nav-list {
        flex-direction: column;
        gap: 1px;
    }
}

.home-nav .home-nav-list__item {
    width: calc(0.3333333333 * 100vw);
    height: calc(0.1875 * 100vw);
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .home-nav .home-nav-list__item {
        width: 100%;
        height: calc(21.1 * 1rem);
    }
}

.home-nav .home-nav-list__item a {
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.home-nav .home-nav-list__item a::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    opacity: 0.6;
    background-color: #0599d9;
    transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

@media (hover: hover) and (pointer: fine) {
    .home-nav .home-nav-list__item a:hover::before {
        opacity: 0.8;
    }
    .home-nav .home-nav-list__item a:hover img {
        scale: 1.1;
    }
}

@media (hover: none) {
    .home-nav .home-nav-list__item a:active::before {
        opacity: 0.8;
    }
    .home-nav .home-nav-list__item a:active img {
        scale: 1.1;
    }
}

.home-nav .home-nav-list__image {
    width: 100%;
    height: 100%;
}

.home-nav .home-nav-list__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: -1;
    transition: scale 1s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: scale;
}

.home-nav .home-nav-list__heading {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    text-align: center;
    color: #fff;
    font-weight: 700;
    font-size: calc(3.6 * 1rem);
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .home-nav .home-nav-list__heading {
        font-size: calc(2.4 * 1rem);
        justify-content: flex-start;
        left: calc(3 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .home-nav .home-nav-list .component-button-more {
        position: absolute;
        top: 0;
        right: calc(2 * 1rem);
        bottom: 0;
        display: flex;
        align-items: center;
        z-index: 1;
    }
}

.home-knowledge {
    padding-block: calc(10 * 1rem);
}

.home-knowledge .component-heading {
    display: flex;
    align-items: center;
    gap: calc(0.4 * 1rem);
    margin-block-end: calc(6 * 1rem);
}

.home-knowledge .component-heading::before {
    position: unset;
}

.home-knowledge .component-heading__en,
.home-knowledge .component-heading__ja {
    padding-left: 0;
}

.home-knowledge-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(3.2 * 1rem);
    margin-block-end: calc(6.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-knowledge-list {
        gap: calc(2.4 * 1rem);
        flex-direction: column;
        padding-inline: calc(0.8 * 1rem);
    }
}

.home-knowledge-list__heading {
    font-size: calc(3.2 * 1rem);
    text-align: center;
    line-height: 1;
    margin-block-end: calc(1.6 * 1rem);
}

.home-knowledge-list__heading-small {
    font-size: calc(1.2 * 1rem);
}

.home-knowledge-list__text {
    text-align: center;
    font-size: calc(1.6 * 1rem);
}

.home-knowledge-list .component-image-link__item {
    border-radius: calc(2 * 1rem);
    overflow: hidden;
    font-weight: bold;
}

.home-knowledge-list .component-image-link__content {
    display: block;
}

@media screen and (max-width: 768px) {
    .home-knowledge-list .component-image-link__image {
        height: auto;
    }
}

.home-knowledge-list .component-button a {
    height: calc(6 * 1rem);
    border-radius: calc(4 * 1rem);
}

.home-hataraku .home-section__inner {
    width: 100%;
    max-width: calc(144 * 1rem);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    gap: calc(7 * 1rem) calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-hataraku .home-section__inner {
        flex-direction: column;
    }
}

.home-hataraku__content {
    position: relative;
    z-index: 1;
    width: calc(50 * var(--remV));
    padding-top: calc(8 * 1rem);
}

@media screen and (max-width: 1920px) {
    .home-hataraku__content {
        width: calc(50 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .home-hataraku__content {
        width: 100%;
        padding-top: calc(5 * 1rem);
    }
}

.home-hataraku__content::before {
    display: block;
    width: calc((100vw - calc(24 * var(--remV))) / 2 + calc(44 * var(--remV)));
    height: calc(100% - calc(2 * 1rem));
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    border-radius: 0 calc(10 * 1rem) 0 0;
    background-color: #0599d9;
}

@media screen and (max-width: 768px) {
    .home-hataraku__content::before {
        width: calc(36.5 * 1rem);
        height: calc(38.6 * 1rem);
        border-radius: 0 calc(7 * 1rem) 0 0;
    }
}

.home-hataraku__head {
    display: flex;
    align-items: center;
}

.home-hataraku__head::after {
    display: block;
    width: calc(2.1 * 1rem);
    height: calc(2.1 * 1rem);
    content: "";
    background: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .home-hataraku__head::after {
        margin-top: calc(1.2 * 1rem);
    }
}

.home-hataraku__logo {
    width: calc(10 * 1rem);
    margin-right: calc(1.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-hataraku__logo {
        width: calc(6 * 1rem);
    }
}

.home-hataraku__heading {
    color: #fff;
    line-height: 1;
    margin-right: calc(1.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-hataraku__heading {
        margin-right: calc(0.6 * 1rem);
    }
}

.home-hataraku__heading-ja {
    display: block;
    padding-right: calc(0.5 * 1rem);
    font-weight: 500;
    font-size: calc(1.2 * 1rem);
    letter-spacing: 0.2em;
    text-align: right;
}

.home-hataraku__heading-en {
    display: block;
    margin-top: calc(-0.5 * 1rem);
    font-weight: 700;
    font-size: calc(6.4 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
}

@media screen and (max-width: 768px) {
    .home-hataraku__heading-en {
        font-size: calc(4 * 1rem);
    }
}

.home-hataraku__text {
    margin-top: calc(1.5 * 1rem);
    color: #fff;
    font-weight: 700;
    font-size: calc(1.8 * 1rem);
    line-height: 2.2222222222;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .home-hataraku__text {
        font-size: calc(1.5 * 1rem);
    }
}

.home-hataraku__illust {
    width: calc(39 * 1rem);
    margin-top: calc(4.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-hataraku__illust {
        width: 100%;
        max-width: calc(20.8 * 1rem);
        margin-left: auto;
        margin-right: auto;
        margin-top: calc(1.5 * 1rem);
    }
}

.home-hataraku .home-hataraku-list {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-hataraku .home-hataraku-list {
        flex-direction: row;
        overflow: auto;
        width: 100%;
        padding: 0 calc(1 * 1rem) calc(1 * 1rem) calc(1 * 1rem);
    }
}

.home-hataraku .home-hataraku-list__item a {
    display: flex;
    gap: calc(2.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-hataraku .home-hataraku-list__item a {
        flex-direction: column;
        gap: calc(1.6 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .home-hataraku .home-hataraku-list__item a:hover .home-hataraku-list__heading {
        color: #0599d9;
    }
    .home-hataraku .home-hataraku-list__item a:hover .component-more span::before {
        translate: 50% 0;
    }
}

@media (hover: none) {
    .home-hataraku .home-hataraku-list__item a:active .home-hataraku-list__heading {
        color: #0599d9;
    }
    .home-hataraku .home-hataraku-list__item a:active .component-more span::before {
        translate: 50% 0;
    }
}

.home-hataraku .home-hataraku-list__image {
    overflow: hidden;
    width: calc(29 * 1rem);
    border-radius: calc(1 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-hataraku .home-hataraku-list__image {
        width: calc(31.8 * 1rem);
    }
}

.home-hataraku .home-hataraku-list__content {
    flex: 1;
}

.home-hataraku .home-hataraku-list__data {
    display: flex;
    align-items: center;
    gap: calc(3 * 1rem);
}

.home-hataraku .home-hataraku-list__category {
    display: flex;
    align-items: center;
    height: calc(2.6 * 1rem);
    padding: 0 calc(1.2 * 1rem) calc(0.1 * 1rem) calc(1.2 * 1rem);
    border: calc(0.2 * 1rem) solid #0599d9;
    border-radius: calc(1.3 * 1rem);
    color: #0599d9;
    font-weight: 500;
    font-size: calc(1.2 * 1rem);
}

.home-hataraku .home-hataraku-list__date {
    display: flex;
    align-items: center;
    gap: calc(0.8 * 1rem);
    position: relative;
    padding-bottom: calc(0.2 * 1rem);
    color: #999;
    font-weight: 500;
    font-size: calc(1.4 * 1rem);
    letter-spacing: 0.1em;
}

.home-hataraku .home-hataraku-list__date::before {
    display: block;
    width: calc(1.7 * 1rem);
    height: calc(1.7 * 1rem);
    content: "";
    background: url("/assets/img/common/icn_date.svg") no-repeat center/contain;
}

.home-hataraku .home-hataraku-list__heading {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin-top: calc(0.8 * 1rem);
    font-weight: 500;
    font-size: calc(1.8 * 1rem);
    line-height: 1.6666666667;
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .home-hataraku .home-hataraku-list__heading {
        font-size: calc(1.6 * 1rem);
        line-height: 1.5;
    }
}

.home-hataraku .home-hataraku-list .component-more {
    margin-top: calc(1.4 * 1rem);
    text-align: right;
}

@media screen and (max-width: 768px) {
    .home-hataraku .home-hataraku-list .component-more {
        margin-top: calc(0.8 * 1rem);
    }
}

.home-office {
    padding: calc(10 * 1rem) 0 calc(10.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-office {
        padding: calc(5 * 1rem) 0;
    }
}

.home-office .home-office-list {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    gap: calc(2 * 1rem) calc(4 * 1rem);
    margin-top: calc(4.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-office .home-office-list {
        flex-direction: column;
        margin-top: calc(3 * 1rem);
    }
}

.home-office .home-office-list__item {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .home-office .home-office-list__item {
        display: flex;
        align-items: center;
        gap: calc(2 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .home-office .home-office-list__item:not(:first-of-type) {
        padding-top: calc(2 * 1rem);
        border-top: 1px dotted rgba(5, 153, 217, 0.3);
    }
}

@media screen and (max-width: 768px) {
    .home-office .home-office-list__item a {
        display: flex;
        align-items: center;
        gap: calc(2 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .home-office .home-office-list__item a:hover .home-office-list__heading {
        color: #0599d9;
    }
}

@media (hover: none) {
    .home-office .home-office-list__item a:active .home-office-list__heading {
        color: #0599d9;
    }
}

.home-office .home-office-list__image {
    width: calc(29 * 1rem);
    height: calc(18 * 1rem);
    overflow: hidden;
    border-radius: calc(1 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-office .home-office-list__image {
        width: calc(15 * 1rem);
        height: calc(9.3 * 1rem);
        border-radius: calc(0.4 * 1rem);
    }
}

.home-office .home-office-list__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.home-office .home-office-list__content {
    display: flex;
    gap: calc(0.6 * 1rem) calc(2 * 1rem);
    margin-top: calc(1.4 * 1rem);
    padding-right: calc(1 * 1rem);
    padding-left: calc(0.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .home-office .home-office-list__content {
        flex: 1;
        flex-direction: column;
        justify-content: center;
        margin-top: 0;
    }
}

.home-office .home-office-list__heading {
    flex: 1;
    font-weight: 500;
    font-size: calc(2.4 * 1rem);
    letter-spacing: 0.05em;
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .home-office .home-office-list__heading {
        font-size: calc(2 * 1rem);
    }
}

.home-office .component-button {
    margin-top: calc(6 * 1rem);
    text-align: center;
}

.tour-about__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(4 * 1rem);
    line-height: 1.5;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .tour-about__heading {
        font-size: calc(2.2 * 1rem);
        text-align: left;
    }
}

@media screen and (min-width: 769px) {
    .tour-about__text {
        text-align: center;
    }
}

.tour-about .tour-about-list {
    display: flex;
    justify-content: center;
    gap: calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .tour-about .tour-about-list {
        gap: calc(2.5 * 1rem);
    }
}

.tour-about .tour-about-list__item {
    width: calc(51.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .tour-about .tour-about-list__item {
        width: 100%;
    }
}

.tour-point .tour-point-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: calc(5 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .tour-point .tour-point-list {
        gap: calc(2.5 * 1rem) 0;
    }
}

.tour-point .tour-point-list__item {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 25%;
}

@media screen and (max-width: 768px) {
    .tour-point .tour-point-list__item {
        width: 50%;
    }
}

@media screen and (max-width: 768px) {
    .tour-point .tour-point-list__item::before,
    .tour-point .tour-point-list__item::after {
        scale: 0.5;
        margin: calc(-6 * 1rem);
    }
}

.tour-point .tour-point-list__item::before {
    display: block;
    content: "";
    width: calc(24 * 1rem);
    height: calc(24 * 1rem);
    border-radius: 100%;
    background: no-repeat #fff;
}

.tour-point .tour-point-list__item:nth-of-type(1)::before {
    background-image: url("/assets/img/tour/icn_point01.svg");
    background-position: center;
    background-size: calc(9.2 * 1rem);
}

.tour-point .tour-point-list__item:nth-of-type(2) {
    width: 25.1%;
}

@media screen and (max-width: 768px) {
    .tour-point .tour-point-list__item:nth-of-type(2) {
        width: 50%;
    }
}

.tour-point .tour-point-list__item:nth-of-type(2)::before {
    background-image: url("/assets/img/tour/icn_point02.svg");
    background-position: center calc(5.6 * 1rem);
    background-size: calc(13.5 * 1rem) calc(11.1 * 1rem);
}

.tour-point .tour-point-list__item:nth-of-type(3) {
    position: relative;
}

.tour-point .tour-point-list__item:nth-of-type(3)::before {
    background-image: url("/assets/img/tour/icn_point03-01.svg");
    background-position: center;
    background-size: calc(10.2 * 1rem);
}

.tour-point .tour-point-list__item:nth-of-type(3)::after {
    display: block;
    width: calc(3.4 * 1rem);
    height: calc(2.8 * 1rem);
    content: "";
    position: absolute;
    top: calc(6 * 1rem);
    left: calc(21 * 1rem);
    opacity: 0.5;
    background: url("/assets/img/tour/icn_point03-02.svg") no-repeat center/contain;
}

.tour-point .tour-point-list__item:nth-of-type(4) {
    position: relative;
}

.tour-point .tour-point-list__item:nth-of-type(4)::before {
    background-image: url("/assets/img/tour/icn_point04-01.svg");
    background-position: calc(10.2 * 1rem) calc(5.6 * 1rem);
    background-size: calc(6.2 * 1rem) calc(13.3 * 1rem);
}

.tour-point .tour-point-list__item:nth-of-type(4)::after {
    display: block;
    width: calc(6.7 * 1rem);
    height: calc(6.8 * 1rem);
    content: "";
    position: absolute;
    top: calc(11.2 * 1rem);
    left: calc(11.4 * 1rem);
    background: url("/assets/img/tour/icn_point04-02.svg") no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .tour-point .tour-point-list__item:nth-of-type(4)::after {
        top: calc(10 * 1rem);
        left: calc(10.4 * 1rem);
    }
}

.tour-point .tour-point-list__item:nth-of-type(5)::before {
    background-image: url("/assets/img/tour/icn_point05.svg");
    background-position: center;
    background-size: calc(10.3 * 1rem);
}

.tour-point .tour-point-list__item:nth-of-type(6)::before {
    background-image: url("/assets/img/tour/icn_point06.svg");
    background-position: center;
    background-size: calc(12.6 * 1rem) calc(7.6 * 1rem);
}

.tour-point .tour-point-list__item:nth-of-type(7)::before {
    background-image: url("/assets/img/tour/icn_point07.svg");
    background-position: center;
    background-size: calc(11.2 * 1rem) calc(9.7 * 1rem);
}

.tour-point .tour-point-list__text {
    color: #fff;
    font-weight: 700;
    font-size: calc(1.8 * 1rem);
    line-height: 1.5555555556;
    letter-spacing: 0.05em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .tour-point .tour-point-list__text {
        font-size: calc(0.99 * 1rem);
    }
}

.tour-flow .tour-flow-list {
    display: flex;
    gap: calc(2.75 * 1rem) calc(5.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .tour-flow .tour-flow-list {
        flex-direction: column;
    }
}

.tour-flow .tour-flow-list__item {
    flex: 1;
    overflow: hidden;
    border-radius: calc(2 * 1rem);
    background-color: #fff;
}

.tour-flow .tour-flow-list__image {
    position: relative;
}

.tour-flow .tour-flow-list__image figcaption {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(11.6 * 1rem);
    height: calc(11.6 * 1rem);
    border-radius: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    translate: -45% -45%;
    padding-right: calc(1.4 * 1rem);
    padding-bottom: calc(1.8 * 1rem);
    background-color: #0599d9;
    color: #fff;
    font-weight: 700;
    font-size: calc(3 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
    line-height: 1;
    letter-spacing: 0.05em;
}

.tour-flow .tour-flow-list__content {
    padding: calc(3 * 1rem) calc(4 * 1rem) calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .tour-flow .tour-flow-list__content {
        padding: calc(2 * 1rem);
    }
}

.tour-flow .tour-flow-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .tour-flow .tour-flow-list__heading {
        font-size: calc(2.04 * 1rem);
    }
}

.tour-office .tour-office-list {
    display: flex;
    flex-direction: column;
    gap: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .tour-office .tour-office-list {
        gap: calc(3 * 1rem);
    }
}

.tour-office .tour-office-list__item {
    display: flex;
    gap: calc(5.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .tour-office .tour-office-list__item {
        flex-direction: column;
        gap: calc(2.6 * 1rem);
    }
}

.tour-office .tour-office-list__image {
    width: calc(58 * 1rem);
}

@media screen and (max-width: 768px) {
    .tour-office .tour-office-list__image {
        width: 100%;
    }
}

.tour-office .tour-office-list__content {
    flex: 1;
}

.tour-office .tour-office-list__heading {
    font-weight: 700;
    font-size: calc(3 * 1rem);
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .tour-office .tour-office-list__heading {
        font-size: calc(2.55 * 1rem);
    }
}

.tour-office .tour-office-list .tour-office-list-sub {
    display: flex;
    flex-direction: column;
}

.tour-office .tour-office-list .tour-office-list-sub__item {
    display: flex;
    gap: calc(1 * 1rem);
}

.tour-office .tour-office-list .tour-office-list-sub__heading {
    flex-shrink: 0;
    width: calc(9 * 1rem);
}

@media screen and (max-width: 768px) {
    .tour-office .tour-office-list .tour-office-list-sub__heading {
        width: calc(6.75 * 1rem);
    }
}

.company-index__text {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-index__text {
        font-size: calc(2 * 1rem);
    }
}

.company-index .company-index-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(7.5 * 1rem) calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-index .company-index-list {
        flex-direction: column;
        gap: calc(2.5 * 1rem);
    }
}

.company-index .company-index-list__item {
    width: calc(33.3333% - calc(4 * 1rem));
}

@media screen and (max-width: 768px) {
    .company-index .company-index-list__item {
        width: 100%;
    }
}

@media (hover: hover) and (pointer: fine) {
    .company-index .company-index-list__item a:hover .company-index-list__heading {
        color: #0599d9;
    }
}

@media (hover: none) {
    .company-index .company-index-list__item a:active .company-index-list__heading {
        color: #0599d9;
    }
}

.company-index .company-index-list__image {
    width: calc(38.6 * 1rem);
    height: calc(23 * 1rem);
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .company-index .company-index-list__image {
        width: 100%;
    }
}

.company-index .company-index-list__image .component-arrow__target {
    position: absolute;
    right: calc(2 * 1rem);
    bottom: calc(2 * 1rem);
}

.company-index .company-index-list__heading {
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    transition: color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.company-index .company-index-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(1.6 * 1rem) calc(2 * 1rem);
    padding: calc(3.6 * 1rem) calc(3.6 * 1rem) calc(3.6 * 1rem) calc(6 * 1rem);
    background: url("/assets/img/common/bg_line.webp") no-repeat center/contain #eefaff;
}

@media screen and (max-width: 768px) {
    .company-index .company-index-box {
        flex-direction: column;
        padding: calc(3 * 1rem);
        background: #eefaff;
    }
}

.company-index .company-index-box__heading a {
    display: flex;
    align-items: center;
    gap: calc(1.6 * 1rem);
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-index .company-index-box__heading a {
        font-size: calc(2.04 * 1rem);
        line-height: 1.3;
    }
}

@media (hover: hover) and (pointer: fine) {
    .company-index .company-index-box__heading a:hover {
        color: #0599d9;
    }
}

@media (hover: none) {
    .company-index .company-index-box__heading a:active {
        color: #0599d9;
    }
}

.company-index .company-index-box__heading a .component-arrow__target {
    flex-shrink: 0;
}

.company-index .company-index-box__text {
    padding-left: calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-index .company-index-box__text {
        padding-left: calc(6 * 1rem);
    }
}

.company-index .company-index-box__image {
    display: flex;
    gap: calc(1 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-index .company-index-box__image {
        flex-direction: column;
        width: 100%;
    }
}

.company-index .company-index-box__image-item {
    width: calc(29.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-index .company-index-box__image-item {
        width: 100%;
    }
}

.company-movie {
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .company-movie .component-section-heading-large {
        align-items: flex-start;
        font-size: calc(3 * 1rem);
        text-align: left;
    }
}

.company-movie__text {
    color: #fff;
    font-size: calc(1.8 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .company-movie__text {
        text-align: left;
    }
}

.company-movie__content iframe {
    width: 100%;
    max-width: calc(100 * 1rem);
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 16/9;
}

@media screen and (max-width: 768px) {
    .company-movie__content iframe {
        width: calc(31.6 * 1rem);
        height: calc(17.7 * 1rem);
    }
}

.company-message .section__inner {
    display: flex;
    gap: calc(3 * 1rem) calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-message .section__inner {
        flex-direction: column;
    }
}

.company-message__image {
    width: calc(40 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-message__image {
        width: 100%;
        max-width: calc(20 * 1rem);
        margin-left: auto;
        margin-right: auto;
    }
}

.company-message__content {
    flex: 1;
}

.company-message__content>*:first-child {
    margin-top: 0 !important;
}

.company-message__text {
    margin-top: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-message__text {
        margin-top: calc(1.5 * 1rem);
    }
}

.company-message__name {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: calc(2 * 1rem);
    font-size: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-message__name {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: calc(1 * 1rem);
    }
}

.company-message__name em {
    font-weight: 700;
}

.company-message__name img {
    width: calc(12.8 * 1rem);
}

.company-message__name:has(em) img {
    margin-top: calc(1 * 1rem);
    margin-left: auto;
}

.company-vision__head {
    width: 100%;
    max-width: calc(99.2 * 1rem);
    margin-left: auto;
    margin-right: auto;
    color: #0599d9;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.company-vision__head--en {
    max-width: 100%;
}

@media screen and (max-width: 768px) {
    .company-vision__head--en .company-vision__heading {
        font-size: calc(2.52 * 1rem);
    }
}

.company-vision__subheading {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(0.8 * 1rem);
    font-size: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-vision__subheading {
        flex-direction: column;
        font-size: calc(2.6 * 1rem);
        line-height: 1.2;
    }
}

.company-vision__subheading em {
    font-size: calc(4.8 * 1rem);
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .company-vision__subheading em {
        font-size: calc(2.6 * 1rem);
    }
}

.company-vision__heading {
    border-top: 1px solid #0599d9;
    font-size: calc(5.6 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .company-vision__heading {
        font-size: calc(3.64 * 1rem);
        line-height: 1.4;
    }
}

.company-vision .company-vision-list {
    display: flex;
    flex-direction: column;
    gap: calc(10 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-list {
        gap: calc(5 * 1rem);
    }
}

.company-vision .company-vision-list.component-logo-blue {
    position: relative;
}

.company-vision .company-vision-list.component-logo-blue::before {
    position: absolute;
    top: 0;
    left: calc(50% - calc(1.5 * 1rem));
}

.company-vision .company-vision-list__item {
    display: flex;
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-list__item {
        flex-direction: column;
    }
}

.company-vision .company-vision-list__head {
    width: calc(30 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-list__head {
        width: auto;
    }
}

.company-vision .company-vision-list__heading {
    color: #0599d9;
    font-weight: 700;
}

.company-vision .company-vision-list__heading-en {
    display: block;
    font-size: calc(5.6 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
    line-height: 1.4;
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-list__heading-en {
        font-size: calc(3.64 * 1rem);
        line-height: 1;
    }
}

.company-vision .company-vision-list__heading-ja {
    letter-spacing: 0.1em;
}

.company-vision .company-vision-list__body {
    flex: 1;
}

.company-vision .company-vision-list__subheading {
    font-weight: 700;
    font-size: calc(4.8 * 1rem);
    line-height: 1.3;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-list__subheading {
        font-size: calc(3.12 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-list--en .company-vision-list__heading-en {
        font-size: calc(2.52 * 1rem);
    }
}

.company-vision .company-vision-list--en .company-vision-list__subheading {
    padding-left: 1em;
    text-indent: -1em;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-list--en .company-vision-list__subheading {
        font-size: calc(1.68 * 1rem);
    }
}

.company-vision .company-vision-box {
    position: relative;
    padding: calc(2.5 * 1rem) calc(14.4 * 1rem) calc(5 * 1rem) calc(14.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-box {
        padding: calc(2 * 1rem);
    }
}

.company-vision .company-vision-box__heading,
.company-vision .company-vision-box__text {
    color: #0599d9;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
}

.company-vision .company-vision-box__heading {
    font-size: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-box__heading {
        font-size: calc(2.6 * 1rem);
        line-height: 1.4;
    }
}

.company-vision .company-vision-box__text {
    border-top: 1px solid #0599d9;
}

.company-vision .company-vision-box .company-vision-box-list {
    display: flex;
    flex-direction: column;
    gap: calc(0.8 * 1rem);
    counter-reset: vision 0;
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-box .company-vision-box-list__item {
        display: flex;
        gap: calc(1 * 1rem);
    }
}

.company-vision .company-vision-box .company-vision-box-list__item::before {
    margin-right: calc(3.6 * 1rem);
    color: #0599d9;
    font-weight: 700;
    font-family: "Figtree", Yakuhanjp, sans-serif;
    counter-increment: vision;
    content: "0" counter(vision);
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-box .company-vision-box-list__item::before {
        flex-shrink: 0;
        margin-right: 0;
    }
}

.company-vision .company-vision-box .company-vision-box-list__item em {
    font-weight: 700;
}

.company-vision .company-vision-box__image {
    position: absolute;
    right: calc(7.2 * 1rem);
    bottom: calc(4.6 * 1rem);
    width: calc(22.8 * 1rem);
    height: calc(22.8 * 1rem);
    border-radius: 100%;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .company-vision .company-vision-box__image {
        position: static;
        margin: calc(2 * 1rem) auto 0;
    }
}

.company-outline .component-more {
    text-align: right;
}

.company-outline__content {
    display: flex;
    gap: calc(7 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-outline__content {
        flex-direction: column;
    }
}

.company-outline .company-outline-list {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .company-outline .company-outline-list:nth-of-type(n+2) {
        margin-top: calc(1.6 * 1rem);
        padding-top: calc(1.6 * 1rem);
        border-top: 1px solid #0599d9;
    }
}

.company-outline .company-outline-list__item {
    display: flex;
    gap: 0 calc(1 * 1rem);
    padding-left: calc(0.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-outline .company-outline-list__item {
        flex-direction: column;
    }
}

.company-outline .company-outline-list__item:nth-of-type(n+2) {
    margin-top: calc(1.6 * 1rem);
    padding-top: calc(1.6 * 1rem);
    border-top: 1px solid #0599d9;
}

.company-outline .company-outline-list__heading {
    width: calc(15 * 1rem);
    color: #0599d9;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .company-outline .company-outline-list__heading {
        width: 100%;
    }
}

.company-outline .company-outline-list__text {
    flex: 1;
}

.company-office .company-office-list {
    display: flex;
    flex-direction: column;
    gap: calc(7.5 * 1rem);
}

.company-office .company-office-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3.2 * 1rem);
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .company-office .company-office-list__heading {
        font-size: calc(2.72 * 1rem);
    }
}

.company-office .company-office-list .company-office-sub {
    display: flex;
    flex-wrap: wrap;
    gap: 0 calc(7 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-office .company-office-list .company-office-sub {
        flex-direction: column;
        gap: 0;
    }
}

.company-office .company-office-list .company-office-sub__item {
    width: calc(50% - calc(3.5 * 1rem));
}

@media screen and (max-width: 768px) {
    .company-office .company-office-list .company-office-sub__item {
        width: 100%;
    }
}

@media screen and (min-width: 769px) {
    .company-office .company-office-list .company-office-sub__item:nth-of-type(n+3) {
        margin-top: calc(4 * 1rem);
        padding-top: calc(2 * 1rem);
        border-top: 1px solid #0599d9;
    }
}

@media screen and (max-width: 768px) {
    .company-office .company-office-list .company-office-sub__item:nth-of-type(n+2) {
        margin-top: calc(2 * 1rem);
        padding-top: calc(2 * 1rem);
        border-top: 1px solid #0599d9;
    }
}

.company-office .company-office-list .company-office-sub__heading {
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-office .company-office-list .company-office-sub__heading {
        font-size: calc(2.04 * 1rem);
    }
}

.company-history .company-history-list {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .company-history .company-history-list {
        display: flex;
        flex-direction: column;
        gap: calc(0.8 * 1rem);
    }
}

.company-history .company-history-list::before {
    display: block;
    width: calc(0.2 * 1rem);
    height: calc(100% - calc(2 * 1rem));
    content: "";
    position: absolute;
    top: calc(0.8 * 1rem);
    left: calc(11 * 1rem);
    translate: -50% 0;
    background: linear-gradient(#0599d9 70%, #eefaff);
}

@media screen and (max-width: 768px) {
    .company-history .company-history-list::before {
        left: 0;
    }
}

.company-history .company-history-list__item {
    display: flex;
}

@media screen and (max-width: 768px) {
    .company-history .company-history-list__item {
        flex-wrap: wrap;
    }
}

.company-history .company-history-list__item:not(:last-of-type) .company-history-list__heading,
.company-history .company-history-list__item:not(:last-of-type) .company-history-list__month,
.company-history .company-history-list__item:not(:last-of-type) .company-history-list__text {
    padding-bottom: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-history .company-history-list__item:not(:last-of-type) .company-history-list__heading,
    .company-history .company-history-list__item:not(:last-of-type) .company-history-list__month,
    .company-history .company-history-list__item:not(:last-of-type) .company-history-list__text {
        padding-bottom: 0;
    }
}

.company-history .company-history-list__heading,
.company-history .company-history-list__month {
    color: #0599d9;
    font-weight: 700;
}

.company-history .company-history-list__heading {
    position: relative;
    width: calc(11 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-history .company-history-list__heading {
        width: auto;
        padding-left: calc(2 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .company-history .company-history-list__heading:empty {
        display: none;
    }
}

.company-history .company-history-list__heading:not(:empty)::after {
    display: block;
    width: calc(1 * 1rem);
    height: calc(1 * 1rem);
    content: "";
    position: absolute;
    top: calc(0.8 * 1rem);
    right: 0;
    translate: 50% 0;
    border-radius: 50%;
    background-color: #0599d9;
}

@media screen and (max-width: 768px) {
    .company-history .company-history-list__heading:not(:empty)::after {
        top: calc(0.5 * 1rem);
        right: auto;
        left: 0;
        translate: -50% 0;
    }
}

.company-history .company-history-list__month {
    width: calc(9 * 1rem);
    text-align: right;
}

@media screen and (max-width: 768px) {
    .company-history .company-history-list__month {
        width: auto;
        padding-left: calc(2 * 1rem);
    }
}

.company-history .company-history-list__text {
    padding-left: calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-history .company-history-list__text {
        width: 100%;
        padding-left: calc(2 * 1rem);
    }
}

.company-privacy .company-privacy-list {
    display: flex;
    flex-direction: column;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-privacy .company-privacy-list {
        gap: calc(2 * 1rem);
    }
}

.company-privacy .company-privacy-list__heading {
    padding-bottom: calc(1.8 * 1rem);
    border-bottom: 1px solid #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .company-privacy .company-privacy-list__heading {
        padding-bottom: calc(0.9 * 1rem);
        font-size: calc(2.04 * 1rem);
    }
}

.company-privacy .company-privacy-list__content>*:first-of-type {
    margin-top: 0 !important;
}

.company-privacy .company-privacy-list__text {
    margin-top: calc(2.5 * 1rem);
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .company-privacy .company-privacy-list__text {
        margin-top: calc(1.25 * 1rem);
    }
}

.company-privacy .company-privacy-list__text a {
    color: #0599d9;
}

@media (hover: hover) and (pointer: fine) {
    .company-privacy .company-privacy-list__text a:hover {
        text-decoration: underline;
    }
}

@media (hover: none) {
    .company-privacy .company-privacy-list__text a:active {
        text-decoration: underline;
    }
}

.company-privacy .company-privacy-list__text--indent {
    padding-left: calc(2 * 1rem);
}

.company-privacy .company-privacy-list__text--unindent {
    padding-left: calc(2 * 1rem);
    text-indent: calc(-2 * 1rem);
}

.company-privacy__note {
    line-height: 1.5;
    text-align: right;
}

.sustainability-header {
    overflow: hidden;
}

.sustainability-header__inner {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    gap: calc(4 * 1rem) calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-header__inner {
        flex-direction: column;
    }
}

.sustainability-header__image {
    position: relative;
    z-index: 1;
    width: calc(56.7 * 1rem);
    padding: calc(4 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .sustainability-header__image {
        width: 100%;
        padding-right: calc(2 * 1rem);
        padding: calc(2 * 1rem) calc(2.8 * 1rem) calc(2 * 1rem) 0;
    }
}

.sustainability-header__image::before {
    display: block;
    width: calc(100vw - calc(160 * 1rem) + calc(19 * 1rem));
    height: 100%;
    content: "";
    position: absolute;
    top: 50%;
    right: calc(37.8 * 1rem);
    z-index: -1;
    translate: 0 -50%;
    background-color: #0599d9;
}

@media screen and (max-width: 1920px) {
    .sustainability-header__image::before {
        width: calc(calc(96 * 1rem) + calc(19 * 1rem));
    }
}

@media screen and (max-width: 768px) {
    .sustainability-header__image::before {
        left: 0;
        width: 33.33%;
    }
}

.sustainability-header__content {
    flex: 1;
}

@media screen and (max-width: 768px) {
    .sustainability-header__content {
        padding-right: calc(2.8 * 1rem);
        padding-left: calc(2.8 * 1rem);
    }
}

.sustainability-header__text {
    margin-top: calc(3 * 1rem);
    line-height: 1.875;
}

.sustainability-header__text:nth-of-type(n+2) {
    margin-top: calc(2 * 1rem);
}

.sustainability-header__signature {
    font-size: calc(1.4 * 1rem);
    text-align: right;
}

.sustainability-header__signature img {
    width: calc(20.3 * 1rem);
    margin-left: auto;
}

@media screen and (min-width: 769px) {
    .sustainability-header--reverse .sustainability-header__inner {
        flex-direction: row-reverse;
        align-items: flex-start;
    }
}

.sustainability-header--reverse .sustainability-header__image::before {
    left: calc(37.8 * 1rem);
    right: auto;
}

@media screen and (max-width: 768px) {
    .sustainability-header--reverse .sustainability-header__image::before {
        left: 0;
        width: 33.33%;
    }
}

.sustainability-materiality .component-section-heading-small,
.sustainability-health .component-section-heading-small {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: calc(1.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-materiality .component-section-heading-small,
    .sustainability-health .component-section-heading-small {
        gap: calc(0.9 * 1rem);
    }
}

.sustainability-materiality .component-section-heading-small span,
.sustainability-health .component-section-heading-small span {
    font-size: calc(4 * 1rem);
    font-weight: 700;
    font-family: "Figtree", Yakuhanjp, sans-serif;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .sustainability-materiality .component-section-heading-small span,
    .sustainability-health .component-section-heading-small span {
        font-size: calc(3 * 1rem);
    }
}

.sustainability-materiality {
    overflow: hidden;
}

.sustainability-materiality__item {
    display: flex;
    gap: calc(2 * 1rem) calc(4 * 1rem);
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .sustainability-materiality__item {
        flex-direction: column;
    }
}

.sustainability-materiality__item::before,
.sustainability-materiality__item::after {
    display: block;
    content: "";
    background-color: rgba(5, 153, 217, 0.2);
    z-index: -1;
}

.sustainability-materiality__item::before {
    width: calc(25.4 * 1rem);
    height: calc(25.4 * 1rem);
    border-radius: 100%;
}

.sustainability-materiality__item::after {
    width: calc(16 * 1rem);
    height: calc(16 * 1rem);
    border-radius: 100%;
}

.sustainability-materiality__item--01,
.sustainability-materiality__item--03 {
    flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
    .sustainability-materiality__item--01,
    .sustainability-materiality__item--03 {
        flex-direction: column;
    }
}

.sustainability-materiality__item--01 {
    align-items: center;
}

.sustainability-materiality__item--01::before {
    position: absolute;
    top: calc(-16 * 1rem);
    right: calc(-13.6 * 1rem);
}

.sustainability-materiality__item--01::after {
    position: absolute;
    top: calc(-4 * 1rem);
    right: calc(-24.2 * 1rem);
}

.sustainability-materiality__item--02::before {
    position: absolute;
    top: calc(-7.6 * 1rem);
    left: calc(-14.4 * 1rem);
}

.sustainability-materiality__item--02::after {
    position: absolute;
    top: calc(-11 * 1rem);
    left: calc(-24.6 * 1rem);
}

.sustainability-materiality__item--03::before {
    position: absolute;
    top: calc(-9.2 * 1rem);
    right: calc(-13.8 * 1rem);
}

.sustainability-materiality__item--03::after {
    position: absolute;
    top: calc(-15 * 1rem);
    right: calc(-23 * 1rem);
}

.sustainability-materiality__image {
    width: calc(56.7 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-materiality__image {
        width: 100%;
    }
}

.sustainability-materiality__content {
    flex: 1;
}

.sustainability-materiality .sustainability-materiality-list {
    display: flex;
    flex-direction: column;
    gap: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-materiality .sustainability-materiality-list {
        gap: calc(1.5 * 1rem);
    }
}

.sustainability-materiality .sustainability-materiality-list__item {
    display: flex;
    gap: calc(2 * 1rem);
    line-height: 1.875;
}

@media screen and (max-width: 768px) {
    .sustainability-materiality .sustainability-materiality-list__item {
        gap: calc(1 * 1rem);
    }
}

.sustainability-materiality .sustainability-materiality-list__item::before {
    display: block;
    width: calc(2.2 * 1rem);
    height: calc(1.9 * 1rem);
    content: "";
    flex-shrink: 0;
    margin-top: calc(0.8 * 1rem);
    background: url("/assets/img/common/icn_check.svg") no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .sustainability-materiality .sustainability-materiality-list__item::before {
        display: block;
        width: calc(1.65 * 1rem);
        height: calc(1.425 * 1rem);
        content: "";
        margin-top: calc(0.4 * 1rem);
    }
}

.sustainability-materiality .sustainability-materiality-list__item a {
    color: #0599d9;
    text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
    .sustainability-materiality .sustainability-materiality-list__item a:hover {
        text-decoration: none;
    }
}

@media (hover: none) {
    .sustainability-materiality .sustainability-materiality-list__item a:active {
        text-decoration: none;
    }
}

.sustainability-materiality .sustainability-materiality-box {
    display: flex;
    flex-wrap: wrap;
    gap: calc(0.6 * 1rem);
    padding: calc(1 * 1rem) calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-materiality .sustainability-materiality-box {
        flex-direction: column;
        gap: calc(0.3 * 1rem);
    }
}

.sustainability-materiality .sustainability-materiality-box__item {
    width: calc(50% - calc(1.5 * 1rem));
}

@media screen and (max-width: 768px) {
    .sustainability-materiality .sustainability-materiality-box__item {
        width: 100%;
    }
}

.sustainability-health .section__inner {
    padding: calc(6 * 1rem) calc(9 * 1rem) calc(10 * 1rem);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .sustainability-health .section__inner {
        padding: calc(2 * 1rem);
    }
}

.sustainability-health__heading {
    width: 100%;
    max-width: calc(28.2 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    .sustainability-health__heading {
        max-width: calc(23.97 * 1rem);
    }
}

.sustainability-health__figure {
    width: 100%;
    overflow: auto;
    padding-bottom: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-health__figure img {
        width: calc(76.8 * 1rem);
        max-width: calc(76.8 * 1rem);
    }
}

.sustainability-health__content {
    flex: 1;
}

.sustainability-health__subheading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .sustainability-health__subheading {
        font-size: calc(2.04 * 1rem);
    }
}

.sustainability-health__text {
    line-height: 1.875;
}

.sustainability-health__text a {
    color: #0599d9;
    text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
    .sustainability-health__text a:hover {
        text-decoration: none;
    }
}

@media (hover: none) {
    .sustainability-health__text a:active {
        text-decoration: none;
    }
}

.sustainability-health .sustainability-health-about,
.sustainability-health .sustainability-health-case,
.sustainability-health .sustainability-health-row {
    display: flex;
}

@media screen and (max-width: 768px) {
    .sustainability-health .sustainability-health-about,
    .sustainability-health .sustainability-health-case,
    .sustainability-health .sustainability-health-row {
        flex-direction: column;
    }
}

.sustainability-health .sustainability-health-about__item,
.sustainability-health .sustainability-health-case__item,
.sustainability-health .sustainability-health-row__item {
    display: flex;
}

@media screen and (max-width: 768px) {
    .sustainability-health .sustainability-health-about__item,
    .sustainability-health .sustainability-health-case__item,
    .sustainability-health .sustainability-health-row__item {
        flex-direction: column;
    }
}

.sustainability-health .sustainability-health-about {
    flex-direction: column;
    gap: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-health .sustainability-health-about {
        gap: calc(3 * 1rem);
    }
}

.sustainability-health .sustainability-health-about__item {
    gap: calc(1.6 * 1rem);
}

.sustainability-health .sustainability-health-about__image {
    width: calc(36.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-health .sustainability-health-about__image {
        width: 100%;
        max-width: calc(20 * 1rem);
        margin-left: auto;
        margin-right: auto;
    }
}

.sustainability-health .sustainability-health-case {
    flex-direction: column;
    gap: calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-health .sustainability-health-case {
        gap: calc(4 * 1rem);
    }
}

.sustainability-health .sustainability-health-case__item {
    gap: calc(5.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-health .sustainability-health-case__item {
        gap: calc(2.7 * 1rem);
    }
}

.sustainability-health .sustainability-health-case__item:nth-of-type(odd) {
    flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
    .sustainability-health .sustainability-health-case__item:nth-of-type(odd) {
        flex-direction: column;
    }
}

.sustainability-health .sustainability-health-case__image {
    width: calc(44.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .sustainability-health .sustainability-health-case__image {
        width: 100%;
    }
}

.sustainability-health .sustainability-health-case__image:has(:nth-of-type(n+2)) {
    position: relative;
    z-index: 1;
    height: calc(25 * 1rem);
}

.sustainability-health .sustainability-health-case__image:has(:nth-of-type(n+2)) img {
    width: calc(25.4 * 1rem);
}

.sustainability-health .sustainability-health-case__image:has(:nth-of-type(n+2)) img:nth-of-type(2) {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.sustainability-health .sustainability-health-row {
    gap: calc(5 * 1rem);
}

.sustainability-health .sustainability-health-row__item {
    flex-direction: column;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .sustainability-sdgs__figure {
        overflow: auto;
        padding-bottom: calc(2 * 1rem);
    }
}

.sustainability-sdgs__figure img {
    width: 100%;
    max-width: calc(127.8 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    .sustainability-sdgs__figure img {
        width: calc(75 * 1rem);
        max-width: calc(75 * 1rem);
    }
}

.company-satelliteoffice__logo {
    width: 100%;
    max-width: calc(35 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    .company-satelliteoffice__logo {
        max-width: calc(17.5 * 1rem);
    }
}

.company-satelliteoffice__text {
    font-size: calc(2.2 * 1rem);
    line-height: 2.1818181818;
    letter-spacing: 0.05em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .company-satelliteoffice__text {
        font-size: calc(1.43 * 1rem);
    }
}

.company-satelliteoffice__text:nth-of-type(n+2) {
    margin-top: calc(4.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .company-satelliteoffice__text:nth-of-type(n+2) {
        margin-top: calc(2.25 * 1rem);
    }
}

.solution-facility__note {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 2.5;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .solution-facility__note {
        font-size: calc(1.8 * 1rem);
        line-height: 2;
        text-align: left;
    }
}

.solution-facility__image {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
}

.solution-facility .solution-facility-list {
    display: flex;
    flex-direction: column;
    gap: calc(7 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-facility .solution-facility-list {
        gap: calc(3.5 * 1rem);
    }
}

.solution-facility .solution-facility-list__item {
    display: flex;
    align-items: center;
    gap: calc(5.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-facility .solution-facility-list__item {
        flex-direction: column;
        gap: calc(2.9 * 1rem);
    }
}

.solution-facility .solution-facility-list__image {
    width: calc(62 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-facility .solution-facility-list__image {
        width: 100%;
    }
}

.solution-facility .solution-facility-list__content {
    flex: 1;
}

.solution-facility .solution-facility-list__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.solution-facility .solution-facility-list__head.solution-facility-list__head--blank-link {
    justify-content: start;
    gap: calc(1.8 * 1rem);
    color: #0599d9;
}

.solution-facility .solution-facility-list__head.solution-facility-list__head--blank-link::after {
    display: block;
    width: calc(2.1 * 1rem);
    height: calc(2.1 * 1rem);
    content: "";
    margin-top: calc(1.2 * 1rem);
    background-color: #0599d9;
    -webkit-mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
    mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
}

.solution-facility .solution-facility-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(4 * 1rem);
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .solution-facility .solution-facility-list__heading {
        font-size: calc(2.6 * 1rem);
    }
}

.solution-education-banner .solution-education-banner-list {
    display: flex;
    justify-content: center;
    gap: calc(6.8 * 1rem);
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .solution-education-banner .solution-education-banner-list {
        gap: calc(1.7 * 1rem);
    }
}

.solution-education-banner .solution-education-banner-list__item {
    width: calc(50.7 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-banner .solution-education-banner-list__item {
        width: 100%;
    }
}

.solution-education-reason .solution-education-reason-list {
    display: flex;
    flex-direction: column;
    gap: calc(7 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-reason .solution-education-reason-list {
        gap: calc(3.5 * 1rem);
    }
}

.solution-education-reason .solution-education-reason-list__item {
    display: flex;
    align-items: center;
    gap: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-reason .solution-education-reason-list__item {
        flex-direction: column;
        gap: calc(3 * 1rem);
    }
}

@media screen and (min-width: 769px) {
    .solution-education-reason .solution-education-reason-list__item:nth-of-type(even) {
        flex-direction: row-reverse;
    }
}

.solution-education-reason .solution-education-reason-list__image {
    width: calc(62 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-reason .solution-education-reason-list__image {
        width: 100%;
        max-width: calc(20 * 1rem);
        margin-left: auto;
        margin-right: auto;
    }
}

.solution-education-reason .solution-education-reason-list__content {
    flex: 1;
}

.solution-education-reason .solution-education-reason-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 2.0833333333;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .solution-education-reason .solution-education-reason-list__heading {
        font-size: calc(1.8 * 1rem);
        line-height: 1.4;
    }
}

.solution-education-reason .solution-education-reason-list__text {
    line-height: 1.875;
}

.solution-education-reason .solution-education-reason-list__text:nth-of-type(1) {
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-reason .solution-education-reason-list__text:nth-of-type(1) {
        margin-top: calc(1 * 1rem);
    }
}

.solution-education-reason .solution-education-reason-list__text:nth-of-type(n+2) {
    margin-top: calc(2.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-reason .solution-education-reason-list__text:nth-of-type(n+2) {
        margin-top: calc(1.25 * 1rem);
    }
}

.solution-education-about .solution-education-about-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(6 * 1rem) calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-about .solution-education-about-list {
        flex-direction: column;
    }
}

.solution-education-about .solution-education-about-list__item {
    width: calc(50% - calc(2 * 1rem));
}

@media screen and (max-width: 768px) {
    .solution-education-about .solution-education-about-list__item {
        width: 100%;
    }
}

.solution-education-about .solution-education-about-list__image {
    position: relative;
    width: calc(62 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-about .solution-education-about-list__image {
        width: 100%;
    }
}

.solution-education-about .solution-education-about-list__image figcaption {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    height: calc(4 * 1rem);
    padding: 0 calc(2.2 * 1rem) calc(0.1 * 1rem) calc(2.2 * 1rem);
    color: #fff;
    background-color: rgba(5, 153, 217, 0.8);
    letter-spacing: 0.05em;
}

.solution-education-about .solution-education-about-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    letter-spacing: 0.05em;
}

.solution-education-about .solution-education-about-list__text em {
    color: #0599d9;
}

.solution-education-feature__heading {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: calc(4 * 1rem);
}

.solution-education-feature .solution-education-feature-list {
    display: flex;
    justify-content: center;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-feature .solution-education-feature-list {
        flex-direction: column;
    }
}

.solution-education-feature .solution-education-feature-list__item {
    width: 100%;
}

.solution-education-feature .solution-education-feature-list__item:nth-of-type(1) .solution-education-feature-list__image img {
    width: calc(15.3 * 1rem);
}

.solution-education-feature .solution-education-feature-list__item:nth-of-type(2) .solution-education-feature-list__image img {
    width: calc(14.6 * 1rem);
}

.solution-education-feature .solution-education-feature-list__item:nth-of-type(3) .solution-education-feature-list__image img {
    width: calc(16.7 * 1rem);
}

.solution-education-feature .solution-education-feature-list__text {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(10.6 * 1rem);
    position: relative;
    margin-bottom: calc(2 * 1rem);
    text-align: center;
}

.solution-education-feature .solution-education-feature-list__text::after {
    display: block;
    width: calc(3 * 1rem);
    height: calc(2 * 1rem);
    content: "";
    position: absolute;
    bottom: calc(-2 * 1rem);
    left: calc(50% - calc(1.25 * 1rem));
    background: url("/assets/img/solution/education/arw_round.svg") no-repeat center/contain;
}

.solution-education-feature .solution-education-feature-list__image {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: calc(19.3 * 1rem);
}

.solution-education-feature .solution-education-problem {
    position: relative;
    margin-bottom: calc(7.5 * 1rem);
}

.solution-education-feature .solution-education-problem::after {
    display: block;
    width: calc(13.5 * 1rem);
    height: calc(7.5 * 1rem);
    content: "";
    position: absolute;
    bottom: calc(-7.5 * 1rem);
    left: calc(50% - calc(6.75 * 1rem));
    background-color: #eefaff;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.solution-education-feature .solution-education-problem .solution-education-problem-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: calc(7.5 * 1rem) calc(4.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-feature .solution-education-problem .solution-education-problem-list {
        flex-direction: column;
        gap: calc(3.75 * 1rem);
    }
}

.solution-education-feature .solution-education-problem .solution-education-problem-list__item {
    position: relative;
    width: calc(39.5 * 1rem);
    padding: calc(3 * 1rem) calc(3.8 * 1rem);
    border-radius: calc(0.5 * 1rem);
    box-shadow: calc(0.8 * 1rem) calc(0.8 * 1rem) calc(2 * 1rem) rgba(68, 76, 85, 0.1);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .solution-education-feature .solution-education-problem .solution-education-problem-list__item {
        width: 100%;
    }
}

.solution-education-feature .solution-education-problem .solution-education-problem-list__item::before {
    display: block;
    width: calc(1.2 * 1rem);
    height: calc(3 * 1rem);
    content: "";
    position: absolute;
    top: calc(-1.5 * 1rem);
    left: calc(50% - 0.6 * 1rem);
    background-color: rgba(5, 153, 217, 0.5);
}

.solution-education-feature .solution-education-problem .solution-education-problem-list__item:nth-of-type(1)::before,
.solution-education-feature .solution-education-problem .solution-education-problem-list__item:nth-of-type(5)::before {
    rotate: 45deg;
}

.solution-education-feature .solution-education-problem .solution-education-problem-list__item:nth-of-type(2)::before,
.solution-education-feature .solution-education-problem .solution-education-problem-list__item:nth-of-type(4)::before,
.solution-education-feature .solution-education-problem .solution-education-problem-list__item:nth-of-type(7)::before {
    rotate: -30deg;
}

.solution-education-feature .solution-education-problem .solution-education-problem-list__item:nth-of-type(3)::before,
.solution-education-feature .solution-education-problem .solution-education-problem-list__item:nth-of-type(8)::before {
    rotate: -65deg;
}

.solution-education-feature .solution-education-problem .solution-education-problem-list__item:nth-of-type(6)::before {
    rotate: -45deg;
}

.solution-education-feature .solution-education-problem .solution-education-problem-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    letter-spacing: 0.05em;
    text-align: center;
}

.solution-education-feature .solution-education-problem .solution-education-problem-list__text {
    line-height: 1.875;
    letter-spacing: 0.05em;
}

.solution-education-feature__image {
    display: flex;
    gap: calc(9 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-feature__image {
        flex-direction: column;
        gap: calc(4.5 * 1rem);
        height: auto;
    }
}

.solution-education-feature__image-item {
    width: calc((100% - 9rem) / 2);
}

@media screen and (max-width: 768px) {
    .solution-education-feature__image-item {
        width: 100%;
    }
}

.solution-education-feature__text {
    width: 100%;
    max-width: calc(66 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

.solution-education-feature__note {
    color: #0599d9;
    font-size: calc(2.1 * 1rem);
    letter-spacing: 0.05em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .solution-education-feature__note {
        font-size: calc(1.575 * 1rem);
        text-align: left;
    }
}

.solution-education-case .solution-education-case-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(6.8 * 1rem) 0;
}

.solution-education-case .solution-education-case-list__item {
    position: relative;
    width: 50%;
    padding-bottom: calc(3.8 * 1rem);
    padding-left: calc(5.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-case .solution-education-case-list__item {
        width: 100%;
    }
}

.solution-education-case .solution-education-case-list__image {
    width: calc(56 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-education-case .solution-education-case-list__image {
        width: 100%;
    }
}

.solution-education-case .solution-education-case-list__button a {
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(44.2 * 1rem);
    height: calc(8.4 * 1rem);
    padding-right: calc(4.2 * 1rem);
    border: calc(0.2 * 1rem) solid #0599d9;
    background-color: #fff;
    text-align: center;
    transition: color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .solution-education-case .solution-education-case-list__button a {
        width: 100%;
        padding: 0 calc(2.1 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .solution-education-case .solution-education-case-list__button a:hover {
        color: #0599d9;
    }
}

@media (hover: none) {
    .solution-education-case .solution-education-case-list__button a:active {
        color: #0599d9;
    }
}

.solution-education-case .solution-education-case-list__button a span:nth-of-type(1) {
    flex: 1;
}

.solution-healthcare-strength__heading {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-strength__heading {
        gap: calc(2 * 1rem);
    }
}

.solution-healthcare-strength .solution-healthcare-strength-list {
    width: 100%;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    gap: calc(6.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-strength .solution-healthcare-strength-list {
        gap: calc(3.25 * 1rem);
    }
}

.solution-healthcare-strength .solution-healthcare-strength-list__item {
    display: flex;
    align-items: center;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-strength .solution-healthcare-strength-list__item {
        flex-direction: column;
        gap: calc(0.4 * 1rem);
    }
}

.solution-healthcare-strength .solution-healthcare-strength-list__number {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    width: calc(12.5 * 1rem);
    color: #0599d9;
    font-weight: 700;
    font-size: calc(8 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .solution-healthcare-strength .solution-healthcare-strength-list__number {
        width: auto;
        font-size: calc(5.2 * 1rem);
    }
}

.solution-healthcare-strength .solution-healthcare-strength-list__number::after {
    display: block;
    width: calc(0.5 * 1rem);
    height: calc(5.8 * 1rem);
    content: "";
    border-radius: calc(0.5 * 1rem);
    background-color: #d7f0fa;
}

@media screen and (max-width: 768px) {
    .solution-healthcare-strength .solution-healthcare-strength-list__number::after {
        display: none;
    }
}

.solution-healthcare-strength .solution-healthcare-strength-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .solution-healthcare-strength .solution-healthcare-strength-list__heading {
        font-size: calc(1.8 * 1rem);
        text-align: center;
    }
}

.solution-healthcare-strength .solution-healthcare-strength-list__text em {
    color: #0599d9;
}

.solution-healthcare-solution .solution-healthcare-solution-list {
    display: flex;
    flex-direction: column;
    gap: calc(7 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-solution .solution-healthcare-solution-list {
        gap: calc(3.5 * 1rem);
    }
}

.solution-healthcare-solution .solution-healthcare-solution-list__head {
    display: flex;
    gap: calc(5.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-solution .solution-healthcare-solution-list__head {
        flex-direction: column;
        gap: calc(1.4 * 1rem);
    }
}

.solution-healthcare-solution .solution-healthcare-solution-list__image {
    width: calc(62 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-solution .solution-healthcare-solution-list__image {
        width: 100%;
    }
}

.solution-healthcare-solution .solution-healthcare-solution-list__content {
    flex: 1;
    position: relative;
    padding-top: calc(0.5 * 1rem);
}

.solution-healthcare-solution .solution-healthcare-solution-list__body {
    background: #eefaff;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), padding 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    margin-top: calc(1.6 * 1rem);
    padding: 0 calc(12.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-solution .solution-healthcare-solution-list__body {
        padding: 0 calc(2 * 1rem);
    }
}

.solution-healthcare-solution .solution-healthcare-solution-list__body.is-clicked {
    grid-template-rows: 1fr;
    padding: calc(9.2 * 1rem) calc(12.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-solution .solution-healthcare-solution-list__body.is-clicked {
        padding: calc(2 * 1rem);
    }
}

.solution-healthcare-solution .solution-healthcare-solution-list__body-inner {
    overflow: hidden;
}

.solution-healthcare-solution .solution-healthcare-solution-list__button {
    position: absolute;
    right: 0;
    bottom: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-solution .solution-healthcare-solution-list__button {
        position: static;
    }
}

.solution-healthcare-solution .solution-healthcare-solution-list__button button {
    display: flex;
    align-items: center;
    gap: calc(2 * 1rem);
    color: #0599d9;
    font-size: calc(1.2 * 1rem);
    letter-spacing: 0.1em;
    background: none;
    transition: color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-solution .solution-healthcare-solution-list__button button {
        margin-left: auto;
    }
}

@media (hover: hover) and (pointer: fine) {
    .solution-healthcare-solution .solution-healthcare-solution-list__button button:hover span {
        background-color: #0599d9;
    }
    .solution-healthcare-solution .solution-healthcare-solution-list__button button:hover span::before,
    .solution-healthcare-solution .solution-healthcare-solution-list__button button:hover span::after {
        background-color: #fff;
    }
}

@media (hover: none) {
    .solution-healthcare-solution .solution-healthcare-solution-list__button button:active span {
        background-color: #0599d9;
    }
    .solution-healthcare-solution .solution-healthcare-solution-list__button button:active span::before,
    .solution-healthcare-solution .solution-healthcare-solution-list__button button:active span::after {
        background-color: #fff;
    }
}

.solution-healthcare-solution .solution-healthcare-solution-list__button button span {
    width: calc(5 * 1rem);
    height: calc(5 * 1rem);
    border-radius: 100%;
    position: relative;
    border: calc(0.2 * 1rem) solid #0599d9;
    background-color: #fff;
    transition: background-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1), border-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.solution-healthcare-solution .solution-healthcare-solution-list__button button span::before,
.solution-healthcare-solution .solution-healthcare-solution-list__button button span::after {
    display: block;
    width: calc(1.5 * 1rem);
    height: 1px;
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    left: calc(50% - 0.75 * 1rem);
    background-color: #0599d9;
    transition: rotate 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.solution-healthcare-solution .solution-healthcare-solution-list__button button span::after {
    rotate: 90deg;
}

.solution-healthcare-solution .solution-healthcare-solution-list__button button.is-clicked {
    color: #bfbfbf;
}

.solution-healthcare-solution .solution-healthcare-solution-list__button button.is-clicked span {
    background-color: #bfbfbf;
    border-color: #bfbfbf;
}

.solution-healthcare-solution .solution-healthcare-solution-list__button button.is-clicked span::before,
.solution-healthcare-solution .solution-healthcare-solution-list__button button.is-clicked span::after {
    background-color: #fff;
}

.solution-healthcare-solution .solution-healthcare-solution-list__button button.is-clicked span::after {
    rotate: 180deg;
}

@media (hover: hover) and (pointer: fine) {
    .solution-healthcare-solution .solution-healthcare-solution-list__button button.is-clicked:hover span {
        background-color: #666;
        border-color: #666;
    }
}

@media (hover: none) {
    .solution-healthcare-solution .solution-healthcare-solution-list__button button.is-clicked:active span {
        background-color: #666;
        border-color: #666;
    }
}

.solution-healthcare-accordion-list {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .solution-healthcare-accordion-list {
        flex-direction: column;
        gap: calc(2 * 1rem);
    }
}

.solution-healthcare-accordion-list__item {
    width: calc(45.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-accordion-list__item {
        width: 100%;
    }
}

.solution-healthcare-accordion-list__image {
    width: calc(45.4 * 1rem);
    height: calc(20.2 * 1rem);
    border-radius: calc(2 * 1rem);
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .solution-healthcare-accordion-list__image {
        width: 100%;
        height: auto;
    }
}

.solution-healthcare-accordion-list__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.solution-healthcare-accordion-list__heading {
    color: #0599d9;
    font-size: calc(3.2 * 1rem);
    line-height: 1.5625;
    font-weight: 700;
    margin-top: calc(1.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-accordion-list__heading {
        font-size: calc(2.4 * 1rem);
        line-height: 1.4;
    }
}

.solution-healthcare-accordion-list__tag {
    display: flex;
    flex-wrap: wrap;
    gap: calc(1.4 * 1rem);
    margin-top: calc(0.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-accordion-list__tag {
        gap: calc(0.7 * 1rem);
        margin-top: calc(0.25 * 1rem);
    }
}

.solution-healthcare-accordion-list__tag span {
    color: #0599d9;
    background: #fff;
    font-size: calc(1.2 * 1rem);
    line-height: 1;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    height: calc(2.6 * 1rem);
    border-radius: calc(1.3 * 1rem);
    padding: 0 calc(1.3 * 1rem) calc(0.1 * 1rem);
    border: calc(0.2 * 1rem) solid #0599d9;
}

.solution-healthcare-accordion-list__text {
    line-height: 1.875;
    margin-top: calc(1.1 * 1rem);
}

.solution-healthcare-accordion__copy {
    color: #0599d9;
    font-size: calc(2.4 * 1rem);
    line-height: 2.0833333333;
    font-weight: 700;
    text-align: center;
    margin-top: calc(7.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-accordion__copy {
        font-size: calc(1.56 * 1rem);
        line-height: 1.4;
        margin-top: calc(3.9 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .solution-healthcare-accordion .component-button a {
        width: 100%;
    }
}

.solution-healthcare-feature .solution-healthcare-feature-list {
    display: flex;
    justify-content: space-between;
    gap: calc(4 * 1rem) calc(19 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-feature .solution-healthcare-feature-list {
        flex-direction: column;
    }
}

.solution-healthcare-feature .solution-healthcare-feature-list__item {
    width: 100%;
    letter-spacing: 0.05em;
}

.solution-healthcare-feature .solution-healthcare-feature-list__image img {
    width: auto;
    height: calc(22.3 * 1rem);
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .solution-healthcare-feature .solution-healthcare-feature-list__image img {
        height: calc(11.15 * 1rem);
    }
}

.solution-healthcare-feature .solution-healthcare-feature-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .solution-healthcare-feature .solution-healthcare-feature-list__heading {
        font-size: calc(1.8 * 1rem);
    }
}

.solution-healthcare-feature .solution-healthcare-feature-list__text {
    line-height: 2;
}

.solution-healthcare-feature .solution-healthcare-feature-box {
    text-align: center;
}

.solution-healthcare-feature .solution-healthcare-feature-box__inner {
    display: inline-flex;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    gap: calc(3 * 1rem);
    padding: calc(1.2 * 1rem) calc(4.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-feature .solution-healthcare-feature-box__inner {
        flex-direction: column-reverse;
        gap: calc(1.5 * 1rem);
    }
}

.solution-healthcare-feature .solution-healthcare-feature-box__text {
    flex: 1;
    text-align: left;
}

.solution-healthcare-feature .solution-healthcare-feature-box__logo {
    width: calc(11.9 * 1rem);
}

.solution-healthcare-attempt__head {
    display: flex;
    gap: calc(2.9 * 1rem) calc(5.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-healthcare-attempt__head {
        flex-direction: column;
    }
}

.solution-healthcare-attempt__content {
    flex: 1;
}

.solution-healthcare-attempt__image {
    width: calc(43.3 * 1rem);
    height: calc(26.8 * 1rem);
    position: relative;
}

@media screen and (max-width: 768px) {
    .solution-healthcare-attempt__image {
        width: 100%;
    }
}

.solution-healthcare-attempt__image img {
    width: calc(25 * 1rem);
    border-radius: calc(1 * 1rem);
}

.solution-healthcare-attempt__image img:nth-of-type(1) {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.solution-healthcare-attempt__image img:nth-of-type(2) {
    position: absolute;
    right: 0;
    bottom: 0;
}

.solution-common__text {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 2.5;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .solution-common__text {
        font-size: calc(1.8 * 1rem);
        line-height: 2;
        text-align: left;
    }
}

@media screen and (max-width: 768px) {
    .solution-top__image {
        overflow: auto;
        padding-bottom: calc(2 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .solution-top__image img {
        width: calc(75 * 1rem);
        max-width: calc(75 * 1rem);
    }
}

.solution-top-info {
    position: relative;
}

.solution-top-info:before {
    display: block;
    width: 100%;
    height: calc(32 * 1rem);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #eefaff;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    .solution-top-info:before {
        display: none;
    }
}

.solution-top-nav {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    gap: calc(4 * 1rem);
    margin-top: calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-top-nav {
        flex-direction: column;
        margin-top: calc(2.5 * 1rem);
    }
}

.solution-top-nav a {
    display: block;
    position: relative;
    color: #fff;
}

.solution-top-nav a::before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    background: linear-gradient(transparent, rgba(51, 51, 51, 0.5));
}

@media screen and (max-width: 768px) {
    .solution-top-nav a::before {
        background: linear-gradient(to left, transparent, rgba(51, 51, 51, 0.5));
    }
}

.solution-top-nav__image {
    width: calc(62 * 1rem);
    height: calc(34.1 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-top-nav__image {
        width: 100%;
        height: auto;
    }
}

.solution-top-nav__heading {
    position: absolute;
    bottom: calc(2.6 * 1rem);
    left: calc(4 * 1rem);
    z-index: 1;
    font-weight: 700;
    font-size: calc(3.6 * 1rem);
    line-height: 1.3333333333;
    letter-spacing: 0.06em;
    display: flex;
    align-items: center;
    min-height: 2.6666666667em;
}

@media screen and (max-width: 768px) {
    .solution-top-nav__heading {
        bottom: 50%;
        left: calc(2 * 1rem);
        translate: 0 50%;
        font-size: calc(2.6 * 1rem);
    }
}

.solution-top-nav .component-button-more {
    position: absolute;
    right: calc(4 * 1rem);
    bottom: calc(3 * 1rem);
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .solution-top-nav .component-button-more {
        right: calc(1 * 1rem);
        bottom: calc(1 * 1rem);
    }
}

.solution-top-nav__text {
    margin-top: calc(2.2 * 1rem);
    padding: 0 calc(3.2 * 1rem);
    font-size: calc(1.6 * 1rem);
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .solution-top-nav__text {
        margin-top: calc(1.1 * 1rem);
        padding: 0;
        font-size: calc(1.36 * 1rem);
    }
}

.solution-top-nav--3line {
    gap: calc(4 * 1rem) calc(5.2 * 1rem);
}

.solution-top-nav--3line .solution-top-nav__image {
    width: calc(39.1 * 1rem);
    height: calc(21.7 * 1rem);
}

.solution-top-nav--3line .solution-top-nav__heading {
    position: absolute;
    bottom: calc(3.6 * 1rem);
    left: calc(4 * 1rem);
    font-size: calc(3.1 * 1rem);
    min-height: 0;
}

@media screen and (max-width: 768px) {
    .solution-top-nav--3line .solution-top-nav__heading.solution-top-nav__heading--environment {
        font-size: calc(2.3 * 1rem);
    }
}

.solution-top-nav--3line .solution-top-nav--target::after {
    content: "";
    position: absolute;
    right: calc(2 * 1rem);
    bottom: calc(4 * 1rem);
    display: block;
    width: calc(4 * 1rem);
    height: calc(4 * 1rem);
    background-color: #fff;
    -webkit-mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
    mask: url("/assets/img/common/icn_blank.svg") no-repeat center/contain;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .solution-top-nav--3line .solution-top-nav--target::after {
        position: absolute;
        right: calc(2 * 1rem);
        bottom: calc(2 * 1rem);
    }
}

.solution-top-nav--3line .component-arrow__target {
    position: absolute;
    right: calc(2 * 1rem);
    bottom: calc(2 * 1rem);
    z-index: 1;
    width: calc(6.5 * 1rem);
    height: calc(6.5 * 1rem);
    border-radius: 50%;
}

.solution-top-nav--3line .component-arrow__target::after {
    display: block;
    width: calc(1.8 * 1rem);
    height: calc(1 * 1rem);
    content: "";
}

.solution-detail-list {
    display: flex;
    flex-direction: column;
    gap: calc(11.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail-list {
        gap: calc(2 * 1rem);
    }
}

.solution-detail-list__item {
    display: flex;
    align-items: center;
    gap: calc(6.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail-list__item {
        flex-direction: column;
        gap: calc(3.2 * 1rem);
    }
}

@media screen and (min-width: 769px) {
    .solution-detail-list__item:nth-of-type(even) {
        flex-direction: row-reverse;
    }
}

.solution-detail-list__image {
    width: calc(62 * 1rem);
    height: calc(30.6 * 1rem);
    border-radius: calc(3 * 1rem) calc(3 * 1rem) calc(3 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .solution-detail-list__image {
        width: 100%;
        height: auto;
    }
}

.solution-detail-list__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.solution-detail-list__content {
    flex: 1;
}

.solution-detail-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 1.75;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .solution-detail-list__heading {
        font-size: calc(1.56 * 1rem);
    }
}

.solution-detail-list__heading strong {
    font-size: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail-list__heading strong {
        font-size: calc(2.6 * 1rem);
    }
}

.solution-detail-list__text {
    font-size: calc(1.6 * 1rem);
    line-height: 1.875;
    margin-top: calc(1.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail-list__text {
        margin-top: 0;
        font-size: calc(1.36 * 1rem);
    }
}

.solution-reason {
    display: flex;
    justify-content: center;
    gap: calc(10.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-reason {
        flex-wrap: wrap;
        gap: calc(2 * 1rem) 0;
    }
}

@media screen and (max-width: 768px) {
    .solution-reason__item {
        width: 50%;
    }
}

.solution-reason__image {
    width: calc(22 * 1rem);
    height: calc(22 * 1rem);
    border-radius: 50%;
    border: calc(0.3 * 1rem) solid #f4f5f8;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .solution-reason__image {
        width: calc(11 * 1rem);
        height: calc(11 * 1rem);
        margin: 0 auto;
    }
}

.solution-reason__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.solution-reason__heading {
    font-weight: 600;
    font-size: calc(1.8 * 1rem);
    line-height: 1.5833333333;
    letter-spacing: 0.05em;
    text-align: center;
    margin-top: calc(1.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-reason__heading {
        font-size: calc(1.35 * 1rem);
    }
}

.solution-reason__heading strong {
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-reason__heading strong {
        font-size: calc(1.8 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .solution-office-heading {
        margin-top: calc(5 * 1rem);
    }
}

.solution-office-list {
    display: flex;
    justify-content: center;
    gap: calc(3.9 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-list {
        gap: calc(1.95 * 1rem);
    }
}

.solution-office-list__image {
    width: calc(29 * 1rem);
    height: calc(18 * 1rem);
    border-radius: calc(1 * 1rem);
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .solution-office-list__image {
        width: 100%;
    }
}

.solution-office-list__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.solution-office-list__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: calc(1.4 * 1rem);
}

.solution-office-list__heading {
    font-weight: 500;
    font-size: calc(2.4 * 1rem);
    letter-spacing: 0.05em;
}

.solution-office-list__map-link a {
    display: flex;
    align-items: center;
    color: #0599d9;
    font-size: calc(1.2 * 1rem);
}

.solution-office-list__map-link a::before {
    display: block;
    width: calc(1 * 1rem);
    height: calc(1.4 * 1rem);
    content: "";
    background-color: #0599d9;
    -webkit-mask: url("/assets/img/common/icn_map.svg") no-repeat center/contain;
    mask: url("/assets/img/common/icn_map.svg") no-repeat center/contain;
    margin-right: calc(0.5 * 1rem);
}

@media (hover: hover) and (pointer: fine) {
    .solution-office-list__map-link a:hover {
        text-decoration: underline;
    }
}

@media (hover: none) {
    .solution-office-list__map-link a:active {
        text-decoration: underline;
    }
}

.solution-office-service .solution-office-service-list {
    display: flex;
    flex-direction: column;
    gap: calc(7 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-service .solution-office-service-list {
        gap: calc(3.5 * 1rem);
    }
}

.solution-office-service .solution-office-service-list__item a {
    display: flex;
    align-items: center;
    gap: calc(5.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-service .solution-office-service-list__item a {
        flex-direction: column;
        gap: calc(2.8 * 1rem);
    }
}

.solution-office-service .solution-office-service-list__image {
    width: calc(62 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-service .solution-office-service-list__image {
        width: 100%;
    }
}

.solution-office-service .solution-office-service-list__content {
    flex: 1;
    width: 100%;
}

.solution-office-service .solution-office-service-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3.2 * 1rem);
    line-height: 1.5625;
}

@media screen and (max-width: 768px) {
    .solution-office-service .solution-office-service-list__heading {
        font-size: calc(2.4 * 1rem);
    }
}

.solution-office-service .solution-office-service-list__text {
    line-height: 1.875;
}

.solution-office-consulting .solution-office-consulting-list {
    display: flex;
    flex-direction: column;
    gap: calc(14.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list {
        gap: calc(7.2 * 1rem);
    }
}

.solution-office-consulting .solution-office-consulting-list__item {
    display: flex;
    gap: calc(3 * 1rem);
    position: relative;
    z-index: 1;
    padding: calc(6 * 1rem) calc(7.4 * 1rem) calc(7 * 1rem);
    border-radius: calc(3 * 1rem) calc(3 * 1rem) calc(3 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list__item {
        flex-direction: column;
        gap: calc(1.5 * 1rem);
        padding: calc(2 * 1rem);
    }
}

.solution-office-consulting .solution-office-consulting-list__item:not(:last-of-type)::after {
    display: block;
    width: calc(1 * 1rem);
    height: calc(14.6 * 1rem);
    content: "";
    position: absolute;
    bottom: calc(-14.4 * 1rem);
    left: 50%;
    z-index: -1;
    translate: -50% 0;
    background-color: #0599d9;
}

.solution-office-consulting .solution-office-consulting-list__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(15 * 1rem);
    height: calc(15 * 1rem);
    border-radius: 100%;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list__icon {
        width: calc(7.5 * 1rem);
        height: calc(7.5 * 1rem);
        border-radius: 100%;
        margin: 0 auto;
    }
}

.solution-office-consulting .solution-office-consulting-list__icon:nth-of-type(1) img {
    width: calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list__icon img {
        width: 50%;
        height: 50%;
    }
}

.solution-office-consulting .solution-office-consulting-list__content {
    flex: 1;
}

.solution-office-consulting .solution-office-consulting-list__heading {
    display: flex;
    flex-direction: column;
    gap: calc(1.4 * 1rem);
    color: #0599d9;
    font-weight: 700;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list__heading {
        gap: calc(0.7 * 1rem);
        text-align: center;
    }
}

.solution-office-consulting .solution-office-consulting-list__heading-number {
    font-size: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list__heading-number {
        font-size: calc(1.3 * 1rem);
    }
}

.solution-office-consulting .solution-office-consulting-list__heading-text {
    font-size: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list__heading-text {
        font-size: calc(1.95 * 1rem);
    }
}

.solution-office-consulting .solution-office-consulting-list .solution-office-consulting-list-sub {
    display: flex;
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list .solution-office-consulting-list-sub {
        flex-direction: column;
    }
}

.solution-office-consulting .solution-office-consulting-list .solution-office-consulting-list-sub__item {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list .solution-office-consulting-list-sub__item {
        width: 100%;
    }
}

.solution-office-consulting .solution-office-consulting-list .solution-office-consulting-list-sub--no-wrap {
    flex-wrap: nowrap;
    gap: calc(4.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list .solution-office-consulting-list-sub--no-wrap {
        gap: 0;
    }
}

.solution-office-consulting .solution-office-consulting-list .solution-office-consulting-list-sub--no-wrap .solution-office-consulting-list-sub__item {
    width: auto;
}

.solution-office-consulting .solution-office-consulting-list__image {
    overflow: hidden;
    border-radius: calc(3 * 1rem);
    width: 100%;
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list__image {
        overflow: auto;
        border-radius: calc(1 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .solution-office-consulting .solution-office-consulting-list__image img {
        width: calc(50 * 1rem);
        max-width: calc(50 * 1rem);
    }
}

.solution-office-flow {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .solution-office-flow {
        flex-wrap: wrap;
        gap: calc(3 * 1rem) 0;
    }
}

.solution-office-flow__item {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .solution-office-flow__item {
        width: 50%;
    }
}

.solution-office-flow__item:not(:last-of-type) .solution-office-flow__content {
    position: relative;
    z-index: 1;
}

.solution-office-flow__item:not(:last-of-type) .solution-office-flow__content::after {
    display: block;
    width: 100%;
    height: calc(1 * 1rem);
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    z-index: -1;
    translate: 50% -50%;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .solution-office-flow__item:not(:last-of-type) .solution-office-flow__content::after {
        display: none;
    }
}

.solution-office-flow__item:nth-of-type(1) .solution-office-flow__icon {
    padding-left: calc(1 * 1rem);
}

.solution-office-flow__number {
    color: #fff;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    text-align: center;
}

.solution-office-flow__content {
    width: calc(19.5 * 1rem);
    height: calc(19.5 * 1rem);
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: calc(1.5 * 1rem);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .solution-office-flow__content {
        width: calc(14.625 * 1rem);
        height: calc(14.625 * 1rem);
        gap: calc(0.75 * 1rem);
    }
}

.solution-office-flow__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(10 * 1rem);
    height: calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-flow__icon {
        width: calc(7.5 * 1rem);
        height: calc(6 * 1rem);
        scale: 0.75;
    }
}

.solution-office-flow__heading {
    font-weight: 700;
}

.solution-office-flow__text {
    color: #fff;
    font-weight: 700;
    line-height: 2;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .solution-office-flow__text {
        font-size: calc(1.2 * 1rem);
    }
}

.solution-office-subject__content {
    position: relative;
}

.solution-office-subject__content .component-list-text {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
}

@media screen and (max-width: 768px) {
    .solution-office-subject__content .component-list-text {
        position: static;
    }
}

.solution-construction-contents {
    display: flex;
    flex-direction: column;
    gap: calc(27 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-construction-contents {
        gap: calc(6.75 * 1rem);
    }
}

.solution-construction-contents__item {
    display: flex;
    flex-direction: column;
    gap: calc(6.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-construction-contents__item {
        gap: calc(3.4 * 1rem);
    }
}

.solution-construction-contents__item:nth-of-type(even) .solution-construction-contents__head {
    flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
    .solution-construction-contents__item:nth-of-type(even) .solution-construction-contents__head {
        flex-direction: column;
    }
}

.solution-construction-contents__head {
    display: flex;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-construction-contents__head {
        flex-direction: column;
        gap: calc(2 * 1rem);
    }
}

.solution-construction-contents__image {
    width: calc(51 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-construction-contents__image {
        width: 100%;
    }
}

.solution-construction-contents__content {
    display: flex;
    flex: 1;
    gap: calc(0.8 * 1rem);
}

.solution-construction-contents__content-inner {
    flex: 1;
    padding-top: calc(3 * 1rem);
}

.solution-construction-contents__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(4 * 1rem);
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .solution-construction-contents__heading {
        font-size: calc(3 * 1rem);
    }
}

.solution-construction-contents__subheading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-construction-contents__subheading {
        font-size: calc(1.8 * 1rem);
    }
}

.solution-construction-contents__text {
    line-height: 1.5;
}

.solution-construction-contents .solution-construction-images {
    display: flex;
    gap: calc(5.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-construction-contents .solution-construction-images {
        flex-wrap: wrap;
        gap: calc(2 * 1rem);
    }
}

.solution-construction-contents .solution-construction-images__item {
    width: calc(25% - calc(1.3 * 1rem));
}

@media screen and (max-width: 768px) {
    .solution-construction-contents .solution-construction-images__item {
        width: calc(50% - calc(1 * 1rem));
    }
}

.solution-construction-contents .solution-construction-images__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .solution-construction-contents .solution-construction-images__heading {
        font-size: calc(1.8 * 1rem);
    }
}

.solution-construction-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-construction-list {
        flex-direction: column;
        gap: calc(3 * 1rem);
    }
}

.solution-construction-list__item {
    width: calc(33.333% - calc(4 * 1rem));
}

@media screen and (max-width: 768px) {
    .solution-construction-list__item {
        width: 100%;
    }
}

.solution-construction-list__content {
    position: relative;
}

.solution-construction-list__content-item {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    flex-direction: column;
    gap: calc(2 * 1rem);
}

.solution-construction-list__icon {
    width: calc(4.7 * 1rem);
    height: calc(4.6 * 1rem);
    display: flex;
    justify-content: center;
    align-items: center;
}

.solution-construction-list__heading {
    color: #fff;
    font-weight: 700;
    font-size: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-construction-list__heading {
        font-size: calc(1.5 * 1rem);
    }
}

.solution-construction-list__text {
    line-height: 1.875;
}

.solution-office-ict .component-section-heading-large--white {
    height: calc(20 * 1rem);
}

.solution-office-ict .component-section-heading-large--white span {
    width: 100%;
    max-width: 128rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

@media screen and (max-width: 768px) {
    .solution-office-ict .component-section-heading-large--white span.solution-office-ict-section-heading {
        padding-right: calc(2 * 1rem);
        padding-left: calc(2 * 1rem);
    }
}

.solution-office-ict .solution-office-ict-list {
    display: flex;
    flex-direction: column;
    gap: calc(5 * 1rem);
}

.solution-office-ict .solution-office-ict-list__item {
    display: flex;
    align-items: center;
    gap: calc(3.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-ict .solution-office-ict-list__item {
        flex-direction: column;
    }
}

.solution-office-ict .solution-office-ict-list__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(15 * 1rem);
    height: calc(15 * 1rem);
    border-radius: 100%;
}

.solution-office-ict .solution-office-ict-list__content {
    flex: 1;
}

.solution-office-ict .solution-office-ict-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2 * 1rem);
}

.solution-office-ict .solution-office-ict-list__text {
    line-height: 1.5;
}

.solution-office-ict__illust {
    width: 100%;
    max-width: calc(26.6 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

.solution-office-ict .solution-office-ict-products {
    display: flex;
    flex-wrap: wrap;
    gap: calc(5.8 * 1rem) calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-office-ict .solution-office-ict-products {
        flex-direction: column;
    }
}

.solution-office-ict .solution-office-ict-products__item {
    width: calc(25% - calc(3 * 1rem));
}

@media screen and (max-width: 768px) {
    .solution-office-ict .solution-office-ict-products__item {
        width: 100%;
    }
}

.solution-office-ict .solution-office-ict-products__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2 * 1rem);
}

.solution-office-ict .solution-office-ict-products__text {
    line-height: 1.5;
}

.solution-office-ict .solution-office-ict-illust {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .solution-office-ict .solution-office-ict-illust {
        flex-direction: column;
        gap: calc(6 * 1rem) 0;
    }
}

.solution-office-ict .solution-office-ict-illust__item:nth-of-type(1) .solution-office-ict-illust__image img {
    height: calc(17.3 * 1rem);
}

.solution-office-ict .solution-office-ict-illust__item:nth-of-type(2) .solution-office-ict-illust__image img {
    height: calc(18.7 * 1rem);
}

.solution-office-ict .solution-office-ict-illust__item:nth-of-type(3) .solution-office-ict-illust__image img {
    height: calc(18.2 * 1rem);
}

.solution-office-ict .solution-office-ict-illust__image {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: calc(18.7 * 1rem);
}

.solution-office-ict .solution-office-ict-illust__image img {
    width: auto;
}

.solution-office-ict .solution-office-ict-illust__text {
    font-size: calc(2 * 1rem);
    text-align: center;
}

.solution-office-ict .solution-office-ict-illust__text em {
    color: #0599d9;
    font-weight: 700;
}

.solution-detail {
    padding-bottom: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail__component-section-heading {
        margin-top: calc(3 * 1rem);
    }
}

.solution-detail__heading {
    font-size: calc(3 * 1rem);
    font-weight: 700;
}

.solution-detail__inner+.solution-detail__inner {
    margin-top: calc(6 * 1rem);
}

.solution-detail__content p {
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail__content p {
        font-size: calc(1.35 * 1rem);
    }
}

.solution-detail__content-heading {
    font-size: calc(2.4 * 1rem);
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .solution-detail__content-heading {
        font-size: calc(1.6 * 1rem);
    }
}

.solution-detail__content-heading--line {
    border-bottom: 1px solid #0599d9;
    padding-bottom: calc(1 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail__content-heading--line {
        margin-top: calc(4 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .solution-detail__content-heading--line.mt0 {
        margin-top: calc(0 * 1rem);
    }
}

.solution-detail__content-sub-heading {
    font-size: calc(1.8 * 1rem);
    font-weight: 700;
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail__content-sub-heading {
        font-size: calc(1.6 * 1rem);
        margin-top: calc(3 * 1rem);
    }
}

.solution-detail__content-col1 {
    margin-top: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail__content-col1 {
        margin-top: calc(2 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .solution-detail__content-col1.mt {
        margin-top: calc(4 * 1rem);
    }
}

.solution-detail__col-heading {
    font-size: calc(2.2 * 1rem);
    font-weight: 700;
    margin-top: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail__col-heading {
        font-size: calc(1.8 * 1rem);
    }
}

.solution-detail__col1-image--small {
    width: 80%;
    margin-inline: auto;
}

.solution-detail__col2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0 calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail__col2 {
        flex-direction: column;
        gap: calc(4 * 1rem) 0;
    }
}

.solution-detail__col2-item {
    width: calc((100% - 4 * 1rem) / 2);
}

@media screen and (max-width: 768px) {
    .solution-detail__col2-item {
        width: 100%;
    }
}

.solution-detail__col2-content dt {
    font-size: calc(1.7 * 1rem);
    font-weight: 700;
}

.solution-detail__col2-content dd {
    margin-top: calc(2 * 1rem);
    padding-left: calc(1.5 * 1rem);
    position: relative;
}

.solution-detail__col2-content dd::before {
    position: absolute;
    top: calc(0.85 * 1rem);
    left: 0;
    width: calc(1 * 1rem);
    height: calc(1 * 1rem);
    border-radius: 50%;
    background-color: #0599d9;
    content: "";
}

.solution-detail__col2-image--small {
    width: 64.6%;
    margin-inline: auto;
}

.solution-detail__col2-image--small-ex {
    width: 53%;
    margin-inline: auto;
}

.solution-detail__col2-image--small img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.solution-detail__col2-image--row {
    display: flex;
    flex-direction: column;
    gap: calc(2 * 1rem) 0;
}

.solution-detail__col2-image--row-small {
    width: 30%;
    margin-inline: auto;
}

.solution-detail__col2-content+.solution-detail__col2-content {
    margin-top: calc(2 * 1rem);
}

.solution-detail__col3 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0 calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail__col3 {
        flex-direction: column;
        gap: calc(3 * 1rem) 0;
    }
}

.solution-detail__col3-item {
    width: calc((100% - 12 * 1rem) / 3);
}

@media screen and (max-width: 768px) {
    .solution-detail__col3-item {
        width: 100%;
    }
}

.solution-detail__col4 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0 calc(2 * 1rem);
    margin-top: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .solution-detail__col4 {
        flex-direction: column;
        gap: calc(3 * 1rem) 0;
    }
}

.solution-detail__col4.gap {
    gap: 0;
}

.solution-detail__col4-item {
    width: calc((100% - 6 * 1rem) / 4);
}

@media screen and (max-width: 768px) {
    .solution-detail__col4-item {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .solution-detail__col4-item-txt {
        margin-top: 0 !important;
    }
}

.solution-detail__border-box {
    padding: calc(2 * 1rem);
    border: 1px solid #0599d9;
    margin-top: calc(4 * 1rem);
}

.solution-detail__border-box p {
    position: relative;
    padding-left: calc(2 * 1rem);
    margin: 0;
}

.solution-detail__border-box p::before {
    position: absolute;
    top: calc(0.6 * 1rem);
    left: 0;
    width: calc(1.5 * 1rem);
    height: calc(1.5 * 1rem);
    border-radius: 50%;
    background-color: #0599d9;
    content: "";
}

@media screen and (max-width: 768px) {
    .component-section-heading-large.component-logo-blue+figure.mt-70 {
        overflow: auto;
        padding-bottom: calc(2 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .component-section-heading-large.component-logo-blue+figure.mt-70 img {
        width: calc(75 * 1rem);
        max-width: calc(75 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .case.taxonomy-case {
        margin-top: calc(7.2 * 1rem);
    }
}

.case .case-narrow {
    background-color: #e6f5fb;
    border-radius: calc(3 * 1rem) calc(3 * 1rem) calc(3 * 1rem) 0;
    padding: calc(2 * 1rem) 4%;
    transition: all 0.5s ease;
}

@media screen and (max-width: 768px) {
    .case .case-narrow {
        padding: calc(1.5 * 1rem) 4%;
        margin-top: calc(-4 * 1rem);
    }
}

.case .case-narrow.is-open {
    transition: all 0.5;
    background-color: #e6f5fb;
    padding: 2% 4%;
}

.case .case-narrow__head {
    width: 100%;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.case .case-narrow__icon {
    position: relative;
    width: calc(4.8 * 1rem);
    height: calc(4.8 * 1rem);
    flex-shrink: 0;
    background: #fff;
    border-radius: calc(8 * 1rem);
    transition: all 0.3s ease;
    margin-left: auto;
}

@media screen and (max-width: 768px) {
    .case .case-narrow__icon {
        width: calc(2.4 * 1rem);
        height: calc(2.4 * 1rem);
    }
}

.case .case-narrow__icon::before,
.case .case-narrow__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #0599d9;
    transition: all 0.3s ease;
}

.case .case-narrow__icon::before {
    width: calc(2.4 * 1rem);
    height: calc(0.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .case .case-narrow__icon::before {
        width: calc(2 * 1rem);
    }
}

.case .case-narrow__icon::after {
    width: calc(0.2 * 1rem);
    height: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .case .case-narrow__icon::after {
        height: calc(2 * 1rem);
    }
}

.case .case-narrow__body {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.5s ease, margin 0.5s ease;
}

.case .case-narrow[aria-expanded=true] {
    background-color: #e6f5fb;
    padding: calc(3 * 1rem) 4% calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .case .case-narrow[aria-expanded=true] {
        padding: calc(2 * 1rem) 4% calc(1.5 * 1rem);
    }
}

.case .case-narrow[aria-expanded=true] .case-narrow__icon::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg);
}

.case .case-narrow[aria-expanded=true] .case-narrow__body {
    max-height: calc(120 * 1rem);
    opacity: 1;
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .case .case-narrow[aria-expanded=true] .case-narrow__body {
        max-height: calc(180 * 1rem);
    }
}

.case .case-narrow__inner {
    display: flex;
    gap: calc(12 * 1rem);
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .case .case-narrow__inner {
        gap: calc(2 * 1rem);
    }
}

.case .case-narrow__heading {
    color: #333;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    text-align: center;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .case .case-narrow__heading {
        gap: calc(0.6 * 1rem);
        font-size: calc(1.8 * 1rem);
    }
}

.case .case-narrow .case-narrow-list__item {
    display: flex;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .case .case-narrow .case-narrow-list__item {
        flex-direction: column;
        gap: calc(1 * 1rem);
    }
}

.case .case-narrow .case-narrow-list__item:nth-of-type(n+2) {
    margin-top: calc(2 * 1rem);
    padding-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .case .case-narrow .case-narrow-list__item:nth-of-type(n+2) {
        margin-top: calc(1 * 1rem);
        padding-top: calc(1 * 1rem);
    }
}

.case .case-narrow .case-narrow-list__head {
    display: flex;
    align-items: center;
    gap: calc(1 * 1rem);
    width: 10%;
    font-size: calc(1.8 * 1rem);
    letter-spacing: 0.1em;
    flex-shrink: 0;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .case .case-narrow .case-narrow-list__head {
        gap: calc(0.9 * 1rem);
        width: auto;
        font-size: calc(1.425 * 1rem);
    }
}

.case .case-narrow .case-narrow-list__head::before {
    margin-top: calc(0.1 * 1rem);
    background: no-repeat center/contain;
}

@media screen and (max-width: 768px) {
    .case .case-narrow .case-narrow-list__head::before {
        width: calc(1.35 * 1rem) !important;
        height: calc(1.35 * 1rem) !important;
    }
}

.case .case-narrow .case-narrow-list__head--industry::before {
    display: block;
    width: calc(1.9 * 1rem);
    height: calc(1.8 * 1rem);
    content: "";
    background-image: url("/assets/img/case/icn_gyoshu.svg");
}

.case .case-narrow .case-narrow-list__head--service::before {
    display: block;
    width: calc(1.9 * 1rem);
    height: calc(1.8 * 1rem);
    content: "";
    background-image: url("/assets/img/case/icn_service.svg");
}

.case .case-narrow .case-narrow-list__head--category::before {
    display: block;
    width: calc(1.9 * 1rem);
    height: calc(1.8 * 1rem);
    content: "";
    background-image: url("/assets/img/case/icn_category.svg");
}

.case .case-narrow .case-narrow-list__head--employee::before {
    display: block;
    width: calc(1.9 * 1rem);
    height: calc(1.8 * 1rem);
    content: "";
    background-image: url("/assets/img/case/icn_employee.svg");
}

.case .case-narrow .case-narrow-list__head--area::before {
    display: block;
    width: calc(1.9 * 1rem);
    height: calc(1.9 * 1rem);
    content: "";
    background: #666;
    -webkit-mask: url("/assets/img/common/icn_map.svg") no-repeat center/contain;
    mask: url("/assets/img/common/icn_map.svg") no-repeat center/contain;
}

.case .case-narrow .case-narrow-list__head--task::before {
    display: block;
    width: calc(1.9 * 1rem);
    height: calc(1.9 * 1rem);
    content: "";
    background-image: url("/assets/img/case/icn_task.svg");
}

.case .case-narrow .case-narrow-list__body {
    display: flex;
    align-items: center;
    gap: calc(0.6 * 1rem);
    flex-wrap: wrap;
}

.case .case-narrow .case-narrow-list__body label {
    display: flex;
    align-items: center;
    height: calc(2.6 * 1rem);
    padding: 0 calc(0.8 * 1rem) calc(0.1 * 1rem) calc(0.8 * 1rem);
    font-size: calc(1.4 * 1rem);
    background-color: #ddd;
    cursor: pointer;
    transition: opacity 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (hover: hover) and (pointer: fine) {
    .case .case-narrow .case-narrow-list__body label:hover {
        opacity: 0.6;
    }
}

@media (hover: none) {
    .case .case-narrow .case-narrow-list__body label:active {
        opacity: 0.6;
    }
}

.case .case-narrow .case-narrow-list__body label.disabled {
    opacity: 0.4;
    cursor: not-allowed;
    color: #999;
}

.case .case-narrow .case-narrow-list__body input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 768px) {
    .case .case-narrow .case-narrow-list__body input[type=radio] {
        display: none;
    }
}

.case .case-narrow .case-narrow-list__body input[type=radio]:checked+label {
    background-color: #0599d9;
    color: #fff;
    pointer-events: none;
}

.case .case-narrow .case-narrow-list__body input[type=radio].disabled+label {
    opacity: 0.4;
    cursor: not-allowed;
    color: #999;
}

.case .case-narrow__button {
    text-align: center;
    margin: 0;
}

.case .case-narrow__button.is-open {
    display: block;
    opacity: 1;
    transition: display 2s, opacity 2s, margin 2s;
}

.case .case-narrow__button button {
    background: none;
    color: #333;
    font-size: calc(1.6 * 1rem);
    position: relative;
    margin: 0 0 calc(2 * 1rem);
    transition: opacity 2s;
    cursor: pointer;
}

@media (hover: hover) and (pointer: fine) {
    .case .case-narrow__button button:hover {
        text-decoration: underline;
    }
}

@media (hover: none) {
    .case .case-narrow__button button:active {
        text-decoration: underline;
    }
}

@media screen and (max-width: 768px) {
    .case .case-narrow__button button {
        margin: calc(2 * 1rem) 0 0;
    }
}

.case .case-narrow__button button::before {
    background: #333;
    position: absolute;
    top: 50%;
    left: -8px;
    display: block;
    width: calc(1.5 * 1rem);
    height: calc(0.1 * 1rem);
    content: "";
    translate: -50% -50%;
    border-radius: 0.3rem;
    box-sizing: border-box;
    rotate: 45deg;
}

.case .case-narrow__button button::after {
    background: #333;
    position: absolute;
    top: 50%;
    left: -8px;
    display: block;
    width: calc(1.5 * 1rem);
    height: calc(0.1 * 1rem);
    content: "";
    translate: -50% -50%;
    border-radius: 0.3rem;
    box-sizing: border-box;
    rotate: 135deg;
}

.case .case-narrow__button.is-open button {
    opacity: 1;
    transition: opacity 2s;
}

.case-header__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(4.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .case-header__heading {
        font-size: calc(3.6 * 1rem);
        padding-top: calc(4 * 1rem) !important;
    }
}

.case-header__text {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.8 * 1rem);
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .case-header__text {
        font-size: calc(2.1 * 1rem);
    }
}

.case-header .case-header-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(2.6 * 1rem);
    font-size: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .case-header .case-header-list {
        gap: calc(1.3 * 1rem);
    }
}

.case-header .case-header-list__item {
    display: flex;
    align-items: center;
    gap: calc(0.6 * 1rem);
}

.case-header .case-header-list__heading {
    height: calc(2.6 * 1rem);
    padding: 0 calc(1 * 1rem) calc(0.1 * 1rem) calc(1 * 1rem);
    background-color: #0599d9;
    color: #fff;
}

@media screen and (max-width: 768px) {
    .case-header .case-header-list__heading {
        white-space: nowrap;
    }
}

.case-detail .case-detail-head-list {
    display: flex;
    gap: calc(12.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .case-detail .case-detail-head-list {
        flex-direction: column;
        gap: calc(6.4 * 1rem);
    }
}

.case-detail .case-detail-head-list__item {
    width: 100%;
}

.case-detail .case-detail-head-list__text {
    font-weight: 500;
    line-height: 1.875;
}

.case-detail .case-detail-head-list__text a {
    text-decoration: underline;
}

.case-detail .case-detail-head-list__text li {
    display: flex;
    -moz-column-gap: calc(0.8 * 1rem);
    column-gap: calc(0.8 * 1rem);
    align-items: center;
}

.case-detail .case-detail-head-list__text li::before {
    content: "";
    display: inline-block;
    width: calc(0.8 * 1rem);
    height: calc(0.8 * 1rem);
    background-color: #0599d9;
    border-radius: 50%;
}

.case-detail__content {
    width: 100%;
    max-width: calc(95 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

.case-detail__content>*:first-child {
    margin-top: 0;
}

.case-detail__content figure {
    overflow: hidden;
    margin-top: calc(10 * 1rem);
    border-radius: calc(3 * 1rem) 0 calc(3 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .case-detail__content figure {
        margin-top: calc(5 * 1rem);
    }
}

.case-detail__content h2 {
    margin-top: calc(1 * 1rem);
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.8 * 1rem);
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .case-detail__content h2 {
        margin-top: calc(0.5 * 1rem);
        font-size: calc(2.1 * 1rem);
    }
}

.case-detail__content p {
    margin-top: calc(0.5 * 1rem);
    font-weight: 500;
    line-height: 1.875;
}

.case-detail .case-detail-list {
    width: 100%;
    max-width: calc(113 * 1rem);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: calc(27 * 1rem);
}

@media screen and (max-width: 768px) {
    .case-detail .case-detail-list {
        gap: calc(6.75 * 1rem);
    }
}

.case-detail .case-detail-list__item {
    width: calc(43 * 1rem);
}

.case-detail .case-detail-list__image {
    width: 100%;
    max-width: calc(20 * 1rem);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: flex-end;
}

@media screen and (max-width: 768px) {
    .case-detail .case-detail-list__image {
        width: calc(15 * 1rem);
    }
}

.case-detail .case-detail-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.8 * 1rem);
    letter-spacing: 0.1em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .case-detail .case-detail-list__heading {
        font-size: calc(2.1 * 1rem);
    }
}

.case-detail .case-detail-list__text {
    position: relative;
    border-top: calc(0.2 * 1rem) solid #d7f0fa;
    border-bottom: calc(0.2 * 1rem) solid #d7f0fa;
    font-weight: 500;
    line-height: 1.875;
}

.case-detail .case-detail-list__text::before,
.case-detail .case-detail-list__text::after {
    display: block;
    width: calc(3.6 * 1rem);
    height: calc(2.9 * 1rem);
    content: "";
    opacity: 0.5;
    background: url("/assets/img/common/icn_quotation.svg") no-repeat center/contain;
}

.case-detail .case-detail-list__text::before {
    position: absolute;
    top: calc(-1.5 * 1rem);
    left: calc(-5.6 * 1rem);
}

.case-detail .case-detail-list__text::after {
    position: absolute;
    right: calc(-5.6 * 1rem);
    bottom: calc(-1.5 * 1rem);
    rotate: 180deg;
}

.case-detail__link {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}

@media screen and (min-width: 769px) {
    .case-detail__link {
        flex-direction: row;
        -moz-column-gap: 24px;
        column-gap: 24px;
    }
}

.case-detail__link .case-detail__company {
    flex: 1;
    height: auto;
}

.case-detail__link .case-detail__company:nth-child(2) {
    border: 2px solid #0599d9;
    color: #0599d9;
}

.case-detail__link .case-detail__company-content {
    padding: 2rem 3rem;
}

.case-detail__link .case-detail__company-image {
    width: 100%;
}

@media screen and (min-width: 769px) {
    .case-detail__link .case-detail__company-image {
        width: calc(20 * 1rem);
    }
}

.case-detail__link .component-section-heading {
    font-size: calc(1.8 * 1rem);
}

@media screen and (min-width: 769px) {
    .case-detail__link .component-section-heading {
        font-size: calc(2.4 * 1rem);
    }
}

.case-detail__company {
    display: flex !important;
    height: calc(25 * 1rem);
}

@media screen and (max-width: 768px) {
    .case-detail__company {
        flex-direction: column;
        height: auto;
    }
}

.case-detail__company-content,
.case-detail__company-image {
    width: 100%;
}

.case-detail__company-content {
    flex: 1;
    padding: calc(3.2 * 1rem) calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .case-detail__company-content {
        padding: calc(3.2 * 1rem);
    }
}

.case-detail__company-image {
    position: relative;
    overflow: hidden;
    width: calc(64 * 1rem);
}

.case-detail__company-image .component-button-more {
    position: absolute;
    right: calc(3.2 * 1rem);
    bottom: calc(2.4 * 1rem);
}

.case-detail__company-text {
    padding-left: calc(5 * 1rem);
    color: #fff;
    font-weight: 500;
    line-height: 1.875;
}

@media screen and (max-width: 768px) {
    .case-detail__company-text {
        padding-left: calc(1.25 * 1rem);
    }
}

.case-detail__company-text--blue {
    color: #0599d9;
    font-weight: 800;
    padding-left: calc(5 * 1rem);
    line-height: 1.875;
}

@media screen and (max-width: 768px) {
    .case-detail__company-text--blue {
        padding-left: calc(1.25 * 1rem);
    }
}

.case-detail .case-detail-button {
    display: flex;
    justify-content: center;
    gap: calc(4 * 1rem) calc(11.5 * 1rem);
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .case-detail .case-detail-button {
        gap: calc(2 * 1rem);
    }
}

.js-case {
    visibility: hidden;
    margin-top: calc(2 * 1rem);
    padding: calc(2 * 1rem) 0 0;
    max-height: 0;
    opacity: 0;
    display: grid;
    grid-template-rows: 0fr;
    transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.js-case[aria-hidden=true] {
    visibility: visible;
    max-height: 100vh;
    opacity: 1;
    grid-template-rows: 1fr;
    margin-bottom: calc(4 * 1rem);
    transition: visibility 2s cubic-bezier(0.39, 0.575, 0.565, 1), max-height 2s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 2s cubic-bezier(0.39, 0.575, 0.565, 1), grid-template-rows 2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .js-case[aria-hidden=true] {
        max-height: calc(100 * 1rem);
    }
}

.js-case__button {
    position: relative;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(1.1 * 1rem) calc(6 * 1rem);
    transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
    border-radius: 5rem;
    width: calc(50 * 1rem);
    color: #fff;
    background-color: #0599d9;
    font-size: calc(1.6 * 1rem);
    font-weight: 900;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .js-case__button {
        width: 100%;
    }
}

@media (hover: hover) and (pointer: fine) {
    .js-case__button:hover:hover {
        opacity: 0.7;
    }
}

@media (hover: none) {
    .js-case__button:hover:active {
        opacity: 0.7;
    }
}

.js-case__button::before {
    background: #fff;
    position: absolute;
    top: 50%;
    right: 16px;
    display: block;
    width: calc(2 * 1rem);
    height: calc(0.2 * 1rem);
    content: "";
    translate: -50% -50%;
    border-radius: 0.3rem;
    box-sizing: border-box;
    rotate: 90deg;
    transition: all 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.js-case__button.is-open {
    transition: all 1.5s;
}

.js-case__button.is-open::before {
    rotate: 0deg;
}

.js-case__button::after {
    background: #fff;
    position: absolute;
    top: 50%;
    right: 16px;
    display: block;
    width: calc(2 * 1rem);
    height: calc(0.2 * 1rem);
    content: "";
    translate: -50% -50%;
    border-radius: 0.5rem;
    box-sizing: border-box;
}

.case-slide__container {
    position: relative;
    width: calc(132 * 1rem);
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .case-slide__container {
        width: 98%;
    }
}

.case-slide {
    padding: 0;
}

.case-slide-section__ttl {
    font-size: calc(2.4 * 1rem);
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .case-slide-section__ttl {
        font-size: calc(2 * 1rem);
    }
}

.component-case-index.case-slide__list {
    gap: initial;
    flex-wrap: initial;
    display: flex;
}

.case-slide__container .swiper-button-prev,
.case-slide__container .swiper-button-next {
    width: calc(4 * 1rem);
    height: calc(4 * 1rem);
    top: 0;
    bottom: 0;
    margin: auto;
}

.case-slide__container .swiper-button-prev::after,
.case-slide__container .swiper-button-next::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: url("/assets/img/common/arw_line.svg") no-repeat center/contain;
    font-size: 0;
    transition: translate 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: translate;
}

.case-slide__container .swiper-button-prev {
    left: -2rem;
    rotate: 180deg;
}

@media screen and (max-width: 768px) {
    .case-slide__container .swiper-button-prev {
        left: 0;
    }
}

.case-slide__container .swiper-button-next {
    right: -2rem;
}

@media screen and (max-width: 768px) {
    .case-slide__container .swiper-button-next {
        right: 0;
    }
}

.case-slide__container .swiper-pagination {
    margin-top: calc(3.6 * 1rem);
    margin-bottom: calc(2.6 * 1rem);
    position: static;
}

@media screen and (max-width: 768px) {
    .case-slide__container .swiper-pagination {
        margin-top: calc(-2.4 * 1rem);
        margin-bottom: calc(1.5 * 1rem);
    }
}

.case-slide__container .swiper-pagination span {
    margin: 0 calc(1.6 * 1rem) !important;
}

.case-result {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.case-result__text {
    font-size: calc(1.8 * 1rem);
}

.case-result__count {
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .recruit-component-heading {
        margin-top: calc(4 * 1rem);
        padding-right: calc(2 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .recruit-component-heading--dc-se {
        margin-top: calc(12 * 1rem);
        padding-right: calc(2 * 1rem);
    }
}

.recruit-component-heading__ja {
    margin-top: calc(1 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-component-page-header__line {
        bottom: calc(-10.5 * var(--remV));
    }
}

@media screen and (max-width: 768px) {
    .recruit-component-page-header__line--dc-se {
        bottom: calc(-45.5 * var(--remV));
    }
}

.recruit .recruit-list {
    display: flex;
    gap: calc(9 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit .recruit-list {
        flex-direction: column;
    }
}

.recruit .recruit-list__item {
    width: 100%;
}

.recruit .recruit-list .component-section-heading-large {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: calc(2.8 * 1rem);
    line-height: 1.375;
}

.recruit .recruit-list .component-section-heading-large::after {
    display: block;
    width: calc(5 * 1rem);
    height: calc(3 * 1rem);
    content: "";
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: #0599d9;
}

@media (hover: hover) and (pointer: fine) {
    .recruit .recruit-list .component-button:has(.recruit-list__logo) a:hover .recruit-list__logo::before {
        opacity: 0;
    }
    .recruit .recruit-list .component-button:has(.recruit-list__logo) a:hover .recruit-list__logo::after {
        opacity: 1;
    }
}

@media (hover: none) {
    .recruit .recruit-list .component-button:has(.recruit-list__logo) a:active .recruit-list__logo::before {
        opacity: 0;
    }
    .recruit .recruit-list .component-button:has(.recruit-list__logo) a:active .recruit-list__logo::after {
        opacity: 1;
    }
}

.recruit .recruit-list__logo {
    position: relative;
    width: calc(20 * 1rem);
}

.recruit .recruit-list__logo::before {
    display: block;
    width: calc(20 * 1rem);
    height: calc(4.1 * 1rem);
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url("/assets/img/common/logo_mynavi-2026.gif") no-repeat center/contain;
    transition: opacity 0.2s cubic-bezier(0.47, 0, 0.745, 0.715);
}

.recruit .recruit-list__logo::after {
    display: block;
    width: calc(20 * 1rem);
    height: calc(4.1 * 1rem);
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background-color: #fff;
    -webkit-mask: url("/assets/img/common/logo_mynavi-2026--white.gif") no-repeat center/contain;
    mask: url("/assets/img/common/logo_mynavi-2026--white.gif") no-repeat center/contain;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.recruit .recruit-list__logo img {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.recruit-career-job .recruit-career-job-list {
    display: flex;
    flex-direction: column;
    gap: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-job .recruit-career-job-list {
        gap: calc(3 * 1rem);
    }
}

.recruit-career-job .recruit-career-job-list__heading {
    font-weight: 700;
    font-size: calc(2.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-job .recruit-career-job-list__heading {
        font-size: calc(2.38 * 1rem);
    }
}

.recruit-career-job .recruit-career-job-list .recruit-career-job-sub {
    display: flex;
    flex-wrap: wrap;
    gap: calc(3.8 * 1rem) calc(5.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-job .recruit-career-job-list .recruit-career-job-sub {
        flex-direction: column;
    }
}

.recruit-career-job .recruit-career-job-list .recruit-career-job-sub__item a {
    display: block;
    overflow: hidden;
    width: calc(39 * 1rem);
    border-radius: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-job .recruit-career-job-list .recruit-career-job-sub__item a {
        width: 100%;
    }
}

@media (hover: hover) and (pointer: fine) {
    .recruit-career-job .recruit-career-job-list .recruit-career-job-sub__item a:hover .recruit-career-job-sub__heading {
        color: #0599d9;
    }
}

@media (hover: none) {
    .recruit-career-job .recruit-career-job-list .recruit-career-job-sub__item a:active .recruit-career-job-sub__heading {
        color: #0599d9;
    }
}

.recruit-career-job .recruit-career-job-list .recruit-career-job-sub__image {
    overflow: hidden;
}

.recruit-career-job .recruit-career-job-list .recruit-career-job-sub__content {
    padding: calc(2.2 * 1rem) calc(2.8 * 1rem) calc(6.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-job .recruit-career-job-list .recruit-career-job-sub__content {
        padding: calc(1.65 * 1rem) calc(2.1 * 1rem) calc(4.65 * 1rem);
    }
}

.recruit-career-job .recruit-career-job-list .recruit-career-job-sub__heading {
    display: flex;
    justify-content: space-between;
    padding-top: calc(1 * 1rem);
    font-weight: 700;
    font-size: calc(2 * 1rem);
    line-height: 1.8;
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .recruit-career-job .recruit-career-job-list .recruit-career-job-sub__heading {
        font-size: calc(1.7 * 1rem);
    }
}

.recruit-career-job .recruit-career-job-list .recruit-career-job-sub__heading .component-arrow__target {
    flex-shrink: 0;
    margin-top: calc(-0.1 * 1rem);
}

.recruit-career-business .recruit-career-business-list {
    display: flex;
    flex-direction: column;
    gap: calc(11 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-business .recruit-career-business-list {
        gap: calc(5.5 * 1rem);
    }
}

.recruit-career-business .recruit-career-business-list__item {
    display: flex;
    gap: calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-business .recruit-career-business-list__item {
        flex-direction: column;
        gap: calc(2 * 1rem);
    }
}

.recruit-career-business .recruit-career-business-list__item:nth-of-type(odd) {
    flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
    .recruit-career-business .recruit-career-business-list__item:nth-of-type(odd) {
        flex-direction: column;
    }
}

.recruit-career-business .recruit-career-business-list__image {
    width: calc(62 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-business .recruit-career-business-list__image {
        width: 100%;
    }
}

.recruit-career-business .recruit-career-business-list__content {
    flex: 1;
}

.recruit-career-business .recruit-career-business-list__heading {
    display: flex;
    flex-direction: column;
    font-weight: 700;
    font-size: calc(2.8 * 1rem);
    letter-spacing: 0.05em;
    line-height: 2.4;
}

@media screen and (max-width: 768px) {
    .recruit-career-business .recruit-career-business-list__heading {
        font-size: calc(2.38 * 1rem);
        line-height: 1.4;
    }
}

.recruit-career-business .recruit-career-business-list__heading em {
    color: #0599d9;
    font-size: calc(6 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .recruit-career-business .recruit-career-business-list__heading em {
        font-size: calc(4.5 * 1rem);
    }
}

.recruit-career-business .recruit-career-business-list__text {
    margin-top: calc(3 * 1rem);
    line-height: 1.75;
}

@media screen and (max-width: 768px) {
    .recruit-career-business .recruit-career-business-list__text {
        margin-top: calc(1.5 * 1rem);
    }
}

.recruit-career-business .recruit-career-business-list__text:nth-of-type(1) {
    margin-top: calc(0.5 * 1rem);
}

.recruit-career-feature .recruit-career-feature-list {
    display: flex;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-feature .recruit-career-feature-list {
        flex-direction: column;
    }
}

.recruit-career-feature .recruit-career-feature-list__item button {
    width: 100%;
    background: none;
    color: #333;
    text-align: left;
}

@media (hover: hover) and (pointer: fine) {
    .recruit-career-feature .recruit-career-feature-list__item button:hover .component-icon-modal::before {
        scale: 1.2;
    }
    .recruit-career-feature .recruit-career-feature-list__item button:hover .recruit-career-feature-list__heading {
        color: #0599d9;
    }
}

@media (hover: none) {
    .recruit-career-feature .recruit-career-feature-list__item button:active .component-icon-modal::before {
        scale: 1.2;
    }
    .recruit-career-feature .recruit-career-feature-list__item button:active .recruit-career-feature-list__heading {
        color: #0599d9;
    }
}

.recruit-career-feature .recruit-career-feature-list__image {
    position: relative;
    width: calc(29 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-feature .recruit-career-feature-list__image {
        width: 100%;
    }
}

.recruit-career-feature .recruit-career-feature-list__image .component-icon-modal {
    position: absolute;
    right: calc(0.7 * 1rem);
    bottom: calc(1.8 * 1rem);
}

.recruit-career-feature .recruit-career-feature-list__heading {
    font-weight: 700;
    font-size: calc(2 * 1rem);
    line-height: 1.5;
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .recruit-career-feature .recruit-career-feature-list__heading {
        font-size: calc(1.7 * 1rem);
    }
}

.recruit-career-number__content {
    padding: calc(5.5 * 1rem) calc(6 * 1rem) calc(6 * 1rem);
    border-radius: calc(3 * 1rem);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .recruit-career-number__content {
        padding: calc(2 * 1rem);
    }
}

.recruit-career-number__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3 * 1rem);
    letter-spacing: 0.05em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .recruit-career-number__heading {
        font-size: calc(1.95 * 1rem);
    }
}

.recruit-career-number .recruit-career-number-list {
    display: grid;
    gap: calc(2.8 * 1rem);
    grid-template-columns: 3fr 1fr 2fr 2fr 1fr 3fr;
    grid-template-rows: calc(40.6 * 1rem) calc(23 * 1rem) calc(27.6 * 1rem) calc(40.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-number .recruit-career-number-list {
        width: calc(116 * 1rem);
        scale: 0.5;
        transform-origin: top left;
        margin-right: calc(-58 * 1rem);
        margin-bottom: calc(-70.1 * 1rem);
        padding-bottom: calc(2 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .recruit-career-number .recruit-career-number-list__wrapper {
        overflow: auto;
    }
}

.recruit-career-number .recruit-career-number-list__heading {
    padding: calc(3.5 * 1rem) calc(2 * 1rem) 0;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 1.1666666667;
}

.recruit-career-number .recruit-career-number-list__heading small {
    font-size: calc(1.6 * 1rem);
}

.recruit-career-number .recruit-career-number-list__number {
    color: #0599d9;
    line-height: 1;
}

.recruit-career-number .recruit-career-number-list__number em {
    display: inline-block;
    font-family: "din-2014-narrow", sans-serif;
}

.recruit-career-number .recruit-career-number-list__number small {
    font-weight: 700;
    letter-spacing: 0.05em;
}

.recruit-career-number .recruit-career-number-list__text {
    color: #0599d9;
    font-weight: 500;
}

.recruit-career-number .recruit-career-number-list__item {
    position: relative;
    border-radius: calc(1 * 1rem);
    background-repeat: no-repeat;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(4) .recruit-career-number-list__heading,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(5) .recruit-career-number-list__heading,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(6) .recruit-career-number-list__heading,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(7) .recruit-career-number-list__heading {
    padding: calc(2 * 1rem) calc(2 * 1rem) 0;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(1) .recruit-career-number-list__number,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(2) .recruit-career-number-list__number,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(3) .recruit-career-number-list__number {
    text-align: center;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(1) .recruit-career-number-list__text,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(2) .recruit-career-number-list__text,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(3) .recruit-career-number-list__text {
    padding: 0 calc(2 * 1rem);
    font-size: calc(2 * 1rem);
    line-height: 1.4;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(1) {
    grid-column: 1/3;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(1) .recruit-career-number-list__number em {
    width: 1em;
    font-size: calc(20 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(1) .recruit-career-number-list__number small {
    font-size: calc(7.4 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(2) {
    grid-column: 3/5;
    background-image: url("/assets/img/recruit/career/icn_number01.webp");
    background-size: calc(22.6 * 1rem) calc(23.1 * 1rem);
    background-position: center calc(8.3 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(2) .recruit-career-number-list__number em {
    width: 1.4em;
    font-size: calc(17 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(2) .recruit-career-number-list__number small {
    font-size: calc(5.2 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(3) {
    grid-column: 5/7;
    background-image: url("/assets/img/recruit/career/icn_number02.webp");
    background-size: calc(23.5 * 1rem);
    background-position: center calc(8 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(3) .recruit-career-number-list__number em {
    width: 1em;
    font-size: calc(20 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(3) .recruit-career-number-list__number small {
    font-size: calc(7.3 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(4),
.recruit-career-number .recruit-career-number-list__item:nth-of-type(5),
.recruit-career-number .recruit-career-number-list__item:nth-of-type(6),
.recruit-career-number .recruit-career-number-list__item:nth-of-type(7) {
    background-image: url("/assets/img/recruit/career/icn_number03.webp");
    background-size: calc(9.6 * 1rem) calc(9.8 * 1rem);
    background-position: right calc(2.5 * 1rem) center;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(4) .recruit-career-number-list__number,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(5) .recruit-career-number-list__number,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(6) .recruit-career-number-list__number,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(7) .recruit-career-number-list__number {
    text-align: center;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(4) .recruit-career-number-list__number em,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(5) .recruit-career-number-list__number em,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(6) .recruit-career-number-list__number em,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(7) .recruit-career-number-list__number em {
    font-size: calc(11.1 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(4) .recruit-career-number-list__number small,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(5) .recruit-career-number-list__number small,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(6) .recruit-career-number-list__number small,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(7) .recruit-career-number-list__number small {
    font-size: calc(4.1 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(4) .recruit-career-number-list__number em,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(7) .recruit-career-number-list__number em {
    width: 0.8em;
    letter-spacing: -0.06em;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(4) .recruit-career-number-list__text,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(7) .recruit-career-number-list__text {
    padding: 0 calc(2 * 1rem);
    font-size: calc(1.4 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(5) {
    grid-column: 2/4;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(5) .recruit-career-number-list__number em {
    width: 1.3em;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(6) {
    grid-column: 4/6;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(6) .recruit-career-number-list__number em {
    width: 1.3em;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(7) {
    background-image: url("/assets/img/recruit/career/icn_number04.webp");
    background-size: calc(6.9 * 1rem) calc(11.1 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(7) .recruit-career-number-list__number em {
    width: 0.9em;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(8) .recruit-career-number-list__number,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(9) .recruit-career-number-list__number {
    margin-top: calc(-3.5 * 1rem);
    padding-right: calc(5 * 1rem);
    text-align: center;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(8) .recruit-career-number-list__number em,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(9) .recruit-career-number-list__number em {
    font-size: calc(20 * 1rem);
    letter-spacing: -0.02em;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(8) .recruit-career-number-list__number small,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(9) .recruit-career-number-list__number small {
    font-size: calc(7.3 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(8) .recruit-career-number-list__text,
.recruit-career-number .recruit-career-number-list__item:nth-of-type(9) .recruit-career-number-list__text {
    margin-top: calc(-1.6 * 1rem);
    padding: 0 calc(9.8 * 1rem);
    font-size: calc(2 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(8) {
    grid-column: 1/4;
    background-image: url("/assets/img/recruit/career/icn_number05.webp");
    background-size: calc(23.2 * 1rem) calc(17.9 * 1rem);
    background-position: right calc(5.8 * 1rem) top calc(6 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(8) .recruit-career-number-list__number em {
    width: 1.3em;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(9) {
    grid-column: 4/7;
    background-image: url("/assets/img/recruit/career/icn_number06.webp");
    background-size: calc(26 * 1rem) calc(14.7 * 1rem);
    background-position: right calc(1.8 * 1rem) top calc(10 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(9) .recruit-career-number-list__number em {
    width: 0.9em;
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(10) {
    grid-column: 1/3;
    background-image: url("/assets/img/recruit/career/icn_number07.webp");
    background-size: calc(31.3 * 1rem);
    background-position: center calc(7 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(11) {
    grid-column: 3/5;
    background-image: url("/assets/img/recruit/career/icn_number08.webp");
    background-size: calc(20 * 1rem);
    background-position: center calc(11.1 * 1rem);
}

.recruit-career-number .recruit-career-number-list__item:nth-of-type(12) {
    grid-column: 5/7;
    background-image: url("/assets/img/recruit/career/icn_number09.webp");
    background-size: calc(20 * 1rem);
    background-position: center calc(11.1 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-sub {
    display: flex;
    flex-direction: column;
    gap: calc(0.8 * 1rem);
    padding-right: calc(7.2 * 1rem);
    padding-left: calc(3.2 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-sub__item {
    display: flex;
    align-items: flex-end;
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-sub__item .recruit-career-number-list__text {
    flex: 1;
    font-weight: 700;
    font-size: calc(2 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-sub__item .recruit-career-number-list__number em {
    font-size: calc(4 * 1rem);
    letter-spacing: -0.03em;
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-sub__item .recruit-career-number-list__number small {
    font-size: calc(3.2 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph {
    display: flex;
    flex-direction: column;
    gap: calc(1.4 * 1rem);
    padding: calc(3 * 1rem) calc(3 * 1rem) 0;
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(1) {
    position: absolute;
    right: calc(5 * 1rem);
    bottom: calc(2 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(1) .recruit-career-number-list__text {
    font-size: calc(2.8 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(1) .recruit-career-number-list__number {
    margin-top: calc(-0.6 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(1) .recruit-career-number-list__number span {
    width: 0.9em;
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(1) .recruit-career-number-list__number em {
    font-size: calc(11 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(1) .recruit-career-number-list__number small {
    font-size: calc(7 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(2) .recruit-career-number-list__text,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(3) .recruit-career-number-list__text,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(4) .recruit-career-number-list__text {
    font-size: calc(2.4 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(2) .recruit-career-number-list__number,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(3) .recruit-career-number-list__number,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(4) .recruit-career-number-list__number {
    margin-top: calc(-1 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(2) .recruit-career-number-list__number span,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(3) .recruit-career-number-list__number span,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(4) .recruit-career-number-list__number span {
    width: 0.9em;
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(2) .recruit-career-number-list__number em,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(3) .recruit-career-number-list__number em,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(4) .recruit-career-number-list__number em {
    font-size: calc(5 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(2) .recruit-career-number-list__number small,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(3) .recruit-career-number-list__number small,
.recruit-career-number .recruit-career-number-list .recruit-career-number-graph__item:nth-of-type(4) .recruit-career-number-list__number small {
    font-size: calc(5 * 1rem);
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph .recruit-career-number-list__text {
    font-weight: 700;
}

.recruit-career-number .recruit-career-number-list .recruit-career-number-graph .recruit-career-number-list__number span {
    display: inline-block;
    text-align: center;
}

.recruit-career-system .recruit-career-system-list {
    display: flex;
    flex-direction: column;
    gap: calc(10 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-list {
        gap: calc(5 * 1rem);
    }
}

.recruit-career-system .recruit-career-system-list__item {
    display: flex;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-list__item {
        flex-direction: column;
        gap: calc(2 * 1rem);
    }
}

.recruit-career-system .recruit-career-system-list__item:nth-of-type(odd) {
    flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-list__item:nth-of-type(odd) {
        flex-direction: column;
    }
}

.recruit-career-system .recruit-career-system-list__item:nth-of-type(1) {
    align-items: center;
    gap: calc(18 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-list__item:nth-of-type(1) {
        gap: calc(1.8 * 1rem);
    }
}

.recruit-career-system .recruit-career-system-list__item:nth-of-type(2) .recruit-career-system-list__image {
    display: grid;
    gap: calc(2 * 1rem) calc(2.8 * 1rem);
    grid-template-columns: 1fr 1fr;
    grid-template-rows: calc(37 * 1rem) calc(17 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-list__item:nth-of-type(2) .recruit-career-system-list__image {
        gap: calc(2 * 1rem);
        grid-template-rows: calc(20.35 * 1rem) calc(8.5 * 1rem);
    }
}

.recruit-career-system .recruit-career-system-list__item:nth-of-type(2) .recruit-career-system-list__image img {
    border-radius: calc(1 * 1rem);
}

.recruit-career-system .recruit-career-system-list__item:nth-of-type(2) .recruit-career-system-list__image img:nth-of-type(1) {
    grid-column: 1/3;
}

.recruit-career-system .recruit-career-system-list__image {
    width: calc(62 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-list__image {
        width: 100%;
    }
}

.recruit-career-system .recruit-career-system-list__content {
    flex: 1;
}

.recruit-career-system .recruit-career-system-list__heading {
    font-weight: 700;
    font-size: calc(2.8 * 1rem);
    line-height: 1.7142857143;
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-list__heading {
        font-size: calc(2.1 * 1rem);
    }
}

.recruit-career-system .recruit-career-system-list__text {
    margin-top: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-list__text {
        margin-top: calc(1.2 * 1rem);
    }
}

.recruit-career-system .recruit-career-system-list__text:nth-of-type(1) {
    margin-top: calc(3.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-list__text:nth-of-type(1) {
        margin-top: calc(1.75 * 1rem);
    }
}

.recruit-career-system__subheading {
    font-weight: 700;
    font-size: calc(2.8 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .recruit-career-system__subheading {
        font-size: calc(2.1 * 1rem);
    }
}

.recruit-career-system .recruit-career-system-sub {
    display: flex;
    flex-wrap: wrap;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-sub {
        flex-direction: column;
        gap: calc(2 * 1rem);
    }
}

.recruit-career-system .recruit-career-system-sub__item {
    width: calc(40 * 1rem);
    padding: calc(3.5 * 1rem) calc(4 * 1rem) calc(4.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-sub__item {
        width: 100%;
        padding: calc(2.625 * 1rem);
    }
}

.recruit-career-system .recruit-career-system-sub__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .recruit-career-system .recruit-career-system-sub__heading {
        font-size: calc(1.5 * 1rem);
    }
}

.recruit-career-question .section__inner {
    padding: calc(6 * 1rem) calc(6.5 * 1rem) calc(7 * 1rem);
    border-radius: calc(3 * 1rem);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .recruit-career-question .section__inner {
        padding: calc(2 * 1rem);
    }
}

.recruit-career-question__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3 * 1rem);
    letter-spacing: 0.05em;
    text-align: center;
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-question__heading {
        font-size: calc(1.95 * 1rem);
        margin-top: calc(1.5 * 1rem);
    }
}

.recruit-career-question__main {
    border-radius: calc(3 * 1rem);
}

.recruit-career-question__main .swiper-button {
    width: auto;
    height: auto;
}

.recruit-career-question__main .swiper-button::after {
    display: none;
}

.recruit-career-question__main .swiper-button-prev {
    left: calc(1.6 * 1rem);
    rotate: 180deg;
}

@media screen and (max-width: 768px) {
    .recruit-career-question__main .swiper-button-prev {
        left: 0;
    }
}

.recruit-career-question__main .swiper-button-next {
    right: calc(1.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-question__main .swiper-button-next {
        right: 0;
    }
}

.recruit-career-question__main .recruit-career-question-list {
    display: flex;
    flex-direction: column;
    gap: calc(2.4 * 1rem);
    padding: calc(5 * 1rem) calc(12 * 1rem) calc(4 * 1rem) calc(21.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-question__main .recruit-career-question-list {
        padding: calc(2 * 1rem);
    }
}

.recruit-career-question__main .recruit-career-question-list__item {
    position: relative;
}

.recruit-career-question__main .recruit-career-question-list__item:nth-of-type(1) .recruit-career-question-list__icon {
    width: calc(7.7 * 1rem);
}

.recruit-career-question__main .recruit-career-question-list__item:nth-of-type(2) .recruit-career-question-list__icon {
    width: calc(8.4 * 1rem);
}

.recruit-career-question__main .recruit-career-question-list__item:nth-of-type(3) .recruit-career-question-list__icon {
    width: calc(7 * 1rem);
}

.recruit-career-question__main .recruit-career-question-list__item:nth-of-type(4) .recruit-career-question-list__icon {
    width: calc(7.7 * 1rem);
}

.recruit-career-question__main .recruit-career-question-list__icon {
    position: absolute;
    top: calc(-0.4 * 1rem);
    left: calc(-6 * 1rem);
    translate: -50% 0;
}

@media screen and (max-width: 768px) {
    .recruit-career-question__main .recruit-career-question-list__icon {
        position: static;
        translate: 0;
        width: calc(5.25 * 1rem) !important;
        margin: 0 auto;
    }
}

.recruit-career-question__main .recruit-career-question-list__text {
    padding: calc(2 * 1rem) calc(3.8 * 1rem);
    border-radius: calc(1 * 1rem);
    background-color: #fff;
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2 * 1rem);
    line-height: 1.75;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .recruit-career-question__main .recruit-career-question-list__text {
        padding: calc(1.5 * 1rem) calc(2.85 * 1rem);
        font-size: calc(1.3 * 1rem);
    }
}

.recruit-career-question__sub {
    width: 100%;
    max-width: calc(98 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

.recruit-career-question__sub .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: calc(3 * 1rem) calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-question__sub .swiper-wrapper {
        gap: calc(1.5 * 1rem);
    }
}

.recruit-career-question__sub .swiper-slide {
    display: flex;
    align-items: center;
    gap: calc(1.2 * 1rem);
    width: calc(30 * 1rem) !important;
    height: calc(8 * 1rem) !important;
    padding: calc(2.4 * 1rem);
    border: 1px solid #0599d9;
    color: #0599d9;
    cursor: pointer;
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .recruit-career-question__sub .swiper-slide {
        width: 100% !important;
        height: calc(6 * 1rem) !important;
        padding: calc(1.8 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .recruit-career-question__sub .swiper-slide:hover {
        opacity: 0.6;
    }
}

@media (hover: none) {
    .recruit-career-question__sub .swiper-slide:active {
        opacity: 0.6;
    }
}

.recruit-career-question__sub .swiper-slide span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(3.3 * 1rem);
    height: calc(3.3 * 1rem);
    border-radius: 100%;
    padding-bottom: calc(0.2 * 1rem);
    border: 1px solid #0599d9;
    color: #0599d9;
    transition: background-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.recruit-career-question__sub .swiper-slide-thumb-active {
    background-color: #0599d9;
    color: #fff;
    pointer-events: none;
}

.recruit-career-question__sub .swiper-slide-thumb-active span {
    background-color: #fff;
    color: #0599d9;
}

.recruit-career-flow .recruit-career-flow-list {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .recruit-career-flow .recruit-career-flow-list {
        flex-wrap: wrap;
        justify-content: center;
        gap: calc(2 * 1rem);
    }
}

.recruit-career-flow .recruit-career-flow-list::before {
    position: absolute;
    top: calc(50% - calc(0.5 * 1rem));
    left: calc(50% - calc(57.5 * 1rem));
    display: block;
    width: calc(115 * 1rem);
    height: calc(1 * 1rem);
    content: "";
    z-index: -1;
    background: linear-gradient(to right, #fff, #0599d9);
}

@media screen and (max-width: 768px) {
    .recruit-career-flow .recruit-career-flow-list::before {
        display: none;
    }
}

.recruit-career-flow .recruit-career-flow-list__item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(23.5 * 1rem);
    height: calc(23.5 * 1rem);
    border-radius: 100%;
    flex-direction: column;
}

@media screen and (max-width: 768px) {
    .recruit-career-flow .recruit-career-flow-list__item {
        width: calc(15.8 * 1rem);
        height: calc(15.8 * 1rem);
    }
}

.recruit-career-flow .recruit-career-flow-list__number {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: calc(0.2 * 1rem);
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .recruit-career-flow .recruit-career-flow-list__number {
        font-size: calc(1.5 * 1rem);
    }
}

.recruit-career-flow .recruit-career-flow-list__number em {
    font-size: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-career-flow .recruit-career-flow-list__number em {
        font-size: calc(3.9 * 1rem);
    }
}

.recruit-career-flow .recruit-career-flow-list__heading {
    display: flex;
    align-items: center;
    height: calc(10 * 1rem);
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 1.3333333333;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .recruit-career-flow .recruit-career-flow-list__heading {
        height: calc(5 * 1rem);
        font-size: calc(1.56 * 1rem);
    }
}

.recruit-requirements {
    padding-top: calc(13 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-requirements {
        padding-top: calc(6 * 1rem);
    }
}

@media screen and (max-width: 768px) {
    .recruit-requirements--dc-se {
        padding-top: calc(12 * 1rem);
    }
}

.recruit-requirements .recruit-requirements-list__item {
    display: flex;
}

@media screen and (max-width: 768px) {
    .recruit-requirements .recruit-requirements-list__item {
        flex-direction: column;
    }
}

.recruit-requirements .recruit-requirements-list__heading,
.recruit-requirements .recruit-requirements-list__text {
    display: flex;
    justify-content: center;
    flex-direction: column;
    border-bottom: 1px solid;
    padding: calc(2.6 * 1rem) calc(2.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-requirements .recruit-requirements-list__heading,
    .recruit-requirements .recruit-requirements-list__text {
        padding: calc(1.3 * 1rem) calc(1.1 * 1rem);
    }
}

.recruit-requirements .recruit-requirements-list__heading {
    width: calc(28 * 1rem);
    border-color: #0599d9;
    color: #0599d9;
    font-weight: 700;
    font-size: calc(1.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .recruit-requirements .recruit-requirements-list__heading {
        width: auto;
    }
}

.recruit-requirements .recruit-requirements-list__text {
    flex: 1;
    border-color: #ddd;
}

@media screen and (max-width: 768px) {
    .recruit-requirements .recruit-requirements-list__text {
        border-bottom: none;
    }
}

.recruit-requirements .recruit-requirements-list__text em {
    font-weight: 700;
}

.recruit-requirements__text {
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .recruit-requirements__text {
        font-size: calc(1.8 * 1rem);
    }
}

.knowledge__item {
    display: flex;
    flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
    .knowledge__item {
        flex-direction: column;
    }
}

.knowledge__image {
    position: relative;
    flex-shrink: 0;
    width: calc(74.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge__image {
        width: 100%;
    }
}

.knowledge__image .component-arrow__target {
    position: absolute;
    right: calc(4 * 1rem);
    bottom: calc(3.6 * 1rem);
}

.knowledge__content {
    flex: 1;
}

.knowledge__heading {
    font-weight: 700;
    font-size: calc(3 * 1rem);
    line-height: 1.8666666667;
}

@media screen and (max-width: 768px) {
    .knowledge__heading {
        font-size: calc(2.25 * 1rem);
        line-height: 1.4;
    }
}

.knowledge__logo {
    width: calc(37.7 * 1rem);
    margin-left: calc(0.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge__logo {
        width: calc(28.275 * 1rem);
    }
}

.knowledge .knowledge-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge .knowledge-list {
        gap: calc(4 * 1rem);
        flex-direction: column;
    }
}

.knowledge .knowledge-list__item {
    width: calc((100% - 8 * 1rem) / 3);
}

@media screen and (max-width: 768px) {
    .knowledge .knowledge-list__item {
        width: 100%;
    }
}

.knowledge .knowledge-list__image {
    position: relative;
}

.knowledge .knowledge-list__image .component-arrow__target {
    position: absolute;
    right: calc(3.6 * 1rem);
    bottom: calc(3 * 1rem);
}

.knowledge .knowledge-list__image img {
    aspect-ratio: 62/37;
}

.knowledge .knowledge-list__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.2 * 1rem);
}

.knowledge-detail__img-figcaption {
    text-align: right;
    font-size: calc(1.4 * 1rem);
    margin: calc(1 * 1rem) 0;
}

.knowledge-detail__img-figcaption a {
    display: block;
}

.knowledge-detail__img-figcaption+.knowledge-detail__img-figcaption__img-figcaption {
    margin-top: 0;
}

.knowledge-detail .article__inner {
    position: relative;
    padding: calc(7.5 * 1rem) calc(9 * 1rem) calc(11.5 * 1rem);
    border-radius: calc(3 * 1rem);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .article__inner {
        padding: calc(4 * 1rem) calc(2 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-header__date {
    color: #a6a6a6;
    font-size: calc(1.4 * 1rem);
    text-align: right;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-header__date {
        font-size: calc(1.19 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-index {
    background: #fefaec;
    border-radius: calc(1 * 1rem);
    margin-top: calc(5.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-index {
        margin-top: calc(2.7 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-index[aria-hidden=false] .knowledge-detail-index__content {
    grid-template-rows: 1fr;
}

.knowledge-detail .knowledge-detail-index[aria-hidden=false] .knowledge-detail-index__inner {
    padding: calc(1.8 * 1rem) calc(7.4 * 1rem) calc(2.4 * 1rem);
}

.knowledge-detail .knowledge-detail-index[aria-hidden=false] .knowledge-detail-index__button:before {
    content: "閉じる";
}

.knowledge-detail .knowledge-detail-index[aria-hidden=false] .knowledge-detail-index__button span::before,
.knowledge-detail .knowledge-detail-index[aria-hidden=false] .knowledge-detail-index__button span::after {
    translate: 0;
    scale: 1;
}

.knowledge-detail .knowledge-detail-index__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: calc(5.8 * 1rem);
    padding-right: calc(6.2 * 1rem);
    padding-left: calc(7.2 * 1rem);
    color: #fff;
    background: #0599d9;
    transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: background-color;
    border-radius: 1rem 1rem 0 0;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-index__header {
        padding: 0 calc(3.1 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-index__heading {
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-index__heading {
        font-size: calc(2.04 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-index__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(9.2 * 1rem);
    height: calc(3.2 * 1rem);
    padding: 0 calc(1.6 * 1rem);
    border-radius: calc(1.6 * 1rem);
    background-color: #fff;
    color: #0599d9;
    font-size: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-index__button {
        font-size: calc(1.19 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-index__button:before {
    display: inline-block;
    padding-top: calc(0.1 * 1rem);
    content: "開く";
}

.knowledge-detail .knowledge-detail-index__button span {
    width: calc(1.3 * 1rem);
    height: calc(1.3 * 1rem);
    display: block;
    position: relative;
}

.knowledge-detail .knowledge-detail-index__button span::before,
.knowledge-detail .knowledge-detail-index__button span::after {
    display: block;
    width: calc(1.5 * 1rem);
    height: 1px;
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    left: calc(50% - calc(0.75 * 1rem));
    scale: 0.5 1;
    background-color: #0599d9;
    transition: translate 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), scale 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: translate, scale;
}

.knowledge-detail .knowledge-detail-index__button span::before {
    translate: -18% 0;
    rotate: 45deg;
}

.knowledge-detail .knowledge-detail-index__button span::after {
    translate: 18% 0;
    rotate: -45deg;
}

.knowledge-detail .knowledge-detail-index__content {
    border-radius: calc(1 * 1rem);
}

.knowledge-detail .knowledge-detail-index__inner {
    padding: calc(1.8 * 1rem) calc(7.4 * 1rem) calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-index__inner {
        padding: 0 calc(4.81 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-index__inner a {
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: color;
}

@media (hover: hover) and (pointer: fine) {
    .knowledge-detail .knowledge-detail-index__inner a:hover {
        color: #0599d9;
    }
}

@media (hover: none) {
    .knowledge-detail .knowledge-detail-index__inner a:active {
        color: #0599d9;
    }
}

.knowledge-detail .knowledge-detail-index__inner ol {
    font-size: calc(1.8 * 1rem);
    line-height: 2.2222222222;
    list-style: decimal;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-index__inner ol {
        font-size: calc(1.35 * 1rem);
        line-height: 1.6;
    }
}

.knowledge-detail .knowledge-detail-content * :first-child {
    margin-top: 0;
}

.knowledge-detail .knowledge-detail-content h2 {
    margin-top: calc(6.8 * 1rem);
    padding-bottom: calc(0.8 * 1rem);
    border-bottom: calc(0.2 * 1rem) solid #0599d9;
    font-weight: 700;
    font-size: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-content h2 {
        margin-top: calc(3.4 * 1rem);
        font-size: calc(2.25 * 1rem);
        line-height: 1.6;
    }
}

.knowledge-detail .knowledge-detail-content h3 {
    padding-left: 0.5em;
    font-weight: 700;
    font-size: calc(1.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-content h3 {
        font-size: calc(1.35 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-content h3+p {
    margin-top: calc(1.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-content h3+p {
        margin-top: calc(0.7 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-content p {
    margin-top: calc(3.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-content p {
        margin-top: calc(1.7 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-content p+p {
    margin-top: calc(2.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-content p+p {
        margin-top: calc(1.4 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-content ul {
    margin-top: calc(2.8 * 1rem);
    list-style: disc inside;
    padding-left: 2em;
    text-indent: -1em;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-content ul {
        margin-top: calc(1.4 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-content figure {
    overflow: hidden;
    margin-top: calc(4.4 * 1rem);
    border-radius: calc(3 * 1rem) calc(3 * 1rem) calc(3 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-content figure {
        margin-top: calc(2.2 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-content div {
    margin-top: calc(2.5 * 1rem);
    border-radius: calc(1 * 1rem);
    padding: calc(3.4 * 1rem) calc(4.2 * 1rem) calc(4.8 * 1rem);
    background-color: #f5f5f5;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-content div {
        margin-top: calc(1.25 * 1rem);
        padding: calc(1.7 * 1rem) calc(2.1 * 1rem) calc(2.4 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-content iframe {
    width: 100%;
    height: auto;
    margin-top: calc(8 * 1rem);
    aspect-ratio: 16/9;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-content iframe {
        margin-top: calc(4 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-share {
    position: sticky;
    bottom: calc(100dvh - 69 * 1rem);
    left: calc(4 * 1rem);
    width: calc(2.4 * 1rem);
    margin-left: calc(-5.8 * 1rem);
    margin-top: calc(-37.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-share {
        position: static;
        width: 100%;
        margin-top: calc(2 * 1rem);
        margin-left: 0;
    }
}

.knowledge-detail .knowledge-detail-share__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(4.5 * 1rem);
    height: auto;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-share__inner {
        flex-direction: row;
        gap: calc(2.25 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-share__heading {
    writing-mode: vertical-rl;
    font-weight: 700;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-share__heading {
        writing-mode: horizontal-tb;
    }
}

.knowledge-detail .knowledge-detail-share-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .knowledge-detail-share-list {
        flex-direction: row;
        gap: calc(1 * 1rem);
    }
}

.knowledge-detail .knowledge-detail-share-list__item {
    width: calc(2.4 * 1rem);
    height: calc(2.4 * 1rem);
}

.knowledge-detail .knowledge-detail-share-list__item a,
.knowledge-detail .knowledge-detail-share-list__item button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    height: 100%;
}

.knowledge-detail .knowledge-detail-share-list__item--hatena {
    width: calc(1.9 * 1rem);
    height: calc(1.9 * 1rem);
}

.knowledge-detail .knowledge-detail-share-list__item--link {
    width: calc(2 * 1rem);
    height: calc(1.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail .component-button a {
        width: 100%;
    }
}

.knowledge-detail-download__content a {
    display: flex;
    align-items: center;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .knowledge-detail-download__content a {
        flex-direction: column;
    }
}

@media (hover: hover) and (pointer: fine) {
    .knowledge-detail-download__content a:hover .knowledge-detail-download__heading {
        color: #0599d9;
    }
}

@media (hover: none) {
    .knowledge-detail-download__content a:active .knowledge-detail-download__heading {
        color: #0599d9;
    }
}

.knowledge-detail-download__image {
    width: calc(36 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail-download__image {
        width: 100%;
    }
}

.knowledge-detail-download__heading {
    display: flex;
    align-items: center;
    flex: 1;
    gap: calc(2.8 * 1rem);
    padding: 0 calc(6.2 * 1rem);
    font-weight: 700;
    font-size: calc(2 * 1rem);
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .knowledge-detail-download__heading {
        padding: calc(1 * 1rem) calc(2 * 1rem);
        font-size: calc(1.5 * 1rem);
    }
}

.knowledge-detail-download__heading .component-arrow__target {
    flex-shrink: 0;
}

@media screen and (max-width: 768px) {
    .knowledge-detail-aside {
        padding: calc(2 * 1rem);
    }
}

.knowledge-detail-aside .aside__inner {
    padding: calc(3.6 * 1rem) calc(9 * 1rem) calc(4.8 * 1rem);
    border: calc(0.2 * 1rem) solid #0599d9;
    border-radius: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail-aside .aside__inner {
        padding: calc(2 * 1rem);
    }
}

.knowledge-detail-aside__heading {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: calc(54 * 1rem);
    margin-left: auto;
    margin-right: auto;
    height: calc(6 * 1rem);
    border-radius: calc(3 * 1rem);
    background-color: #0599d9;
    color: #fff;
    font-weight: 700;
    font-size: calc(2.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail-aside__heading {
        font-size: calc(1.65 * 1rem);
    }
}

.knowledge-detail-aside .knowledge-detail-aside-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(3.2 * 1rem) calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail-aside .knowledge-detail-aside-list {
        flex-direction: column;
        gap: calc(1.6 * 1rem);
    }
}

.knowledge-detail-aside .knowledge-detail-aside-list__item {
    width: calc(50% - calc(2.5 * 1rem));
}

@media screen and (max-width: 768px) {
    .knowledge-detail-aside .knowledge-detail-aside-list__item {
        width: 100%;
    }
}

.knowledge-detail-aside .knowledge-detail-aside-list__item a {
    display: flex;
    gap: calc(3 * 1rem);
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .knowledge-detail-aside .knowledge-detail-aside-list__item a {
        flex-direction: column;
        gap: calc(1.5 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .knowledge-detail-aside .knowledge-detail-aside-list__item a:hover {
        color: #0599d9;
    }
}

@media (hover: none) {
    .knowledge-detail-aside .knowledge-detail-aside-list__item a:active {
        color: #0599d9;
    }
}

.knowledge-detail-aside .knowledge-detail-aside-list__image {
    width: calc(24.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail-aside .knowledge-detail-aside-list__image {
        width: 100%;
    }
}

.knowledge-detail-aside .knowledge-detail-aside-list__content {
    flex: 1;
}

.knowledge-detail-aside .knowledge-detail-aside-list__date {
    color: #999;
    font-size: calc(1.4 * 1rem);
}

.knowledge-detail-nav .knowledge-detail-nav-buttons {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: calc(110 * 1rem);
    margin-left: auto;
    margin-right: auto;
    flex-wrap: wrap;
    gap: calc(6 * 1rem) calc(5.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .knowledge-detail-nav .knowledge-detail-nav-buttons {
        gap: calc(1.5 * 1rem);
    }
}

.topics-list {
    max-width: calc(110 * 1rem);
    margin: 0 auto;
}

.topics-list .list-item {
    border-bottom: 1px solid #dddddd;
}

.topics-list .list-item a {
    display: block;
    padding: calc(3.8 * 1rem) calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .topics-list .list-item a {
        padding: calc(1.9 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .topics-list .list-item a:hover .topics-index-list__text {
        color: #0599d9;
    }
}

@media (hover: none) {
    .topics-list .list-item a:active .topics-index-list__text {
        color: #0599d9;
    }
}

.topics-list .news__detail {
    display: flex;
    gap: calc(2 * 1rem);
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .topics-list .news__detail {
        flex-direction: column;
        gap: calc(1 * 1rem);
    }
}

.topics-list .news__property {
    display: flex;
}

.topics-list time {
    font-size: calc(1.6 * 1rem);
    line-height: 1.75;
    letter-spacing: 0.02em;
    margin-right: calc(1.2 * 1rem);
    flex: 0 0 auto;
}

.topics-list .badge {
    width: calc(13 * 1rem);
    flex: 0 0 auto;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: calc(1.2 * 1rem);
    line-height: 1;
    letter-spacing: 0.08em;
    font-weight: 700;
    min-width: calc(10 * 1rem);
    height: calc(2.8 * 1rem);
    border-radius: calc(0.2 * 1rem);
    background: #666;
}

.topics-list .badge.badge-cate_01 {
    background: #0599d9;
}

.topics-list .badge.badge-cate_02 {
    background: #48c1db;
}

.topics-list .badge.badge-cate_03 {
    background: #9a91d1;
}

.topics-list .badge.badge-cate_04 {
    background: #63b58a;
}

.topics-list .news__ttl {
    flex: 1;
    font-size: calc(1.6 * 1rem);
    line-height: 1.75;
    letter-spacing: 0.08em;
    transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.topics-detail {
    max-width: calc(110 * 1rem);
    margin: 0 auto;
}

.topics-detail__title {
    font-size: calc(3 * 1rem);
    line-height: 1.6666666667;
    letter-spacing: 0.06em;
    text-align: left;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .topics-detail__title {
        font-size: calc(2.25 * 1rem);
        line-height: 1.4;
    }
}

.topics-detail__date {
    color: #999;
    font-family: "Figtree", Yakuhanjp, sans-serif;
    font-size: calc(1.4 * 1rem);
    line-height: 1;
    font-weight: 700;
}

.topics-detail__content {
    line-height: 1.75;
}

.topics-detail__content p {
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .topics-detail__content p {
        margin-top: calc(1 * 1rem);
    }
}

.topics-detail__content p+p {
    margin-top: calc(1.75 * 1em - 1em);
}

@media screen and (max-width: 768px) {
    .topics-detail__content p+p {
        margin-top: calc((1.75 * 1em - 1em) * 0.5);
    }
}

.topics-detail__content h2 {
    font-size: calc(1.8 * 1rem);
    line-height: 1.5555555556;
    font-weight: 700;
    margin-top: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .topics-detail__content h2 {
        margin-top: calc(2 * 1rem);
    }
}

.topics-detail__content h3 {
    font-size: calc(1.8 * 1rem);
    line-height: 1.5555555556;
    font-weight: 700;
    margin-top: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .topics-detail__content h3 {
        margin-top: calc(1.5 * 1rem);
    }
}

.topics-detail__content h3+p {
    margin-top: calc(1 * 1rem);
}

.topics-detail__content ul {
    margin-top: calc(2.7 * 1rem);
    margin-bottom: calc(3.8 * 1rem);
    font-size: calc(1.6 * 1rem);
    line-height: 1.75;
}

@media screen and (max-width: 768px) {
    .topics-detail__content ul {
        margin-top: calc(1.35 * 1rem);
        margin-bottom: calc(1.9 * 1rem);
    }
}

.topics-detail__content img {
    width: auto;
}

.topics-detail__content img.image-shadow {
    box-shadow: 0 0 calc(3 * 1rem) rgba(51, 51, 51, 0.1);
}

.topics-detail__content .wp-block-image {
    margin-top: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .topics-detail__content .wp-block-image {
        margin-top: calc(1.5 * 1rem);
    }
}

.topics-detail__content .wp-block-image+h2 {
    margin-top: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .topics-detail__content .wp-block-image+h2 {
        margin-top: calc(3 * 1rem);
    }
}

.topics-detail__content .wp-block-image.image-shadow {
    margin-top: calc(4.5 * 1rem);
    margin-bottom: calc(4.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .topics-detail__content .wp-block-image.image-shadow {
        margin-top: calc(2.25 * 1rem);
        margin-bottom: calc(2.25 * 1rem);
    }
}

.topics-detail__content .wp-block-image.image-shadow img {
    box-shadow: 0 0 calc(3 * 1rem) rgba(51, 51, 51, 0.1);
}

.topics-detail__content .wp-block-columns h2+.wp-block-image {
    margin-top: calc(2.4 * 1rem);
}

@media screen and (max-width: 768px) {
    .topics-detail__content .wp-block-columns h2+.wp-block-image {
        margin-top: calc(1.2 * 1rem);
    }
}

.topics-detail__content .wp-block-columns .wp-block-column .wp-block-image,
.topics-detail__content .wp-block-columns .wp-block-column img {
    margin-top: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .topics-detail__content .wp-block-columns .wp-block-column .wp-block-image,
    .topics-detail__content .wp-block-columns .wp-block-column img {
        margin-top: calc(1.5 * 1rem);
    }
}

.topics-detail__content table {
    line-height: 1.75;
    margin-top: calc(0.8 * 1rem);
    width: auto;
}

.topics-detail__content table th,
.topics-detail__content table td {
    border: none;
    padding: calc(0.3 * 1rem) calc(4 * 1rem) calc(0.4 * 1rem) 0;
    vertical-align: top;
}

.topics-detail__content table th:first-child,
.topics-detail__content table td:first-child {
    white-space: nowrap;
}

.topics-detail__content table th:last-child,
.topics-detail__content table td:last-child {
    padding-right: 0;
}

.topics-detail__content .wp-block-columns {
    align-items: normal !important;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap !important;
}

@media (min-width: 782px) {
    .topics-detail__content .wp-block-columns {
        flex-wrap: nowrap !important;
    }
}

.topics-detail__content .is-layout-flex {
    display: flex;
}

.topics-detail__content .is-layout-flex {
    flex-wrap: wrap;
    align-items: center;
}

.topics-detail__content .wp-container-core-columns-is-layout-1.wp-container-core-columns-is-layout-1 {
    flex-wrap: nowrap;
}

.topics-detail__content .is-layout-flex>* {
    margin: 0;
}

.topics-detail__content .wp-block-column {
    flex-grow: 1;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
}

@media (min-width: 782px) {
    .topics-detail__content .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 0;
        flex-grow: 1;
    }
}

.sitemap .sitemap-list {
    display: grid;
    gap: calc(4 * 1rem) calc(12 * 1rem);
    grid-template-columns: calc(48 * 1rem) calc(68 * 1rem);
}

@media screen and (max-width: 768px) {
    .sitemap .sitemap-list {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

.sitemap .sitemap-list__item {
    width: calc(48 * 1rem);
}

@media screen and (max-width: 768px) {
    .sitemap .sitemap-list__item {
        width: 100%;
    }
}

.sitemap .sitemap-list__item .sitemap-list__body-heading {
    font-weight: 700;
    font-size: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .sitemap .sitemap-list__item .sitemap-list__body-heading {
        font-size: calc(1.5 * 1rem);
    }
}

@media screen and (min-width: 769px) {
    .sitemap .sitemap-list__item .sitemap-list__body-heading:nth-of-type(n+2) {
        margin-top: calc(2 * 1rem);
    }
}

.sitemap .sitemap-list__item:nth-of-type(2) {
    width: calc(68 * 1rem);
}

@media screen and (max-width: 768px) {
    .sitemap .sitemap-list__item:nth-of-type(2) {
        width: 100%;
    }
}

.sitemap .sitemap-list__item:nth-of-type(2) .sitemap-list__body {
    display: flex;
}

.sitemap .sitemap-list__item:nth-of-type(2) .sitemap-list__body-content {
    width: 100%;
    padding-left: calc(0.8 * 1rem);
}

.sitemap .sitemap-list__item:nth-of-type(2) .sitemap-list__body-heading {
    font-weight: 700;
    font-size: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .sitemap .sitemap-list__item:nth-of-type(2) .sitemap-list__body-heading {
        font-size: calc(1.5 * 1rem);
    }
}

@media screen and (min-width: 769px) {
    .sitemap .sitemap-list__item:nth-of-type(2) .sitemap-list__body-heading:nth-of-type(n+2) {
        margin-top: calc(2 * 1rem);
    }
}

@media screen and (min-width: 769px) {
    .sitemap .sitemap-list__content:nth-of-type(2) {
        margin-top: calc(3 * 1rem);
    }
}

.sitemap .sitemap-list__heading a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(1.6 * 1rem);
    padding: calc(2 * 1rem) calc(1 * 1rem) calc(2.2 * 1rem) calc(1 * 1rem);
    border-bottom: calc(0.2 * 1rem) solid #0599d9;
    color: #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .sitemap .sitemap-list__heading a {
        padding-bottom: calc(1.1 * 1rem);
        font-size: calc(2.04 * 1rem);
    }
}

.sitemap .sitemap-list__heading a .component-arrow__target {
    margin-top: calc(0.2 * 1rem);
}

.sitemap .sitemap-list__body .sitemap-link {
    display: flex;
    flex-direction: column;
    gap: calc(0.5 * 1rem);
    padding-left: calc(0.8 * 1rem);
}

.sitemap .sitemap-list__body .sitemap-link a::before {
    content: "―";
}

.sitemap .sitemap-list__body .sitemap-link__item--s {
    font-size: calc(1.4 * 1rem);
}

.sitemap .sitemap-list__body .sitemap-link__item--s a::before {
    content: "└";
}

.en-home .en-home-list {
    display: flex;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .en-home .en-home-list {
        flex-direction: column;
    }
}

@media (hover: hover) and (pointer: fine) {
    .en-home .en-home-list a:hover .en-home-list__text {
        color: #0599d9;
    }
}

@media (hover: none) {
    .en-home .en-home-list a:active .en-home-list__text {
        color: #0599d9;
    }
}

.en-home .en-home-list__image {
    position: relative;
    overflow: hidden;
    border-radius: calc(1 * 1rem);
}

.en-home .en-home-list__arrow {
    position: absolute;
    right: calc(1.6 * 1rem);
    bottom: calc(1.6 * 1rem);
}

.en-home .en-home-list__text {
    padding-left: calc(1 * 1rem);
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    transition: color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.guide-detail-image-list {
    display: flex;
    gap: 0 calc(4.5 * 1rem);
}

.guide-detail-image-list__item {
    width: calc(22.5 * 1rem);
}

.guide-detail__list-text {
    font-size: calc(1.6 * 1rem);
    line-height: 1.75;
}

.guide-detail__list-text li {
    padding-left: 2.3rem;
    text-indent: -2.3rem;
}

.guide-detail__list-text li:before {
    content: "●";
    color: #0599d9;
    margin-right: 0.4em;
}

.guide-detail__mv {
    width: 100%;
    margin-top: calc(4 * 1rem);
}

.guide-detail__mv img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.guide-detail__txt {
    margin-top: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail__txt {
        margin-top: calc(3 * 1rem);
        font-size: calc(1.35 * 1rem);
    }
}

.guide-detail__txt-item+.guide-detail__txt-item {
    margin-top: calc(2 * 1rem);
}

.guide-detail__txt-item--bold {
    font-weight: 700;
}

.guide-detail__txt-item--link {
    display: inline-block;
    transition: opacity 0.3s text-decoration 0.3s;
    -webkit-text-decoration: underline 1px #333;
    text-decoration: underline 1px #333;
    text-underline-offset: calc(0.2 * 1rem);
}

@media (hover: hover) and (pointer: fine) {
    .guide-detail__txt-item--link:hover:hover {
        opacity: 0.8;
        text-decoration: none;
    }
}

@media (hover: none) {
    .guide-detail__txt-item--link:hover:active {
        opacity: 0.8;
        text-decoration: none;
    }
}

.guide-detail__container {
    display: flex;
    justify-content: space-between;
    gap: 0 calc(6 * 1rem);
    padding-bottom: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail__container {
        flex-direction: column;
        padding-bottom: calc(4 * 1rem);
    }
}

.guide-detail__inner {
    width: 65%;
}

@media screen and (max-width: 768px) {
    .guide-detail__inner {
        width: 100%;
    }
}

.guide-detail__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(4 * 1rem);
    letter-spacing: 0.05em;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .guide-detail__heading {
        font-size: calc(2.8 * 1rem);
    }
}

.guide-detail__article {
    width: 100%;
    margin-top: calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail__article {
        margin-top: calc(4 * 1rem);
    }
}

.guide-detail__article-heading {
    font-size: calc(3 * 1rem);
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .guide-detail__article-heading {
        font-size: calc(2 * 1rem);
    }
}

.guide-detail__article-sub-heading {
    display: block;
    font-size: calc(2.4 * 1rem);
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    .guide-detail__article-sub-heading {
        font-size: calc(1.8 * 1rem);
    }
}

.guide-detail__category {
    display: flex;
    align-items: center;
    gap: 0 calc(2 * 1rem);
    font-size: calc(1.4 * 1rem);
    font-weight: 700;
    flex-wrap: wrap;
}

.guide-detail__category-list {
    padding: calc(0.8 * 1rem);
}

.guide-detail__content {
    display: flex;
    justify-content: space-between;
    gap: 0 calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail__content {
        flex-direction: column;
    }
}

.guide-detail__content-heading {
    font-size: calc(2.2 * 1rem);
    font-weight: 700;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .guide-detail__content-heading {
        font-size: calc(1.8 * 1rem);
        margin-top: calc(2 * 1rem);
    }
}

.guide-detail__content-image {
    width: calc(28.16% - 4.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail__content-image {
        width: 100%;
        max-width: calc(15 * 1rem);
        margin-inline: auto;
    }
}

.guide-detail__content-image img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.guide-detail__content-txt {
    width: 71.84%;
}

@media screen and (max-width: 768px) {
    .guide-detail__content-txt {
        width: 100%;
    }
}

.guide-detail__content-txt-item {
    margin-top: calc(2 * 1rem);
    font-size: calc(1.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail__content-txt-item {
        font-size: calc(1.35 * 1rem);
    }
}

.guide-detail__content-btn a {
    color: #fff;
    background: #0599d9;
    border: 0.2rem solid #0599d9;
}

.guide-detail__download-side-wrap {
    padding: calc(3 * 1rem) calc(1.5 * 1rem);
    width: calc(35% - 6 * 1rem);
    height: 1200px;
}

@media screen and (max-width: 768px) {
    .guide-detail__download-side-wrap {
        width: 100%;
        margin-top: calc(6 * 1rem);
    }
}

.guide-detail__download-form {
    height: 100%;
}

.guide-detail-dl__images {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 calc(4.7 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail-dl__images {
        flex-direction: column;
        gap: calc(3 * 1rem) 0;
    }
}

.guide-detail-dl__images-item {
    width: calc((100% - 9.4 * 1rem) / 3);
}

@media screen and (max-width: 768px) {
    .guide-detail-dl__images-item {
        width: 100%;
        max-width: calc(22.5 * 1rem);
    }
}

.guide-detail-dl__list-item {
    margin-left: calc(1 * 1rem);
}

.guide-detail-dl__content {
    margin-top: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail-dl__content {
        margin-top: calc(4 * 1rem);
    }
}

.guide-detail-dl__content.mt {
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail-dl__content.mt {
        margin-top: calc(3 * 1rem);
    }
}

.guide-detail-dl__content-heading {
    font-size: calc(1.8 * 1rem);
    font-weight: 700;
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail-dl__content-heading {
        font-size: calc(1.6 * 1rem);
    }
}

.guide-detail-dl__col3 {
    gap: calc(3 * 1rem) calc(5 * 1rem);
}

@media screen and (max-width: 768px) {
    .guide-detail-dl__col3 {
        gap: calc(5 * 1rem);
    }
}

.seminar-detail__container {
    display: flex;
    justify-content: space-between;
    gap: calc(6 * 1rem);
    align-items: flex-start;
}

@media screen and (max-width: 768px) {
    .seminar-detail__container {
        flex-direction: column;
        gap: calc(4 * 1rem);
    }
}

.seminar-detail__inner {
    flex: 1;
    counter-reset: seminar-program;
}

.seminar-detail__inner .component-button--border a::before {
    rotate: 90deg;
}

.seminar-detail__side {
    width: calc(36 * 1rem);
    max-width: 100%;
}

@media screen and (max-width: 768px) {
    .seminar-detail__side {
        width: 100%;
    }
}

.seminar-detail__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3.6 * 1rem);
    letter-spacing: 0.05em;
    line-height: 1.4;
}

@media screen and (max-width: 768px) {
    .seminar-detail__heading {
        font-size: calc(2.6 * 1rem);
    }
}

.seminar-detail__section {
    margin-top: calc(6 * 1rem);
    padding-top: calc(3 * 1rem);
    border-top: 1px solid #e1e1e1;
}

.seminar-detail__section:first-of-type {
    margin-top: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .seminar-detail__section {
        margin-top: calc(4 * 1rem);
    }
}

.seminar-detail__section--program {
    counter-increment: seminar-program;
}

.seminar-detail__section--program>.seminar-detail__section__heading:first-of-type {
    position: relative;
    padding-left: calc(5 * 1rem);
}

.seminar-detail__section--program>.seminar-detail__section__heading:first-of-type::before {
    content: counter(seminar-program, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    height: 40px;
    background: #0599d9;
    border-radius: calc(1 * 1rem);
    color: #fff;
    font-size: calc(2.2 * 1rem);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.seminar-detail__section--side {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-radius: calc(1.6 * 1rem);
    padding: calc(3 * 1rem);
}

.seminar-detail__meta {
    margin-top: calc(6 * 1rem);
    padding: calc(3 * 1rem);
    border-radius: calc(2 * 1rem);
    background: #f4fbff;
}

@media screen and (max-width: 768px) {
    .seminar-detail__meta {
        margin-top: calc(4 * 1rem);
        padding: calc(2 * 1rem);
    }
}

.seminar-detail__meta__list {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .seminar-detail__meta__list {
        grid-template-columns: auto;
        gap: calc(1 * 1rem);
    }
}

.seminar-detail__meta__list dt {
    font-weight: bold;
    color: #333;
}

@media screen and (max-width: 768px) {
    .seminar-detail__meta__list dd {
        margin-left: calc(2 * 1rem);
    }
}

.seminar-detail__meta__list dd p {
    margin-block-end: calc(1 * 1rem);
}

.seminar-detail__meta__list dd a {
    text-decoration: underline;
}

.seminar-detail__meta__list dd ol {
    list-style: decimal;
    padding-left: calc(2 * 1rem);
}

.seminar-detail__content {
    margin-top: calc(2 * 1rem);
    font-size: calc(1.6 * 1rem);
    line-height: 1.8;
    color: #333;
}

@media screen and (max-width: 768px) {
    .seminar-detail__content {
        font-size: calc(1.4 * 1rem);
    }
}

.seminar-detail__section__heading {
    font-size: calc(2.8 * 1rem);
    font-weight: 700;
    line-height: 1.5;
    color: #333;
    margin-bottom: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .seminar-detail__section__heading {
        font-size: calc(2.2 * 1rem);
    }
}

.seminar-program-item {
    background: #f8f8f8;
    border-radius: calc(1.2 * 1rem);
    padding: calc(2.5 * 1rem);
    margin: calc(2 * 1rem) 0;
}

.seminar-program-item__description {
    font-size: calc(1.6 * 1rem);
    line-height: 1.8;
    color: #333;
}

@media screen and (max-width: 768px) {
    .seminar-program-item__description {
        font-size: calc(1.4 * 1rem);
    }
}

.seminar-speaker-item {
    display: flex;
    gap: calc(3 * 1rem);
    align-items: flex-start;
    margin-top: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .seminar-speaker-item {
        flex-direction: column;
    }
}

.seminar-speaker-item__photo {
    flex: 0 0 calc(18 * 1rem);
    border-radius: 50%;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .seminar-speaker-item__photo {
        flex: 0;
        border-radius: calc(1 * 1rem);
    }
}

.seminar-speaker-item__photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.seminar-speaker-item__content {
    flex: 1;
}

.seminar-speaker-item__name {
    font-size: calc(2.2 * 1rem);
    font-weight: 700;
}

.seminar-speaker-item__title {
    margin-top: calc(0.8 * 1rem);
    font-size: calc(1.4 * 1rem);
    color: #666;
}

.seminar-speaker-item__profile {
    margin-top: calc(1.6 * 1rem);
    font-size: calc(1.5 * 1rem);
    line-height: 1.8;
}

.seminar-kv__image {
    margin-bottom: calc(4 * 1rem);
    text-align: center;
}

.seminar-kv__image--wide {
    width: 100%;
    border-radius: calc(2 * 1rem);
    overflow: hidden;
}

.seminar-kv__image--wide img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
}

.seminar-kv__meta {
    display: flex;
    flex-direction: column;
    gap: calc(1 * 1rem);
    padding: calc(2.5 * 1rem);
    border-radius: calc(1.6 * 1rem);
    background: #f9f9f9;
    font-size: calc(1.5 * 1rem);
    line-height: 1.6;
}

.seminar-kv__meta p {
    margin: 0;
}

.seminar-kv__status {
    font-weight: 700;
    color: #0599d9;
}

.seminar-form-embed {
    margin-top: calc(2 * 1rem);
}

.seminar-form-embed iframe {
    width: 100% !important;
}

.component-nav-list__item {
    background-color: #fff;
    border: 1px solid #e1e1e1;
}

@media screen and (max-width: 768px) {
    .component-nav-list__item {
        width: 100%;
    }
}

.component-nav-list__item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(40 * 1rem);
    height: calc(8 * 1rem);
    padding-right: calc(2 * 1rem);
    padding-left: calc(4 * 1rem);
    gap: calc(2 * 1rem);
    font-weight: 700;
    transition: color 0.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
    .component-nav-list__item a {
        width: 100%;
        padding-right: calc(1 * 1rem);
        padding-left: calc(2 * 1rem);
    }
}

@media (hover: hover) and (pointer: fine) {
    .component-nav-list__item a:hover {
        color: #0599d9;
    }
}

@media (hover: none) {
    .component-nav-list__item a:active {
        color: #0599d9;
    }
}

.component-nav-list__item a span {
    rotate: 90deg;
}

.subject-mv {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-mv {
        flex-direction: column;
        gap: calc(2 * 1rem);
    }
}

.subject-mv__title.component-section-heading-large {
    font-size: calc(3.4 * 1rem);
}

.subject-customer__content {
    display: flex;
    gap: calc(6 * 1rem);
    position: relative;
}

@media screen and (max-width: 768px) {
    .subject-customer__content {
        flex-direction: column;
        gap: calc(0 * 1rem);
    }
}

.subject-customer__content::after {
    display: block;
    width: calc(2.5 * 1rem);
    height: calc(7.5 * 1rem);
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background-color: #b4e1f4;
}

@media screen and (max-width: 768px) {
    .subject-customer__content::after {
        rotate: 90deg;
        display: none;
    }
}

.subject-customer .subject-customer-list {
    display: flex;
    justify-content: center;
    width: 100%;
    height: auto;
    flex-direction: column;
    gap: calc(3.8 * 1rem);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .subject-customer .subject-customer-list {
        gap: calc(2.85 * 1rem);
        height: auto;
        padding: calc(2 * 1rem) !important;
    }
}

.subject-customer .subject-customer-list:nth-of-type(1) {
    padding: calc(4 * 1rem) calc(3.5 * 1rem) calc(3 * 1rem);
    position: relative;
}

.subject-customer .subject-customer-list:nth-of-type(1) .subject-customer-list__number {
    background-color: #fff;
    color: #0599d9;
}

.subject-customer .subject-customer-list:nth-of-type(2) {
    padding: 0 calc(3.5 * 1rem);
}

.subject-customer .subject-customer-list:nth-of-type(2) .subject-customer-list__number {
    background-color: #0599d9;
    color: #fff;
}

.subject-customer .subject-customer-list__item {
    display: flex;
    gap: calc(1.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-customer .subject-customer-list__item {
        gap: calc(0.8 * 1rem);
    }
}

.subject-customer .subject-customer-list__item--arrow {
    display: none;
}

@media screen and (max-width: 768px) {
    .subject-customer .subject-customer-list__item--arrow {
        display: block;
        width: calc(2.5 * 1rem);
        height: calc(7.5 * 1rem);
        content: "";
        clip-path: polygon(0 0, 100% 50%, 0 100%);
        background-color: #b4e1f4;
        rotate: 90deg;
        margin-inline: auto;
    }
}

.subject-customer .subject-customer-list__number {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(5 * 1rem);
    height: calc(5 * 1rem);
    border-radius: 100%;
    border: 1px solid #0599d9;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    font-family: "Noto Sans JP";
}

@media screen and (max-width: 768px) {
    .subject-customer .subject-customer-list__number {
        width: calc(3.75 * 1rem);
        height: calc(3.75 * 1rem);
        border-radius: 100%;
        font-size: calc(1.8 * 1rem);
    }
}

.subject-customer .subject-customer-list__number--subject {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(5 * 1rem);
    height: calc(5 * 1rem);
    border-radius: 100%;
    font-weight: 700;
    font-size: calc(2.4 * 1rem);
    font-family: "Noto Sans JP";
    color: #666;
    border: calc(0.2 * 1rem) solid #666;
}

@media screen and (max-width: 768px) {
    .subject-customer .subject-customer-list__number--subject {
        width: calc(3.75 * 1rem);
        height: calc(3.75 * 1rem);
        border-radius: 100%;
        font-size: calc(1.8 * 1rem);
    }
}

.subject-customer .subject-customer-list__text {
    flex: 1;
    color: #333;
    font-size: calc(1.6 * 1rem);
}

.subject-customer .subject-customer-list__text--blue {
    color: #0599d9;
    font-size: calc(1.6 * 1rem);
}

.subject-customer .subject-customer-list--small {
    gap: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-customer .subject-customer-list--small {
        gap: calc(2 * 1rem);
    }
}

.subject-customer .subject-customer-list--small .subject-customer-list__number,
.subject-customer .subject-customer-list--small .subject-customer-list__text {
    font-size: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-customer .subject-customer-list--small .subject-customer-list__number,
    .subject-customer .subject-customer-list--small .subject-customer-list__text {
        font-size: calc(1.5 * 1rem);
    }
}

.subject-customer-proposal__inner {
    background-color: #fff;
    margin: calc(4 * 1rem) 0 0;
    border-radius: calc(3 * 1rem) calc(3 * 1rem) 0 0;
    padding: calc(5.4 * 1rem) calc(2 * 1rem) calc(4 * 1rem) calc(5.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-customer-proposal__inner {
        padding: calc(2 * 1rem);
    }
}

.subject-customer-proposal__content {
    display: flex;
    align-items: center;
    gap: calc(4 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-customer-proposal__content {
        flex-direction: column;
        gap: calc(2 * 1rem);
    }
}

.subject-customer-proposal__text {
    text-decoration: underline;
}

.subject-customer-proposal__item {
    display: flex;
    color: #0599d9;
    font-size: calc(1.8 * 1rem);
    gap: calc(1 * 1rem);
    width: -moz-fit-content;
    width: fit-content;
    transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.subject-customer-proposal__item+.subject-customer-proposal__item {
    margin-top: calc(0.5 * 1rem);
}

@media (hover: hover) and (pointer: fine) {
    .subject-customer-proposal__item:hover:hover {
        color: #666;
        text-decoration: none;
        transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    }
}

@media (hover: none) {
    .subject-customer-proposal__item:hover:active {
        color: #666;
        text-decoration: none;
        transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    }
}

@media screen and (max-width: 768px) {
    .subject-customer-proposal__item:hover {
        color: #0599d9;
        text-decoration: initial;
        transition: initial;
    }
}

.subject-customer-proposal__number {
    white-space: nowrap;
}

.subject-solution__image {
    width: 100%;
    max-width: calc(70.7 * 1rem);
    margin-left: auto;
    margin-right: auto;
}

.subject-solution .subject-solution-list {
    display: flex;
    flex-direction: column;
    gap: calc(5.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list {
        gap: calc(2.75 * 1rem);
    }
}

.subject-solution .subject-solution-list__heading {
    display: flex;
    gap: calc(3.2 * 1rem);
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list__heading {
        gap: calc(1.6 * 1rem);
    }
}

.subject-solution .subject-solution-list__heading-number {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(8 * 1rem);
    height: calc(8 * 1rem);
    border-radius: 100%;
    padding-bottom: calc(0.2 * 1rem);
    background-color: #0599d9;
    color: #fff;
    font-size: calc(3 * 1rem);
    font-family: "Figtree", Yakuhanjp, sans-serif;
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list__heading-number {
        width: calc(6 * 1rem);
        height: calc(6 * 1rem);
        border-radius: 100%;
        font-size: calc(2.25 * 1rem);
    }
}

.subject-solution .subject-solution-list__heading-text {
    flex: 1;
    color: #0599d9;
    font-size: calc(2.6 * 1rem);
    line-height: 1.3846153846;
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list__heading-text {
        font-size: calc(1.95 * 1rem);
        line-height: 1.2;
    }
}

.subject-solution .subject-solution-list__item {
    padding: calc(6 * 1rem) calc(7 * 1rem) calc(8.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list__item {
        padding: calc(2 * 1rem);
    }
}

.subject-solution .subject-solution-list__item--summary {
    padding: calc(3.6 * 1rem) calc(7 * 1rem) calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list__item--summary {
        padding: calc(2 * 1rem);
    }
}

.subject-solution .subject-solution-list__item--summary .subject-solution-list__heading {
    align-items: center;
    border-bottom: calc(0.2 * 1rem) solid #0599d9;
}

.subject-solution .subject-solution-list__item--summary .subject-solution-list__heading-number {
    background: url("/assets/img/subject/icn_light.svg") no-repeat center/calc(2.8 * 1rem) calc(4.6 * 1rem) #0599d9;
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list__item--summary .subject-solution-list__heading-number {
        background-size: calc(2.1 * 1rem) calc(3.45 * 1rem);
    }
}

.subject-solution .subject-solution-list__item--summary .subject-solution-list__heading-text {
    font-size: calc(3.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list__item--summary .subject-solution-list__heading-text {
        font-size: calc(2.7 * 1rem);
    }
}

.subject-solution .subject-solution-list .subject-solution-list-image {
    display: flex;
    flex-wrap: wrap;
    gap: calc(5.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list .subject-solution-list-image {
        flex-direction: column;
        gap: calc(2.6 * 1rem);
    }
}

.subject-solution .subject-solution-list .subject-solution-list-image__item {
    width: calc(50% - calc(2.6 * 1rem));
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list .subject-solution-list-image__item {
        width: 100%;
    }
}

.subject-solution .subject-solution-list .subject-solution-list-image--grid {
    display: grid;
    grid-template-columns: calc(76 * 1rem) calc(33 * 1rem);
    grid-auto-rows: auto;
    gap: calc(3 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list .subject-solution-list-image--grid {
        grid-template-columns: 100%;
        gap: calc(1.5 * 1rem);
    }
}

.subject-solution .subject-solution-list .subject-solution-list-image--grid .subject-solution-list-image__item:nth-child(1) {
    width: calc(76 * 1rem);
    grid-row: 1/3;
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list .subject-solution-list-image--grid .subject-solution-list-image__item:nth-child(1) {
        width: 100%;
        grid-row: auto;
    }
}

.subject-solution .subject-solution-list .subject-solution-list-image--grid .subject-solution-list-image__item:nth-child(2),
.subject-solution .subject-solution-list .subject-solution-list-image--grid .subject-solution-list-image__item:nth-child(3) {
    width: auto;
}

.subject-solution .subject-solution-list .subject-solution-list-image--column {
    gap: calc(3.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list .subject-solution-list-image--column {
        gap: calc(1.9 * 1rem);
    }
}

.subject-solution .subject-solution-list .subject-solution-list-image--column .subject-solution-list-image__item {
    width: calc(33.333% - calc(2.6 * 1rem));
}

@media screen and (max-width: 768px) {
    .subject-solution .subject-solution-list .subject-solution-list-image--column .subject-solution-list-image__item {
        width: 100%;
    }
}

.subject-aside .subject-aside-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(6 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-aside .subject-aside-list {
        flex-direction: column;
        gap: calc(3 * 1rem);
    }
}

.subject-aside .subject-aside-list__item {
    width: calc(33.333% - calc(4 * 1rem));
}

@media screen and (max-width: 768px) {
    .subject-aside .subject-aside-list__item {
        width: 100%;
    }
}

.subject-aside .subject-aside-list__heading {
    color: #fff;
    font-weight: 700;
    font-size: calc(2 * 1rem);
}

.subject-aside .subject-aside-list__text {
    color: #fff;
    font-size: calc(1.4 * 1rem);
}

.subject__heading {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(3.6 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .subject__heading {
        font-size: calc(2.7 * 1rem);
    }
}

.subject .subject-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(6 * 1rem);
}

.subject .subject-list__item {
    overflow: hidden;
    width: calc(33.333% - calc(4 * 1rem));
    border-radius: calc(2 * 1rem);
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .subject .subject-list__item {
        width: 100%;
    }
    .subject .subject-list__item .component-arrow__target {
        margin-left: auto;
    }
}

.subject .subject-list__image {
    overflow: hidden;
}

.subject .subject-list__content {
    padding: calc(3 * 1rem) calc(2.6 * 1rem) calc(3.8 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject .subject-list__content {
        padding: calc(2 * 1rem);
    }
}

.subject .subject-list__content:has(.subject-list__text) {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: calc(0.5 * 1rem);
    padding: calc(3.2 * 1rem) calc(2.6 * 1rem) calc(2.5 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject .subject-list__content:has(.subject-list__text) {
        padding: calc(2 * 1rem);
    }
}

.subject .subject-list__content:has(.subject-list__text) .subject-list__text {
    width: 100%;
}

.subject .subject-list__content:has(.subject-list__text) .component-arrow__target {
    margin-left: auto;
}

.subject .subject-list__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(2 * 1rem);
    font-weight: 700;
    font-size: calc(2 * 1rem);
}

.subject .subject-list__heading .component-arrow__target {
    flex-shrink: 0;
}

.subject .subject-list .subject-list-sub {
    display: flex;
    flex-wrap: wrap;
    gap: calc(0.8 * 1rem) calc(1 * 1rem);
    font-size: calc(1.2 * 1rem);
}

.subject .subject-list .subject-list-sub__item {
    display: flex;
    gap: calc(0.8 * 1rem);
    width: calc(50% - calc(2 * 1rem));
    font-size: calc(1.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject .subject-list .subject-list-sub__item {
        width: 100%;
    }
}

.subject .subject-list .subject-list-sub__item:nth-child(odd) {
    width: calc(55% - calc(2 * 1rem));
}

.subject .subject-list .subject-list-sub__item:nth-child(even) {
    width: calc(45% - calc(2 * 1rem));
}

.subject .subject-list .subject-list-sub__item--wide {
    width: 100% !important;
}

.subject .subject-list .subject-list-sub__heading {
    display: flex;
    align-items: center;
    height: calc(2.2 * 1rem);
    padding: calc(0.6 * 1rem) calc(0.6 * 1rem);
    background-color: #ddd;
}

.subject .subject-list .subject-list-sub__text {
    flex: 1;
}

.subject-company a {
    display: flex;
    align-items: center;
    gap: calc(3.75 * 1rem) calc(7.5 * 1rem);
    overflow: hidden;
    border-radius: calc(2 * 1rem);
    color: #fff;
}

@media screen and (max-width: 768px) {
    .subject-company a {
        flex-direction: column;
    }
}

.subject-company__content {
    flex: 1;
    position: relative;
    padding-left: calc(11.2 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-company__content {
        padding: calc(3 * 1rem);
    }
}

.subject-company__content .component-arrow__target {
    position: absolute;
    right: 0;
    bottom: calc(-1 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-company__content .component-arrow__target {
        right: calc(3 * 1rem);
        bottom: calc(-1 * 1rem);
    }
}

.subject-company__heading {
    font-weight: 700;
    font-size: calc(3.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-company__heading {
        font-size: calc(1.8 * 1rem);
    }
}

.subject-company__text {
    font-size: calc(2 * 1rem);
    line-height: 1.6;
}

@media screen and (max-width: 768px) {
    .subject-company__text {
        font-size: calc(1.5 * 1rem);
    }
}

.subject-company__image {
    overflow: hidden;
    width: calc(45.6 * 1rem);
}

@media screen and (max-width: 768px) {
    .subject-company__image {
        width: 100%;
    }
}

.subject-detail__heading {
    color: #333;
    font-weight: 700;
    font-size: calc(3 * 1rem);
    position: relative;
    padding: 0 0 0 4rem;
}

@media screen and (max-width: 768px) {
    .subject-detail__heading {
        font-size: calc(2.25 * 1rem);
    }
}

.subject-detail__heading--subject::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    width: calc(2.5 * 1rem);
    height: calc(3 * 1rem);
    content: "";
    display: block;
    background-image: url("/assets/img/subject/heading_icon01.png");
    background-repeat: no-repeat;
    background-size: 100%;
}

.subject-detail__heading--benefit {
    color: #0599d9;
}

.subject-detail__heading--benefit::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    width: calc(2.55 * 1rem);
    height: calc(4.35 * 1rem);
    content: "";
    display: block;
    background-image: url("/assets/img/subject/heading_icon02.png");
    background-repeat: no-repeat;
    background-size: 100%;
}

.subject-detail__heading--proposal {
    padding: 0;
    width: 40%;
    position: static;
}

@media screen and (max-width: 768px) {
    .subject-detail__heading--proposal {
        width: 100%;
    }
}

.newsletter-detail__content {
    margin-block-end: 72px;
}

.newsletter-detail-image-list {
    display: flex;
    flex-wrap: wrap;
    gap: calc(2 * 1rem);
    margin-block-end: 24px;
}

@media screen and (min-width: 769px) {
    .newsletter-detail-image-list {
        gap: calc(1 * 1rem);
        justify-content: center;
        margin-block-end: 80px;
    }
}

.newsletter-detail-image-list__item {
    width: 100%;
}

@media screen and (min-width: 769px) {
    .newsletter-detail-image-list__item {
        width: calc(27 * 1rem);
    }
}

.newsletter-detail-image-list__item__image {
    margin-block-end: 8px;
}

.newsletter-detail-image-list__item__image>img {
    border-radius: 10px;
}

.newsletter-detail-image-list__item__ttl {
    font-size: calc(2.4 * 1rem);
    font-weight: bold;
    margin-block-end: 8px;
    line-height: 1.3;
}

.newsletter-detail__desc {
    text-align: center;
}

.newsletter-detail__ttl {
    color: #333;
    font-weight: 700;
    font-size: calc(3.2 * 1rem);
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-block-end: 24px;
}

.newsletter-detail__list-text {
    font-size: calc(1.6 * 1rem);
    line-height: 1.75;
    margin-block-end: 24px;
}

.newsletter-detail__list-text li {
    padding-left: 2.3rem;
    text-indent: -2.3rem;
}

.newsletter-detail__list-text li:before {
    content: "●";
    color: #0599d9;
    margin-right: 0.4em;
}

.newsletter-detail__container {
    display: flex;
    justify-content: space-between;
    gap: 0 calc(6 * 1rem);
    padding-bottom: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .newsletter-detail__container {
        flex-direction: column;
        padding-bottom: calc(4 * 1rem);
    }
}

.newsletter-detail__inner {
    width: 65%;
}

@media screen and (max-width: 768px) {
    .newsletter-detail__inner {
        width: 100%;
    }
}

.newsletter-detail__side-wrap {
    padding: calc(5 * 1rem) calc(2 * 1rem);
    width: calc(35% - 6 * 1rem);
    height: 1400px;
}

@media screen and (max-width: 768px) {
    .newsletter-detail__side-wrap {
        width: 100%;
        margin-top: calc(6 * 1rem);
    }
}

.newsletter-detail__form {
    width: 100%;
    height: 100%;
    border: none;
}

.thanks-cta-section {
    margin-top: calc(8 * 1rem);
}

@media screen and (max-width: 768px) {
    .thanks-cta-section {
        margin-top: calc(6 * 1rem);
    }
}

.thanks__ttl {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(4 * 1rem);
    line-height: 1.5;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .thanks__ttl {
        font-size: calc(2.8 * 1rem);
    }
}

.thanks__txt {
    font-size: calc(1.6 * 1rem);
    margin-top: calc(2 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .thanks__txt {
        font-size: calc(1.35 * 1rem);
    }
}

.thanks__txt+.thanks__txt {
    margin-top: calc(0.5 * 1rem);
}

.thanks__return-btn {
    margin: calc(8 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .thanks__return-btn {
        width: 90%;
        margin-inline: auto;
    }
}

.thanks__return-btn a {
    margin-inline: auto;
}

.dl-thanks__ttl {
    color: #0599d9;
    font-weight: 700;
    font-size: calc(4 * 1rem);
    line-height: 1.5;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .dl-thanks__ttl {
        font-size: calc(2.8 * 1rem);
    }
}

.dl-thanks__txt {
    font-size: calc(1.6 * 1rem);
    margin-top: calc(2 * 1rem);
    text-align: center;
}

@media screen and (max-width: 768px) {
    .dl-thanks__txt {
        font-size: calc(1.35 * 1rem);
    }
}

.dl-thanks__txt+.dl-thanks__txt {
    margin-top: calc(0.5 * 1rem);
}

.dl-thanks__list {
    justify-content: center;
}

.dl-thanks__list--col3 {
    gap: calc(4 * 1rem) calc(3 * 1rem);
    justify-content: flex-start;
}

@media screen and (max-width: 768px) {
    .dl-thanks__list--col3 {
        gap: 0;
    }
}

.dl-thanks__list--col4 {
    gap: calc(4 * 1rem) calc(2 * 1rem);
    justify-content: flex-start;
}

@media screen and (max-width: 768px) {
    .dl-thanks__list--col4 {
        gap: 0;
    }
}

.dl-thanks__item {
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.16);
    background: transparent;
    border-radius: 2rem;
    padding-bottom: calc(2 * 1rem);
}

@media screen and (max-width: 768px) {
    .dl-thanks__item {
        margin-top: calc(4 * 1rem);
    }
}

.dl-thanks__item--col3 {
    width: calc((100% - 6 * 1rem) / 3);
}

@media screen and (max-width: 768px) {
    .dl-thanks__item--col3 {
        width: 100%;
    }
}

.dl-thanks__item--col4 {
    width: calc((100% - 6 * 1rem) / 4);
}

@media screen and (max-width: 768px) {
    .dl-thanks__item--col4 {
        width: 100%;
    }
}

.dl-thanks__btn-txt {
    border-color: #0599d9;
    background-color: #0599d9;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: calc(2 * 1rem) auto 0;
    width: 80%;
    height: calc(7 * 1rem);
    gap: calc(1.4 * 1rem);
    padding-right: calc(1.4 * 1rem);
    padding-bottom: calc(0.2 * 1rem);
    border: 0.2rem solid;
    border-radius: 1rem;
    font-weight: 700;
    font-size: calc(1.6 * 1rem);
    text-align: center;
}

.dl-thanks__btn-txt::before {
    margin-top: calc(0.2 * 1rem);
    -webkit-mask: no-repeat center/contain;
    mask: no-repeat center/contain;
    display: block;
    width: calc(1.9 * 1rem);
    height: calc(1.6 * 1rem);
    content: "";
    background-color: #fff;
    -webkit-mask-image: url(/assets/img/common/icn_download.svg);
    mask-image: url(/assets/img/common/icn_download.svg);
}

.dl-thanks__return-btn {
    margin: calc(8 * 1rem) 0;
}

@media screen and (max-width: 768px) {
    .dl-thanks__return-btn {
        width: 90%;
        margin-inline: auto;
    }
}

.dl-thanks__return-btn a {
    margin-inline: auto;
}

@media screen and (min-width: 769px) {
    .only-sp {
        display: none !important;
    }
}

@media screen and (max-width: 768px) {
    .only-pc {
        display: none !important;
    }
}

.justify-center {
    justify-content: center !important;
}

.w-1 {
    width: calc(0.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-1 {
        width: calc(0.25 * 1rem) !important;
    }
}

.w-2 {
    width: calc(0.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-2 {
        width: calc(0.5 * 1rem) !important;
    }
}

.w-3 {
    width: calc(0.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-3 {
        width: calc(0.75 * 1rem) !important;
    }
}

.w-4 {
    width: calc(0.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-4 {
        width: calc(1 * 1rem) !important;
    }
}

.w-5 {
    width: calc(0.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-5 {
        width: calc(1.25 * 1rem) !important;
    }
}

.w-6 {
    width: calc(0.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-6 {
        width: calc(1.5 * 1rem) !important;
    }
}

.w-7 {
    width: calc(0.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-7 {
        width: calc(1.75 * 1rem) !important;
    }
}

.w-8 {
    width: calc(0.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-8 {
        width: calc(2 * 1rem) !important;
    }
}

.w-9 {
    width: calc(0.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-9 {
        width: calc(2.25 * 1rem) !important;
    }
}

.w-10 {
    width: calc(1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-10 {
        width: calc(2.5 * 1rem) !important;
    }
}

.w-11 {
    width: calc(1.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-11 {
        width: calc(2.75 * 1rem) !important;
    }
}

.w-12 {
    width: calc(1.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-12 {
        width: calc(3 * 1rem) !important;
    }
}

.w-13 {
    width: calc(1.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-13 {
        width: calc(3.25 * 1rem) !important;
    }
}

.w-14 {
    width: calc(1.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-14 {
        width: calc(3.5 * 1rem) !important;
    }
}

.w-15 {
    width: calc(1.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-15 {
        width: calc(3.75 * 1rem) !important;
    }
}

.w-16 {
    width: calc(1.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-16 {
        width: calc(4 * 1rem) !important;
    }
}

.w-17 {
    width: calc(1.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-17 {
        width: calc(4.25 * 1rem) !important;
    }
}

.w-18 {
    width: calc(1.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-18 {
        width: calc(4.5 * 1rem) !important;
    }
}

.w-19 {
    width: calc(1.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-19 {
        width: calc(4.75 * 1rem) !important;
    }
}

.w-20 {
    width: calc(2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-20 {
        width: calc(5 * 1rem) !important;
    }
}

.w-21 {
    width: calc(2.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-21 {
        width: calc(5.25 * 1rem) !important;
    }
}

.w-22 {
    width: calc(2.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-22 {
        width: calc(5.5 * 1rem) !important;
    }
}

.w-23 {
    width: calc(2.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-23 {
        width: calc(5.75 * 1rem) !important;
    }
}

.w-24 {
    width: calc(2.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-24 {
        width: calc(6 * 1rem) !important;
    }
}

.w-25 {
    width: calc(2.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-25 {
        width: calc(6.25 * 1rem) !important;
    }
}

.w-26 {
    width: calc(2.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-26 {
        width: calc(6.5 * 1rem) !important;
    }
}

.w-27 {
    width: calc(2.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-27 {
        width: calc(6.75 * 1rem) !important;
    }
}

.w-28 {
    width: calc(2.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-28 {
        width: calc(7 * 1rem) !important;
    }
}

.w-29 {
    width: calc(2.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-29 {
        width: calc(7.25 * 1rem) !important;
    }
}

.w-30 {
    width: calc(3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-30 {
        width: calc(7.5 * 1rem) !important;
    }
}

.w-31 {
    width: calc(3.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-31 {
        width: calc(7.75 * 1rem) !important;
    }
}

.w-32 {
    width: calc(3.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-32 {
        width: calc(8 * 1rem) !important;
    }
}

.w-33 {
    width: calc(3.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-33 {
        width: calc(8.25 * 1rem) !important;
    }
}

.w-34 {
    width: calc(3.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-34 {
        width: calc(8.5 * 1rem) !important;
    }
}

.w-35 {
    width: calc(3.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-35 {
        width: calc(8.75 * 1rem) !important;
    }
}

.w-36 {
    width: calc(3.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-36 {
        width: calc(9 * 1rem) !important;
    }
}

.w-37 {
    width: calc(3.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-37 {
        width: calc(9.25 * 1rem) !important;
    }
}

.w-38 {
    width: calc(3.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-38 {
        width: calc(9.5 * 1rem) !important;
    }
}

.w-39 {
    width: calc(3.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-39 {
        width: calc(9.75 * 1rem) !important;
    }
}

.w-40 {
    width: calc(4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-40 {
        width: calc(10 * 1rem) !important;
    }
}

.w-41 {
    width: calc(4.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-41 {
        width: calc(10.25 * 1rem) !important;
    }
}

.w-42 {
    width: calc(4.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-42 {
        width: calc(10.5 * 1rem) !important;
    }
}

.w-43 {
    width: calc(4.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-43 {
        width: calc(10.75 * 1rem) !important;
    }
}

.w-44 {
    width: calc(4.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-44 {
        width: calc(11 * 1rem) !important;
    }
}

.w-45 {
    width: calc(4.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-45 {
        width: calc(11.25 * 1rem) !important;
    }
}

.w-46 {
    width: calc(4.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-46 {
        width: calc(11.5 * 1rem) !important;
    }
}

.w-47 {
    width: calc(4.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-47 {
        width: calc(11.75 * 1rem) !important;
    }
}

.w-48 {
    width: calc(4.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-48 {
        width: calc(12 * 1rem) !important;
    }
}

.w-49 {
    width: calc(4.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-49 {
        width: calc(12.25 * 1rem) !important;
    }
}

.w-50 {
    width: calc(5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-50 {
        width: calc(12.5 * 1rem) !important;
    }
}

.w-51 {
    width: calc(5.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-51 {
        width: calc(12.75 * 1rem) !important;
    }
}

.w-52 {
    width: calc(5.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-52 {
        width: calc(13 * 1rem) !important;
    }
}

.w-53 {
    width: calc(5.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-53 {
        width: calc(13.25 * 1rem) !important;
    }
}

.w-54 {
    width: calc(5.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-54 {
        width: calc(13.5 * 1rem) !important;
    }
}

.w-55 {
    width: calc(5.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-55 {
        width: calc(13.75 * 1rem) !important;
    }
}

.w-56 {
    width: calc(5.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-56 {
        width: calc(14 * 1rem) !important;
    }
}

.w-57 {
    width: calc(5.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-57 {
        width: calc(14.25 * 1rem) !important;
    }
}

.w-58 {
    width: calc(5.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-58 {
        width: calc(14.5 * 1rem) !important;
    }
}

.w-59 {
    width: calc(5.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-59 {
        width: calc(14.75 * 1rem) !important;
    }
}

.w-60 {
    width: calc(6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-60 {
        width: calc(15 * 1rem) !important;
    }
}

.w-61 {
    width: calc(6.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-61 {
        width: calc(15.25 * 1rem) !important;
    }
}

.w-62 {
    width: calc(6.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-62 {
        width: calc(15.5 * 1rem) !important;
    }
}

.w-63 {
    width: calc(6.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-63 {
        width: calc(15.75 * 1rem) !important;
    }
}

.w-64 {
    width: calc(6.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-64 {
        width: calc(16 * 1rem) !important;
    }
}

.w-65 {
    width: calc(6.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-65 {
        width: calc(16.25 * 1rem) !important;
    }
}

.w-66 {
    width: calc(6.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-66 {
        width: calc(16.5 * 1rem) !important;
    }
}

.w-67 {
    width: calc(6.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-67 {
        width: calc(16.75 * 1rem) !important;
    }
}

.w-68 {
    width: calc(6.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-68 {
        width: calc(17 * 1rem) !important;
    }
}

.w-69 {
    width: calc(6.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-69 {
        width: calc(17.25 * 1rem) !important;
    }
}

.w-70 {
    width: calc(7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-70 {
        width: calc(17.5 * 1rem) !important;
    }
}

.w-71 {
    width: calc(7.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-71 {
        width: calc(17.75 * 1rem) !important;
    }
}

.w-72 {
    width: calc(7.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-72 {
        width: calc(18 * 1rem) !important;
    }
}

.w-73 {
    width: calc(7.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-73 {
        width: calc(18.25 * 1rem) !important;
    }
}

.w-74 {
    width: calc(7.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-74 {
        width: calc(18.5 * 1rem) !important;
    }
}

.w-75 {
    width: calc(7.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-75 {
        width: calc(18.75 * 1rem) !important;
    }
}

.w-76 {
    width: calc(7.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-76 {
        width: calc(19 * 1rem) !important;
    }
}

.w-77 {
    width: calc(7.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-77 {
        width: calc(19.25 * 1rem) !important;
    }
}

.w-78 {
    width: calc(7.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-78 {
        width: calc(19.5 * 1rem) !important;
    }
}

.w-79 {
    width: calc(7.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-79 {
        width: calc(19.75 * 1rem) !important;
    }
}

.w-80 {
    width: calc(8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-80 {
        width: calc(20 * 1rem) !important;
    }
}

.w-81 {
    width: calc(8.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-81 {
        width: calc(20.25 * 1rem) !important;
    }
}

.w-82 {
    width: calc(8.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-82 {
        width: calc(20.5 * 1rem) !important;
    }
}

.w-83 {
    width: calc(8.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-83 {
        width: calc(20.75 * 1rem) !important;
    }
}

.w-84 {
    width: calc(8.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-84 {
        width: calc(21 * 1rem) !important;
    }
}

.w-85 {
    width: calc(8.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-85 {
        width: calc(21.25 * 1rem) !important;
    }
}

.w-86 {
    width: calc(8.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-86 {
        width: calc(21.5 * 1rem) !important;
    }
}

.w-87 {
    width: calc(8.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-87 {
        width: calc(21.75 * 1rem) !important;
    }
}

.w-88 {
    width: calc(8.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-88 {
        width: calc(22 * 1rem) !important;
    }
}

.w-89 {
    width: calc(8.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-89 {
        width: calc(22.25 * 1rem) !important;
    }
}

.w-90 {
    width: calc(9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-90 {
        width: calc(22.5 * 1rem) !important;
    }
}

.w-91 {
    width: calc(9.1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-91 {
        width: calc(22.75 * 1rem) !important;
    }
}

.w-92 {
    width: calc(9.2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-92 {
        width: calc(23 * 1rem) !important;
    }
}

.w-93 {
    width: calc(9.3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-93 {
        width: calc(23.25 * 1rem) !important;
    }
}

.w-94 {
    width: calc(9.4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-94 {
        width: calc(23.5 * 1rem) !important;
    }
}

.w-95 {
    width: calc(9.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-95 {
        width: calc(23.75 * 1rem) !important;
    }
}

.w-96 {
    width: calc(9.6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-96 {
        width: calc(24 * 1rem) !important;
    }
}

.w-97 {
    width: calc(9.7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-97 {
        width: calc(24.25 * 1rem) !important;
    }
}

.w-98 {
    width: calc(9.8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-98 {
        width: calc(24.5 * 1rem) !important;
    }
}

.w-99 {
    width: calc(9.9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-99 {
        width: calc(24.75 * 1rem) !important;
    }
}

.w-100 {
    width: calc(10 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .w-100 {
        width: calc(25 * 1rem) !important;
    }
}

.mt-5 {
    margin-top: calc(0.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-5 {
        margin-top: calc(0.18 * 1rem) !important;
    }
}

.pt-5 {
    padding-top: calc(0.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-5 {
        padding-top: calc(0.18 * 1rem) !important;
    }
}

.pb-5 {
    padding-bottom: calc(0.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-5 {
        padding-bottom: calc(0.18 * 1rem) !important;
    }
}

.mt-10 {
    margin-top: calc(1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-10 {
        margin-top: calc(0.36 * 1rem) !important;
    }
}

.pt-10 {
    padding-top: calc(1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-10 {
        padding-top: calc(0.36 * 1rem) !important;
    }
}

.pb-10 {
    padding-bottom: calc(1 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-10 {
        padding-bottom: calc(0.36 * 1rem) !important;
    }
}

.mt-15 {
    margin-top: calc(1.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-15 {
        margin-top: calc(0.54 * 1rem) !important;
    }
}

.pt-15 {
    padding-top: calc(1.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-15 {
        padding-top: calc(0.54 * 1rem) !important;
    }
}

.pb-15 {
    padding-bottom: calc(1.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-15 {
        padding-bottom: calc(0.54 * 1rem) !important;
    }
}

.mt-20 {
    margin-top: calc(2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-20 {
        margin-top: calc(0.72 * 1rem) !important;
    }
}

.pt-20 {
    padding-top: calc(2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-20 {
        padding-top: calc(0.72 * 1rem) !important;
    }
}

.pb-20 {
    padding-bottom: calc(2 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-20 {
        padding-bottom: calc(0.72 * 1rem) !important;
    }
}

.mt-25 {
    margin-top: calc(2.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-25 {
        margin-top: calc(0.9 * 1rem) !important;
    }
}

.pt-25 {
    padding-top: calc(2.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-25 {
        padding-top: calc(0.9 * 1rem) !important;
    }
}

.pb-25 {
    padding-bottom: calc(2.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-25 {
        padding-bottom: calc(0.9 * 1rem) !important;
    }
}

.mt-30 {
    margin-top: calc(3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-30 {
        margin-top: calc(1.08 * 1rem) !important;
    }
}

.pt-30 {
    padding-top: calc(3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-30 {
        padding-top: calc(1.08 * 1rem) !important;
    }
}

.pb-30 {
    padding-bottom: calc(3 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-30 {
        padding-bottom: calc(1.08 * 1rem) !important;
    }
}

.mt-35 {
    margin-top: calc(3.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-35 {
        margin-top: calc(1.26 * 1rem) !important;
    }
}

.pt-35 {
    padding-top: calc(3.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-35 {
        padding-top: calc(1.26 * 1rem) !important;
    }
}

.pb-35 {
    padding-bottom: calc(3.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-35 {
        padding-bottom: calc(1.26 * 1rem) !important;
    }
}

.mt-40 {
    margin-top: calc(4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-40 {
        margin-top: calc(1.44 * 1rem) !important;
    }
}

.pt-40 {
    padding-top: calc(4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-40 {
        padding-top: calc(1.44 * 1rem) !important;
    }
}

.pb-40 {
    padding-bottom: calc(4 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-40 {
        padding-bottom: calc(1.44 * 1rem) !important;
    }
}

.mt-45 {
    margin-top: calc(4.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-45 {
        margin-top: calc(1.62 * 1rem) !important;
    }
}

.pt-45 {
    padding-top: calc(4.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-45 {
        padding-top: calc(1.62 * 1rem) !important;
    }
}

.pb-45 {
    padding-bottom: calc(4.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-45 {
        padding-bottom: calc(1.62 * 1rem) !important;
    }
}

.mt-50 {
    margin-top: calc(5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-50 {
        margin-top: calc(1.8 * 1rem) !important;
    }
}

.pt-50 {
    padding-top: calc(5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-50 {
        padding-top: calc(1.8 * 1rem) !important;
    }
}

.pb-50 {
    padding-bottom: calc(5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-50 {
        padding-bottom: calc(1.8 * 1rem) !important;
    }
}

.mt-55 {
    margin-top: calc(5.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-55 {
        margin-top: calc(1.98 * 1rem) !important;
    }
}

.pt-55 {
    padding-top: calc(5.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-55 {
        padding-top: calc(1.98 * 1rem) !important;
    }
}

.pb-55 {
    padding-bottom: calc(5.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-55 {
        padding-bottom: calc(1.98 * 1rem) !important;
    }
}

.mt-60 {
    margin-top: calc(6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-60 {
        margin-top: calc(2.16 * 1rem) !important;
    }
}

.pt-60 {
    padding-top: calc(6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-60 {
        padding-top: calc(2.16 * 1rem) !important;
    }
}

.pb-60 {
    padding-bottom: calc(6 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-60 {
        padding-bottom: calc(2.16 * 1rem) !important;
    }
}

.mt-65 {
    margin-top: calc(6.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-65 {
        margin-top: calc(2.34 * 1rem) !important;
    }
}

.pt-65 {
    padding-top: calc(6.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-65 {
        padding-top: calc(2.34 * 1rem) !important;
    }
}

.pb-65 {
    padding-bottom: calc(6.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-65 {
        padding-bottom: calc(2.34 * 1rem) !important;
    }
}

.mt-70 {
    margin-top: calc(7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-70 {
        margin-top: calc(2.52 * 1rem) !important;
    }
}

.pt-70 {
    padding-top: calc(7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-70 {
        padding-top: calc(2.52 * 1rem) !important;
    }
}

.pb-70 {
    padding-bottom: calc(7 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-70 {
        padding-bottom: calc(2.52 * 1rem) !important;
    }
}

.mt-75 {
    margin-top: calc(7.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-75 {
        margin-top: calc(2.7 * 1rem) !important;
    }
}

.pt-75 {
    padding-top: calc(7.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-75 {
        padding-top: calc(2.7 * 1rem) !important;
    }
}

.pb-75 {
    padding-bottom: calc(7.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-75 {
        padding-bottom: calc(2.7 * 1rem) !important;
    }
}

.mt-80 {
    margin-top: calc(8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-80 {
        margin-top: calc(2.88 * 1rem) !important;
    }
}

.pt-80 {
    padding-top: calc(8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-80 {
        padding-top: calc(2.88 * 1rem) !important;
    }
}

.pb-80 {
    padding-bottom: calc(8 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-80 {
        padding-bottom: calc(2.88 * 1rem) !important;
    }
}

.mt-85 {
    margin-top: calc(8.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-85 {
        margin-top: calc(3.06 * 1rem) !important;
    }
}

.pt-85 {
    padding-top: calc(8.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-85 {
        padding-top: calc(3.06 * 1rem) !important;
    }
}

.pb-85 {
    padding-bottom: calc(8.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-85 {
        padding-bottom: calc(3.06 * 1rem) !important;
    }
}

.mt-90 {
    margin-top: calc(9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-90 {
        margin-top: calc(3.24 * 1rem) !important;
    }
}

.pt-90 {
    padding-top: calc(9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-90 {
        padding-top: calc(3.24 * 1rem) !important;
    }
}

.pb-90 {
    padding-bottom: calc(9 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-90 {
        padding-bottom: calc(3.24 * 1rem) !important;
    }
}

.mt-95 {
    margin-top: calc(9.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-95 {
        margin-top: calc(3.42 * 1rem) !important;
    }
}

.pt-95 {
    padding-top: calc(9.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-95 {
        padding-top: calc(3.42 * 1rem) !important;
    }
}

.pb-95 {
    padding-bottom: calc(9.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-95 {
        padding-bottom: calc(3.42 * 1rem) !important;
    }
}

.mt-100 {
    margin-top: calc(10 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-100 {
        margin-top: calc(3.6 * 1rem) !important;
    }
}

.pt-100 {
    padding-top: calc(10 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-100 {
        padding-top: calc(3.6 * 1rem) !important;
    }
}

.pb-100 {
    padding-bottom: calc(10 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-100 {
        padding-bottom: calc(3.6 * 1rem) !important;
    }
}

.mt-105 {
    margin-top: calc(10.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-105 {
        margin-top: calc(3.78 * 1rem) !important;
    }
}

.pt-105 {
    padding-top: calc(10.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-105 {
        padding-top: calc(3.78 * 1rem) !important;
    }
}

.pb-105 {
    padding-bottom: calc(10.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-105 {
        padding-bottom: calc(3.78 * 1rem) !important;
    }
}

.mt-110 {
    margin-top: calc(11 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-110 {
        margin-top: calc(3.96 * 1rem) !important;
    }
}

.pt-110 {
    padding-top: calc(11 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-110 {
        padding-top: calc(3.96 * 1rem) !important;
    }
}

.pb-110 {
    padding-bottom: calc(11 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-110 {
        padding-bottom: calc(3.96 * 1rem) !important;
    }
}

.mt-115 {
    margin-top: calc(11.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-115 {
        margin-top: calc(4.14 * 1rem) !important;
    }
}

.pt-115 {
    padding-top: calc(11.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-115 {
        padding-top: calc(4.14 * 1rem) !important;
    }
}

.pb-115 {
    padding-bottom: calc(11.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-115 {
        padding-bottom: calc(4.14 * 1rem) !important;
    }
}

.mt-120 {
    margin-top: calc(12 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-120 {
        margin-top: calc(4.32 * 1rem) !important;
    }
}

.pt-120 {
    padding-top: calc(12 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-120 {
        padding-top: calc(4.32 * 1rem) !important;
    }
}

.pb-120 {
    padding-bottom: calc(12 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-120 {
        padding-bottom: calc(4.32 * 1rem) !important;
    }
}

.mt-125 {
    margin-top: calc(12.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-125 {
        margin-top: calc(4.5 * 1rem) !important;
    }
}

.pt-125 {
    padding-top: calc(12.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-125 {
        padding-top: calc(4.5 * 1rem) !important;
    }
}

.pb-125 {
    padding-bottom: calc(12.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-125 {
        padding-bottom: calc(4.5 * 1rem) !important;
    }
}

.mt-130 {
    margin-top: calc(13 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-130 {
        margin-top: calc(4.68 * 1rem) !important;
    }
}

.pt-130 {
    padding-top: calc(13 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-130 {
        padding-top: calc(4.68 * 1rem) !important;
    }
}

.pb-130 {
    padding-bottom: calc(13 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-130 {
        padding-bottom: calc(4.68 * 1rem) !important;
    }
}

.mt-135 {
    margin-top: calc(13.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-135 {
        margin-top: calc(4.86 * 1rem) !important;
    }
}

.pt-135 {
    padding-top: calc(13.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-135 {
        padding-top: calc(4.86 * 1rem) !important;
    }
}

.pb-135 {
    padding-bottom: calc(13.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-135 {
        padding-bottom: calc(4.86 * 1rem) !important;
    }
}

.mt-140 {
    margin-top: calc(14 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-140 {
        margin-top: calc(5.04 * 1rem) !important;
    }
}

.pt-140 {
    padding-top: calc(14 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-140 {
        padding-top: calc(5.04 * 1rem) !important;
    }
}

.pb-140 {
    padding-bottom: calc(14 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-140 {
        padding-bottom: calc(5.04 * 1rem) !important;
    }
}

.mt-145 {
    margin-top: calc(14.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-145 {
        margin-top: calc(5.22 * 1rem) !important;
    }
}

.pt-145 {
    padding-top: calc(14.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-145 {
        padding-top: calc(5.22 * 1rem) !important;
    }
}

.pb-145 {
    padding-bottom: calc(14.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-145 {
        padding-bottom: calc(5.22 * 1rem) !important;
    }
}

.mt-150 {
    margin-top: calc(15 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-150 {
        margin-top: calc(5.4 * 1rem) !important;
    }
}

.pt-150 {
    padding-top: calc(15 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-150 {
        padding-top: calc(5.4 * 1rem) !important;
    }
}

.pb-150 {
    padding-bottom: calc(15 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-150 {
        padding-bottom: calc(5.4 * 1rem) !important;
    }
}

.mt-155 {
    margin-top: calc(15.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-155 {
        margin-top: calc(5.58 * 1rem) !important;
    }
}

.pt-155 {
    padding-top: calc(15.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-155 {
        padding-top: calc(5.58 * 1rem) !important;
    }
}

.pb-155 {
    padding-bottom: calc(15.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-155 {
        padding-bottom: calc(5.58 * 1rem) !important;
    }
}

.mt-160 {
    margin-top: calc(16 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-160 {
        margin-top: calc(5.76 * 1rem) !important;
    }
}

.pt-160 {
    padding-top: calc(16 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-160 {
        padding-top: calc(5.76 * 1rem) !important;
    }
}

.pb-160 {
    padding-bottom: calc(16 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-160 {
        padding-bottom: calc(5.76 * 1rem) !important;
    }
}

.mt-165 {
    margin-top: calc(16.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-165 {
        margin-top: calc(5.94 * 1rem) !important;
    }
}

.pt-165 {
    padding-top: calc(16.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-165 {
        padding-top: calc(5.94 * 1rem) !important;
    }
}

.pb-165 {
    padding-bottom: calc(16.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-165 {
        padding-bottom: calc(5.94 * 1rem) !important;
    }
}

.mt-170 {
    margin-top: calc(17 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-170 {
        margin-top: calc(6.12 * 1rem) !important;
    }
}

.pt-170 {
    padding-top: calc(17 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-170 {
        padding-top: calc(6.12 * 1rem) !important;
    }
}

.pb-170 {
    padding-bottom: calc(17 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-170 {
        padding-bottom: calc(6.12 * 1rem) !important;
    }
}

.mt-175 {
    margin-top: calc(17.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-175 {
        margin-top: calc(6.3 * 1rem) !important;
    }
}

.pt-175 {
    padding-top: calc(17.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-175 {
        padding-top: calc(6.3 * 1rem) !important;
    }
}

.pb-175 {
    padding-bottom: calc(17.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-175 {
        padding-bottom: calc(6.3 * 1rem) !important;
    }
}

.mt-180 {
    margin-top: calc(18 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-180 {
        margin-top: calc(6.48 * 1rem) !important;
    }
}

.pt-180 {
    padding-top: calc(18 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-180 {
        padding-top: calc(6.48 * 1rem) !important;
    }
}

.pb-180 {
    padding-bottom: calc(18 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-180 {
        padding-bottom: calc(6.48 * 1rem) !important;
    }
}

.mt-185 {
    margin-top: calc(18.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-185 {
        margin-top: calc(6.66 * 1rem) !important;
    }
}

.pt-185 {
    padding-top: calc(18.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-185 {
        padding-top: calc(6.66 * 1rem) !important;
    }
}

.pb-185 {
    padding-bottom: calc(18.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-185 {
        padding-bottom: calc(6.66 * 1rem) !important;
    }
}

.mt-190 {
    margin-top: calc(19 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-190 {
        margin-top: calc(6.84 * 1rem) !important;
    }
}

.pt-190 {
    padding-top: calc(19 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-190 {
        padding-top: calc(6.84 * 1rem) !important;
    }
}

.pb-190 {
    padding-bottom: calc(19 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-190 {
        padding-bottom: calc(6.84 * 1rem) !important;
    }
}

.mt-195 {
    margin-top: calc(19.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-195 {
        margin-top: calc(7.02 * 1rem) !important;
    }
}

.pt-195 {
    padding-top: calc(19.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-195 {
        padding-top: calc(7.02 * 1rem) !important;
    }
}

.pb-195 {
    padding-bottom: calc(19.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-195 {
        padding-bottom: calc(7.02 * 1rem) !important;
    }
}

.mt-200 {
    margin-top: calc(20 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-200 {
        margin-top: calc(7.2 * 1rem) !important;
    }
}

.pt-200 {
    padding-top: calc(20 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-200 {
        padding-top: calc(7.2 * 1rem) !important;
    }
}

.pb-200 {
    padding-bottom: calc(20 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-200 {
        padding-bottom: calc(7.2 * 1rem) !important;
    }
}

.mt-205 {
    margin-top: calc(20.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-205 {
        margin-top: calc(7.38 * 1rem) !important;
    }
}

.pt-205 {
    padding-top: calc(20.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-205 {
        padding-top: calc(7.38 * 1rem) !important;
    }
}

.pb-205 {
    padding-bottom: calc(20.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-205 {
        padding-bottom: calc(7.38 * 1rem) !important;
    }
}

.mt-210 {
    margin-top: calc(21 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-210 {
        margin-top: calc(7.56 * 1rem) !important;
    }
}

.pt-210 {
    padding-top: calc(21 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-210 {
        padding-top: calc(7.56 * 1rem) !important;
    }
}

.pb-210 {
    padding-bottom: calc(21 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-210 {
        padding-bottom: calc(7.56 * 1rem) !important;
    }
}

.mt-215 {
    margin-top: calc(21.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-215 {
        margin-top: calc(7.74 * 1rem) !important;
    }
}

.pt-215 {
    padding-top: calc(21.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-215 {
        padding-top: calc(7.74 * 1rem) !important;
    }
}

.pb-215 {
    padding-bottom: calc(21.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-215 {
        padding-bottom: calc(7.74 * 1rem) !important;
    }
}

.mt-220 {
    margin-top: calc(22 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-220 {
        margin-top: calc(7.92 * 1rem) !important;
    }
}

.pt-220 {
    padding-top: calc(22 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-220 {
        padding-top: calc(7.92 * 1rem) !important;
    }
}

.pb-220 {
    padding-bottom: calc(22 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-220 {
        padding-bottom: calc(7.92 * 1rem) !important;
    }
}

.mt-225 {
    margin-top: calc(22.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-225 {
        margin-top: calc(8.1 * 1rem) !important;
    }
}

.pt-225 {
    padding-top: calc(22.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-225 {
        padding-top: calc(8.1 * 1rem) !important;
    }
}

.pb-225 {
    padding-bottom: calc(22.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-225 {
        padding-bottom: calc(8.1 * 1rem) !important;
    }
}

.mt-230 {
    margin-top: calc(23 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-230 {
        margin-top: calc(8.28 * 1rem) !important;
    }
}

.pt-230 {
    padding-top: calc(23 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-230 {
        padding-top: calc(8.28 * 1rem) !important;
    }
}

.pb-230 {
    padding-bottom: calc(23 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-230 {
        padding-bottom: calc(8.28 * 1rem) !important;
    }
}

.mt-235 {
    margin-top: calc(23.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-235 {
        margin-top: calc(8.46 * 1rem) !important;
    }
}

.pt-235 {
    padding-top: calc(23.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-235 {
        padding-top: calc(8.46 * 1rem) !important;
    }
}

.pb-235 {
    padding-bottom: calc(23.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-235 {
        padding-bottom: calc(8.46 * 1rem) !important;
    }
}

.mt-240 {
    margin-top: calc(24 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-240 {
        margin-top: calc(8.64 * 1rem) !important;
    }
}

.pt-240 {
    padding-top: calc(24 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-240 {
        padding-top: calc(8.64 * 1rem) !important;
    }
}

.pb-240 {
    padding-bottom: calc(24 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-240 {
        padding-bottom: calc(8.64 * 1rem) !important;
    }
}

.mt-245 {
    margin-top: calc(24.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-245 {
        margin-top: calc(8.82 * 1rem) !important;
    }
}

.pt-245 {
    padding-top: calc(24.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-245 {
        padding-top: calc(8.82 * 1rem) !important;
    }
}

.pb-245 {
    padding-bottom: calc(24.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-245 {
        padding-bottom: calc(8.82 * 1rem) !important;
    }
}

.mt-250 {
    margin-top: calc(25 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-250 {
        margin-top: calc(9 * 1rem) !important;
    }
}

.pt-250 {
    padding-top: calc(25 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-250 {
        padding-top: calc(9 * 1rem) !important;
    }
}

.pb-250 {
    padding-bottom: calc(25 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-250 {
        padding-bottom: calc(9 * 1rem) !important;
    }
}

.mt-255 {
    margin-top: calc(25.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-255 {
        margin-top: calc(9.18 * 1rem) !important;
    }
}

.pt-255 {
    padding-top: calc(25.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-255 {
        padding-top: calc(9.18 * 1rem) !important;
    }
}

.pb-255 {
    padding-bottom: calc(25.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-255 {
        padding-bottom: calc(9.18 * 1rem) !important;
    }
}

.mt-260 {
    margin-top: calc(26 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-260 {
        margin-top: calc(9.36 * 1rem) !important;
    }
}

.pt-260 {
    padding-top: calc(26 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-260 {
        padding-top: calc(9.36 * 1rem) !important;
    }
}

.pb-260 {
    padding-bottom: calc(26 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-260 {
        padding-bottom: calc(9.36 * 1rem) !important;
    }
}

.mt-265 {
    margin-top: calc(26.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-265 {
        margin-top: calc(9.54 * 1rem) !important;
    }
}

.pt-265 {
    padding-top: calc(26.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-265 {
        padding-top: calc(9.54 * 1rem) !important;
    }
}

.pb-265 {
    padding-bottom: calc(26.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-265 {
        padding-bottom: calc(9.54 * 1rem) !important;
    }
}

.mt-270 {
    margin-top: calc(27 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-270 {
        margin-top: calc(9.72 * 1rem) !important;
    }
}

.pt-270 {
    padding-top: calc(27 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-270 {
        padding-top: calc(9.72 * 1rem) !important;
    }
}

.pb-270 {
    padding-bottom: calc(27 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-270 {
        padding-bottom: calc(9.72 * 1rem) !important;
    }
}

.mt-275 {
    margin-top: calc(27.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-275 {
        margin-top: calc(9.9 * 1rem) !important;
    }
}

.pt-275 {
    padding-top: calc(27.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-275 {
        padding-top: calc(9.9 * 1rem) !important;
    }
}

.pb-275 {
    padding-bottom: calc(27.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-275 {
        padding-bottom: calc(9.9 * 1rem) !important;
    }
}

.mt-280 {
    margin-top: calc(28 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-280 {
        margin-top: calc(10.08 * 1rem) !important;
    }
}

.pt-280 {
    padding-top: calc(28 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-280 {
        padding-top: calc(10.08 * 1rem) !important;
    }
}

.pb-280 {
    padding-bottom: calc(28 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-280 {
        padding-bottom: calc(10.08 * 1rem) !important;
    }
}

.mt-285 {
    margin-top: calc(28.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-285 {
        margin-top: calc(10.26 * 1rem) !important;
    }
}

.pt-285 {
    padding-top: calc(28.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-285 {
        padding-top: calc(10.26 * 1rem) !important;
    }
}

.pb-285 {
    padding-bottom: calc(28.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-285 {
        padding-bottom: calc(10.26 * 1rem) !important;
    }
}

.mt-290 {
    margin-top: calc(29 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-290 {
        margin-top: calc(10.44 * 1rem) !important;
    }
}

.pt-290 {
    padding-top: calc(29 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-290 {
        padding-top: calc(10.44 * 1rem) !important;
    }
}

.pb-290 {
    padding-bottom: calc(29 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-290 {
        padding-bottom: calc(10.44 * 1rem) !important;
    }
}

.mt-295 {
    margin-top: calc(29.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-295 {
        margin-top: calc(10.62 * 1rem) !important;
    }
}

.pt-295 {
    padding-top: calc(29.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-295 {
        padding-top: calc(10.62 * 1rem) !important;
    }
}

.pb-295 {
    padding-bottom: calc(29.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-295 {
        padding-bottom: calc(10.62 * 1rem) !important;
    }
}

.mt-300 {
    margin-top: calc(30 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-300 {
        margin-top: calc(10.8 * 1rem) !important;
    }
}

.pt-300 {
    padding-top: calc(30 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-300 {
        padding-top: calc(10.8 * 1rem) !important;
    }
}

.pb-300 {
    padding-bottom: calc(30 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-300 {
        padding-bottom: calc(10.8 * 1rem) !important;
    }
}

.mt-305 {
    margin-top: calc(30.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-305 {
        margin-top: calc(10.98 * 1rem) !important;
    }
}

.pt-305 {
    padding-top: calc(30.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-305 {
        padding-top: calc(10.98 * 1rem) !important;
    }
}

.pb-305 {
    padding-bottom: calc(30.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-305 {
        padding-bottom: calc(10.98 * 1rem) !important;
    }
}

.mt-310 {
    margin-top: calc(31 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-310 {
        margin-top: calc(11.16 * 1rem) !important;
    }
}

.pt-310 {
    padding-top: calc(31 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-310 {
        padding-top: calc(11.16 * 1rem) !important;
    }
}

.pb-310 {
    padding-bottom: calc(31 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-310 {
        padding-bottom: calc(11.16 * 1rem) !important;
    }
}

.mt-315 {
    margin-top: calc(31.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-315 {
        margin-top: calc(11.34 * 1rem) !important;
    }
}

.pt-315 {
    padding-top: calc(31.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-315 {
        padding-top: calc(11.34 * 1rem) !important;
    }
}

.pb-315 {
    padding-bottom: calc(31.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-315 {
        padding-bottom: calc(11.34 * 1rem) !important;
    }
}

.mt-320 {
    margin-top: calc(32 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-320 {
        margin-top: calc(11.52 * 1rem) !important;
    }
}

.pt-320 {
    padding-top: calc(32 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-320 {
        padding-top: calc(11.52 * 1rem) !important;
    }
}

.pb-320 {
    padding-bottom: calc(32 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-320 {
        padding-bottom: calc(11.52 * 1rem) !important;
    }
}

.mt-325 {
    margin-top: calc(32.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-325 {
        margin-top: calc(11.7 * 1rem) !important;
    }
}

.pt-325 {
    padding-top: calc(32.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-325 {
        padding-top: calc(11.7 * 1rem) !important;
    }
}

.pb-325 {
    padding-bottom: calc(32.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-325 {
        padding-bottom: calc(11.7 * 1rem) !important;
    }
}

.mt-330 {
    margin-top: calc(33 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-330 {
        margin-top: calc(11.88 * 1rem) !important;
    }
}

.pt-330 {
    padding-top: calc(33 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-330 {
        padding-top: calc(11.88 * 1rem) !important;
    }
}

.pb-330 {
    padding-bottom: calc(33 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-330 {
        padding-bottom: calc(11.88 * 1rem) !important;
    }
}

.mt-335 {
    margin-top: calc(33.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-335 {
        margin-top: calc(12.06 * 1rem) !important;
    }
}

.pt-335 {
    padding-top: calc(33.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-335 {
        padding-top: calc(12.06 * 1rem) !important;
    }
}

.pb-335 {
    padding-bottom: calc(33.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-335 {
        padding-bottom: calc(12.06 * 1rem) !important;
    }
}

.mt-340 {
    margin-top: calc(34 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-340 {
        margin-top: calc(12.24 * 1rem) !important;
    }
}

.pt-340 {
    padding-top: calc(34 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-340 {
        padding-top: calc(12.24 * 1rem) !important;
    }
}

.pb-340 {
    padding-bottom: calc(34 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-340 {
        padding-bottom: calc(12.24 * 1rem) !important;
    }
}

.mt-345 {
    margin-top: calc(34.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-345 {
        margin-top: calc(12.42 * 1rem) !important;
    }
}

.pt-345 {
    padding-top: calc(34.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-345 {
        padding-top: calc(12.42 * 1rem) !important;
    }
}

.pb-345 {
    padding-bottom: calc(34.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-345 {
        padding-bottom: calc(12.42 * 1rem) !important;
    }
}

.mt-350 {
    margin-top: calc(35 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-350 {
        margin-top: calc(12.6 * 1rem) !important;
    }
}

.pt-350 {
    padding-top: calc(35 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-350 {
        padding-top: calc(12.6 * 1rem) !important;
    }
}

.pb-350 {
    padding-bottom: calc(35 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-350 {
        padding-bottom: calc(12.6 * 1rem) !important;
    }
}

.mt-355 {
    margin-top: calc(35.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-355 {
        margin-top: calc(12.78 * 1rem) !important;
    }
}

.pt-355 {
    padding-top: calc(35.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-355 {
        padding-top: calc(12.78 * 1rem) !important;
    }
}

.pb-355 {
    padding-bottom: calc(35.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-355 {
        padding-bottom: calc(12.78 * 1rem) !important;
    }
}

.mt-360 {
    margin-top: calc(36 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-360 {
        margin-top: calc(12.96 * 1rem) !important;
    }
}

.pt-360 {
    padding-top: calc(36 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-360 {
        padding-top: calc(12.96 * 1rem) !important;
    }
}

.pb-360 {
    padding-bottom: calc(36 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-360 {
        padding-bottom: calc(12.96 * 1rem) !important;
    }
}

.mt-365 {
    margin-top: calc(36.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-365 {
        margin-top: calc(13.14 * 1rem) !important;
    }
}

.pt-365 {
    padding-top: calc(36.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-365 {
        padding-top: calc(13.14 * 1rem) !important;
    }
}

.pb-365 {
    padding-bottom: calc(36.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-365 {
        padding-bottom: calc(13.14 * 1rem) !important;
    }
}

.mt-370 {
    margin-top: calc(37 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-370 {
        margin-top: calc(13.32 * 1rem) !important;
    }
}

.pt-370 {
    padding-top: calc(37 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-370 {
        padding-top: calc(13.32 * 1rem) !important;
    }
}

.pb-370 {
    padding-bottom: calc(37 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-370 {
        padding-bottom: calc(13.32 * 1rem) !important;
    }
}

.mt-375 {
    margin-top: calc(37.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-375 {
        margin-top: calc(13.5 * 1rem) !important;
    }
}

.pt-375 {
    padding-top: calc(37.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-375 {
        padding-top: calc(13.5 * 1rem) !important;
    }
}

.pb-375 {
    padding-bottom: calc(37.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-375 {
        padding-bottom: calc(13.5 * 1rem) !important;
    }
}

.mt-380 {
    margin-top: calc(38 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-380 {
        margin-top: calc(13.68 * 1rem) !important;
    }
}

.pt-380 {
    padding-top: calc(38 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-380 {
        padding-top: calc(13.68 * 1rem) !important;
    }
}

.pb-380 {
    padding-bottom: calc(38 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-380 {
        padding-bottom: calc(13.68 * 1rem) !important;
    }
}

.mt-385 {
    margin-top: calc(38.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-385 {
        margin-top: calc(13.86 * 1rem) !important;
    }
}

.pt-385 {
    padding-top: calc(38.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-385 {
        padding-top: calc(13.86 * 1rem) !important;
    }
}

.pb-385 {
    padding-bottom: calc(38.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-385 {
        padding-bottom: calc(13.86 * 1rem) !important;
    }
}

.mt-390 {
    margin-top: calc(39 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-390 {
        margin-top: calc(14.04 * 1rem) !important;
    }
}

.pt-390 {
    padding-top: calc(39 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-390 {
        padding-top: calc(14.04 * 1rem) !important;
    }
}

.pb-390 {
    padding-bottom: calc(39 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-390 {
        padding-bottom: calc(14.04 * 1rem) !important;
    }
}

.mt-395 {
    margin-top: calc(39.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-395 {
        margin-top: calc(14.22 * 1rem) !important;
    }
}

.pt-395 {
    padding-top: calc(39.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-395 {
        padding-top: calc(14.22 * 1rem) !important;
    }
}

.pb-395 {
    padding-bottom: calc(39.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-395 {
        padding-bottom: calc(14.22 * 1rem) !important;
    }
}

.mt-400 {
    margin-top: calc(40 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-400 {
        margin-top: calc(14.4 * 1rem) !important;
    }
}

.pt-400 {
    padding-top: calc(40 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-400 {
        padding-top: calc(14.4 * 1rem) !important;
    }
}

.pb-400 {
    padding-bottom: calc(40 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-400 {
        padding-bottom: calc(14.4 * 1rem) !important;
    }
}

.mt-405 {
    margin-top: calc(40.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-405 {
        margin-top: calc(14.58 * 1rem) !important;
    }
}

.pt-405 {
    padding-top: calc(40.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-405 {
        padding-top: calc(14.58 * 1rem) !important;
    }
}

.pb-405 {
    padding-bottom: calc(40.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-405 {
        padding-bottom: calc(14.58 * 1rem) !important;
    }
}

.mt-410 {
    margin-top: calc(41 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-410 {
        margin-top: calc(14.76 * 1rem) !important;
    }
}

.pt-410 {
    padding-top: calc(41 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-410 {
        padding-top: calc(14.76 * 1rem) !important;
    }
}

.pb-410 {
    padding-bottom: calc(41 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-410 {
        padding-bottom: calc(14.76 * 1rem) !important;
    }
}

.mt-415 {
    margin-top: calc(41.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-415 {
        margin-top: calc(14.94 * 1rem) !important;
    }
}

.pt-415 {
    padding-top: calc(41.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-415 {
        padding-top: calc(14.94 * 1rem) !important;
    }
}

.pb-415 {
    padding-bottom: calc(41.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-415 {
        padding-bottom: calc(14.94 * 1rem) !important;
    }
}

.mt-420 {
    margin-top: calc(42 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-420 {
        margin-top: calc(15.12 * 1rem) !important;
    }
}

.pt-420 {
    padding-top: calc(42 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-420 {
        padding-top: calc(15.12 * 1rem) !important;
    }
}

.pb-420 {
    padding-bottom: calc(42 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-420 {
        padding-bottom: calc(15.12 * 1rem) !important;
    }
}

.mt-425 {
    margin-top: calc(42.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-425 {
        margin-top: calc(15.3 * 1rem) !important;
    }
}

.pt-425 {
    padding-top: calc(42.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-425 {
        padding-top: calc(15.3 * 1rem) !important;
    }
}

.pb-425 {
    padding-bottom: calc(42.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-425 {
        padding-bottom: calc(15.3 * 1rem) !important;
    }
}

.mt-430 {
    margin-top: calc(43 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-430 {
        margin-top: calc(15.48 * 1rem) !important;
    }
}

.pt-430 {
    padding-top: calc(43 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-430 {
        padding-top: calc(15.48 * 1rem) !important;
    }
}

.pb-430 {
    padding-bottom: calc(43 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-430 {
        padding-bottom: calc(15.48 * 1rem) !important;
    }
}

.mt-435 {
    margin-top: calc(43.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-435 {
        margin-top: calc(15.66 * 1rem) !important;
    }
}

.pt-435 {
    padding-top: calc(43.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-435 {
        padding-top: calc(15.66 * 1rem) !important;
    }
}

.pb-435 {
    padding-bottom: calc(43.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-435 {
        padding-bottom: calc(15.66 * 1rem) !important;
    }
}

.mt-440 {
    margin-top: calc(44 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-440 {
        margin-top: calc(15.84 * 1rem) !important;
    }
}

.pt-440 {
    padding-top: calc(44 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-440 {
        padding-top: calc(15.84 * 1rem) !important;
    }
}

.pb-440 {
    padding-bottom: calc(44 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-440 {
        padding-bottom: calc(15.84 * 1rem) !important;
    }
}

.mt-445 {
    margin-top: calc(44.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-445 {
        margin-top: calc(16.02 * 1rem) !important;
    }
}

.pt-445 {
    padding-top: calc(44.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-445 {
        padding-top: calc(16.02 * 1rem) !important;
    }
}

.pb-445 {
    padding-bottom: calc(44.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-445 {
        padding-bottom: calc(16.02 * 1rem) !important;
    }
}

.mt-450 {
    margin-top: calc(45 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-450 {
        margin-top: calc(16.2 * 1rem) !important;
    }
}

.pt-450 {
    padding-top: calc(45 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-450 {
        padding-top: calc(16.2 * 1rem) !important;
    }
}

.pb-450 {
    padding-bottom: calc(45 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-450 {
        padding-bottom: calc(16.2 * 1rem) !important;
    }
}

.mt-455 {
    margin-top: calc(45.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-455 {
        margin-top: calc(16.38 * 1rem) !important;
    }
}

.pt-455 {
    padding-top: calc(45.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-455 {
        padding-top: calc(16.38 * 1rem) !important;
    }
}

.pb-455 {
    padding-bottom: calc(45.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-455 {
        padding-bottom: calc(16.38 * 1rem) !important;
    }
}

.mt-460 {
    margin-top: calc(46 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-460 {
        margin-top: calc(16.56 * 1rem) !important;
    }
}

.pt-460 {
    padding-top: calc(46 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-460 {
        padding-top: calc(16.56 * 1rem) !important;
    }
}

.pb-460 {
    padding-bottom: calc(46 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-460 {
        padding-bottom: calc(16.56 * 1rem) !important;
    }
}

.mt-465 {
    margin-top: calc(46.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-465 {
        margin-top: calc(16.74 * 1rem) !important;
    }
}

.pt-465 {
    padding-top: calc(46.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-465 {
        padding-top: calc(16.74 * 1rem) !important;
    }
}

.pb-465 {
    padding-bottom: calc(46.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-465 {
        padding-bottom: calc(16.74 * 1rem) !important;
    }
}

.mt-470 {
    margin-top: calc(47 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-470 {
        margin-top: calc(16.92 * 1rem) !important;
    }
}

.pt-470 {
    padding-top: calc(47 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-470 {
        padding-top: calc(16.92 * 1rem) !important;
    }
}

.pb-470 {
    padding-bottom: calc(47 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-470 {
        padding-bottom: calc(16.92 * 1rem) !important;
    }
}

.mt-475 {
    margin-top: calc(47.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-475 {
        margin-top: calc(17.1 * 1rem) !important;
    }
}

.pt-475 {
    padding-top: calc(47.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-475 {
        padding-top: calc(17.1 * 1rem) !important;
    }
}

.pb-475 {
    padding-bottom: calc(47.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-475 {
        padding-bottom: calc(17.1 * 1rem) !important;
    }
}

.mt-480 {
    margin-top: calc(48 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-480 {
        margin-top: calc(17.28 * 1rem) !important;
    }
}

.pt-480 {
    padding-top: calc(48 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-480 {
        padding-top: calc(17.28 * 1rem) !important;
    }
}

.pb-480 {
    padding-bottom: calc(48 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-480 {
        padding-bottom: calc(17.28 * 1rem) !important;
    }
}

.mt-485 {
    margin-top: calc(48.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-485 {
        margin-top: calc(17.46 * 1rem) !important;
    }
}

.pt-485 {
    padding-top: calc(48.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-485 {
        padding-top: calc(17.46 * 1rem) !important;
    }
}

.pb-485 {
    padding-bottom: calc(48.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-485 {
        padding-bottom: calc(17.46 * 1rem) !important;
    }
}

.mt-490 {
    margin-top: calc(49 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-490 {
        margin-top: calc(17.64 * 1rem) !important;
    }
}

.pt-490 {
    padding-top: calc(49 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-490 {
        padding-top: calc(17.64 * 1rem) !important;
    }
}

.pb-490 {
    padding-bottom: calc(49 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-490 {
        padding-bottom: calc(17.64 * 1rem) !important;
    }
}

.mt-495 {
    margin-top: calc(49.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-495 {
        margin-top: calc(17.82 * 1rem) !important;
    }
}

.pt-495 {
    padding-top: calc(49.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-495 {
        padding-top: calc(17.82 * 1rem) !important;
    }
}

.pb-495 {
    padding-bottom: calc(49.5 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-495 {
        padding-bottom: calc(17.82 * 1rem) !important;
    }
}

.mt-500 {
    margin-top: calc(50 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .mt-500 {
        margin-top: calc(18 * 1rem) !important;
    }
}

.pt-500 {
    padding-top: calc(50 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pt-500 {
        padding-top: calc(18 * 1rem) !important;
    }
}

.pb-500 {
    padding-bottom: calc(50 * 1rem) !important;
}

@media screen and (max-width: 768px) {
    .pb-500 {
        padding-bottom: calc(18 * 1rem) !important;
    }
}

.radius-20 {
    border-radius: calc(2 * 1rem) calc(2 * 1rem) calc(2 * 1rem) 0;
}

.radius-30 {
    border-radius: calc(3 * 1rem) calc(3 * 1rem) calc(3 * 1rem) 0;
}

.radius-40 {
    border-radius: calc(4 * 1rem) calc(4 * 1rem) calc(4 * 1rem) 0;
}

.radius-20,
.radius-30,
.radius-40 {
    display: block;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .radius-20,
    .radius-30,
    .radius-40 {
        border-radius: calc(2 * 1rem) calc(2 * 1rem) calc(2 * 1rem) 0;
    }
}

.bg-gray {
    background-color: #eefaff;
}

.bg-blue {
    background-color: #0599d9;
}

.bg-light-blue {
    background-color: #eefaff;
}

.align-center {
    text-align: center;
}

.hover-opacity {
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

@media (hover: hover) and (pointer: fine) {
    .hover-opacity:hover {
        opacity: 0.6;
    }
}

@media (hover: none) {
    .hover-opacity:active {
        opacity: 0.6;
    }
}

.hover-overlay {
    background-color: #fff;
}

@media (hover: hover) and (pointer: fine) {
    .hover-overlay:hover img {
        opacity: 0.5;
    }
}

@media (hover: none) {
    .hover-overlay:active img {
        opacity: 0.5;
    }
}

.hover-overlay img {
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: opacity;
}

@media (hover: hover) and (pointer: fine) {
    .hover-scale:hover img {
        scale: 1.05;
    }
}

@media (hover: none) {
    .hover-scale:active img {
        scale: 1.05;
    }
}

.hover-scale img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: scale 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
    will-change: scale;
}

.hover-blue,
.hover-white {
    transition: background-color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.hover-blue::before,
.hover-blue::after,
.hover-white::before,
.hover-white::after {
    transition: background-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media (hover: hover) and (pointer: fine) {
    .hover-blue:hover {
        background-color: #fff !important;
        color: #0599d9 !important;
    }
    .hover-blue:hover::before,
    .hover-blue:hover::after {
        background-color: #0599d9 !important;
    }
}

@media (hover: none) {
    .hover-blue:active {
        background-color: #fff !important;
        color: #0599d9 !important;
    }
    .hover-blue:active::before,
    .hover-blue:active::after {
        background-color: #0599d9 !important;
    }
}

@media (hover: hover) and (pointer: fine) {
    .hover-white:hover {
        background-color: #0599d9 !important;
        color: #fff !important;
    }
    .hover-white:hover::before,
    .hover-white:hover::after {
        background-color: #fff !important;
    }
}

@media (hover: none) {
    .hover-white:active {
        background-color: #0599d9 !important;
        color: #fff !important;
    }
    .hover-white:active::before,
    .hover-white:active::after {
        background-color: #fff !important;
    }
}

.hover-underline {
    position: relative;
    color: #0599d9;
    background-image: linear-gradient(90deg, #0599d9, #0599d9);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 1px;
    transition: background-size 0.6s;
}

@media (hover: hover) and (pointer: fine) {
    .hover-underline:hover {
        background-size: 100% 1px;
    }
}

@media (hover: none) {
    .hover-underline:active {
        background-size: 100% 1px;
    }
}

.slide-up {
    translate: 0 calc(2.5 * 1rem);
    opacity: 0;
    transition: opacity 0.45s cubic-bezier(0.39, 0.575, 0.565, 1), translate 0.45s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.slide-up.is-inview {
    translate: 0;
    opacity: 1;
}