.elementor-20 .elementor-element.elementor-element-f28dd0c{--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-20 .elementor-element.elementor-element-f28dd0c:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-f28dd0c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-20 .elementor-element.elementor-element-8b5c48d .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;color:#333333;}.elementor-20 .elementor-element.elementor-element-7d2ee94{--divider-border-style:solid;--divider-color:#999999;--divider-border-width:1px;}.elementor-20 .elementor-element.elementor-element-7d2ee94 .elementor-divider-separator{width:100%;}.elementor-20 .elementor-element.elementor-element-7d2ee94 .elementor-divider{padding-block-start:0px;padding-block-end:0px;}.elementor-20 .elementor-element.elementor-element-63135bd .elementor-heading-title{font-family:"Trebuchet MS", Sans-serif;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#417CB4;}.elementor-20 .elementor-element.elementor-element-df48819{--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:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-2be12e9{padding:0px 0px 12px 0px;border-style:solid;border-width:0px 0px 4px 0px;border-color:#024C94;}.elementor-20 .elementor-element.elementor-element-2be12e9 .elementor-heading-title{letter-spacing:1px;color:#003DA6;}.elementor-20 .elementor-element.elementor-element-4074320{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-e471829{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-d664e2f{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-231fbc0{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-cf81a2f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-cf81a2f:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-cf81a2f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4FEFF;}.elementor-20 .elementor-element.elementor-element-e7e1d34{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-9888830{padding:0px 0px 12px 0px;border-style:solid;border-width:0px 0px 4px 0px;border-color:#F0990F;}.elementor-20 .elementor-element.elementor-element-9888830 .elementor-heading-title{letter-spacing:1px;color:#333333;}.elementor-20 .elementor-element.elementor-element-57d6eec{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-a766185{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-fb8739b{background-color:#817F71;padding:8px 8px 8px 8px;border-radius:100px 100px 100px 100px;text-align:center;}.elementor-20 .elementor-element.elementor-element-fb8739b .elementor-heading-title{text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-74b2621{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-4c551e8{background-color:#43B8AA;padding:8px 8px 8px 8px;border-radius:100px 100px 100px 100px;text-align:center;}.elementor-20 .elementor-element.elementor-element-4c551e8 .elementor-heading-title{text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-731a526{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-1bb3202{padding:0px 0px 12px 0px;border-style:solid;border-width:0px 0px 4px 0px;border-color:#F0990F;}.elementor-20 .elementor-element.elementor-element-1bb3202 .elementor-heading-title{letter-spacing:1px;color:#333333;}.elementor-20 .elementor-element.elementor-element-3610f0d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-3408183{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-9f259bf{background-color:#817F71;padding:8px 8px 8px 8px;border-radius:100px 100px 100px 100px;text-align:center;}.elementor-20 .elementor-element.elementor-element-9f259bf .elementor-heading-title{text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-72b0344{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-5d1deca{background-color:#43B8AA;padding:8px 8px 8px 8px;border-radius:100px 100px 100px 100px;text-align:center;}.elementor-20 .elementor-element.elementor-element-5d1deca .elementor-heading-title{text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-6145164{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-9bbbb4e{padding:0px 0px 12px 0px;border-style:solid;border-width:0px 0px 4px 0px;border-color:#F0990F;}.elementor-20 .elementor-element.elementor-element-9bbbb4e .elementor-heading-title{letter-spacing:1px;color:#333333;}.elementor-20 .elementor-element.elementor-element-fbd6fe8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-153aa17{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-6454262{background-color:#817F71;padding:8px 8px 8px 8px;border-radius:100px 100px 100px 100px;text-align:center;}.elementor-20 .elementor-element.elementor-element-6454262 .elementor-heading-title{text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-38111b7{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-4e68f9e{background-color:#43B8AA;padding:8px 8px 8px 8px;border-radius:100px 100px 100px 100px;text-align:center;}.elementor-20 .elementor-element.elementor-element-4e68f9e .elementor-heading-title{text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-c32e4bd{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-c783077{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-abb9dc8{background-color:#817F71;padding:8px 8px 8px 8px;border-radius:100px 100px 100px 100px;text-align:center;}.elementor-20 .elementor-element.elementor-element-abb9dc8 .elementor-heading-title{text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-a9f5404{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-8806ad1{background-color:#43B8AA;padding:8px 8px 8px 8px;border-radius:100px 100px 100px 100px;text-align:center;}.elementor-20 .elementor-element.elementor-element-8806ad1 .elementor-heading-title{text-transform:uppercase;color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-1eeafa1 .elementor-button{background-color:#2A63AC;font-size:20px;border-radius:100px 100px 100px 100px;padding:20px 40px 20px 40px;}.elementor-20 .elementor-element.elementor-element-1eeafa1 .elementor-button:hover, .elementor-20 .elementor-element.elementor-element-1eeafa1 .elementor-button:focus{background-color:#2AAC96;}.elementor-20 .elementor-element.elementor-element-1eeafa1 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-20 .elementor-element.elementor-element-63bb46e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-63bb46e:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-63bb46e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4FEFF;}.elementor-20 .elementor-element.elementor-element-318a25a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-aefe938{padding:0px 0px 12px 0px;border-style:solid;border-width:0px 0px 4px 0px;border-color:#F0990F;}.elementor-20 .elementor-element.elementor-element-aefe938 .elementor-heading-title{letter-spacing:1px;color:#333333;}.elementor-20 .elementor-element.elementor-element-ef4175c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-1adb949 .elementor-button{background-color:#2A63AC;border-radius:100px 100px 100px 100px;padding:20px 40px 20px 40px;}.elementor-20 .elementor-element.elementor-element-1adb949 .elementor-button:hover, .elementor-20 .elementor-element.elementor-element-1adb949 .elementor-button:focus{background-color:#2AAC96;}.elementor-20 .elementor-element.elementor-element-1adb949 .elementor-button-content-wrapper{flex-direction:row-reverse;}@media(min-width:768px){.elementor-20 .elementor-element.elementor-element-e471829{--width:81%;}.elementor-20 .elementor-element.elementor-element-d664e2f{--width:50%;}.elementor-20 .elementor-element.elementor-element-e7e1d34{--width:80%;}.elementor-20 .elementor-element.elementor-element-731a526{--width:80%;}.elementor-20 .elementor-element.elementor-element-6145164{--width:80%;}.elementor-20 .elementor-element.elementor-element-318a25a{--width:80%;}}@media(max-width:767px){.elementor-20 .elementor-element.elementor-element-f28dd0c{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-8b5c48d .elementor-heading-title{font-size:20px;}.elementor-20 .elementor-element.elementor-element-63135bd .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-df48819{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-2be12e9 .elementor-heading-title{font-size:20px;line-height:1.4em;}.elementor-20 .elementor-element.elementor-element-d664e2f.e-con{--order:-99999 /* order start hack */;}.elementor-20 .elementor-element.elementor-element-231fbc0{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-cf81a2f{--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-9888830 .elementor-heading-title{font-size:16px;line-height:1.4em;}.elementor-20 .elementor-element.elementor-element-fb8739b .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-1bb3202 .elementor-heading-title{font-size:16px;line-height:1.4em;}.elementor-20 .elementor-element.elementor-element-9f259bf .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-5d1deca .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-9bbbb4e .elementor-heading-title{font-size:16px;line-height:1.4em;}.elementor-20 .elementor-element.elementor-element-6454262 .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-4e68f9e .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-abb9dc8 .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-8806ad1 .elementor-heading-title{font-size:14px;}.elementor-20 .elementor-element.elementor-element-63bb46e{--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-20 .elementor-element.elementor-element-aefe938 .elementor-heading-title{font-size:16px;line-height:1.4em;}}/* Start custom CSS for html, class: .elementor-element-45b55b7 *//* --- グリッドレイアウト --- */
.st-service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    width: 100%;
}

/* --- カード単体のデザイン --- */
.st-service-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 25px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.st-service-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    border-color: #005CAF;
}

/* アイコン装飾 */
.st-service-icon {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    background: #f1f5f9;
    color: #005CAF;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.st-service-icon .material-icons-round {
    font-size: 28px;
}

/* テキスト部分 */
.st-service-body h3 {
    margin: 0 0 8px 0;
    font-size: 18px; /* 見出しサイズ固定 */
    color: #0f172a;
    font-weight: bold;
    line-height: 1.4;
}

.st-service-body p {
    margin: 0;
    font-size: 14px; /* 本文サイズ固定 */
    color: #475569;
    line-height: 1.6;
}

/* --- スマホ表示 (768px以下) --- */
@media (max-width: 768px) {
    .st-service-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .st-service-card {
        padding: 20px;
    }

    .st-service-body h3 {
        font-size: 16px;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-369dac9 *//* 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; }
}

/* カード全体のスタイル */
.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; /* 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); /* ホバー時に矢印が右に動く */
}/* End custom CSS */