.elementor-13217 .elementor-element.elementor-element-53c8d1f5{--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;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-13217 .elementor-element.elementor-element-224d054b{--display:flex;--min-height:0px;--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-13217 .elementor-element.elementor-element-15adb474{--display:flex;--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-13217 .elementor-element.elementor-element-15adb474.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-13217 .elementor-element.elementor-element-678c42f0 > .elementor-widget-container{margin:-8px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-widget-theme-archive-title .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-primary );}.elementor-13217 .elementor-element.elementor-element-70390d3d.elementor-element{--align-self:center;}.elementor-13217 .elementor-element.elementor-element-70390d3d .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:16px;font-weight:600;letter-spacing:1px;}.elementor-13217 .elementor-element.elementor-element-5b369d45{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .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-primary );}.elementor-13217 .elementor-element.elementor-element-3c3bb2ec .elementor-heading-title{font-family:"Afacad", Sans-serif;font-size:58px;font-weight:400;text-transform:uppercase;letter-spacing:1px;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-13217 .elementor-element.elementor-element-31e3daac.elementor-element{--align-self:flex-end;}.elementor-13217 .elementor-element.elementor-element-31e3daac{font-family:"Noto Sans JP", Sans-serif;font-size:12px;font-weight:400;color:#A2A2A2;}.elementor-13217 .elementor-element.elementor-element-31e3daac a{color:#333333;}.elementor-13217 .elementor-element.elementor-element-31e3daac a:hover{color:#DFDFDF;}.elementor-13217 .elementor-element.elementor-element-6d7fc7c7{--display:flex;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-13217 .elementor-element.elementor-element-15adb474{--width:49px;}}@media(max-width:767px){.elementor-13217 .elementor-element.elementor-element-53c8d1f5{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-13217 .elementor-element.elementor-element-224d054b{--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-13217 .elementor-element.elementor-element-15adb474{--width:30px;}.elementor-13217 .elementor-element.elementor-element-678c42f0 > .elementor-widget-container{margin:-11px 0px 0px 0px;}.elementor-13217 .elementor-element.elementor-element-70390d3d .elementor-heading-title{font-size:14px;}.elementor-13217 .elementor-element.elementor-element-5b369d45{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-13217 .elementor-element.elementor-element-3c3bb2ec .elementor-heading-title{font-size:24px;line-height:0.6em;}.elementor-13217 .elementor-element.elementor-element-31e3daac{font-size:8px;}.elementor-13217 .elementor-element.elementor-element-6d7fc7c7{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for html, class: .elementor-element-678c42f0 *//* ベースの長方形アイコン */
.grad-rect-icon{
  position: relative;
  width: 50px;           /* アイコンの幅：お好みで調整 */
  height: 20px;          /* アイコンの高さ：お好みで調整 */
  border-radius: 2px;    /* 角丸 */
  overflow: hidden;       /* 中のグラデはみ出し防止 */
  background: #0f172a;    /* ベースのダークカラー */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f9fafb;
  font-size: 14px;
}

/* テキスト（任意） */
.grad-rect-icon__label{
  position: relative;
  z-index: 1;             /* グラデーションより前に */
}

/* 左上で光っている“円形グラデーション” */
.grad-rect-icon::before{
  content: "";
  position: absolute;
  left: -30%;
  top: -40%;
  width: 200%;            /* 長方形より大きくしてなじませる */
  height: 200%;
  border-radius: 50%;
  background:
    radial-gradient(
      circle at 20% 20%,
      #ffe066 0%,         /* 黄色系（中心） */
      #169e7e 25%,        /* 指定のグリーン */
      #1d4ed8 55%,        /* 青系 */
      rgba(15, 23, 42, 0.95) 100%
    );
  background-size: 200% 200%;
  filter: blur(4px);      /* ふんわり */
  opacity: 0.9;
  animation: grad-rect-move 6s ease-in-out infinite alternate;
}

/* グラデーション部分だけがゆっくり動く */
@keyframes grad-rect-move{
  0%{
    background-position: 0% 0%;
    opacity: 0.9;
  }
  40%{
    background-position: 40% 20%;
    opacity: 1;
  }
  70%{
    background-position: 60% 40%;
    opacity: 0.95;
  }
  100%{
    background-position: 100% 60%;
    opacity: 0.9;
  }
}
/* タブレットあたりで少しだけ小さく */
@media (max-width: 1024px){
  .grad-rect-icon{
    width: 44px;
    height: 18px;
    font-size: 13px;
  }
}

/* スマホ：さらに少しだけ縮める（行間を邪魔しないサイズ） */
@media (max-width: 640px){
  .grad-rect-icon{
    width: 30px;
    height: 14px;
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-232b3d47 *//* --- レイアウト --- */
.ae-works-sub-nav { 
  display: flex; 
  gap: 10px; /* 少し狭めてスマホで窮屈にならないように */
  margin-bottom: 30px; 
  flex-wrap: wrap; 
  justify-content: center; /* センタリング推奨 */
}
.ae-sub-btn { 
  padding: 8px 16px; 
  background: #f4f4f4; 
  color: #333; 
  text-decoration: none; 
  border-radius: 20px; 
  font-size: 13px; 
  border: 1px solid #ddd; 
  transition: 0.3s; 
  white-space: nowrap; /* ボタン内の文字改行を防ぐ */
}
.ae-sub-btn:hover, .ae-sub-btn.is-active { 
  background: #00856A; 
  color: #fff; 
  border-color: #00856A; 
}

/* グリッドレイアウト */
.ae-works-archive-grid { 
  display: grid; 
  grid-template-columns: repeat(4, 1fr); 
  gap: 24px; 
}

/* --- レスポンシブ調整 --- */
@media (max-width: 1024px) { 
  .ae-works-archive-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}

@media (max-width: 768px) { 
  .ae-works-archive-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } 
}

@media (max-width: 480px) { 
  /* スマホ縦持ち時は1列にして視認性を確保 */
  .ae-works-archive-grid { grid-template-columns: 1fr; gap: 20px; }
  .ae-works-sub-nav { gap: 8px; }
  .ae-sub-btn { font-size: 12px; padding: 6px 12px; }
}

/* カードの基本設定 */
.ae-works-card { 
  display: block; 
  background: #fff; 
  border: 1px solid #eef0f2; 
  border-radius: 12px; 
  overflow: hidden; 
  transition: 0.3s; 
  box-shadow: 0 4px 15px rgba(0,0,0,0.04); 
}
.ae-works-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.1); }

.ae-works-card__img-wrap { position: relative; aspect-ratio: 3/2; overflow: hidden; }
.ae-works-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.ae-works-card:hover .ae-works-card__img { transform: scale(1.05); }

.ae-works-card__area-badge { position: absolute; top: 10px; right: 10px; background: rgba(0, 133, 106, 0.9); color: #fff; padding: 4px 10px; font-size: 11px; border-radius: 4px; z-index: 5; }
.ae-works-card__content { padding: 15px; }
.ae-works-card__title { font-size: 15px; font-weight: 700; color: #333; margin: 0; line-height: 1.4; }/* End custom CSS */