@charset "UTF-8";
/* --------------------------------------------------
グローバル変数設定
再利用できるプロジェクト非依存のsass変数を定義
-------------------------------------------------- */
/*** The new CSS Reset - version 1.0.0 (last updated 8.7.2021) ***/
/* ブラウザのUAスタイルシートのすべてのスタイルを削除します、displayは除く */
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
    all: unset;
    display: revert;
}

/* box-sizingの優先値 */
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

/* リストのスタイル（箇条書き・番号）を削除します */
ol,
ul {
    list-style: none;
}

/* 画像がコンテナを超えないようにするため */
img {
    max-width: 100%;
}

/* テーブルのセル間のスペースを削除します */
table {
    border-collapse: collapse;
}

/* --------------------------------------------------
フォント指定
-------------------------------------------------- */
/* --------------------------------------------------
テーマ設定
プロジェクト単位で設定する流動的なカラーなどを管理
_config.scssより設計ベースの変数を引用
-------------------------------------------------- */
:root {
    --mainMax: 760px;
    --anim-speed: 1s;
    --anim-depth: 3;
    --anim-easing: cubic-bezier(0.4, 0, 0.2, 1);
    --primary: #0f1177;
    --secondary: #1774c6;
    --tertiary: #a1d7ff;
    --accent: #fefd7f;
    --danger: #dc2626;
    --important: #ea580c;
    --info: #2563eb;
    --success: #16a34a;
    --mute: #6b7280;
    --bg-primary: #fff;
    --bg-secondary: #fefd7f;
    --bg-tertiary: #90b0e2;
    --bg-quaternary: #d0ebff;
    --text-primary: #374151;
    --text-secondary: #ffffff;
    --footer-bg: var(--primary);
    --footer-color: var(--text-primary);
}

/* --------------------------------------------------
ベース設定
-------------------------------------------------- */
html {
    font-size: 62.5%;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
         text-size-adjust: 100%;
    height: 100%;
    scroll-behavior: smooth;
}

body {
    background-color: var(--bg-primary);
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(12px, 2.7272727273vw, 14px);
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.03em;
    -webkit-font-variant-ligatures: common-ligatures contextual;
            font-variant-ligatures: common-ligatures contextual;
    overflow-x: hidden;
    color: var(--text-primary);
    height: 100%;
    -webkit-font-kerning: normal;
            font-kerning: normal;
    text-rendering: optimizeLegibility;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
}

