@charset "UTF-8";
/*
Template Name: front-page
Theme Name: Gifted Style
Author: Hashikure@Polyphony

フロントページ用のCSS
*/


.article ul li {
  margin: 0;
}

/* アピールエリア ----- */
.appeal-in {
  padding: 0;
}
.appeal-title {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  transform:rotate(0.03deg);
}
.appeal-message {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin-top: 16px;
  & img {
    width: 97px;
    height: 97px;
  }
  & p {
    display: block;
    text-align: left;
    width: calc(100% - 117px);
  }
}

/* 事業概要 ----- */
#overview {
  border-image: conic-gradient(#fff7ca 0 0) fill 0 / 0 / 0 100vw;
  margin-bottom: 0;
  padding-block: 50px;
}
.overview-content {
  gap: 40px;
  grid-template-columns: 22% auto;
  justify-content: center;
  margin-inline: auto;
  max-width: 960px;
  & .wp-block-media-text__media {
    width: 210px;
    height: auto;
    & img {
      display: block;
    }
  }
  & .wp-block-media-text__content {
    padding: 0;
    width: 675px;
  }
}

/* お仕事発注・サービス内容 */
#works-and-services {
  border-image: conic-gradient(#fff7ca 0 0) fill 0 / 0 / 0 100vw;
  margin-bottom: 112px;
}
.tab-area {
  display: flex;
  color: #fff;
  flex-flow: row wrap;
  justify-content: center;
  & input {
    display: none;
    &:checked + .btn_tab {
      z-index: 2;
      & + .tab-content {
        display: block;
        & .inner {
          /* animation: fadeIn 1.5 forwards; */
          opacity: 1;
        }
      }
    }
  }
  & label {
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    cursor: pointer;
    display: block;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: clamp(0.9rem, 0.504rem + 2.33vw, 2.25rem);
    font-style: normal;
    font-weight: 700;
    height: 0;
    line-height: 64px;
    max-width: 484px;
    order: -1;
    position: relative;
    text-align: center;
    width: calc(50% - 16px);
    &:first-of-type {
      border-bottom: 64px solid #65abbe;
      left: 5px;
    }
    &:nth-of-type(2) {
      border-bottom: 64px solid #eba23b;
    }
    &:not(:first-of-type) {
      left: -5px;
    }
  }
}

/* タブコンテンツコンテナ */
.tab-content {
  display: none;
  width: 100%;
  padding: 56px 1em;
}
#tab1-cont {
  border-image: conic-gradient(#65abbe 0 0) fill 0 / 0 / 0 100vw;
}
#tab2-cont {
  border-image: conic-gradient(#eba23b 0 0) fill 0 / 0 / 0 100vw;
}

/* タブコンテンツ内部 */
.inner {
  opacity: 0;
  & .slash {
    color: #fff;
  }
  & ul {
    display: flex;
    justify-content: center;
    list-style: none;
    margin-top: 30px;
    padding: 0;
    width: 100%;
    & li img {
      display: block;
      width: 100%;
    }
  }
  .btn {
    display: block;
    background-color: #fff;
    border-radius: 30px;
    font-size: 1.25rem;
    margin: 16px auto 0;
    padding: 15px 22px 15px 62px;
    width: fit-content;
    min-width: 240px;
    line-height: 1;
    &:hover {
      opacity: 1;
    }
    .btn-text {
      align-items: center;
      display: inline-flex;
      font-family: "M PLUS Rounded 1c", sans-serif;
      font-style: normal;
      font-weight: 700;
      transform:rotate(0.03deg);
      &::after {
        content: "\f138";
        font-family: "Font Awesome 5 Free";
        font-size: 1.5rem;
        margin-left: 26px;
        margin-right: 0;
      }
    }
  }
}
#tab1-cont .inner {
  & ul {
    gap: 22px;
  }
  & .btn {
    border: 5px solid #31a6c2;
    color: #31a6c2;
    &:hover {
      background-color: #31a6c2;
      border-color: #157b93;
      color: #fff;
    }
  }
}
#tab2-cont .inner {
  & ul {
    gap: 48px;
  }
  & .btn {
    border: 5px solid #fd9f07;
    color: #fd9f07;
    &:hover {
      background-color: #fd9f07;
      border-color: #935215;
      color: #fff;
    }
  }
}

