:root { --width: 1 / 1280 * 100vw; }
@media (max-width: 780px) { :root { --width: 1 / 780 * 100vw; } }
.pc{display: block;} .sp{display: none;}
@media (max-width: 780px) {.pc{display: none;} .sp{display: block;}}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
}
html,
body {
    scroll-behavior: smooth;
    background: #fff;
}
img,
video {
    width: 100%;
    height: auto;
    display: block;
}

header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;

}
.header-inner {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: calc(32 * var(--width)) calc(48 * var(--width)) 0;
}
.logo {
    width: calc(127 * var(--width));
}
.header-nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(56 * var(--width));
    margin-left: auto;
    position: fixed;
    top: calc(32 * var(--width));
    left: calc(180 * var(--width));
    right: calc(185 * var(--width));
    padding-left: calc(390 * var(--width));
    height: calc(40 * var(--width));
    z-index: 10;
    mix-blend-mode: difference;
}
.header-nav a {
    font-size: calc(16 * var(--width));
    font-weight: 500;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.05em;
    color: #000;
}
.header-nav a.more {
    position: relative;
}
.header-nav > a,
.header-nav .mega-menu-container > a {
    color: #fff;
    position: relative;
}
.header-nav > a span {
    font-size: calc(12 * var(--width));
}

/* メガメニュー */
.mega-menu-container {
    position: fixed;
    top: calc(50 * var(--width));
    left: calc(620 * var(--width));
    z-index: 10;
}
.mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border: 1px solid #BFBFBF;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 11;
    min-width: calc(200 * var(--width));
    margin-top: calc(10 * var(--width));
}
.mega-menu-container:hover .mega-menu {
    opacity: 1;
    visibility: visible;
}

/* JavaScript用のメガメニュー表示クラス */
.mega-menu-container.show .mega-menu {
    opacity: 1;
    visibility: visible;
}
.mega-menu-inner {
    display: flex;
    gap: calc(16 * var(--width));
}
.mega-menu-inner a.mega-menu-item {
    display: block;
    padding: calc(20 * var(--width)) calc(16 * var(--width));
    font-size: calc(12 * var(--width));
    font-weight: 500;
    color: #000;
    text-decoration: none;
    font-family: 'Noto Sans JP', sans-serif;
    transition: background-color 0.2s ease;
    white-space: nowrap;
}
.mega-menu-inner a.mega-menu-item:hover {
    background-color: #f5f5f5;
    color: #B17C30;
}

.header-btn {
    font-size: calc(14 * var(--width));
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    margin-left: calc(56 * var(--width));
    background: linear-gradient(135deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    width: calc(134 * var(--width));
    height: calc(40 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.05em;
}

main {
    width: 100%;
}
.fv {
    width: 100%;
    height: calc(800 * var(--width));
    padding-top: calc(57 * var(--width));
    position: relative;
}
.fv.scrolled {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 0;
}
.fv.scrolled-top {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 0;
}
.fv-inner {
    width: 100%;
    height: 100%;
    position: relative;
}
.fv-img {
    width: 100%;
}
.fv-scroll {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: calc(14 * var(--width));
    padding-bottom: calc(67 * var(--width));
    text-decoration: none;
    color: #000;
    font-weight: 400;
    font-family: 'Anton', sans-serif;
    cursor: pointer;
}
.fv-scroll-line {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1.5px;
    height: calc(67 * var(--width));
    background-color: #000;
    /* overflow: hidden; */
}
.fv-scroll-line::before {
    position: absolute;
    content: '';
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 3px;
    height: calc(70 * var(--width));
    background-color: #fff;
    animation: scroll01 1.5s infinite;
}

@keyframes scroll01 {
    0% {
        height: calc(70 * var(--width));
        bottom: -1px;
        top: auto;
    }
    50% {
        height: calc(0 * var(--width));
        bottom: -1px;
        top: auto;
    }
    50.1% {
        height: calc(0 * var(--width));
        bottom: auto;
        top: -1px;
    }
    100% {
        height: calc(70 * var(--width));
        bottom: auto;
        top: -1px;
    }
}

.fv-bottom {
    height: calc(800 * var(--width));
    position: relative;
}
.fv-bottom video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}
.fv-bottom-inner {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    z-index: 2;
}
.fv-bottom-img {
    height: 100%;
    width: auto;
}
.fv-bottom-img img {
    height: 100%;
    width: auto;
}
.fv-bottom-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(40 * var(--width));
    padding-top: calc(146 * var(--width));
    padding-left: calc(140 * var(--width));
}
.fv-bottom-text h2 {
    font-size: calc(48 * var(--width));
    font-weight: 700;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, #B07C31 0%, #F9CE5D 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.fv-bottom-text p {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1.8;
    letter-spacing: 0.05em;
    width: calc(415 * var(--width));
}

