
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=JetBrains+Mono:wght@400;700&family=M+PLUS+1p:wght@400;700;900&display=swap');

body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #333;
}
body.page-template-page-recruit.logged-in header{
 top: 32px;
}

#site_loader_logo_inner{
	display:flex;
	justify-content:center;
}

/* スムーススクロール */
html {
    scroll-behavior: smooth;
}

/* Mobile Menu Animation */
@media (max-width: 1023px) {
    body.menu-open {
        overflow: hidden;
    }
}

/* Desktop: Hide hamburger button */
@media (min-width: 1024px) {
    #mobile-menu-btn {
        display: none !important;
    }
    #mobile-menu {
        display: none !important;
    }
    #mobile-menu-overlay {
        display: none !important;
    }
}

/* WordPress Admin Bar: Adjust mobile menu position */
body.admin-bar #mobile-menu {
    top: 33px;
}

/* Hamburger Menu Animations */
.mobile-hamburger-top,
.mobile-hamburger-middle,
.mobile-hamburger-bottom {
    transform-origin: center;
}

#mobile-menu {
    box-shadow: -4px 0 12px rgba(0, 0, 0, 0.1);
}

/* Swiperの高さ調整 */
.mySwiper {
    width: 100%;
    height: 100%;
}

.mySwiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jobSwiper {
    width: 100%;
    height: auto;
    overflow: hidden; /* Swiper requires hidden overflow for correct calculation */
}

/* 無段階スクロールのための線形イージング */
.jobSwiper .swiper-wrapper {
    transition-timing-function: linear !important;
}

.jobSwiper .swiper-slide {
    height: auto !important;
}

/* アコーディオンの制御用 */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.accordion-item.active .accordion-content {
    max-height: 500px;
}

.accordion-item.active .accordion-icon {
    transform: rotate(180deg);
}

.joboffer-table-row{
    h1,h2{
        font-weight: bold;
        background-color: #eee;
        padding: 8px 12px;
    }
    h3,h4,h5{
        font-weight: bold;
        padding: 8px;
        border-left: 4px solid #ddd;
    }
    h6{
        font-weight: bold;
        padding: 8px 12px;
    }
     *+*{
        margin-bottom: 12px;
    }
    ul{
        list-style: disc;
        padding-left: 1rem;
        ul{
            list-style: circle;
        }
    }
    ol{
        list-style: decimal;
        padding-left: 1rem;
        ol{
            list-style: circle;
        }
    }
}

/* HERO SECTIONの画像トリミング設定（スマホ時） */
@media (max-width: 768px) {
    .swiper-slide.crop-left img {
        object-position: 20% center;
    }
    .swiper-slide.crop-center img {
        object-position: 100% center;
    }
    .swiper-slide.crop-right img {
        object-position: 80% center;
    }
}
