/* =============================
   works-woman.css
   /lp/sp/ 用：#works のみ強制上書き
   ============================= */

/* 旧スクロール/横並びの影響を #works 内で無効化 */
#works .works,
#works .scroll-contents,
#works .block__content,
#works ul,
#works li{
  overflow: visible !important;
  white-space: normal !important;
  transform: none !important;
  animation: none !important;
}

/* グループ全体 */
#works .works-groups{
  display: flex !important;
  flex-direction: column !important;
  gap: 60px !important;
  margin-top: 40px !important;
}

/* 見出し（カテゴリ） */
#works .works-group__head{
  text-align: center !important;
  margin-bottom: 30px !important;
}

#works .works-group__en{
  font-size: 13px !important;
  letter-spacing: 0.2em !important;
  color: #307CB3 !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
}

#works .works-group__jp{
  font-size: 20px !important;
  font-weight: 700 !important;
  display: inline-block !important;
  position: relative !important;
  padding-bottom: 10px !important;
  margin: 0 !important;
}

#works .works-group__jp::after{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  transform: translateX(-50%) !important;
  width: 60px !important;
  height: 1px !important;
  background: #ccc !important;
}

/* グリッド（本体） */
#works .works-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;

  /* もし flex 指定が当たっても潰す */
  flex-wrap: unset !important;
  align-items: unset !important;
  justify-content: unset !important;
}

@media (min-width: 768px){
  #works .works-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px 20px !important;
  }
}

@media (min-width: 1200px){
  #works .works-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* li に幅/余白/flexが付いても潰す */
#works .works-grid > li{
  width: auto !important;
  margin: 0 !important;
  flex: none !important;
}

/* 1件だけ中央寄せ */
#works .works-grid.is-single{
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* SP時は1件表示の幅を他と揃える */
@media (max-width: 767px){
  #works .works-grid.is-single{
    max-width: 260px !important;
  }

  #works .works-grid.is-single .works-card{
    max-width: 260px !important;
  }
}


/* 2件だけ中央寄せ（TB以上） */
@media (min-width: 768px){
  #works .works-grid.is-two{
    grid-template-columns: repeat(2, 360px) !important;
    justify-content: center !important;
  }
}

/* カード */
#works .works-card{
  width: 100% !important;
  max-width: 360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 画像 */
#works .works-list-item__image img{
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* テキスト */
#works .works-list-item__text{
  text-align: center !important;
  margin-top: 14px !important;
  min-height: 60px !important;
}

#works .works-list-item__company{
  font-weight: 700 !important;
  line-height: 1.4 !important;
  font-size: 1.3rem;
  margin: 0 !important;
}

#works .works-list-item__sitename{
  font-size: 14px !important;
  color: #666 !important;
  margin-top: 6px !important;
  line-height: 1.6 !important;
}

/* ロゴ */
#works .business-record{
  margin-top: 50px !important;
}

#works .business-record__lead{
  text-align: center !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  margin-bottom: 18px !important;
}

#works .business-record__image img{
  width: 100% !important;
  height: auto !important;
  display: block !important;
}


/*--------------------------------
  FV吹き出し
--------------------------------*/
.first-view__btn {
  margin-top: 6.8rem !important;
}
@media screen and (min-width: 768px) { 
  .first-view__btn {
    margin-top: 6.8rem !important;
  }
}
@media screen and (min-width: 992px) {
  .first-view__btn {
    margin-top: 6.8rem !important;
  }  
}
.fv-balloon {
  position: absolute;
  top: -1.2rem; 
  left: 50%;
  transform: translateX(-50%) translateY(-100%);
  color: #ff5d5d;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 0.8rem 1.2rem;
  border-radius: 4px;
  background-color: #fff;
  border: 2px solid #ff5d5d;
  white-space: nowrap;
  z-index: 3;
}
.fv-balloon::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 50%;
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-right: 2px solid #ff5d5d;
  border-bottom: 2px solid #ff5d5d;
  transform: translateX(-50%) rotate(45deg);
}

/*--------------------------------
  SP下部固定ボタン
--------------------------------*/
@media screen and (max-width: 767px) {
  .fixed-btn {
    bottom: 0 !important;
    left: 0;
    right: 0 !important;
    width: 100%;
    height: auto;
    padding: .8rem;
    background-color: #307CB3;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  }
  .fixed-btn .btn--fixed {
    width: auto;
    height: auto;
    padding: .8rem 2.8rem .8rem 2rem;
    writing-mode: horizontal-tb;
    border-radius: 50px;
    background-color: #fff;
    color: #307CB3;
    font-size: 1.5rem;
    border: none;
  }
  .fixed-btn .btn--fixed::before {
    content: "無料";
  }
  .fixed-btn .btn--fixed::after {
    content: "";
    display: inline-block;
    position: absolute;
    right: 1.2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1rem;
    aspect-ratio: 1;
    background-image: url("../img/img_arrow_right_blue.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
  .fixed-btn .btn--fixed span {
    display: none !important;
  }
  .fixed-btn-campaign-text {
    display: none ;
  }
}

/*--------------------------------
  中間CTAセクション
--------------------------------*/
.works-card-item {
  display: flex !important;
}
.campaign--middle .campaign-contents-inner {
  padding: 1.6rem 4rem .8rem;
}
.campaign--middle .campaign-note-text {
  margin-top: 1.6rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.4;
}
.campaign--middle .campaign-bottom-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem;
  font-size: clamp(1.2rem, 3.2vw, 1.4rem);
  color: #fff;
  font-weight: 500;
  background-color: #ff5d5d;
  border-radius: 0 0 5px 5px;
  font-size: 2rem;
  color: #fff;
  line-height: 1.4;
  transition: .3s;
} 
.campaign--middle .campaign-bottom-btn a span::after {
  content: "";
  display: inline-block;
  width: .8rem;
  height: 1.6rem;
  background-image: url('../img/ico_chevron_right.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: translateX(1.2rem);
  transition: .3s;
}
@media (hover: hover) {
  .campaign--middle .campaign-bottom-btn a:hover span::after {
    transform: translateX(1.6rem);
  }
}

/*--------------------------------
  FVテキストのサイズ調整
--------------------------------*/
.page-top .main .first-view__title span {
  font-size: clamp(2.2rem, 3vw, 6rem);
}
.page-top .main .first-view__lead span {
  font-size: clamp(1.3rem, 3vw, 1.8rem);
}