/* ニュース */
#news {
  margin-bottom: 62px;
  & .news {
    list-style: none;
    margin-bottom: 6px;
    padding: 0;
    width: 100%;
    & li {
      align-items: center;
      border-top: 1px solid #e9e9e9;
      display: flex;
      height: 60px;
      margin: 0;
    }
    & time {
      font-size: 0.9375rem;
      min-width: 104px;
    }
    & a {
      text-decoration: none;
    }
    & .news-category {
      font-size: 0.9375rem;
      font-weight: bold;
      line-height: 1;
      margin-left: 24px;
      min-width: 88px;
      padding: 4px 10px;
      text-align: center;
      &:not([style]) {
        background-color: #bcbcbc;
        color: #fff;
      }
      &:hover {
        opacity: .8;
      }
    }
    & .news-title {
      color: #000;
      font-size: 1.25rem;
      flex: 1 1 70%;
      margin-left: 30px;
      overflow: hidden;
      position: relative;
      text-overflow: ellipsis;
      white-space: nowrap;
      &:hover {
        color: #666;
      }
    }
  }
  & .news-btn > a {
    font-size: 1.125rem;
    border: 1px solid #30acc6;
    position: relative;
    &:hover {
      background-color: #30acc6;
      color: #fff;
    }
    &::after {
      background-color: #30acc6;
      border-radius: 50%;
      content: "\f054";
      color: #fff;
      display: inline-block;
      font-family: "Font Awesome 5 Free";
      padding: 4px 8.5px;
      position: absolute;
      right: 25px;
    }
  }
}

/* SNSエリア */
.media {
  gap: 60px;
  & > div {
    width: calc(50% - 30px);
    max-width: 570px;
  }
}
.twitter-timeline,
.wp-block-embed .video-container {
  margin: 0 auto;
}
.container .column-wrap > div {
  margin: 0 auto; 
}

/* ブログ ----- */
#blogs {
  margin-top: 116px; /* 58px*/
  margin-bottom: 112px;
  & h3 {
    margin-bottom: 16px;
  }
}
.blogs-list {
  column-gap: 20px;
  margin-inline: auto;
  max-width: 1100px;
}

.post-list {
  list-style: none;
  padding: 0;
  .post-item {
    margin: 0;
    &:not(:first-child) {
      margin-top: 24px;
    }
    & a {
      color: #000;
      display: flex;
      align-items: center;
      position: relative;
      text-decoration: none;
      &::before {
        content: "";
        cursor: pointer;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }
    }
    & img {
      display: block;
      width: 112px;
      height: auto;
    }
    & time, & span {
      display: block;
    }
    & time {
      font-size: 0.75rem;
    }
  }
  & .post-content {
    margin-left: 15px;
  }
  & .post-title {
    font-size: 0.8rem;
    font-weight: bold;
  }
  & .post-excerpt {
    font-size: 0.625rem;
  }
}

/* スライダーの設定 ----- */
.mainvisual-wrap {overflow-x: hidden;}
.metaslider .flex-viewport {overflow: visible !important;}
.flexslider .slides img{padding:0 0 !important;}
html {overflow-x:hidden;}


/* -----
レスポンシブ対応
-----*/

@media (width < 1440px) {
  #news .news, .media {
    padding-inline: 24px;
  }
  .news-btn {
    width: calc(100% - 48px);
    margin-inline: auto;
  }
}

@media (width <= 1280px) {
  /* .metaslider .flex-viewport {overflow-x:hidden !important;} */

  /* 追従ボタンと被らないよう幅を調整 */
  #news .news, .news-btn, .media, .blogs-list {
    width: calc(100% - 186px);
    margin-inline: auto;
    padding-inline: 0;
  }

  /* ニュース */
  #news .news {
    & li {
      gap: 16px;
    }
    & .news-category {
      margin-left: 0;
      /* white-space: nowrap; */
    }
    & .news-title {
      flex-basis: calc(70% - 32px);
      margin-left: 0;
    }
  }
}

