.elementor-2629 .elementor-element.elementor-element-3f5f28c{--display:flex;--min-height:677px;--justify-content:center;}.elementor-2629 .elementor-element.elementor-element-3f5f28c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2629 .elementor-element.elementor-element-97b876c{width:100%;max-width:100%;text-align:start;}.elementor-2629 .elementor-element.elementor-element-97b876c.elementor-element{--align-self:center;--order:0;}.elementor-2629 .elementor-element.elementor-element-97b876c .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-secondary );}.elementor-2629 .elementor-element.elementor-element-4bd527c{--display:flex;--padding-top:0px;--padding-bottom:130px;--padding-left:0px;--padding-right:0px;}.elementor-2629 .elementor-element.elementor-element-4bd527c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2629 .elementor-element.elementor-element-8754d26 .elementor-button{background-color:var( --e-global-color-primary );text-decoration:none;border-radius:30px 30px 30px 30px;}.elementor-2629 .elementor-element.elementor-element-8754d26.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-2629 .elementor-element.elementor-element-8754d26 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2629 .elementor-element.elementor-element-8754d26 .elementor-button .elementor-button-content-wrapper{gap:16px;}.elementor-2629 .elementor-element.elementor-element-b365f80{--display:flex;}.elementor-2629 .elementor-element.elementor-element-b365f80:not(.elementor-motion-effects-element-type-background), .elementor-2629 .elementor-element.elementor-element-b365f80 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F7FD;}.elementor-2629 .elementor-element.elementor-element-21a86c9{padding:37px 37px 37px 37px;}.elementor-2629 .elementor-element.elementor-element-bfbbec5{--display:flex;}.elementor-2629 .elementor-element.elementor-element-df0e94d{--display:flex;}@media(max-width:1024px){.elementor-2629 .elementor-element.elementor-element-3f5f28c{--min-height:413px;}}@media(min-width:768px){.elementor-2629 .elementor-element.elementor-element-3f5f28c{--width:98.473%;}.elementor-2629 .elementor-element.elementor-element-4bd527c{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-41ef3ea */:root{
    --c-text:#2d2d2d;
    --c-muted:#6b7280;
    --c-accent:#2b78d4; /* 青ライン＆ボタン */
    --c-accent-dark:#1f5fb0;
    --c-border:#e6e9ef;
    --maxw:1100px;
  }

  .features-sec{
    padding:72px 20px 20px;
    color:var(--c-text);
    background:#fff;
  }
  .features-inner{max-width:var(--maxw); margin:0 auto; text-align:center;}

  /* head */
  .features-stick{
    display:block; width:2px; height:28px; background:var(--c-border);
    margin:0 auto 14px; border-radius:2px;
  }
  .features-title{
    font-size:40px; line-height:1.2; margin:0 0 8px; font-weight:600;
  }
  .features-sub{
    margin:0 0 40px; color:#5d8dd8; font-weight:500;
  }

  /* grid */
  .features-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:40px;
    align-items:start; margin-top:10px; margin-bottom:40px;
  }
  .feature-no{
    font-weight:800; font-size:22px; letter-spacing:.08em; margin-bottom:8px;
  }
  .feature-title {
  display: inline-block;       /* 幅をテキストに合わせる */
  position: relative;          /* 擬似要素の基準 */
  padding-bottom: 8px;         /* 下線との距離 */
}

.feature-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;                  /* 下線の太さ */
  width: 100px;                 /* 下線の長さ（必要に応じて調整） */
  background: linear-gradient(to right, #e2eafb, #2b78d4);
  border-radius: 2px;           /* 角丸 */
}

  .feature-body p{
    margin:14px 0; color:var(--c-muted); line-height:1.9;
  }



  /* responsive */

  @media (max-width:767px) {
    .features-grid {
        grid-template-columns: 1fr; 
        gap: 28px;
    }
    .features-sec{
        padding:56px 16px 64px;
    }
  }
  
    
    /* 基本（PCサイズ） */
.features-sec .features-title {
  font-size: 40px;
}
.features-sec .feature-title {
  font-size: 22px;
}
.features-sec .feature-body p {
  font-size: 16px;
}

header#masthead {
    width: 100% !important; 
    /*ヘッダーを直す無理矢理こーど。ばぐるならけしたほうがいい*/
}

/* タブレットサイズ以下（〜1024px） */
@media (max-width:1024px) {
  .features-sec .features-title {
    font-size: 34px;
  }
  .features-sec .feature-title {
    font-size: 24px;
  }
  .features-sec .feature-body p {
    font-size: 15px;
  }
}

