
@charset "UTF-8";

/* ==========================================================================
   1. 基本設定・WordPressブロック基本スタイル
   ========================================================================== */
img:is([sizes="auto" i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px;
}

.wp-block-button__link {
    color: #fff;
    background-color: #32373c;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: calc(.667em + 2px) calc(1.333em + 2px);
    font-size: 1.125em;
}

.wp-block-file__button {
    background: #32373c;
    color: #fff;
    text-decoration: none;
}

/* WordPress 共通レイアウトユーティリティ */
:where(.is-layout-flex) {
    gap: 0.5em;
}

:where(.is-layout-grid) {
    gap: 0.5em;
}

body .is-layout-flex {
    display: flex;
}

.is-layout-flex {
    flex-wrap: wrap;
    align-items: center;
}

.is-layout-flex> :is(*, div) {
    margin: 0;
}

body .is-layout-grid {
    display: grid;
}

.is-layout-grid> :is(*, div) {
    margin: 0;
}

:where(.wp-block-columns.is-layout-flex),
:where(.wp-block-columns.is-layout-grid) {
    gap: 2em;
}

:where(.wp-block-post-template.is-layout-flex),
:where(.wp-block-post-template.is-layout-grid) {
    gap: 1.25em;
}

:root :where(.wp-block-pullquote) {
    font-size: 1.5em;
    line-height: 1.6;
}

/* ==========================================================================
   2. タイポグラフィ
   ========================================================================== */
body {
    font-family: "Segoe UI", Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

p {
    line-height: 1.8 !important;
}

.p-page-header__title,
.p-archive-header__title,
.p-article01__title,
.p-article02__title,
.p-entry__title,
.p-main-image__title,
.c-nav01__item,
.p-article03__title,
.p-widget-post-list__item-title,
.p-content02__item-title,
.p-content01__catch,
.p-content04__catch,
.p-article04__title,
.p-content03__blog-catch,
.p-content03__news-catch,
.p-hero-header__nav-item-title,
.p-hero-header__slider-item-title {
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 500;
}

/* ==========================================================================
   3. プライマリ / セカンダリ カラー設定
   ========================================================================== */
/* Primary Color (#004353) 背景 */
.p-widget-search__submit:hover,
.slick-arrow:hover,
.p-tab__content-pager-item.is-active a,
.p-tab__content-pager-item a:hover,
.p-content04__slider .slick-arrow:hover,
.p-hero-header__link:hover,
.c-comment__form-submit:hover,
.p-page-links a span,
.p-pager__item span,
.p-pager__item a:hover,
.p-global-nav .sub-menu a:hover,
.p-button:hover,
.c-pw__btn--submit,
.p-content02 .slick-arrow:hover,
.p-request__btn,
.c-pw .c-pw__btn--register {
    background: #004353;
}

/* Primary Color テキストリンク */
.p-article04__category a:hover,
.p-article04__title a:hover,
.p-content03__blog-archive-link:hover,
.p-content03__news-archive-link:hover,
.p-latest-news__archive-link:hover,
.p-article01__title a:hover,
.p-article01__category a:hover,
.widget_nav_menu a:hover,
.p-breadcrumb__item a:hover,
.p-social-nav__item a:hover,
.p-article03__title a:hover,
.p-widget-post-list__item-title a:hover,
.p-entry__body a {
    color: #004353;
}

/* Secondary Color (#222222) 背景 */
.p-widget-search__submit,
.p-latest-news__title,
.p-tab__nav-item.is-active a,
.p-tab__nav-item a:hover,
.slick-arrow,
.slick-arrow:focus,
.p-tab__content-pager-item a,
.p-content04__slider .slick-arrow,
.p-hero-header__link,
.p-hero-header .slick-arrow,
.c-comment__form-submit,
.p-page-links span,
.p-page-links a span:hover,
.p-pager__item a,
.p-pager__item .dots,
.p-widget__title,
.p-global-nav .sub-menu a,
.p-content02 .slick-arrow,
#cb_4 .p-main-image__btn,
#cb_5 .p-main-image__btn,
#cb_7 .p-main-image__btn,
.c-pw__btn--register:hover {
    background: #222222;
}

.p-tab__content-img-nav {
    background: rgba(34, 34, 34, 0.7);
}

.p-tab__nav-item.is-active a,
.p-tab__nav-item a:hover {
    border-color: #222222;
}

/* ==========================================================================
   4. レイアウト & コンポーネント
   ========================================================================== */
.l-contents {
    background: linear-gradient(to right, #fff 0%, #fff 50%, #f6f6f6 50%, #f6f6f6 100%);
}

.l-contents--rev {
    background: linear-gradient(to left, #fff 0%, #fff 50%, #f6f6f6 50%, #f6f6f6 100%);
}

.l-secondary {
    background: #f6f6f6;
}

.l-header {
    background: rgba(30, 115, 190, 0.8);
    animation: slideDown 1.5s ease-in-out 0s forwards;
}

.l-header__logo a,
.p-global-nav>li>a,
.c-menu-button {
    color: #ffffff;
}

.l-header__logo a:hover,
.p-global-nav>li>a:hover {
    color: #7fa1a9;
}

.p-hero-header__link {
    animation: slideUp 1.5s ease-in-out 0s forwards;
}

.p-entry__body,
.p-entry__body p {
    font-size: 14px;
}

.p-content02__item {
    width: 33.333333333333%;
}

.p-content02__item a:hover .p-content02__item-img {
    opacity: 0.7;
}

/* ホバーエフェクト */
.p-hover-effect--type1:hover img {
    transform: scale(1.2);
}

/* コンテンツビルダーボタンホバー */
#cb_4 .p-main-image__btn:hover,
#cb_5 .p-main-image__btn:hover,
#cb_6 .p-content04__btn:hover,
#cb_7 .p-main-image__btn:hover {
    background: #1e73be;
}

#cb_3 .p-content03__news-list-item a:hover,
#cb_6 .p-content04__btn {
    background: #333333;
}

.p-request__btn:hover {
    background: #666666;
}

/* 派遣・業務請負テーブル */
table#haken_table td {
    font-size: 115%;
    line-height: 1.4em;
    text-align: center;
    padding: 0.5em 1.5em;
}

/* ==========================================================================
   5. レスポンシブ (メディアクエリ)
   ========================================================================== */
@media only screen and (max-width: 991px) {
    .p-pagetop a {
        background: #222222;
    }
}

@media only screen and (max-width: 767px) {
    .l-header {
        background: #1e73be;
        animation: none;
    }

    .p-content03__news-list {
        background: #222222;
    }

    .p-request>a::after {
        color: #ffffff;
    }

    .p-content02__item {
        width: 100%;
    }

    .p-tab .slick-arrow:hover,
    .p-content04 .slick-arrow:hover {
        background: #222222;
    }
}

.p-content02 h2,
.p-content02__item-title {
    color: #ffffff !important;
}
