.elementor-625 .elementor-element.elementor-element-425636fc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-625 .elementor-element.elementor-element-425636fc:not(.elementor-motion-effects-element-type-background), .elementor-625 .elementor-element.elementor-element-425636fc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-625 .elementor-element.elementor-element-2a53e3c .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;color:#333333;}.elementor-625 .elementor-element.elementor-element-f72bc01{--divider-border-style:solid;--divider-color:#999999;--divider-border-width:1px;}.elementor-625 .elementor-element.elementor-element-f72bc01 .elementor-divider-separator{width:100%;}.elementor-625 .elementor-element.elementor-element-f72bc01 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-625 .elementor-element.elementor-element-7789a54b .elementor-heading-title{font-family:"Trebuchet MS", Sans-serif;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#417CB4;}.elementor-625 .elementor-element.elementor-element-4feeb406{--display:flex;}.elementor-625 .elementor-element.elementor-element-6da45739{color:#818181;}.elementor-625 .elementor-element.elementor-element-6da45739 a{color:#2357C0;}.elementor-625 .elementor-element.elementor-element-6da45739 a:hover{color:#54C1C5;}.elementor-625 .elementor-element.elementor-element-773e94c{--display:flex;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-625 .elementor-element.elementor-element-425636fc{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-625 .elementor-element.elementor-element-2a53e3c .elementor-heading-title{font-size:20px;}.elementor-625 .elementor-element.elementor-element-7789a54b .elementor-heading-title{font-size:14px;}.elementor-625 .elementor-element.elementor-element-6da45739{padding:10px 20px 10px 20px;font-size:12px;}.elementor-625 .elementor-element.elementor-element-773e94c{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for shortcode, class: .elementor-element-6fd1dd2a *//* ===================================================
   1. 切り替えタブ（ボタン）のスタイル
   （もしページ上部に設置する場合）
   =================================================== */
.works-tab-container {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
}

.works-tab-btn {
    display: inline-block;
    padding: 12px 30px;
    border: 2px solid #333;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    color: #333;
    background: #fff;
    transition: all 0.3s ease;
}

/* マウスホバー時、および現在選択されているタブのスタイル */
.works-tab-btn:hover,
.works-tab-btn.is-active {
    background: #333;
    color: #fff;
}


/* ===================================================
   2. 4カラム・カードのスタイル（共通）
   =================================================== */
.works-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
}

/* レスポンシブ（タブレット2カラム、スマホ1カラム） */
@media (max-width: 1024px) {
    .works-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
    .works-card-grid { grid-template-columns: 1fr; }
}

/* カード1枚ずつの設定 */
.works-card-item {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: #333;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.works-card-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* アイキャッチ画像（比率 4:3） */
.works-card-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-size: cover;
    background-position: center;
}

/* カードのテキストエリア */
.works-card-content {
    padding: 15px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    position: relative;
}

.works-card-title {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 10px 0;
    line-height: 1.4;
}

/* 厳密に3行で制限して「...」にする設定 */
.works-card-text {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0 0 35px 0; /* 矢印用の余白 */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

/* 右下の矢印 */
.works-card-arrow {
    position: absolute;
    bottom: 15px;
    right: 15px;
    font-size: 18px;
    color: #333;
    transition: transform 0.3s ease;
}
.works-card-item:hover .works-card-arrow {
    transform: translateX(5px);
}


/* ===================================================
   3. ページネーション（ページ送り）
   =================================================== */
.works-pagination {
    margin-top: 40px;
    width: 100%;
    display: flex;
    justify-content: center;
}

.works-pagination ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 8px;
}

.works-pagination ul li a,
.works-pagination ul li .current {
    display: block;
    padding: 10px 16px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    text-decoration: none;
    font-size: 14px;
    color: #333;
    background: #fff;
    transition: all 0.3s ease;
}

.works-pagination ul li a:hover,
.works-pagination ul li .current {
    background: #333; /* サイトのテーマカラーに合わせて変更してください */
    color: #fff;
    border-color: #333;
}/* End custom CSS */