/* スマホサイズ以下（〜767px） */
@media (max-width:767px) {
  .features-sec .features-title {
    font-size: 28px;
  }
  .features-sec .feature-title {
    font-size: 20px;
  }
  .features-sec .feature-body p {
    font-size: 14px;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8754d26 */.elementor-2629 .elementor-element.elementor-element-8754d26 .elementor-button{
  padding:16px 92px;border-radius:999px;font-weight:700;
  background:#2b78d4;color:#fff;
}
.elementor-2629 .elementor-element.elementor-element-8754d26 .elementor-button:hover{background:#1f5fb0;transform:translateY(-1px)}
.elementor-2629 .elementor-element.elementor-element-8754d26 .elementor-button:active{transform:translateY(0)}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-21a86c9 */:root{
  --c-bg:#f3f7b;            /* セクション淡色 */
  --c-text:#222;
  --c-blue:#133a7a;          /* 濃い青の装飾バー */
  --c-grad-a:#41d483;        /* ボタン後ろのグラデ(左/緑) */
  --c-grad-b:#2b78d4;        /* ボタン後ろのグラデ(右/青) */
  --maxw:1100px;
}

.srv-sec{background:var(--c-bg); padding:72px 18px;}
.srv-inner{max-width:var(--maxw); margin:0 auto;}
.srv-head{ text-align:center; margin-bottom:136px;}
.srv-head .stick{display:block;width:2px;height:28px;background:#bcd3f5;border-radius:2px;margin:0 auto 12px;}
.srv-head h2{font-size:36px;margin:0 0 4px;}
.srv-head p{color:#4b84d9;margin:0;}

.srv-card{
  display:grid;
  grid-template-columns: 1fr 1fr; /* 画像 / テキスト */
  gap:0;
  background:#fff;
    max-width: 1000px;       /* 横幅制限 */
  margin: 60px auto;       /* 上下60px、左右は中央寄せ */
  grid-template-columns: 0.9fr 1fr; /* 画像を少し小さめに */
  border-radius: 8px;      /* 角丸 */
  overflow: hidden;
  position:relative;
}
.srv-card.reverse{ grid-template-columns: 1fr 1fr; direction: rtl; } /* 並びだけ反転 */
.srv-card.reverse > *{ direction:ltr; } /* 子は通常方向に戻す */

.srv-img{ position:relative; overflow:hidden; }
.srv-img img{ width:100%; height:100%; object-fit:cover; display:block; }

/* 画像の下に“濃い青の段差”を作る（幅は画像側にのみ出す） */
.srv-img::after{
  content:""; position:absolute; left:0; right:0; height: 28px;            /* バーの高さ */
  bottom: -14px;
  background:var(--c-blue);
}
.srv-card.reverse .srv-img::after{
  left:0; right:0;  /* 反転側は反対に出す */
}

.srv-body{ padding:28px; display:flex; flex-direction:column; justify-content:center; padding: 40px 32px; }
.srv-body h3{ font-size:20px; margin:0 0 12px; font-weight:700;}
.srv-body p{ margin:0 0 20px; line-height:1.8; color:#333;}

/* View More：黒ボタン + 右下に“緑→青グラデ”の段 */

.srv-btn-wrap {
  position: relative;
  display: inline-block;
}

.srv-btn{
  position:relative; display:inline-block; text-decoration:none;
  background:#0a0a0a; color:#fff; font-weight:700; font-size:14px; text-align:right;
  padding:10px 160px; z-index:33;
}
.srv-btn-wrap::after{
  content:""; position:absolute; left:10px; right:-12px; bottom:-10px; height:14px;
  background:linear-gradient(90deg, var(--c-grad-a), var(--c-grad-b));
  z-index:11;
}
/* ホバー時はボタンだけ色変え（段はそのまま） */
.srv-btn:hover{ background:#1c1c1c; }

/* レスポンシブ */
@media (max-width: 900px){
  .srv-head h2{font-size:30px;}
}
@media (max-width: 768px){
  .srv-card,
  .srv-card.reverse{
    grid-template-columns: 1fr;  /* 縦並び */
  }
  .srv-img::after,
  .srv-card.reverse .srv-img::after{
    left:0; right:40%; height:22px; bottom:-12px; /* モバイルは少し小さめ */
  }
}/* End custom CSS */