@charset "utf-8";

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  margin: 0;
  line-height: 1.6;/* 行の高さ（行間） */
}
/* 画像のはみ出し防止 */
img {
  max-width: 100%;
}

/* header */
header {
  padding: 40px 0;
}
.site_logo {
  text-align: center;
}
.site_logo a {
  color: #333;
  font-size: 32px;
  font-weight: 900;
  text-decoration: none;
  transition: all .5s; /* hover時の変化を0.5sでアニメーション */
}
.site_logo a:hover {
  color: #6900A9;
}

/* main */
.main_visual {
  width: 100%;
  height: 400px;
}
.main_visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main_title {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 80px;
}
.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 80px 0;
}

.works_list {
  display: flex;
  flex-wrap: wrap;/* flexに折り返しを許可 */
  gap: 40px;/* 要素間の隙間を設定 */
}
.works_list a {
  width: calc(50% - 20px);
  text-decoration: none;
}
.works_item {
  width: 100%;
  border-radius: 8px;
  overflow: hidden; /* はみ出した部分は非表示 */
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.25);
}
.item_img {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.item_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.item_text {
  padding: 20px;
}
.item_title {
  color: #333;
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 20px;
}
.item_date {
  color: #999;
  text-align: right;
  margin: 0;
}

/* footer */
footer {
  text-align: center;
  background-color: #6900A9;
  color: #fff;
  padding: 50px 0;
}


/* works detail */
.works_comment {
  padding: 30px 0;
}
.works_comment h2 {
  margin-top: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;/* 文字間隔を指定 （１emは一文字分という意味）*/
}
.btn_center {
  text-align: center;
  padding: 30px 0;
}
.btn_center a {
  padding: 10px 60px;
  background-color: #000;
  color: #fff;
  text-decoration: none;
  border-radius: 10px;
  transition: all .5s;
}
.btn_center a:hover {
  background-color: #6900A9;
}


/* レスポンシブ対応(ブレイクポイント「600px」) */
@media screen and (max-width: 600px) {
   .works_list {
    display: block;/* 「display:flex」を無効に */
    padding: 0 20px;
   }
   .works_item {
    margin-bottom: 30px;
   }
}



/* 色々な見出しのスタイル */
hr {
  opacity: 0.1;
  margin: 50px 0;
}
.style01 {
  border-bottom: 5px solid #000;
}
.style02 {
  border-bottom: 5px dashed #379232;
  color: #379232;
  padding-left: 15px;
  padding-bottom: 5px;
}
.style03 {
  background-color: #ffdddd;
  padding: 0.5em;
  border-radius: 15px;
  text-shadow: 2px 2px 0 #fff;
}
.style04 {
  background-color: #ffdddd;
  border-radius: 50px;/* 大きめに設定すると端が半円に */
  padding: 10px 15px;
}
.style04::before {
  content: '⚫︎';
  color: #fff;
  margin-right: 15px;
}
.style05 {
  background-color: #ccffff;
  padding: 20px;
  color: #333399;
  position: relative; /* 絶対位置指定の基準となる要素に指定 */
}
.style05::before {
  content: ''; /* 「空」の要素を追加 */
  display: block;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-top: 30px solid #ccffff;
  position: absolute; /* 絶対位置指定 */
  top: 100%;
  left: 50px;
}

/* ボタンのスタイル */
.btn01 {
  color: #000;
  font-size: 20px;
  border: 3px solid #000;
  border-radius: 30px;
  text-decoration: none;
  padding: 10px 60px;
  display: block;
  width: fit-content;
  position: relative;
  text-align: center;
  transition: all 0.8s;
}
.btn01::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: rotate(45deg) translateY(-50%);
}
.btn01:hover {
  background-color: #000;
  color: #fff;
}
.btn01:hover::after {
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
}
.slick-dots li button:before{
  font-size: 12px;
  color: red;
}
.slick-prev:before, .slick-next::before{
  font-size: 30px;
  color: red;
  text-shadow: 0 0 3px #fff;
}
.slick-next{
right: 20px;
}
.slick-prev{
  left: 20px;
  z-index: 1;
}
/*クリックで画像拡大*/
.img_list{
  display: flex;
}
.img_list .img_item{
  width: 25%;
  padding: 10px;
}