@media (width < 1024px) {
  /* 事業概要 ----- */
  .overview-content {
    grid-template-columns: 35% auto;
    max-width: initial;
    & .wp-block-media-text__media {
      padding-left: 24px;
      width: 100%;
    }
    & .wp-block-media-text__content {
      padding-right: 24px;
      width: auto;
    }
  }
  .media {
    gap: 24px;
  }

  /* ブログ */
  #blogs {
    margin: 64px 0 120px;
  }
  .blogs-list {
    flex-direction: column;
    row-gap: 32px;
    & .post-list {
      padding: 0;
    }
  }
  .blogs-list.column-wrap > div {
    width: 100%;
  }
  .post-list {
    & .post-item:not(:first-child) {
      margin-top: 32px;
    }
    & .post-title {
      -webkit-box-orient: vertical;
      display: -webkit-box;
      font-size: 0.8125rem;
      line-clamp: 4;
      -webkit-line-clamp: 4;
      overflow: hidden;
    }
  }
}

@media (width <= 834px) {
  .article h2 {
    margin-bottom: 32px;
  }
  .appeal-message p {
    font-size: 1rem;
  }
  
  /* W1280以下で調整していた幅を元に戻す */
  #news .news, .news-btn, .media, .blogs-list {
    padding-inline: 24px;
    width: 100%;
  }

  /* 事業概要 ----- */
  #overview {
    padding-block: 48px;
  }
  .overview-content {
    gap: 32px;
    padding: 0 24px;
    & .wp-block-media-text__media,
    & .wp-block-media-text__content {
      padding: 0;
    }
  }

  /* お仕事発注・サービス内容 */
  #works-and-services {
    margin-bottom: 60px;
  }
  .tab-area label {
    border-left-width: 24px;
    border-right-width: 24px;
    /* font-size: 1.5rem; */
    line-height: 48px;
    /* min-width: 200px; */
    &:first-of-type, &:nth-of-type(2) {
      border-bottom-width: 48px;
    }
  }
  /* タブコンテンツコンテナ */
  .tab-content {
    padding-inline: 24px;
    padding-block: 32px 48px;
  }
  #tab1-cont, #tab2-cont {
    & .inner ul {
      gap: 24px;
    }
  }

  /* ニュース */
  #news{
    margin-bottom: 64px;
    & .news {
      margin-bottom: 0;
      & li {
        flex-wrap: wrap;
        gap: 0;
        min-height: 60px;
        height: initial;
        max-height: 106px;
        padding: 10px 0;
      }
      & time {
        font-size: 1rem;
        margin-left: 16px;
        order: 1;
      }
      & .news-category {
        margin-left: 0;
        order: 0;
        padding: 4px 16px;
      }
      & .news-title {
        -webkit-box-orient: vertical;
        display: -webkit-box;
        flex: 1 0 100%;
        font-size: 18px;
        line-clamp: 2;
        -webkit-line-clamp: 2;
        line-height: 1.5;
        margin-left: 0;
        order: 2;
        text-overflow: initial;
        white-space: initial;
      }
    }
  }
  .news-btn {
    margin-top: 32px;
    & > a {
      padding-block: 6px;
    }
  }
  
  /* SNS */
  .container .media {
    row-gap: 48px;
  }
  .media .video-container .video {
    margin-top: 0;
  }
}

@media (width < 768px) {
  /* max-widthを初期化 */
  .tab-area label, .blogs-list {
    max-width: initial;
  }
}

@media (width <= 520px) {
  /* アピールエリア ----- */
  .appeal-message {
    display: block;
    margin-bottom: 0;
    & img {
      width: 100%;
      height: auto;
      margin: 0 auto 32px;
    }
    & p {
      width: 100%;
    }
  }
  .appeal-content {
    padding: 40px 24px;
  }
  /* 事業概要 ----- */
  /* お仕事発注・サービス内容 */
  /* タブコンテンツコンテナ */
  .inner {
    & ul {
      flex-flow: row wrap;
    }
    & li {
      width: calc(50% - 12px);
    }
  }
}
