@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap);
:root {
  --ff-noto-sans: "Noto Sans JP", Meiryo, sans-serif;
  --c-white: #ffffff;
  --c-black: #000000;
  --c-gray-light: #eeeeee;
  --c-green-primary: #23ac48;
  --c-green-dark: #009943;
  --c-green-light: #7bcd91;
  --c-text-main: #333333;
  --c-red-accent: #b34040;
}

/* ==========================================================================//
//
//　calc関数、エディターコンパイル用
//（calc関数をそのままscssに入れてコンパイルすると、自動で計算後のvwに変換されるため用意しています。）
//
//
// ========================================================================== */
/** -------------------------------- **
	PC用
*** ----------------------------------------------------------------- ***/
/*-- 基本ヘッダーフッター用、またはコンテンツ幅を超えてアートボードいっぱいにデザインされているもの --*/
/*-- mainタグ内（デザインのコンテンツ幅1280pxと両サイドのpadding40pxを足して1320） --*/
/** -------------------------------- **
	タブレット用
*** ----------------------------------------------------------------- ***/
/** -------------------------------- **
	SP用
*** ----------------------------------------------------------------- ***/
.works__wrap {
  margin-block-end: min(calc(90 / 1320 * 100vw), 90px);
}
@media (max-width: 767px) {
  .works__wrap {
    margin-block-end: calc( 70/375 * 100vw);
  }
}
.works__title {
  padding-block-end: min(calc(20 / 1320 * 100vw), 20px);
  border-bottom: 1px solid #ccc;
  font-size: min(calc(30 / 1320 * 100vw), 30px);
  font-weight: 600;
}
.works__title::before {
  content: "●";
  display: inline;
  margin-inline-end: min(calc(18 / 1320 * 100vw), 18px);
  color: var(--c-green-primary);
  font-size: min(calc(20 / 1320 * 100vw), 20px);
  vertical-align: min(calc(3 / 1320 * 100vw), 3px);
}
@media (max-width: 767px) {
  .works__title::before {
    margin-inline-end: min(calc( 16/375 * 100vw), 16px);
    font-size: calc( 20/375 * 100vw);
  }
}
@media (max-width: 767px) {
  .works__title {
    padding-block-end: calc( 20/375 * 100vw);
    font-size: calc( 20/375 * 100vw);
  }
}
.works__list {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: min(calc(100 / 1320 * 100vw), 100px) min(calc(60 / 1320 * 100vw), 60px);
}
@media (max-width: 767px) {
  .works__list {
    flex-direction: column;
    gap: calc( 60/375 * 100vw);
  }
}
.works__item {
  width: calc(50% - min(calc(30 / 1320 * 100vw), 30px));
}
@media (max-width: 767px) {
  .works__item {
    width: 100%;
  }
}
.works__item-title {
  margin-top: 20px;
  border-bottom: 1px dotted #ccc;
  padding-bottom: min(calc(12 / 1320 * 100vw), 12px);
}
@media (max-width: 767px) {
  .works__item-title {
    margin-top: calc( 20/375 * 100vw);
    padding-bottom: calc( 12/375 * 100vw);
  }
}
.works__item-title .ttl_main {
  font-size: min(calc(20 / 1320 * 100vw), 20px);
  font-weight: 600;
  color: var(--c-green-primary);
}
@media (max-width: 767px) {
  .works__item-title .ttl_main {
    font-size: calc( 20/375 * 100vw);
  }
}
.works__item-title .ttl_s {
  font-size: min(calc(14 / 1320 * 100vw), 14px);
  font-weight: 600;
  color: var(--c-green-primary);
}
@media (max-width: 767px) {
  .works__item-title .ttl_s {
    font-size: calc( 14/375 * 100vw);
  }
}
.works__item-description {
  margin-top: min(calc(8 / 1320 * 100vw), 8px);
}
@media (max-width: 767px) {
  .works__item-description {
    margin-top: calc( 8/375 * 100vw);
  }
}
.works__item-description .txt {
  font-size: min(calc(16 / 1320 * 100vw), 16px);
  color: var(--c-text-main);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .works__item-description .txt {
    font-size: calc( 16/375 * 100vw);
  }
}
.works__item-description .lnk {
  text-align: right;
}
.works__item-description .lnk a {
  font-size: min(calc(14 / 1320 * 100vw), 14px);
}
@media (max-width: 767px) {
  .works__item-description .lnk a {
    font-size: calc( 14/375 * 100vw);
  }
}