a {
    color: inherit;
    text-decoration: none;
    display: inline-block;
    outline: none;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
@media (hover: hover) {
    a:hover {
        opacity: 0.5;
    }
}

figure {
    line-height: 0;
}
figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

img {
    border-style: none;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    vertical-align: baseline;
    outline: none;
}

li > a {
    display: inline-block;
}

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

[data-floatbox] {
    position: fixed;
    bottom: 0px;
    right: 0px;
    z-index: 1000;
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
[data-floatbox].is-hidden {
    opacity: 0;
    pointer-events: none;
    bottom: -150px;
}

.l-wrapper {
    display: flex;
    min-height: 100vh;
    gap: 20px;
    font-weight: 700;
    line-height: 1.5;
    font-size: clamp(14px, 3.1818181818vw, 16px);
}
@media (max-width: 1279px) {
    .l-wrapper {
        flex-direction: column;
    }
}
.l-wrapper:after {
    position: fixed;
    z-index: -1;
    content: "";
    display: block;
    width: 100vw;
    height: 100vh;
    background: url("../img/bg-body.jpg") no-repeat center center/cover;
}

.l-side {
    width: auto;
    width: calc((100% - 540px) / 2);
    height: 100vh;
    position: relative;
}
@media (max-width: 1279px) {
    .l-side {
        display: none;
    }
}
.l-side.-left {
    order: 1;
    position: relative;
}
.l-side.-right {
    padding: clamp(40px, 9.0909090909vw, 109px) min(3%, 80px);
    order: 3;
    color: var(--text-secondary);
    font-size: clamp(14px, 3.1818181818vw, 20px);
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 0.1em;
}
.l-side .side__inner {
    background-color: #fff560;
    text-align: left;
    width: min((100% - 540px) / 2 - 45px, 600px);
    height: 100vh;
    padding: clamp(20px, 4.5454545455vw, 55px) min(4vw, 80px);
    display: flex;
    flex-direction: column;
    position: fixed;
}
.l-side .side__logo {
    font-size: min(1.2vw, 24px);
    line-height: 1;
    margin-bottom: auto;
}
.l-side .side__logo img {
    width: min(14vw, 280px);
    margin-bottom: 16px;
}
.l-side .side__catch {
    font-size: min(1.7vw, 44px);
    margin-bottom: 20px;
    text-indent: -0.5em;
    line-height: 1.5;
}
.l-side .side__desc {
    font-size: min(1.1vw, 24px);
    margin-bottom: 40px;
    line-height: 1.5;
}
.l-side .side__nav {
    position: fixed;
    text-shadow: 0 0 7px rgba(23, 116, 198, 0.86);
    margin-bottom: clamp(40px, 9.0909090909vw, 80px);
}
.l-side .side__nav li {
    margin-bottom: clamp(10px, 2.2727272727vw, 20px);
}
.l-side .side__nav li a {
    text-decoration: none;
}
.l-side .side__nav li a:hover {
    text-decoration: underline;
    opacity: 1;
}
.l-side .side__nav li span {
    font-size: clamp(8px, 1.8181818182vw, 11px);
}
.l-side .side__cta {
    margin-top: clamp(40px, 9.0909090909vw, 60px);
    background: white;
    color: var(--secondary);
    text-align: center;
    padding: 0.4em 1em 0.8em;
    text-shadow: none;
}
.l-side .side__cta span {
    font-size: clamp(12px, 2.7272727273vw, 14px);
}

.l-main {
    width: min(100%, 540px);
    background: var(--tertiary);
    margin: 0 auto;
    order: 2;
    -webkit-box-shadow: 0 0px 0px 20px rgba(255, 255, 255, 0.4);
            box-shadow: 0 0px 0px 20px rgba(255, 255, 255, 0.4);
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
}

.l-footer {
    background: var(--footer-bg);
    color: var(--text-secondary);
    text-align: center;
    padding: clamp(40px, 9.0909090909vw, 80px) clamp(20px, 4.5454545455vw, 40px) clamp(140px, 31.8181818182vw, 180px);
    font-size: clamp(12px, 2.7272727273vw, 14px);
    display: flex;
    flex-direction: column;
    gap: clamp(40px, 9.0909090909vw, 60px);
    font-size: clamp(16px, 3.6363636364vw, 20px);
    line-height: 1.4;
    color: var(--accent);
}
.l-footer .footer__logo {
    width: min(80%, 360px);
    margin: auto;
}
.l-footer .copyright {
    font-size: clamp(10px, 2.2727272727vw, 12px);
    color: var(--text-secondary);
    font-weight: 400;
}
@media (min-width: 1280px) {
    .l-footer {
        padding: clamp(40px, 9.0909090909vw, 80px) clamp(20px, 4.5454545455vw, 40px);
    }
}

@-webkit-keyframes shake {
    0% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
    20% {
        -webkit-transform: translateX(-4px);
                transform: translateX(-4px);
    }
    40% {
        -webkit-transform: translateX(4px);
                transform: translateX(4px);
    }
    60% {
        -webkit-transform: translateX(-3px);
                transform: translateX(-3px);
    }
    80% {
        -webkit-transform: translateX(3px);
                transform: translateX(3px);
    }
    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
}

@keyframes shake {
    0% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
    20% {
        -webkit-transform: translateX(-4px);
                transform: translateX(-4px);
    }
    40% {
        -webkit-transform: translateX(4px);
                transform: translateX(4px);
    }
    60% {
        -webkit-transform: translateX(-3px);
                transform: translateX(-3px);
    }
    80% {
        -webkit-transform: translateX(3px);
                transform: translateX(3px);
    }
    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
}
.btn {
    cursor: pointer;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (hover: hover) {
    .btn:hover {
        -webkit-animation: shake 0.4s ease;
                animation: shake 0.4s ease;
        opacity: 1;
    }
}

.floatbox {
    position: fixed;
    bottom: 0px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: min(85%, 440px);
    z-index: 1000;
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (min-width: 1280px) {
    .floatbox {
        display: none;
    }
}
.floatbox a {
    display: block;
    background: -webkit-gradient(linear, left top, left bottom, from(var(--secondary)), to(#69b9ff));
    background: linear-gradient(180deg, var(--secondary), #69b9ff);
    padding: clamp(20px, 4.5454545455vw, 28px) 0 clamp(12px, 2.7272727273vw, 16px);
    border-radius: clamp(16px, 3.6363636364vw, 32px) clamp(16px, 3.6363636364vw, 32px) 0 0;
    font-size: clamp(20px, 4.5454545455vw, 28px);
    letter-spacing: 0.05em;
    text-shadow: 0 0 7px rgba(23, 116, 198, 0.86);
    text-align: center;
    text-decoration: none;
    color: #fff;
    -webkit-box-shadow: 0 0 22px 1px rgba(255, 255, 255, 0.6) inset, 0 0 20px 1px rgba(0, 0, 0, 0.55);
            box-shadow: 0 0 22px 1px rgba(255, 255, 255, 0.6) inset, 0 0 20px 1px rgba(0, 0, 0, 0.55);
    border: 1px solid var(--tertiary);
}
.floatbox a span {
    font-size: clamp(12px, 2.7272727273vw, 18px);
    letter-spacing: 0.5em;
    line-height: 1;
    margin-bottom: 0.4em;
    display: block;
}
.floatbox.is-hidden {
    opacity: 0;
    pointer-events: none;
    bottom: -150px;
}

.divider {
    width: 100%;
    position: absolute;
}
.divider.--arrow {
    height: 80px;
    top: -1px;
    left: 0;
    background: #fff;
    clip-path: polygon(0 0%, 100% 0%, 50% 100%, 50% 100%);
}
.divider.--reverse {
    bottom: -1px;
    left: 0;
    height: 80px;
    background: #fff;
    clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0%, 50% 99%);
}
.divider.--angled {
    height: 150px;
    bottom: 0;
    left: 0;
    background: #fff;
    clip-path: polygon(0 100%, 100% 0%, 100% 100%, 0% 100%);
}

.sns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.sns a {
    display: inline-block;
    width: min(14vw, 80px);
}

.c-accordion__item {
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
}
.c-accordion__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    text-align: left;
    gap: 1.5em;
    position: relative;
}
.c-accordion__title::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1em;
    height: 1em;
    background: url("../img/icons/plus.svg") no-repeat center/contain;
    flex-shrink: 0;
}
.c-accordion__content {
    overflow: hidden;
    height: 0;
    display: none;
    -webkit-transition: height 0.3s ease;
    transition: height 0.3s ease;
}
.c-accordion__item.is-open .c-accordion__title::after {
    background: url("../img/icons/minus.svg") no-repeat center/contain;
}
.c-accordion__item.is-open .c-accordion__content {
    display: block;
}

.c-x-mark {
    position: relative;
    display: block;
    width: 100%;
    height: 0.9em;
}
.c-x-mark::before, .c-x-mark::after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(50% - 0.1em);
    width: 100%;
    height: 2px;
    background-color: white;
    -webkit-transform-origin: center;
            transform-origin: center;
    width: 0.7em;
    height: 2px;
}
.c-x-mark::before {
    -webkit-transform: translate(-50%) rotate(45deg);
            transform: translate(-50%) rotate(45deg);
}
.c-x-mark::after {
    -webkit-transform: translate(-50%) rotate(-45deg);
            transform: translate(-50%) rotate(-45deg);
}

.c-scroll {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: #7b7b7b;
    justify-content: flex-end;
    width: auto;
    padding: 0 20px;
}
.c-scroll .c-scroll__arrow {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 10px;
    margin-left: 8px;
    border-bottom: 1px solid #7b7b7b;
    -webkit-animation: scroll-wiggle 1.2s ease-in-out infinite;
            animation: scroll-wiggle 1.2s ease-in-out infinite;
}
.c-scroll .c-scroll__arrow::after {
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    width: 14px;
    height: 8px;
    right: 0;
    border-right: 1px solid #7b7b7b;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
}

@-webkit-keyframes scroll-wiggle {
    0%, 100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
    50% {
        -webkit-transform: translateX(8px);
                transform: translateX(8px);
    }
}

@keyframes scroll-wiggle {
    0%, 100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
    50% {
        -webkit-transform: translateX(8px);
                transform: translateX(8px);
    }
}
.c-arrow {
    display: inline-block;
    width: 24px;
    height: 24px;
    border-left: 2px solid #333;
    border-bottom: 2px solid #333;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    margin: 20px;
    -webkit-transform-origin: center center;
            transform-origin: center center;
}

.c-h2 {
    font-size: clamp(44px, 10vw, 60px);
    text-align: center;
    font-family: "Prompt", sans-serif;
    letter-spacing: 0.05em;
}

.c-subtitle {
    font-size: clamp(12px, 2.7272727273vw, 14px);
    text-align: center;
    margin-bottom: clamp(20px, 4.5454545455vw, 30px);
}

.c-text {
    font-size: clamp(14px, 3.1818181818vw, 16px);
    line-height: 200%;
}
.c-text.-center {
    text-align: center;
}
.c-text strong {
    font-size: 130%;
}

.c-lead {
    line-height: 1.7;
    display: inline-block;
    font-size: clamp(18px, 4.0909090909vw, 24px);
}

.hero {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, rgba(255, 255, 255, 0)), to(white)), url("../img/mv.jpg") no-repeat bottom center/cover;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 80%, white 100%), url("../img/mv.jpg") no-repeat bottom center/cover;
    aspect-ratio: 750/1170;
    padding: clamp(10px, 2.2727272727vw, 20px) clamp(10px, 2.2727272727vw, 20px);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--text-secondary);
    text-shadow: 0 0 7px rgba(23, 116, 198, 0.86);
}
.hero__logo {
    width: 100%;
    text-align: left;
}
.hero__logo img {
    width: min(60%, 240px);
}
.hero__catch {
    font-size: clamp(40px, 9.0909090909vw, 54px);
    margin: clamp(20px, 4.5454545455vw, 30px) 0 auto;
    line-height: 1;
    vertical-align: middle;
}
.hero__feature {
    margin: 0 auto clamp(16px, 3.6363636364vw, 24px);
    text-shadow: none;
}
.hero__feature span {
    background: white;
    color: var(--primary);
    padding: 0.4em 1.6em;
    border-radius: 100px;
    font-size: clamp(16px, 3.6363636364vw, 20px);
    font-weight: 700;
    margin: 0 clamp(6px, 1.3636363636vw, 12px);
}
.hero__desc {
    font-size: clamp(14px, 3.1818181818vw, 18px);
    margin-bottom: clamp(10px, 2.2727272727vw, 20px);
    line-height: 1.4;
    text-shadow: 0 0 7px rgba(4, 50, 91, 0.86);
}
.hero__cta {
    display: block;
    background: -webkit-gradient(linear, left top, left bottom, from(var(--primary)), to(#082db6));
    background: linear-gradient(180deg, var(--primary), #082db6);
    padding: 1em 3em;
    border-radius: clamp(8px, 1.8181818182vw, 16px);
    font-size: clamp(18px, 4.0909090909vw, 24px);
    letter-spacing: 0.05em;
    text-align: left;
    text-decoration: none;
    color: #fff;
}

.about {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(92%, rgba(255, 255, 255, 0)), to(white));
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 92%, white 100%);
    padding: clamp(40px, 9.0909090909vw, 60px) clamp(20px, 4.5454545455vw, 60px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.about__title {
    font-size: clamp(34px, 7.7272727273vw, 54px);
    margin: clamp(20px, 4.5454545455vw, 30px) auto 0;
    white-space: nowrap;
    text-align: center;
    background: -webkit-gradient(linear, left bottom, left top, from(#0095e0), to(#0044cc));
    background: linear-gradient(0deg, #0095e0, #0044cc);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.about__list {
    margin: clamp(10px, 2.2727272727vw, 20px) auto;
    width: min(90%, 400px);
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 1.8181818182vw, 16px);
    position: relative;
}
.about__list li {
    background: var(--secondary);
    color: var(--text-secondary);
    padding: 0.4em;
    font-size: clamp(16px, 3.6363636364vw, 20px);
    text-align: center;
    letter-spacing: 0.1em;
}
.about__list::after {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    border-left: 1px solid #333;
    border-bottom: 1px solid #333;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    position: absolute;
    bottom: -40px;
    left: 50%;
}
.about__lead {
    text-align: center;
    margin: clamp(30px, 6.8181818182vw, 60px) auto 0;
    padding: 1em;
}

.schedule {
    background: white;
    width: 90%;
    margin: 0 auto;
    padding: 0;
}
.schedule__title {
    background: var(--bg-secondary);
    font-size: clamp(20px, 4.5454545455vw, 30px);
    margin: clamp(20px, 4.5454545455vw, 30px) auto 0;
    text-align: center;
    padding: 0.4em;
    color: var(--secondary);
    font-weight: 700;
}
.schedule__body {
    padding: clamp(30px, 6.8181818182vw, 40px);
}
.schedule__subtitle {
    font-size: clamp(14px, 3.1818181818vw, 16px);
    margin-bottom: clamp(20px, 4.5454545455vw, 30px);
    background: var(--text-primary);
    color: white;
    display: inline-block;
    padding: 0.4em 0.6em;
    line-height: 1;
    letter-spacing: 0.1em;
}

.voice {
    background: white;
    width: 90%;
    margin: auto;
    margin: 0 auto;
    padding: clamp(20px, 4.5454545455vw, 40px) 0 clamp(40px, 9.0909090909vw, 60px);
}
.voice__title {
    color: var(--tertiary);
}
.voice__card {
    overflow-x: auto;
    margin: 0 -6% clamp(10px, 2.2727272727vw, 20px);
}
.voice__card ul {
    display: inline-flex;
    gap: clamp(8px, 1.8181818182vw, 16px);
    width: auto;
    padding: 0 clamp(8px, 1.8181818182vw, 20px);
}
.voice__card ul li {
    display: flex;
    flex-direction: column;
    padding: clamp(16px, 3.6363636364vw, 24px) clamp(16px, 3.6363636364vw, 32px) 0;
    width: min(50vw, 240px);
    justify-content: space-between;
    gap: clamp(10px, 2.2727272727vw, 16px);
    background: var(--bg-secondary);
    border-radius: clamp(8px, 1.8181818182vw, 16px);
}
.voice__card ul img {
    width: 60%;
    margin: 0 auto;
}
.voice__card__image {
    width: 29%;
}

.entry {
    width: 90%;
    margin: auto;
    margin: 0 auto;
    padding: clamp(60px, 13.6363636364vw, 80px) 0 clamp(40px, 9.0909090909vw, 60px);
}
.entry__title {
    color: white;
}
.entry__form {
    margin-top: clamp(20px, 4.5454545455vw, 40px);
    background: white;
    width: 100%;
    height: auto;
    padding: clamp(10px, 2.2727272727vw, 20px) 0;
    aspect-ratio: 9/14;
}
.entry__form iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.company {
    background: white;
    padding: 0 0;
    position: relative;
}
.company::before {
    width: 100%;
    height: min(100vw, 160px);
    background: -webkit-gradient(linear, left top, left bottom, from(#a1d7ff), to(white));
    background: linear-gradient(180deg, #a1d7ff 0%, white 100%);
    position: absolute;
    top: 0;
    left: 0;
    content: "";
}
.company__title {
    position: relative;
    z-index: 1;
    overflow: hidden;
    font-size: clamp(75px, 17.0454545455vw, 102px) !important;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.7)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.company__lead {
    position: relative;
    display: block;
    text-align: center !important;
    z-index: 1;
    font-size: clamp(24px, 5.4545454545vw, 32px) !important;
    margin: clamp(20px, 4.5454545455vw, 30px) auto clamp(40px, 9.0909090909vw, 60px);
    line-height: 1.7;
    color: var(--secondary);
}
.company__info {
    width: 90%;
    margin: clamp(80px, 18.1818181818vw, 120px) auto 0;
    background: url("../img/company_bg.jpg") no-repeat center top/contain;
}
.company__name {
    font-size: clamp(18px, 4.0909090909vw, 24px);
    margin-bottom: clamp(40px, 9.0909090909vw, 60px);
    border-top: 1px solid #000;
    padding: clamp(80px, 18.1818181818vw, 120px) clamp(60px, 13.6363636364vw, 80px) clamp(40px, 9.0909090909vw, 60px);
}
.company__list {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
    padding-bottom: clamp(80px, 18.1818181818vw, 120px);
    width: 80%;
    margin: 0 auto;
}
.company__list dt {
    color: var(--secondary);
    font-size: clamp(16px, 3.6363636364vw, 20px);
}
.company__list dd {
    font-size: clamp(12px, 2.7272727273vw, 14px);
    margin-bottom: 3em;
}
.company__list b {
    font-size: 150%;
    font-weight: bold;
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.u-m-0 {
    margin: 0 !important;
}

.u-mt-0 {
    margin-top: 0 !important;
}

.u-mb-0 {
    margin-bottom: 0 !important;
}

.u-ml-0 {
    margin-left: 0 !important;
}

.u-mr-0 {
    margin-right: 0 !important;
}

.u-mx-0 {
    margin-inline: 0 !important;
}

.u-my-0 {
    margin-block: 0 !important;
}

.u-p-0 {
    padding: 0 !important;
}

.u-pt-0 {
    padding-top: 0 !important;
}

.u-pb-0 {
    padding-bottom: 0 !important;
}

.u-pl-0 {
    padding-left: 0 !important;
}

.u-pr-0 {
    padding-right: 0 !important;
}

.u-px-0 {
    padding-inline: 0 !important;
}

.u-py-0 {
    padding-block: 0 !important;
}

.u-m-auto {
    margin: auto !important;
}

.u-mt-auto {
    margin-top: auto !important;
}

.u-mb-auto {
    margin-bottom: auto !important;
}

.u-ml-auto {
    margin-left: auto !important;
}

.u-mr-auto {
    margin-right: auto !important;
}

.u-mx-auto {
    margin-inline: auto !important;
}

.u-my-auto {
    margin-block: auto !important;
}

.u-p-auto {
    padding: auto !important;
}

.u-pt-auto {
    padding-top: auto !important;
}

.u-pb-auto {
    padding-bottom: auto !important;
}

.u-pl-auto {
    padding-left: auto !important;
}

.u-pr-auto {
    padding-right: auto !important;
}

.u-px-auto {
    padding-inline: auto !important;
}

.u-py-auto {
    padding-block: auto !important;
}

.u-m-xxxs {
    margin: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-mt-xxxs {
    margin-top: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-mb-xxxs {
    margin-bottom: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-ml-xxxs {
    margin-left: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-mr-xxxs {
    margin-right: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-mx-xxxs {
    margin-inline: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-my-xxxs {
    margin-block: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-p-xxxs {
    padding: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-pt-xxxs {
    padding-top: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-pb-xxxs {
    padding-bottom: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-pl-xxxs {
    padding-left: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-pr-xxxs {
    padding-right: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-px-xxxs {
    padding-inline: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-py-xxxs {
    padding-block: clamp(2px, 0.4545454545vw, 4px) !important;
}

.u-m-xxs {
    margin: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-mt-xxs {
    margin-top: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-mb-xxs {
    margin-bottom: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-ml-xxs {
    margin-left: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-mr-xxs {
    margin-right: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-mx-xxs {
    margin-inline: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-my-xxs {
    margin-block: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-p-xxs {
    padding: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-pt-xxs {
    padding-top: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-pb-xxs {
    padding-bottom: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-pl-xxs {
    padding-left: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-pr-xxs {
    padding-right: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-px-xxs {
    padding-inline: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-py-xxs {
    padding-block: clamp(4px, 0.9090909091vw, 8px) !important;
}

.u-m-xs {
    margin: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-mt-xs {
    margin-top: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-mb-xs {
    margin-bottom: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-ml-xs {
    margin-left: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-mr-xs {
    margin-right: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-mx-xs {
    margin-inline: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-my-xs {
    margin-block: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-p-xs {
    padding: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-pt-xs {
    padding-top: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-pb-xs {
    padding-bottom: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-pl-xs {
    padding-left: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-pr-xs {
    padding-right: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-px-xs {
    padding-inline: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-py-xs {
    padding-block: clamp(8px, 1.8181818182vw, 12px) !important;
}

.u-m-s {
    margin: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-mt-s {
    margin-top: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-mb-s {
    margin-bottom: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-ml-s {
    margin-left: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-mr-s {
    margin-right: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-mx-s {
    margin-inline: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-my-s {
    margin-block: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-p-s {
    padding: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-pt-s {
    padding-top: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-pb-s {
    padding-bottom: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-pl-s {
    padding-left: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-pr-s {
    padding-right: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-px-s {
    padding-inline: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-py-s {
    padding-block: clamp(12px, 2.7272727273vw, 20px) !important;
}

.u-m-m {
    margin: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-mt-m {
    margin-top: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-mb-m {
    margin-bottom: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-ml-m {
    margin-left: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-mr-m {
    margin-right: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-mx-m {
    margin-inline: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-my-m {
    margin-block: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-p-m {
    padding: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-pt-m {
    padding-top: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-pb-m {
    padding-bottom: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-pl-m {
    padding-left: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-pr-m {
    padding-right: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-px-m {
    padding-inline: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-py-m {
    padding-block: clamp(16px, 3.6363636364vw, 28px) !important;
}

.u-m-l {
    margin: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-mt-l {
    margin-top: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-mb-l {
    margin-bottom: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-ml-l {
    margin-left: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-mr-l {
    margin-right: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-mx-l {
    margin-inline: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-my-l {
    margin-block: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-p-l {
    padding: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-pt-l {
    padding-top: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-pb-l {
    padding-bottom: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-pl-l {
    padding-left: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-pr-l {
    padding-right: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-px-l {
    padding-inline: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-py-l {
    padding-block: clamp(24px, 5.4545454545vw, 44px) !important;
}

.u-m-xl {
    margin: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-mt-xl {
    margin-top: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-mb-xl {
    margin-bottom: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-ml-xl {
    margin-left: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-mr-xl {
    margin-right: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-mx-xl {
    margin-inline: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-my-xl {
    margin-block: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-p-xl {
    padding: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-pt-xl {
    padding-top: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-pb-xl {
    padding-bottom: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-pl-xl {
    padding-left: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-pr-xl {
    padding-right: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-px-xl {
    padding-inline: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-py-xl {
    padding-block: clamp(32px, 7.2727272727vw, 64px) !important;
}

.u-m-xxl {
    margin: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-mt-xxl {
    margin-top: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-mb-xxl {
    margin-bottom: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-ml-xxl {
    margin-left: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-mr-xxl {
    margin-right: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-mx-xxl {
    margin-inline: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-my-xxl {
    margin-block: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-p-xxl {
    padding: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-pt-xxl {
    padding-top: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-pb-xxl {
    padding-bottom: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-pl-xxl {
    padding-left: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-pr-xxl {
    padding-right: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-px-xxl {
    padding-inline: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-py-xxl {
    padding-block: clamp(40px, 9.0909090909vw, 80px) !important;
}

.u-m-xxxl {
    margin: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-mt-xxxl {
    margin-top: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-mb-xxxl {
    margin-bottom: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-ml-xxxl {
    margin-left: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-mr-xxxl {
    margin-right: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-mx-xxxl {
    margin-inline: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-my-xxxl {
    margin-block: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-p-xxxl {
    padding: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-pt-xxxl {
    padding-top: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-pb-xxxl {
    padding-bottom: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-pl-xxxl {
    padding-left: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-pr-xxxl {
    padding-right: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-px-xxxl {
    padding-inline: clamp(48px, 10.9090909091vw, 104px) !important;
}

.u-py-xxxl {
    padding-block: clamp(48px, 10.9090909091vw, 104px) !important;
}

[data-inview] {
    opacity: 0;
}

@-webkit-keyframes anim-fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes anim-fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.u-anim-fadeIn {
    -webkit-animation: anim-fadeIn var(--anim-speed) var(--anim-easing) forwards;
            animation: anim-fadeIn var(--anim-speed) var(--anim-easing) forwards;
}

@-webkit-keyframes anim-slideUp {
    0% {
        -webkit-transform: translateY(calc(20px * var(--anim-depth)));
                transform: translateY(calc(20px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1;
    }
}

@keyframes anim-slideUp {
    0% {
        -webkit-transform: translateY(calc(20px * var(--anim-depth)));
                transform: translateY(calc(20px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1;
    }
}
.u-anim-slideUp {
    -webkit-animation: anim-slideUp var(--anim-speed) var(--anim-easing) forwards;
            animation: anim-slideUp var(--anim-speed) var(--anim-easing) forwards;
}

@-webkit-keyframes anim-slideDown {
    0% {
        -webkit-transform: translateY(calc(-20px * var(--anim-depth)));
                transform: translateY(calc(-20px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1;
    }
}

@keyframes anim-slideDown {
    0% {
        -webkit-transform: translateY(calc(-20px * var(--anim-depth)));
                transform: translateY(calc(-20px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1;
    }
}
.u-anim-slideDown {
    -webkit-animation: anim-slideDown var(--anim-speed) var(--anim-easing) forwards;
            animation: anim-slideDown var(--anim-speed) var(--anim-easing) forwards;
}

@-webkit-keyframes anim-slideLeft {
    0% {
        -webkit-transform: translateX(calc(-30px * var(--anim-depth)));
                transform: translateX(calc(-30px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        opacity: 1;
    }
}

@keyframes anim-slideLeft {
    0% {
        -webkit-transform: translateX(calc(-30px * var(--anim-depth)));
                transform: translateX(calc(-30px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        opacity: 1;
    }
}
.u-anim-slideLeft {
    -webkit-animation: anim-slideLeft var(--anim-speed) var(--anim-easing) forwards;
            animation: anim-slideLeft var(--anim-speed) var(--anim-easing) forwards;
}

@-webkit-keyframes anim-slideRight {
    0% {
        -webkit-transform: translateX(calc(30px * var(--anim-depth)));
                transform: translateX(calc(30px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        opacity: 1;
    }
}

@keyframes anim-slideRight {
    0% {
        -webkit-transform: translateX(calc(30px * var(--anim-depth)));
                transform: translateX(calc(30px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        opacity: 1;
    }
}
.u-anim-slideRight {
    -webkit-animation: anim-slideRight var(--anim-speed) var(--anim-easing) forwards;
            animation: anim-slideRight var(--anim-speed) var(--anim-easing) forwards;
}

@-webkit-keyframes anim-scaleIn {
    0% {
        -webkit-transform: scale(calc(0.95 - 0.05 * var(--anim-depth)));
                transform: scale(calc(0.95 - 0.05 * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 1;
    }
}

@keyframes anim-scaleIn {
    0% {
        -webkit-transform: scale(calc(0.95 - 0.05 * var(--anim-depth)));
                transform: scale(calc(0.95 - 0.05 * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 1;
    }
}
.u-anim-scaleIn {
    -webkit-animation: anim-scaleIn var(--anim-speed) var(--anim-easing) forwards;
            animation: anim-scaleIn var(--anim-speed) var(--anim-easing) forwards;
}

@-webkit-keyframes anim-rise {
    0% {
        -webkit-transform: translateY(calc(60px * var(--anim-depth)));
                transform: translateY(calc(60px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1;
    }
}

@keyframes anim-rise {
    0% {
        -webkit-transform: translateY(calc(60px * var(--anim-depth)));
                transform: translateY(calc(60px * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1;
    }
}
.u-anim-rise {
    -webkit-animation: anim-rise var(--anim-speed) var(--anim-easing) forwards;
            animation: anim-rise var(--anim-speed) var(--anim-easing) forwards;
}

@-webkit-keyframes anim-zoomIn {
    0% {
        -webkit-transform: scale(calc(0.8 - 0.2 * var(--anim-depth)));
                transform: scale(calc(0.8 - 0.2 * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 1;
    }
}

@keyframes anim-zoomIn {
    0% {
        -webkit-transform: scale(calc(0.8 - 0.2 * var(--anim-depth)));
                transform: scale(calc(0.8 - 0.2 * var(--anim-depth)));
        opacity: 0;
    }
    100% {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 1;
    }
}
.u-anim-zoomIn {
    -webkit-animation: anim-zoomIn var(--anim-speed) var(--anim-easing) forwards;
            animation: anim-zoomIn var(--anim-speed) var(--anim-easing) forwards;
}

@-webkit-keyframes anim-spin {
    0% {
        -webkit-transform: rotate(-180deg);
                transform: rotate(-180deg);
        opacity: 0;
    }
    100% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
        opacity: 1;
    }
}

@keyframes anim-spin {
    0% {
        -webkit-transform: rotate(-180deg);
                transform: rotate(-180deg);
        opacity: 0;
    }
    100% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
        opacity: 1;
    }
}
.u-anim-spin {
    -webkit-animation: anim-spin var(--anim-speed) var(--anim-easing) forwards;
            animation: anim-spin var(--anim-speed) var(--anim-easing) forwards;
}
/*# sourceMappingURL=style.css.map */