.company {
    width: 100%;
    padding-top: calc(120 * var(--width));
    padding-bottom: calc(80 * var(--width));
    position: relative;
    background: #fff;
}
.company-inner {
    width: 100%;
    height: 100%;
    padding: 0 calc(48 * var(--width));
}
.company-title {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-bottom: calc(56 * var(--width));
    border-bottom: 1px solid #BFBFBF;
    position: relative;
}
.company-title h2 {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.05em;
}
.company-title p {
    font-size: calc(72 * var(--width));
    font-weight: 700;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
    line-height: 1;
}
.company-title a {
    position: absolute;
    right: 0;
    top: calc(30 * var(--width));
    background-color: #000;
    width: calc(60 * var(--width));
    height: calc(60 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
}
.company-title a img {
    width: calc(20 * var(--width));
    height: auto;
}
.company-text {
    padding-top: calc(64 * var(--width));
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    min-height: calc(250 * var(--width));
    border-bottom: 1px solid #BFBFBF;
}
.company-text:last-of-type {
    border-bottom: none;
}
.company-text-left {
    width: calc(370 * var(--width));
    display: flex;
    flex-direction: column;
}
.company-text-left p {
    font-size: calc(27 * var(--width));
    font-weight: 700;
    color: #000;
    letter-spacing: 0.05em;
    font-family: 'Inter', sans-serif;
}
.company-text-left h3 {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #000;
    letter-spacing: 0.05em;
    padding-left: calc(16 * var(--width));
}
.company-text-right > p {
    font-size: calc(27 * var(--width));
    font-weight: 700;
    color: #000;
    letter-spacing: 0.05em;
    line-height: 1.5;
}
.company-text-right-item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    min-height: calc(158 * var(--width));
    padding-top: calc(64 * var(--width));
    border-bottom: 1px solid #BFBFBF;
    width: calc(760 * var(--width));
}
.company-text-right-item:first-of-type {
    padding-top: 0;
    min-height: calc(94 * var(--width));
}
.company-text-right-item:last-of-type {
    border-bottom: none;
}
.company-text-right-item-left {
    width: calc(180 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.company-text-right-item-left p {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    color: #000;
    letter-spacing: 0.05em;
    font-family: 'Inter', sans-serif;
}
.company-text-right-item-left h3 {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #000;
    letter-spacing: 0.05em;
    padding-left: calc(8 * var(--width));
}
.company-text-right-item-right {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.company-text-right-item-right p {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    color: #000;
    letter-spacing: 0.05em;
    line-height: 1.5;
}

.business {
    width: 100%;
    padding-top: calc(120 * var(--width));
    padding-bottom: calc(80 * var(--width));
    position: relative;
    background-color: #000;
}
.recruit-business.business {
    background-color: #fff;
    padding-top: 0;
}
.business-inner {
    width: 100%;
    height: 100%;
    padding: 0 calc(48 * var(--width));
}
.business-title {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-bottom: calc(56 * var(--width));
    position: relative;
}
.business-title h2 {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    background: linear-gradient(90deg, #B07C31 0%, #F9CE5D 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.05em;
}
.business-title p {
    font-size: calc(72 * var(--width));
    font-weight: 700;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, #B07C31 0%, #F9CE5D 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
    line-height: 1;
}
.recruit-business .business-title h2 {
    background: linear-gradient(90deg, #B07C31 0%, #F9CE5D 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.recruit-business .business-title p {
    background: linear-gradient(90deg, #B07C31 0%, #F9CE5D 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.business-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: calc(16 * var(--width));
}
.business-list-item {
    width: calc(378 * var(--width));
    background-color: #272727;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(24 * var(--width));
    padding: calc(32 * var(--width));
    position: relative;
    text-decoration: none;
    transition: background-color 0.3s ease;
}
.recruit-business .business-list-item {
    background-color: #FFFFFF;
    border: 1px solid #0000001A;
}
.business-list-item:hover {
    background-color: #fff;
}
.recruit-business .business-list-item:hover {
    background-color: #F9F9F9;
}
.business-list-item-img {
    height: calc(62 * var(--width));
}
.business-list-item-img img {
    width: auto;
    height: 100%;
}
.business-list-item-title {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 1.5;
    position: relative;
}
.recruit-business .business-list-item-title {
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.business-list-item-title span:last-of-type {
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.business-list-item:hover .business-list-item-title span:last-of-type {
    opacity: 1;
}
.business-list-item-list {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(8 * var(--width));
}
.business-list-item-list-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.business-list-item-list-item p {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.05em;
    font-family: 'Inter', sans-serif;
    line-height: 1.5;
    position: relative;
}
.recruit-business .business-list-item-list-item p {
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.business-list-item-list-item p span:last-of-type {
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.business-list-item:hover .business-list-item-list-item p span:last-of-type {
    opacity: 1;
}
.business-list-item-list-item h3 {
    font-size: calc(14 * var(--width));
    font-weight: 400;
    color: #fff;
    letter-spacing: 0.02em;
    line-height: 1.6;
    transition: color 0.3s ease;
}
.recruit-business .business-list-item-list-item h3 {
    color: #000;
}
.business-list-item:hover .business-list-item-list-item h3 {
    color: #000;
}
.business-list-item .btn01 {
    position: absolute;
    top: calc(32 * var(--width));
    right: calc(32 * var(--width));
    width: calc(60 * var(--width));
    height: calc(60 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000000;
}
.business-list-item .btn01 img {
    width: calc(20 * var(--width));
    height: auto;
}

.interview {
    width: 100%;
    height: calc(970 * var(--width));
    padding-top: calc(120 * var(--width));
    padding-bottom: calc(140 * var(--width));
    position: relative;
    background: #fff;
}
.interview-inner {
    width: 100%;
    height: 100%;
    padding: 0 calc(48 * var(--width));
    position: relative;
}
.interview-title {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-bottom: calc(56 * var(--width));
    position: relative;
}
.interview-title h2 {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.05em;
}
.interview-title p {
    font-size: calc(72 * var(--width));
    font-weight: 700;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
    line-height: 1;
}
.interview-title a {
    position: absolute;
    right: 0;
    top: calc(30 * var(--width));
    background-color: #000;
    width: calc(60 * var(--width));
    height: calc(60 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
}
.interview-title a img {
    width: calc(20 * var(--width));
    height: auto;
}
.interview-swiper-wrapper {
    padding-left: calc(115 * var(--width));
    width: 100%;
    position: absolute;
    right: 0;
}
.interview-swiper-wrapper::before {
    position: absolute;
    content: '';
    top: 0;
    left: calc(48 * var(--width));
    width: 1px;
    height: 100%;
    background-color: #BFBFBF;
}
.interview-swiper-wrapper::after {
    position: absolute;
    content: '';
    top: 0;
    left: calc(48 * var(--width));
    width: 1px;
    height: calc(132 * var(--width));
    background-color: #000000;
}
.interview-swiper {
    width: 100%;
    height: auto;
}
.interview-swiper .swiper-wrapper {
    display: flex;
    align-items: flex-start;
}
.interview-swiper .swiper-slide {
    width: calc(278 * var(--width));
    height: auto;
    text-decoration: none;
}
.interview-swiper-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding-right: calc(24 * var(--width));
}
.interview-swiper-item-img {
    width: 100%;
    height: calc(369 * var(--width));
    margin-bottom: calc(16 * var(--width));
}
.interview-swiper-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.interview-swiper-item-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.interview-swiper-item-text-title {
    font-size: calc(14 * var(--width));
    font-weight: 500;
    color: #000;
    letter-spacing: 0.05em;
}
.interview-swiper-item-text-name {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    letter-spacing: 0.05em;
    margin-bottom: calc(16 * var(--width));
}
.interview-swiper-item-text-text {
    font-size: calc(16 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1.5;
    letter-spacing: -0.02em;
}

.news {
    width: 100%;
    padding-top: calc(120 * var(--width));
    padding-bottom: calc(140 * var(--width));
    position: relative;
    background: #fff;
}
.news-inner {
    width: 100%;
    height: 100%;
    padding: 0 calc(48 * var(--width));
    position: relative;
}
.news-title {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-bottom: calc(56 * var(--width));
    position: relative;
}
.news-title h2 {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.05em;
}
.news-title p {
    font-size: calc(72 * var(--width));
    font-weight: 700;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
    line-height: 1;
}
.news-title a {
    position: absolute;
    right: 0;
    top: calc(30 * var(--width));
    background-color: #000;
    width: calc(60 * var(--width));
    height: calc(60 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
}
.news-title a img {
    width: calc(20 * var(--width));
    height: auto;
}
.news-list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: calc(56 * var(--width)) calc(40 * var(--width));
    padding-left: calc(30 * var(--width));
}
.news-list-item {
    width: calc(347 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(16 * var(--width));
    text-decoration: none;
}
.news-list-item-img {
    width: 100%;
    height: calc(232 * var(--width));
}
.news-list-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.news-list-item-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(16 * var(--width));
    width: 100%;
}
.news-list-item-text-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.news-list-item-text-info p:first-of-type {
    font-size: calc(16 * var(--width));
    font-weight: 400;
    color: #000;
    letter-spacing: 0.05em;
}
.news-list-item-text-info p:last-of-type {
    font-size: calc(12 * var(--width));
    font-weight: 400;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 1;
    background: #000;
    width: calc(96 * var(--width));
    height: calc(25 * var(--width));
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.news-list-item-text-title {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.5;
}

.contact {
    width: 100%;
    padding: 0 calc(48 * var(--width)) calc(80 * var(--width));
    position: relative;
    background: #fff;
}
.contact-inner {
    width: 100%;
    height: 100%;
    padding: calc(64 * var(--width)) calc(112 * var(--width));
    background: #000;
}
.contact-title {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-bottom: calc(26 * var(--width));
    position: relative;
}   
.contact-title h2 {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    background: linear-gradient(90deg, #B07C31 0%, #F9CE5D 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.05em;
}
.contact-title p {
    font-size: calc(72 * var(--width));
    font-weight: 700;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, #B07C31 0%, #F9CE5D 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
    line-height: 1;
}
.contact-title a {
    position: absolute;
    right: 0;
    top: calc(30 * var(--width));
    background-color: #fff;
    width: calc(60 * var(--width));
    height: calc(60 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
}
.contact-title a img {
    width: calc(20 * var(--width));
    height: auto;
}
.contact-text {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    width: calc(400 * var(--width));
}

footer {
    width: 100%;
    height: calc(528 * var(--width));
    padding: calc(64 * var(--width)) 0;
    background: #000;
    position: relative;
}
.footer-inner {
    width: 100%;
    height: 100%;
    display: flex;
}
.footer-inner-left {
    width: calc(710 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding-left: calc(48 * var(--width));
    border-right: 1px solid #9B9EA0;
}
.footer-inner-left .logo {
    width: calc(234 * var(--width));
    margin-bottom: calc(20 * var(--width));
}
.footer-inner-left .logo img {
    width: 100%;
    height: auto;
}
.footer-inner-left p {
    font-size: calc(16 * var(--width));
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
    margin-bottom: calc(8 * var(--width));
}
.footer-inner-left .footer-img01 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(709 * var(--width));
    height: auto;
}
.footer-inner-right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding-left: calc(80 * var(--width));
    padding-right: calc(48 * var(--width));
    width: calc(100% - 710 * var(--width));
}
.footer-inner-right-list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
.footer-inner-right-list-item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: calc(200 * var(--width));
    margin-bottom: calc(20 * var(--width));
}
.footer-inner-right-list-item-link,
.menu-inner-contact {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    letter-spacing: 0.05em;
    margin-bottom: calc(26 * var(--width));
}
.footer-inner-right-list-item-link.contact-btn,
.menu-inner-contact.contact-btn {
    background: linear-gradient(135deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    color: #fff;
    width: calc(207 * var(--width));
    height: calc(53 * var(--width));
    padding-left: calc(25 * var(--width));
    padding-right: calc(10 * var(--width));
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footer-inner-right-list-item-link.contact-btn p,
.menu-inner-contact.contact-btn p {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.05em;
    font-family: 'Inter', sans-serif;
}
.footer-inner-right-list-item-link.contact-btn .contact-btn-img,
.menu-inner-contact.contact-btn .contact-btn-img {
    width: calc(31 * var(--width));
    height: calc(31 * var(--width));
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer-inner-right-list-item-link.contact-btn .contact-btn-img img,
.menu-inner-contact.contact-btn .contact-btn-img img {
    width: calc(10 * var(--width));
    height: auto;
    object-fit: contain;
    object-position: center;
}
.footer-inner-right-list-item-link-list {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(12 * var(--width));
    margin-bottom: calc(26 * var(--width));
}
.footer-inner-right-list-item-link-list-item {
    font-size: calc(14 * var(--width));
    font-weight: 500;
    color: #808080;
    text-decoration: none;
    letter-spacing: 0.05em;
}
.footer-inner-right-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.footer-inner-right-bottom-item {
    font-size: calc(14 * var(--width));
    font-weight: 500;
    color: #9B9EA0;
    text-decoration: none;
}
.footer-inner-right-bottom-text {
    font-size: calc(14 * var(--width));
    font-weight: 500;
    color: #9B9EA0;
}

.menu-btn {
    display: none;
}
.menu {
    display: none;
}

/* Companyページ */
.sub-fv {
    width: 100%;
    height: calc(440 * var(--width));
    padding: 0 calc(48 * var(--width)) calc(48 * var(--width));
    border-bottom: 1px solid #000000;
}
.sub-fv-inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
}
.sub-fv-title {
    font-size: calc(120 * var(--width));
    font-weight: 700;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
    line-height: 1;
}
.sub-company {
    width: 100%;
    padding-bottom: calc(120 * var(--width));
}
.sub-company-list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: calc(80 * var(--width)) 0;
    padding: calc(115 * var(--width)) calc(48 * var(--width)) 0;
}
.sub-company-list-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(16 * var(--width));
    text-decoration: none;
    width: calc(580 * var(--width));
}
.sub-company-list-item-img {
    width: 100%;
    height: calc(376 * var(--width));
}
.sub-company-list-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.sub-company-list-item-text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.sub-company-list-item-text-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.sub-company-list-item-text-info p {
    font-size: calc(16 * var(--width));
    font-weight: 500;
    color: #000;
    line-height: 1.2;
    font-family: 'Inter', sans-serif;
}
.sub-company-list-item-text-info h3 {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.2;
}
.sub-company-list-item-btn {
    width: calc(60 * var(--width));
    height: calc(60 * var(--width));
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sub-company-list-item-btn img {
    width: calc(20 * var(--width));
    height: auto;
}
.sub-company-bottom {
    background: #F9F9F9;
    width: 100%;
    padding: calc(90 * var(--width)) calc(48 * var(--width));
}
.sub-company-bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.sub-company-bottom-title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.sub-company-bottom-title h2 {
    font-size: calc(32 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.2;
    font-family: 'Inter', sans-serif;
}
.sub-company-bottom-list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(35 * var(--width));
}
.sub-company-bottom-list-item {
    display: flex;
    justify-content: space-between;
    align-items:center;
    padding-bottom: calc(20 * var(--width));
    border-bottom: 1px solid #000;
    text-decoration: none;
    width: calc(336 * var(--width));
}
.sub-company-bottom-list-item-title {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.2;
}
.sub-company-bottom-list-item-btn {
    width: calc(30 * var(--width));
    height: calc(30 * var(--width));
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sub-company-bottom-list-item-btn img {
    width: calc(10 * var(--width));
    height: auto;
}

/* Company/philosophyページ */
.sub02-fv {
    width: 100%;
    padding: calc(270 * var(--width)) calc(48 * var(--width)) calc(80 * var(--width));
}
.sub02-fv-inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(14 * var(--width));
}
.sub02-fv-inner p {
    font-size: calc(16 * var(--width));
    font-weight: 500;
    line-height: 1.2;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
}
.sub02-fv-inner h2 {
    font-size: calc(48 * var(--width));
    font-weight: 700;
    line-height: 1.2;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
}
.sub-philosophy-inner {
    width: 100%;
    padding: 0 calc(48 * var(--width));
}
.sub-philosophy-title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: calc(372 * var(--width));
    padding-bottom: calc(80 * var(--width));
    width: 100%;
    border-bottom: 1px solid #BFBFBF;
}
.sub-philosophy-title h3 {
    font-size: calc(60 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.4;
}

/* Company/profileページ */
.sub-company-profile-inner {
    padding: 0 calc(48 * var(--width)) calc(112 * var(--width));
}
.sub-company-profile-table {
    width: calc(890 * var(--width));
    margin-left: auto;
}
.sub-company-profile-table table {
    width: 100%;
    border-collapse: collapse;
}
.sub-company-profile-table th {
    width: calc(224 * var(--width));
    padding: calc(32 * var(--width)) 0;
    font-size: calc(16 * var(--width));
    text-align: left;
    font-weight: 700;
    border-bottom: 1px solid #BFBFBF;
}
.sub-company-profile-table td {
    padding: calc(32 * var(--width)) 0;
    font-size: calc(16 * var(--width));
    text-align: left;
    font-weight: 500;
    border-bottom: 1px solid #BFBFBF;
}
.sub-company-profile-table tr:first-of-type th ,
.sub-company-profile-table tr:first-of-type td {
    border-top: 1px solid #BFBFBF;
}

/* Company/officerページ */
.sub-officer-inner {
    padding: 0 calc(48 * var(--width)) calc(112 * var(--width));
}
.sub-officer-list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: calc(64 * var(--width)) calc(10 * var(--width));
}
.sub-officer-list-item {
    width: calc(380 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(12 * var(--width));
    text-decoration: none;
}
.sub-officer-list-item-img {
    width: 100%;
    height: calc(280 * var(--width));
}
.sub-officer-list-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.sub-officer-list-item-text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.sub-officer-list-item-text-info {
    font-size: calc(14 * var(--width));
    font-weight: 500;
    color: #000;
    letter-spacing: 0.05em;
}
.sub-officer-list-item-text-name {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
}

/* Company/messageページ */
.sub-message-inner {
    padding: 0 calc(48 * var(--width)) calc(112 * var(--width));
}
.sub-message-contents {
    display: flex;
    justify-content: flex-start;
    gap: calc(48 * var(--width));
}
.sub-message-contents-img {
    width: calc(550 * var(--width));
}
.sub-message-contents-text {
    padding-left: calc(48 * var(--width));
    border-left: 1px solid #BFBFBF;
    width: calc(586 * var(--width));
}
.sub-message-contents-text h3 {
    font-size: calc(40 * var(--width));
    font-weight: 700;
    line-height: 1.2;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: calc(32 * var(--width));
}
.sub-message-contents-text p {
    font-size: calc(16 * var(--width));
    font-weight: 400;
    line-height: 1.5;
    color: #000;
}
.sub-message-contents-text-name {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: calc(8 * var(--width));
    margin-top: calc(32 * var(--width));
}
.sub-message-contents-text-name p {
    font-size: calc(14 * var(--width));
    font-weight: 500;
    color: #000;
}
.sub-message-contents-text-name img {
    width: calc(326 * var(--width));
}

/* Newsページ */
.sub-news-category {
    display: flex;
    justify-content: flex-start;
    align-content: center;
    flex-wrap: wrap;
    padding: calc(48 * var(--width)) 0;
}
.sub-news-category-item {
    text-decoration: none;
    padding: 0 calc(24 * var(--width));
    border-right: 2px solid #000000;
}
.sub-news-category-item:first-of-type {
    border-left: 2px solid #000000;
}
.sub-news-category-item p {
    font-size: calc(12 * var(--width));
    font-weight: 400;
    color: #0000004D;
    line-height: 1;
}
.sub-news-category-item.active p {
    color: #000;
}
.sub-news-inner {
    padding: 0 calc(70 * var(--width)) calc(112 * var(--width));
}
.sub-news .news-list {
    padding-left: 0;
    gap: calc(56 * var(--width)) calc(36 * var(--width));
}
.sub-news-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(16 * var(--width));
    padding-top: calc(112 * var(--width));
}
.sub-news-pagination-item,
.page-numbers {
    text-decoration: none;
    width: calc(43 * var(--width));
    height: calc(43 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 1px solid #000;
}
.sub-news-pagination-item img,
.page-numbers img {
    width: calc(14 * var(--width));
    height: auto;
}
.sub-news-pagination-item p,
.page-numbers {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1;
}
span.sub-news-pagination-item,
.page-numbers.current {
    background: #000;
}
span.sub-news-pagination-item p,
.page-numbers.current {
    color: #fff;
}

/* Contactページ */
.sub-contact-inner {
    padding: calc(80 * var(--width)) calc(48 * var(--width)) calc(112 * var(--width));
}
.sub-contact-text {
    font-size: calc(16 * var(--width));
    text-align: center;
    font-weight: 400;
    color: #000;
    line-height: 1.5;
}
.sub-contact-form {
    width: calc(660 * var(--width));
    margin: 0 auto;
    padding-top: calc(64 * var(--width));
}
.sub-contact-form-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(10 * var(--width));
    width: 100%;
    margin-bottom: calc(16 * var(--width));
}
.sub-contact-form-item p {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.5;
}
.sub-contact-form-item p span {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #FF0000;
    line-height: 1.5;
    padding-left: calc(8 * var(--width));
}
.sub-contact-form-item p:nth-of-type(2) ,
.sub-contact-form-item p:nth-of-type(2) span {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0;
}
.sub-contact-form-item-checkbox p:nth-of-type(2) ,
.sub-contact-form-item-checkbox p:nth-of-type(2) span {
    flex-direction: row;
    padding: 0;
    width: unset;
}
.sub-contact-form-item-checkbox p .wpcf7-not-valid-tip {
    position: absolute;
    white-space: nowrap;
}
.sub-contact-form-item input,
.sub-contact-form-item textarea {
    width: 100%;
    height: auto;
    padding: calc(16 * var(--width)) calc(24 * var(--width));
    border: 1px solid #E5E5E5;
    color: #000;
    line-height: 1.5;
    outline: unset;
    font-size: calc(16 * var(--width));
}
.sub-contact-form-item input::placeholder,
.sub-contact-form-item textarea::placeholder,
.sub-contact-form-item select::placeholder,
.sub-contact-form-item select,
.sub-contact-form-item option {
    font-size: calc(16 * var(--width));
    line-height: 1.5;
    color: #00000099;
}
.sub-contact-form-item textarea {
    height: calc(192 * var(--width));
}
.sub-contact-form-item select {
    width: 100%;
    padding: calc(16 * var(--width));
    border: 1px solid #E5E5E5;
    outline: unset;
}
.sub-contact-form-item select option {
    font-size: calc(16 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1.5;
    outline: unset;
}
.sub-contact-form-item select option:checked {
    background: #6C6665;
    color: #fff;
}
.sub-contact-form-item select option:hover {
    background: #6C6665;
    color: #fff;
}
.sub-contact-form-item-checkbox {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: calc(40 * var(--width)) 0;
}
.sub-contact-form-item-checkbox input {
    width: auto;
}
.sub-contact-form-btn {
    background: linear-gradient(135deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    color: #fff;
    width: calc(207 * var(--width));
    height: calc(53 * var(--width));
    padding-left: calc(25 * var(--width));
    padding-right: calc(10 * var(--width));
    display: flex;
    justify-content: space-between;
    align-items: center;
    outline: unset;
    border: unset;
    margin: 0 auto;
    cursor: pointer;
}
.sub-contact-form-btn p {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.05em;
    font-family: 'Inter', sans-serif;
}
.sub-contact-form-btn .sub-contact-form-btn-img {
    width: calc(31 * var(--width));
    height: calc(31 * var(--width));
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sub-contact-form-btn  .sub-contact-form-btn-img img {
    width: calc(10 * var(--width));
    height: auto;
    object-fit: contain;
    object-position: center;
}
.wpcf7-list-item-label {
    display: none;
}


/* Thankyouページ */
.thankyou-fv {
    width: 100%;
    padding: calc(112 * var(--width)) 0 calc(18 * var(--width));
}
.thankyou-fv-inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.thankyou-fv-title {
    font-size: calc(120 * var(--width));
    font-weight: 700;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
    line-height: 1;
}
.sub-thankyou {
    width: 100%;
}
.sub-thankyou-inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-bottom: calc(80 * var(--width));
}
.sub-thankyou-title {
    font-size: calc(32 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.5;
    text-align: center;
    padding-bottom: calc(40 * var(--width));
}
.sub-thankyou-text {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 2;
    text-align: center;
}

/* Single Newsページ */
.single-news {
    width: 100%;
    padding-top: calc(120 * var(--width));
    padding-bottom: calc(120 * var(--width));
}
.single-news-inner {
    padding: 0 calc(70 * var(--width));
}
.single-news-content {
    max-width: calc(800 * var(--width));
    margin: 0 auto;
}
.single-news-header {
    margin-bottom: calc(48 * var(--width));
}
.single-news-meta {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(16 * var(--width));
    margin-bottom: calc(16 * var(--width));
}
.single-news-date {
    font-size: calc(16 * var(--width));
    font-weight: 400;
    color: #000;
    letter-spacing: 0.05em;
}
.single-news-category {
    font-size: calc(12 * var(--width));
    font-weight: 400;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 1;
    background: #000;
    width: calc(96 * var(--width));
    height: calc(25 * var(--width));
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.single-news-title {
    font-size: calc(32 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    letter-spacing: 0.05em;
}
.single-news-thumbnail {
    margin-bottom: calc(48 * var(--width));
}
.single-news-thumbnail img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.single-news-body {
    margin-bottom: calc(64 * var(--width));
}
.single-news-body p {
    font-size: calc(16 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1.8;
    margin-bottom: calc(24 * var(--width));
}
.single-news-body h2 {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    margin: calc(48 * var(--width)) 0 calc(24 * var(--width));
}
.single-news-body h3 {
    font-size: calc(20 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    margin: calc(32 * var(--width)) 0 calc(16 * var(--width));
}
.single-news-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: calc(48 * var(--width));
    padding: calc(32 * var(--width)) 0;
    border-top: 1px solid #BFBFBF;
    border-bottom: 1px solid #BFBFBF;
}
.single-news-nav-prev,
.single-news-nav-next {
    flex: 1;
}
.single-news-nav-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #000;
    font-size: calc(14 * var(--width));
    font-weight: 500;
    transition: opacity 0.3s ease;
}
.single-news-nav-link:hover {
    opacity: 0.7;
}
.single-news-nav-prev .single-news-nav-link {
    justify-content: flex-start;
}
.single-news-nav-next .single-news-nav-link {
    justify-content: flex-end;
}
.single-news-nav-arrow {
    font-size: calc(18 * var(--width));
    font-weight: 700;
    margin: 0 calc(8 * var(--width));
}
.single-news-nav-text {
    font-size: calc(14 * var(--width));
    font-weight: 500;
}
.single-news-back {
    text-align: center;
}
.single-news-back-link {
    display: inline-block;
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #000;
    text-decoration: none;
    padding: calc(16 * var(--width)) calc(32 * var(--width));
    border: 2px solid #000;
    transition: all 0.3s ease;
}
.single-news-back-link:hover {
    background: #000;
    color: #fff;
}


/* インタビューページ */
.page-interview {
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
}
.interview-fv {
    width: calc(490 * var(--width));
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
}
.interview-fv.bottom {
    position: absolute;
    top: auto;
    bottom: 0;
}
.interview-fv-inner {
    width: 100%;
    height: 100%;
    position: relative;
}
.interview-fv-inner::before {
    position: absolute;
    content: "";
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.2;
}
.interview-fv-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.interview-fv-title {
    position: absolute;
    bottom: calc(109 * var(--width));
    left: calc(64 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    z-index: 2;
    gap: calc(12 * var(--width));
}
.interview-fv-title-en {
    font-size: calc(64 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.05em;
}
.interview-fv-title-ja {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.05em;
}
.main-interview {
    margin-left: auto;
    width: calc(718 * var(--width));
    padding-top: calc(170 * var(--width));
    padding-right: calc(56 * var(--width));
}
.main-interview-inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.main-interview-inner-name {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1;
    padding-bottom: calc(10 * var(--width));
}
.main-interview-inner-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-bottom: calc(28 * var(--width));
}
.main-interview-inner-info-name {
    font-size: calc(12 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1;
}
.main-interview-inner-info-age {
    font-size: calc(12 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1;
    opacity: 0.5;
}
.main-interview-inner-title {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    line-height: 1.4;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-bottom: calc(24 * var(--width));
}
.main-interview-inner-img {
    width: 100%;
    height: auto;
}
.main-interview-inner-club {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1;
    padding-top: calc(12 * var(--width));
}
.main-interview-inner-join {
    font-size: calc(12 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1;
    letter-spacing: 0.05em;
    opacity: 0.5;
    padding-top: calc(12 * var(--width));
}
.main-interview-inner-hr {
    width: 100%;
    height: 1px;
    background-color: #BFBFBF;
    margin: calc(40 * var(--width)) 0;
}
.main-interview-inner-text h3 {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-bottom: calc(36 * var(--width));
}
.main-interview-inner-text img {
    width: 100%;
    height: auto;
    margin-bottom: calc(30 * var(--width));
}
.main-interview-inner-text h4 {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    padding-bottom: calc(12 * var(--width));
}
.main-interview-inner-text p {
    font-size: calc(14 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1.5;
    padding-bottom: calc(26 * var(--width));
    opacity: 0.7;
}
.main-interview-inner-text .main-interview-inner-hr {
    margin-top: calc(10 * var(--width));
}
.main-interview-inner-faq-title {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-bottom: calc(24 * var(--width));
}
.main-interview-inner-faq {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}
.main-interview-inner-faq-question {
    font-size: calc(16 * var(--width));
    font-weight: 700;
    color: #fff;
    line-height: 1;
    padding: calc(8 * var(--width));
    background: #000;
    width: 100%;
}
.main-interview-inner-faq-answer {
    font-size: calc(14 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    padding: calc(14 * var(--width)) calc(8 * var(--width));
    opacity: 0.7;
    width: 100%;
}
.main-interview-inner-other {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-top: calc(20 * var(--width));
    padding-bottom: calc(120 * var(--width));
}
.main-interview-inner-other-en {
    font-size: calc(16 * var(--width));
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    padding-bottom: calc(24 * var(--width));
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.main-interview-inner-other-ja {
    font-size: calc(48 * var(--width));
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    padding-bottom: calc(80 * var(--width));
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.main-interview-inner-other-list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: calc(24 * var(--width));
    flex-wrap: wrap;
    width: 105%;
}
.main-interview-inner-other-list-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: calc(213 * var(--width));
    text-decoration: none;
}
.main-interview-inner-other-list-item img {
    width: 100%;
    height: calc(283 * var(--width));
    margin-bottom: calc(14 * var(--width));
    object-fit: cover;
    object-position: center;
}
.main-interview-inner-other-list-item-title {
    font-size: calc(14 * var(--width));
    font-weight: 500;
    color: #000;
    line-height: 1;
    padding-bottom: calc(8 * var(--width));
}
.main-interview-inner-other-list-item-name {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1;
    padding-bottom: calc(12 * var(--width));
}
.main-interview-inner-other-list-item-text {
    font-size: calc(14 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1.5;
}

/* 採用ページ */
.sub-recruit-inner {
    padding: calc(114 * var(--width)) calc(48 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.sub-recruit-inner-title {
    font-size: calc(60 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.sub-recruit-inner-text {
    font-size: calc(16 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1.5;
    margin-left: auto;
    margin-top: calc(50 * var(--width));
    margin-bottom: calc(80 * var(--width));
    width: calc(770 * var(--width));
}
.sub-recruit-inner hr {
    width: 100%;
    height: 1px;
    background-color: #BFBFBF;
    margin: 0;
}
.business-inner-text {
    font-size: calc(16 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1.5;
    margin-left: auto;
    margin-bottom: calc(80 * var(--width));
    width: calc(770 * var(--width));
}

/* Interview Archive ページ */
.page-interview-archive {
    padding-top: calc(266 * var(--width));
}
.interview-archive-fv {
    width: 100%;
    height: calc(400 * var(--width));
    background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: calc(80 * var(--width));
}
.interview-archive-fv-inner {
    text-align: center;
}
.interview-archive-fv-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(16 * var(--width));
}
.interview-archive-fv-title-en {
    font-size: calc(48 * var(--width));
    font-weight: 700;
    color: #333;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.1em;
}
.interview-archive-fv-title-ja {
    font-size: calc(32 * var(--width));
    font-weight: 500;
    color: #666;
}
.interview-archive-main {
    width: 100%;
    padding: 0 calc(48 * var(--width));
    margin-bottom: calc(80 * var(--width));
}
.interview-archive-main-inner {
    max-width: calc(1200 * var(--width));
    margin: 0 auto;
}
.interview-archive-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: calc(24 * var(--width));
    margin-bottom: calc(60 * var(--width));
}
.interview-archive-grid-item {
    display: block;
    text-decoration: none;
    color: inherit;
}
.interview-archive-grid-item-img {
    width: 100%;
    height: calc(370 * var(--width));
    overflow: hidden;
}
.interview-archive-grid-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.interview-archive-grid-item-text {
    padding: calc(16 * var(--width)) 0;
}
.interview-archive-grid-item-text-title {
    font-size: calc(14 * var(--width));
    font-weight: 600;
    color: #333;
    margin-bottom: calc(8 * var(--width));
}
.interview-archive-grid-item-text-name {
    font-size: calc(24 * var(--width));
    font-weight: 700;
    color: #000;
    margin-bottom: calc(12 * var(--width));
}
.interview-archive-grid-item-text-text {
    font-size: calc(16 * var(--width));
    line-height: 1.5;
}
.interview-archive-no-posts {
    text-align: center;
    padding: calc(80 * var(--width)) 0;
}
.interview-archive-no-posts p {
    font-size: calc(18 * var(--width));
    color: #666;
}

/* フェードアップアニメーション */
.fadein {
    opacity: 0;
    transform: translateY(30px);
    transition-delay: 0.4s;
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.fadein.animation {
    opacity: 1;
    transform: translateY(0);
}

/* Privacy ページ */
.sub-privacy-inner {
    padding: calc(266 * var(--width)) calc(48 * var(--width)) calc(60 * var(--width));
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.sub-privacy-title {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-bottom: calc(80 * var(--width));
    position: relative;
}
.sub-privacy-title p {
    font-size: calc(16 * var(--width));
    font-weight: 500;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.05em;
    margin-bottom: calc(20 * var(--width));
}
.sub-privacy-title h2 {
    font-size: calc(48 * var(--width));
    font-weight: 700;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: 'Inter', sans-serif;
    line-height: 1;
}
.sub-privacy-inner-detail {
    margin-left: auto;
    margin-bottom: calc(80 * var(--width));
    width: calc(890 * var(--width));
}
.sub-privacy-inner-detail h2 {
    font-size: calc(27 * var(--width));
    font-weight: 700;
    color: #000;
    line-height: 1.5;
    margin-top: calc(40 * var(--width));
    margin-bottom: calc(12 * var(--width));
}
.sub-privacy-inner-detail p {
    font-size: calc(20 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1.5;
}
.wp-block-list {
    padding-top: calc(12 * var(--width));
    padding-left: calc(25 * var(--width));
}
.wp-block-list li {
    font-size: calc(20 * var(--width));
    font-weight: 400;
    color: #000;
    line-height: 1.5;
    padding-bottom: calc(12 * var(--width));
}

/* 六角形 */
.hexagon-container {
    position: relative;
    width: calc(890 * var(--width));
    height: calc(890 * var(--width));
    display: flex;
    justify-content: center;
    align-items: center;
    margin: calc(-40 * var(--width)) auto calc(20 * var(--width));
}
.hexagon {
    width: calc(260 * var(--width));
    height: calc(300 * var(--width));
    position: absolute;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease;
}
/* 中央の白い六角形 */
.hexagon.center {
    background: white;
    z-index: 10;
}
/* 周りの六角形の基本スタイル */
.hexagon.outer {
    background: linear-gradient(115deg, #A4A4A4 -10%, #383838 29%, #FFFFFF 100%);
    border: 1px solid #666;
}
/* 各六角形の最終位置（円軌道後の調整） */
.hexagon.top-right {
    transform: translate(90px, -52px);
}
.hexagon.right {
    transform: translate(120px, 26px);
}
.hexagon.bottom-right {
    transform: translate(90px, 104px);
}
.hexagon.bottom-left {
    transform: translate(-90px, 104px);
}
.hexagon.left {
    transform: translate(-120px, 26px);
}
.hexagon.top-left {
    transform: translate(-90px, -52px);
}
/* アニメーション前の初期状態 */
.hexagon.outer {
    opacity: 0;
    transform: scale(0) translate(0, 0);
}
/* 元のコードを参考にした円軌道アニメーション（透明から徐々に濃く） */
@keyframes trainOrbit {
    0% {
        opacity: 0;
        transform: rotate(-60deg) translateX(calc(275 * var(--width))) rotate(60deg) scale(0);
    }
    5% {
        opacity: 0.2;
        transform: rotate(-60deg) translateX(calc(275 * var(--width))) rotate(60deg) scale(1.1);
    }
    100% {
        opacity: 1;
        transform: rotate(var(--rotation)) translateX(calc(275 * var(--width))) rotate(calc(-1 * var(--rotation))) scale(1);
    }
}
/* 各六角形の段階的な表示タイミング（一定速度で円を描く） */


.animation .hexagon.top-left {
    animation: trainOrbit 3s ease-out 0s both;
    --rotation: 240deg;
    /* margin-bottom: calc(-20 * var(--width)); */
}
.animation .hexagon.left {
    animation: trainOrbit 3s ease-out 0.5s both;
    --rotation: 180deg;
}
.animation .hexagon.bottom-left {
    animation: trainOrbit 3s ease-out 1s both;
    --rotation: 120deg;
    /* margin-top: calc(-20 * var(--width)); */
}
.animation .hexagon.bottom-right {
    animation: trainOrbit 3s ease-out 1.5s both;
    --rotation: 60deg;
    /* margin-top: calc(-20 * var(--width)); */
}
.animation .hexagon.right {
    animation: trainOrbit 3s ease-out 2s both;
    --rotation: 0deg;
}
.animation .hexagon.top-right {
    animation: trainOrbit 3s ease-out 2.5s both;
    --rotation: -60deg;
    /* margin-bottom: calc(-20 * var(--width)); */
}

/* ロゴスタイル */
.logo {
    display: flex;
    align-items: center;
    justify-content: center;
}
.hexagon.center .logo {
    width: calc(145 * var(--width));
}
/* 個別のロゴ色 */
.hexagon.top-right .logo { width: calc(110 * var(--width)); }
.hexagon.right .logo { width: calc(110 * var(--width)); }
.hexagon.bottom-right .logo { width: calc(110 * var(--width)); }
.hexagon.bottom-left .logo { width: calc(110 * var(--width)); }
.hexagon.left .logo { width: calc(110 * var(--width)); }
.hexagon.top-left .logo { width: calc(124 * var(--width)); }

/* fv_video */
.fv_video {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 100;
    opacity: 1;
    visibility: visible;
    background-color: #000;
    overflow: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    transition-delay: 9s;
}
.fv_video.done {
    opacity: 0;
    visibility: hidden;
}
.fv_video::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 1;
    transform: translateY(100%);
    transition: transform 0.5s ease;
    transition-delay: 7s;
    z-index: 2;
}
.fv_video video {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
    position: relative;
    z-index: 2;
}
.fv_video.done::after {
    transform: translateY(0);
}
.fv_video #fv01 {
    position: absolute;
    top: calc(57 * var(--width));
    left: 0;
    width: 100%;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.5s ease;
    transition-delay: 8s;
}
.fv_video.done #fv01 {
    opacity: 1;
}
/* body.loading {
    overflow: hidden;
}
body.loading.done {
    overflow: auto;
} */

@media screen and (max-width: 780px) {
    html,
    body {
        scroll-padding-top: calc(100 * var(--width));
    }
    header {
        height: calc(100 * var(--width));
        background: #fff;
    }
    .header-inner {
        padding: calc(20 * var(--width)) calc(30 * var(--width));
    }
    .logo {
        height: 100%;
        width: auto;
    }
    .logo img {
        height: 100%;
        width: auto;
    }
    .header-nav {
        display: none;
    }
    .mega-menu {
        display: none;
    }
    .header-btn {
        display: none;
    }
    .fv {
        padding-top: calc(100 * var(--width));
        height: auto;
    }
    .fv-inner {
        padding-bottom: calc(100 * var(--width));
    }
    .fv-scroll {
        font-size: calc(24 * var(--width));
    }
    .fv-bottom {
        height: auto;
        padding-top: calc(80 * var(--width));
        padding-bottom: calc(80 * var(--width));
        padding-left: calc(48 * var(--width));
        padding-right: calc(48 * var(--width));
    }
    .fv-bottom-inner {
        flex-direction: column;
    }
    .fv-bottom-img {
        display: none;
    }
    .fv-bottom-text {
        padding: 0;
        z-index: 1;
        width: 100%;
        align-items: center;
    }
    .fv-bottom-text h2 {
        text-align: center;
    }
    .fv-bottom-text p {
        font-size: calc(24 * var(--width));
        width: calc(580 * var(--width));
    }
    .company-title h2,
    .business-title h2,
    .interview-title h2,
    .news-title h2,
    .contact-title h2 {
        font-size: calc(24 * var(--width));
    }
    .company-text {
        flex-direction: column;
        padding: calc(40 * var(--width)) 0;
    }
    .company-text-left {
        margin-bottom: calc(20 * var(--width));
        width: 100%;
    }
    .company-text-left p {
        font-size: calc(40 * var(--width));
    }
    .company-text-left h3 {
        font-size: calc(34 * var(--width));
    }
    .company-text-right > p {
        font-size: calc(24 * var(--width));
    }
    .company-text-right-item,
    .company-text-right-item:first-of-type {
        width: 100%;
        min-height: unset;
        padding: calc(34 * var(--width)) 0;
    }
    .company-text-right-item-left {
        width: calc(450 * var(--width));
    }
    .company-text-right-item-left p {
        font-size: calc(28 * var(--width));
    }
    .company-text-right-item-left h3 {
        font-size: calc(24 * var(--width));
    }
    .company-text-right-item-right {
        width: 100%;
    }
    .company-text-right-item-right p {
        font-size: calc(24 * var(--width));
    }
    .business-list {
        gap: calc(20 * var(--width));
    }
    .business-list-item-list {
        gap: calc(20 * var(--width));
    }
    .business-list-item {
        width: 100%;
        background: #F9F9F9;
    }
    .business-list-item-title span{
        font-size: calc(40 * var(--width));
        background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .business-list-item-list-item p {
        font-size: calc(30 * var(--width));
        background: linear-gradient(90deg, #2C2826 0%, #B17C30 50%, #BA9569 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }
    .business-list-item-list-item h3 {
        font-size: calc(24 * var(--width));
        color: #000;
    }
    .interview-swiper-wrapper {
        padding-left: calc(80 * var(--width));
    }
    .interview-swiper-wrapper::before {
        left: calc(40 * var(--width));
    }
    .interview-swiper-wrapper::after {
        left: calc(40 * var(--width));
    }
    .interview-swiper-item {
        padding-right: calc(24 * var(--width));
    }
    .interview-swiper-item-img {
        height: calc(450 * var(--width));
    }
    .interview-swiper-item-text-title {
        font-size: calc(24 * var(--width));
    }
    .interview-swiper-item-text-name {
        font-size: calc(32 * var(--width));
    }
    .interview-swiper-item-text-text {
        font-size: calc(20 * var(--width));
    }
    .news-list {
        padding-left: 0;
        gap: calc(40 * var(--width)) 4% ;
    }
    .news-list-item {
        width: 48%;
    }
    .news-list-item-text-info p:first-of-type {
        font-size: calc(24 * var(--width));
    }
    .news-list-item-text-info p:last-of-type {
        font-size: calc(20 * var(--width));
        width: unset;
        height: unset;
        padding: calc(8 * var(--width)) calc(14 * var(--width));
    }
    .news-list-item-text-title {
        font-size: calc(20 * var(--width));
    }
    .contact-inner {
        padding: calc(40 * var(--width)) calc(40 * var(--width));
    }
    .contact-text {
        width: 100%;
        font-size: calc(20 * var(--width));
    }
    footer {
        height: auto;
        padding-bottom: calc(400 * var(--width));
        overflow: hidden;
    }
    .footer-inner {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding: 0 calc(48 * var(--width));
    }
    .footer-inner-left {
        border-right: unset;
        border-bottom: 1px solid #9B9EA0;
        padding-left: unset;
        padding-bottom: calc(40 * var(--width));
        width: 100%;
    }
    .footer-inner-left p {
        font-size: calc(24 * var(--width));
    }
    .footer-inner-left .footer-img01 {
        left: calc(-50 * var(--width));
        width: 110%;
    }
    .footer-inner-right {
        padding-left: unset;
        padding-right: unset;
        padding-top: calc(40 * var(--width));
        width: 100%;
    }
    .footer-inner-right-list {
        width: 100%;
    }
    .footer-inner-right-list-item {
        width: 50%;
    }
    .footer-inner-right-list-item-link,
    .menu-inner-contact {
        font-size: calc(32 * var(--width));
        margin-bottom: calc(20 * var(--width));
    }
    .footer-inner-right-list-item-link-list {
        gap: calc(12 * var(--width));
    }
    .footer-inner-right-list-item-link-list-item {
        font-size: calc(22 * var(--width));
    }
    .footer-inner-right-list-item-link.contact-btn {
        width: calc(330 * var(--width));
        height: calc(90 * var(--width));
    }
    .menu-inner-contact.contact-btn {
        width: 100%;
        height: calc(160 * var(--width));
        padding-left: calc(30 * var(--width));
        padding-right: calc(30 * var(--width));
    }
    .footer-inner-right-list-item-link.contact-btn .contact-btn-img,
    .menu-inner-contact.contact-btn .contact-btn-img {
        width: calc(60 * var(--width));
        height: calc(60 * var(--width));
    }
    .footer-inner-right-list-item-link.contact-btn .contact-btn-img img,
    .menu-inner-contact.contact-btn .contact-btn-img img {
        width: calc(20 * var(--width));
    }
    .footer-inner-right-list-item-link.contact-btn p {
        font-size: calc(32 * var(--width));
    }
    .menu-inner-contact.contact-btn p {
        font-size: calc(40 * var(--width));
    }
    .footer-inner-right-bottom-item {
        font-size: calc(24 * var(--width));
    }
    .footer-inner-right-bottom-text {
        font-size: calc(24 * var(--width));
    }
    .menu-btn {
        position: fixed;
        top: calc(20 * var(--width));
        right: calc(30 * var(--width));
        display: flex;
        justify-content: center;
        align-items: center;
        width: calc(60 * var(--width));
        height: calc(60 * var(--width));
        z-index: 21;
        cursor: pointer;
    }
    .menu-btn-img {
        width: 100%;
        height: auto;
        opacity: 1;
        visibility: visible;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    .menu-btn.open .menu-btn-img {
        opacity: 0;
        visibility: hidden;
    }
    .menu-btn-img-close {
        width: 100%;
        height: auto;
        opacity: 0;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    .menu-btn.open .menu-btn-img-close {
        opacity: 1;
        visibility: visible;
    }
    .menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: #000;
        z-index: 20;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    .menu.open {
        opacity: 1;
        visibility: visible;
    }
    .menu-inner {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding: calc(160 * var(--width)) calc(48 * var(--width));
    }
    .menu-inner-list {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        width: 100%;
    }
    .menu-inner-list-item {
        font-size: calc(40 * var(--width));
        color: #fff;
        text-decoration: none;
        margin-bottom: calc(30 * var(--width));
        font-weight: 700;
        font-family: 'Inter', sans-serif;
        border-top: 1px solid #808080;
        width: 100%;
        padding-top: calc(30 * var(--width));
    }
    .menu-inner-list-item-list {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        padding-left: calc(24 * var(--width));
        width: 100%;
        margin-bottom: calc(30 * var(--width));
    }
    .menu-inner-list-item-list-item {
        font-size: calc(32 * var(--width));
        color: #808080;
        text-decoration: none;
        margin-bottom: calc(20 * var(--width));
        font-weight: 700;
        position: relative;
    }
    .menu-inner-list-item-list-item::before {
        position: absolute;
        content: "";
        top: 50%;
        left: calc(-24 * var(--width));
        width: calc(14 * var(--width));
        height: 1px;
        background: #808080;
    }

    /* Companyページ */
    .sub-fv {
        height: calc(300 * var(--width));
    }
    .sub-fv-title {
        font-size: calc(72 * var(--width));
    }
    .sub-company-list {
        gap: calc(40 * var(--width)) 0;
        padding: calc(40 * var(--width)) calc(48 * var(--width)) 0;
    }
    .sub-company-list-item {
        width: 100%;
    }
    .sub-company-list-item-img {
        height: calc(360 * var(--width));
    }
    .sub-company-list-item-text-info p {
        font-size: calc(24 * var(--width));
    }
    .sub-company-list-item-text-info h3 {
        font-size: calc(32 * var(--width));
    }
    .sub-company-bottom {
        padding: calc(80 * var(--width)) calc(48 * var(--width));
    }
    .sub-company-bottom-inner {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .sub-company-bottom-title h2 {
        font-size: calc(32 * var(--width));
        margin-bottom: calc(40 * var(--width));
    }
    .sub-company-bottom-list {
        gap: calc(30 * var(--width)) 0;
        width: 100%;
    }
    .sub-company-bottom-list-item {
        width: 100%;
    }
    .sub-company-bottom-list-item-title {
        font-size: calc(32 * var(--width));
    }
    .sub-company-bottom-list-item-btn {
        width: calc(40 * var(--width));
        height: calc(40 * var(--width));
    }
    .sub-company-bottom-list-item-btn img {
        width: calc(16 * var(--width));
    }

    /* Company/philosophyページ */
    .sub02-fv-inner p {
        font-size: calc(24 * var(--width));
    }
    .sub02-fv-inner h2 {
        font-size: calc(72 * var(--width));
    }
    .sub-philosophy-title {
        padding-bottom: calc(40 * var(--width));
        padding-left:0;
    }
    .sub-philosophy-title h3 {
        font-size: calc(52 * var(--width));
    }

    /* Company/profileページ */
    .sub-company-profile-table {
        width: 100%;
    }
    .sub-company-profile-table th {
        width: calc(180 * var(--width));
    }
    .sub-company-profile-table tr th ,
    .sub-company-profile-table tr td {
        font-size: calc(24 * var(--width));
    }

    /* Company/officerページ */
    .sub-officer-list {
        gap: calc(40 * var(--width)) 4%;
    }
    .sub-officer-list-item {
        width: 48%;
    }
    .sub-officer-list-item-img {
        height: calc(240 * var(--width));
    }
    .sub-officer-list-item-text-info {
        font-size: calc(24 * var(--width));
    }
    .sub-officer-list-item-text-name {
        font-size: calc(32 * var(--width));
    }

    /* Company/messageページ */
    .sub-message-contents {
        flex-direction: column;
    }
    .sub-message-contents-img {
        width: 100%;
    }
    .sub-message-contents-text {
        width: 100%;
        padding: unset;
        border: unset;
    }
    .sub-message-contents-text > img {
        margin-bottom: calc(32 * var(--width));
    }
    .sub-message-contents-text p {
        font-size: calc(24 * var(--width));
    }

    /* Newsページ */
    .sub-news-category-item p {
        font-size: calc(24 * var(--width));
    }
    .sub-news-inner {
        padding: 0 calc(48 * var(--width)) calc(112 * var(--width));
    }
    .sub-news .news-list {
        gap: calc(40 * var(--width)) 4%;
    }
    .sub-news-pagination {
        gap: calc(24 * var(--width));
    }
    .sub-news-pagination-item,
    .page-numbers {
        width: calc(80 * var(--width));
        height: calc(80 * var(--width));
    }
    .sub-news-pagination-item p,
    .page-numbers {
        font-size: calc(26 * var(--width));
    }
    .sub-news-pagination-item img,
    .page-numbers img {
        width: calc(24 * var(--width));
    }

    /* Contactページ */
    .sub-contact-text {
        font-size: calc(24 * var(--width));
    }
    .sub-contact-form {
        width: 100%;
    }
    .sub-contact-form-item {
        margin-bottom: calc(24 * var(--width));
    }
    .sub-contact-form-item p ,
    .sub-contact-form-item p span {
        font-size: calc(24 * var(--width));
    }
    .sub-contact-form-item input, .sub-contact-form-item textarea {
        font-size: calc(24 * var(--width));
    }
    .sub-contact-form-item input::placeholder,
    .sub-contact-form-item textarea::placeholder,
    .sub-contact-form-item select::placeholder,
    .sub-contact-form-item select,
    .sub-contact-form-item option {
        font-size: calc(24 * var(--width));
    }
    .sub-contact-form-item select {
        font-size: calc(24 * var(--width));
    }
    .sub-contact-form-item select option {
        font-size: calc(24 * var(--width));
    }
    .sub-contact-form-btn  {
        width: calc(330 * var(--width));
        height: calc(90 * var(--width));
    }
    .sub-contact-form-btn .sub-contact-form-btn-img {
        width: calc(60 * var(--width));
        height: calc(60 * var(--width));
    }
    .sub-contact-form-btn .sub-contact-form-btn-img img {
        width: calc(20 * var(--width));
    }
    .sub-contact-form-btn p {
        font-size: calc(32 * var(--width));
    }

    /* Thankyouページ */
    .thankyou-fv {
        padding-top: calc(200 * var(--width));
    }
    .sub-thankyou-inner {
        padding-bottom: calc(120 * var(--width));
    }
    .sub-thankyou-text {
        font-size: calc(24 * var(--width));
    }

    /* Single Newsページ */
    .single-news-inner {
        padding: 0 calc(48 * var(--width));
    }
    .single-news-content {
        max-width: 100%;
    }
    .single-news-title {
        font-size: calc(28 * var(--width));
    }
    .single-news-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: calc(8 * var(--width));
    }
    .single-news-date {
        font-size: calc(20 * var(--width));
    }
    .single-news-category {
        font-size: calc(18 * var(--width));
        width: unset;
        height: unset;
        padding: calc(8 * var(--width)) calc(14 * var(--width));
    }
    .single-news-body p {
        font-size: calc(20 * var(--width));
    }
    .single-news-body h2 {
        font-size: calc(28 * var(--width));
    }
    .single-news-body h3 {
        font-size: calc(24 * var(--width));
    }
    .single-news-nav-link {
        font-size: calc(18 * var(--width));
        justify-content: center;
    }
    .single-news-nav-text {
        font-size: calc(18 * var(--width));
    }
    .single-news-back-link {
        font-size: calc(20 * var(--width));
        padding: calc(20 * var(--width)) calc(40 * var(--width));
    }

    /* Interviewページ */
    .page-interview {
        flex-direction: column;
        padding-top: calc(100 * var(--width));
    }
    .page-interview-archive {
        padding-top: calc(200 * var(--width));
    }
    .interview-fv,
    .interview-fv.bottom {
        position: unset;
        width: 100%;
        height: calc(1000 * var(--width));
    }
    .main-interview {
        width: 90%;
        margin: 0 auto;
        padding-top: calc(100 * var(--width));
        padding-right: 0;
    }
    .main-interview-inner-name {
        font-size: calc(36 * var(--width));
    }
    .main-interview-inner-info-name {
        font-size: calc(24 * var(--width));
    }
    .main-interview-inner-info-age {
        font-size: calc(24 * var(--width));
    }
    .main-interview-inner-title {
        font-size: calc(30 * var(--width));
    }
    .main-interview-inner-img {
        height: calc(400 * var(--width));
    }
    .main-interview-inner-club {
        font-size: calc(30 * var(--width));
    }
    .main-interview-inner-join {
        font-size: calc(24 * var(--width));
    }
    .main-interview-inner-hr {
        margin: calc(30 * var(--width)) 0;
    }
    .main-interview-inner-text h3 {
        font-size: calc(30 * var(--width));
    }
    .main-interview-inner-text img {
        height: calc(400 * var(--width));
    }
    .main-interview-inner-text h4 {
        font-size: calc(28 * var(--width));
    }
    .main-interview-inner-text p {
        font-size: calc(24 * var(--width));
    }
    .main-interview-inner-faq-title {
        font-size: calc(34 * var(--width));
    }
    .main-interview-inner-faq-question {
        font-size: calc(24 * var(--width));
        padding: calc(16 * var(--width));
    }
    .main-interview-inner-faq-answer {
        font-size: calc(24 * var(--width));
        padding: calc(16 * var(--width));
    }
    .main-interview-inner-other {
        padding-bottom: calc(80 * var(--width));
    }
    .main-interview-inner-other-en {
        font-size: calc(32 * var(--width));
    }
    .main-interview-inner-other-ja {
        font-size: calc(48 * var(--width));
    }
    .main-interview-inner-other-list {
        gap: calc(40 * var(--width)) 4%;
        width: 100%;
    }
    .main-interview-inner-other-list-item {
        width: 48%;
    }
    .main-interview-inner-other-list-item img {
        height: calc(460 * var(--width));
    }
    .main-interview-inner-other-list-item-title {
        font-size: calc(24 * var(--width));
    }
    .main-interview-inner-other-list-item-name {
        font-size: calc(32 * var(--width));
    }
    .main-interview-inner-other-list-item-text {
        font-size: calc(24 * var(--width));
    }

    /* 採用ページ */
    .sub-recruit-inner {
        padding: calc(80 * var(--width)) calc(48 * var(--width));
    }
    .sub-recruit-inner-title {
        font-size: calc(48 * var(--width));
    }
    .sub-recruit-inner-text {
        font-size: calc(22 * var(--width));
        margin-top: calc(30 * var(--width));
        margin-bottom: calc(40 * var(--width));
        width: 100%;
    }
    .business-inner-text {
        font-size: calc(22 * var(--width));
        margin-bottom: calc(40 * var(--width));
        width: 100%;
    }


    /* 社員インタビュー */
    .interview-archive-fv {
        height: calc(300 * var(--width));
        margin-bottom: calc(60 * var(--width));
    }
    .interview-archive-fv-title-en {
        font-size: calc(36 * var(--width));
    }
    .interview-archive-fv-title-ja {
        font-size: calc(24 * var(--width));
    }
    .interview-archive-main {
        padding: 0 calc(48 * var(--width));
        margin-bottom: calc(60 * var(--width));
    }
    .interview-archive-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(24 * var(--width));
        margin-bottom: calc(40 * var(--width));
    }
    .interview-archive-grid-item-img {
        height: calc(450 * var(--width));
    }
    .interview-archive-grid-item-text-title {
        font-size: calc(24 * var(--width));
    }
    .interview-archive-grid-item-text-name {
        font-size: calc(32 * var(--width));
    }
    .interview-archive-grid-item-text-text {
        font-size: calc(22 * var(--width));
    }

    /* Privacy ページ */
    .sub-privacy {
        padding-top: calc(200 * var(--width));
    }
    .sub-privacy-inner {
        padding: 0 calc(48 * var(--width));
    }
    .sub-privacy-title {
        padding-bottom: calc(40 * var(--width));
    }
    .sub-privacy-title p {
        font-size: calc(24 * var(--width));
        margin-bottom: calc(10 * var(--width));
    }
    .sub-privacy-title h2 {
        font-size: calc(60 * var(--width));
    }
    .sub-privacy-inner-detail {
        width: 100%;
        margin-bottom: calc(40 * var(--width));
    }
    .sub-privacy-inner-detail h2 {
        font-size: calc(28 * var(--width));
    }
    .sub-privacy-inner-detail p {
        font-size: calc(24 * var(--width));
    }
    .wp-block-list li {
        font-size: calc(24 * var(--width));
    }

    /* 三角形 */
    .hexagon-container {
        width: 100%;
        height: calc(670 * var(--width));
    }
    .hexagon {
        width: calc(200 * var(--width));
        height: calc(220 * var(--width));
    }
    .hexagon.top-right {
        transform: translate(90px, -52px);
    }
    .hexagon.right {
        transform: translate(120px, 26px);
    }
    .hexagon.bottom-right {
        transform: translate(90px, 104px);
    }
    .hexagon.bottom-left {
        transform: translate(-90px, 104px);
    }
    .hexagon.left {
        transform: translate(-120px, 26px);
    }
    .hexagon.top-left {
        transform: translate(-90px, -52px);
    }
    /* 元のコードを参考にした円軌道アニメーション（透明から徐々に濃く） */
    @keyframes trainOrbitSP {
        0% {
            opacity: 0;
            transform: rotate(-60deg) translateX(calc(210 * var(--width))) rotate(60deg) scale(0);
        }
        5% {
            opacity: 0.2;
            transform: rotate(-60deg) translateX(calc(210 * var(--width))) rotate(60deg) scale(1.1);
        }
        100% {
            opacity: 1;
            transform: rotate(var(--rotation)) translateX(calc(210 * var(--width))) rotate(calc(-1 * var(--rotation))) scale(1);
        }
    }
    /* 各六角形の段階的な表示タイミング（一定速度で円を描く） */
    
    .animation .hexagon.top-left {
        animation: trainOrbitSP 3s ease-out 0s both;
        --rotation: 240deg;
        /* margin-bottom: calc(-20 * var(--width)); */
    }
    .animation .hexagon.left {
        animation: trainOrbitSP 3s ease-out 0.5s both;
        --rotation: 180deg;
    }
    .animation .hexagon.bottom-left {
        animation: trainOrbitSP 3s ease-out 1s both;
        --rotation: 120deg;
        /* margin-top: calc(-20 * var(--width)); */
    }
    .animation .hexagon.bottom-right {
        animation: trainOrbitSP 3s ease-out 1.5s both;
        --rotation: 60deg;
        /* margin-top: calc(-20 * var(--width)); */
    }
    .animation .hexagon.right {
        animation: trainOrbitSP 3s ease-out 2s both;
        --rotation: 0deg;
    }
    .animation .hexagon.top-right {
        animation: trainOrbitSP 3s ease-out 2.5s both;
        --rotation: -60deg;
        /* margin-bottom: calc(-20 * var(--width)); */
    }
    .hexagon.center .logo { width: calc(100 * var(--width)); }
    .hexagon.top-right .logo { width: calc(80 * var(--width)); }
    .hexagon.right .logo { width: calc(80 * var(--width)); }
    .hexagon.bottom-right .logo { width: calc(80 * var(--width)); }
    .hexagon.bottom-left .logo { width: calc(80 * var(--width)); }
    .hexagon.left .logo { width: calc(80 * var(--width)); }
    .hexagon.top-left .logo { width: calc(90 * var(--width)); }
    .hexagon .logo img {
        width: 100%;
        height: auto;
    }

    /* fv_video */
    .fv_video video {
        height: 100vh;
    }
    .fv_video #fv02 {
        position: absolute;
        top: calc(100 * var(--width));
        left: 0;
        width: 100%;
        z-index: 10;
        opacity: 0;
        transition: opacity 0.5s ease;
        transition-delay: 8s;
    }
    .fv_video.done #fv02 {
        opacity: 1;
    }
}
