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

サービス内容ページ用のCSS
*/

.entry-title {
  color: #eba23b;
  &::before {
    background-image: url(../imgs/icon01.svg);
    width: 52px;
    height: 34px;
  }
}

.entry-content {
  padding-bottom: 280px;
}

.article {
  & h2 {
    font-size: 2rem;
  }
  & ul,
  & ol {
    padding-left: 0;
    & li {
      margin: 0;
    }
  }
}

/* ----- 冒頭コピーエリア ----- */
#services {
  margin-bottom: 75px;
}

.copy {
  border-image: conic-gradient(#fffced 0 0) fill 0 / 0 / 0 100vw;
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding-block: 72px;
}

.copy-txt {
  align-self: center;
  font-size: 2.5rem;
  width: 550px;
  & h2 {
    color: #fdb90c;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-size: 2.5rem;
    font-style: normal;
    border-bottom: 1px solid #fec15f;
    margin-bottom: 52px;
    text-align: left;
    text-transform: uppercase;
  }
  & p {
    font-weight: bold;
    line-height: 1.35;
    margin-bottom: 0;
  }
}

.copy-img {
  position: relative;
  z-index: auto;
  & img {
    display: block;
    position: relative;
    top: -14px;
    left: -14px;
    z-index: 1;
  }
  &::after {
    content: "";
    background-color: #ffeb7b;
    display: block;
    width: 100%;
    height: 100%;
    top: 14px;
    left: 14px;
    position: absolute;
    z-index: 0;
  }
}

/* 募集要項 */
#information {
  & h2 {
    margin-bottom: 60px;
  }
}

/* 項目 */
.data-item {
  background: #fffced;
  &:not(:first-of-type) {
    margin-top: 74px;
  }
  & h3 {
    background: #fdb90c;
    border: none;
    color: #fff;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    margin-bottom: 0;
    padding: 30px 100px;
  }
  & h4 {
    border-top: none;
    border-bottom-color: #000;
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
  & > .wp-block-group {
    padding: 40px 100px;
  }
  & p {
    font-size: 1.5rem;
  }
  /* 画像とテキストブロック（活動内容・サポート内容） */
  & .wp-block-media-text {
    column-gap: 90px;
    grid-template-columns: 1fr 410px;
    &:not(:last-child) {
      margin-bottom: 54px;
    }
    & p {
      font-size: 1rem;
    }
  }
  & .wp-block-media-text__content {
    padding: 0;
  }
}

/* 賃金・工賃例 */
dl.wage-example {
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 10px;
  padding: 0;
  & dt {
    font-weight: 700;
  }
  & dd {
    margin-left: 0;
    & + dt:not(:first-of-type) {
      margin-top: 16px;
    }
  }
  & + p {
    font-size: 1rem;
  }
}

/* サービス利用時間 */
#business-days > div {
  padding-inline: 40px;
}
figure.business-days {
  position: relative;
  & table {
    table-layout: fixed;
    width: 100%;
  }
  & thead {
    background-color: #fee29a;
    border-bottom: none;
    & tr {
      background: none;
    }
    & th {
      border-bottom: none;
      border-top: 2px solid #fdb90c;
      color: #fd6e00;
      font-size: 1.5rem;
      font-weight: bold;
      line-height: 1;
      padding: 8px;
    }
  }
  & tbody {
    & tr {
      height: 60px;
      & td {
        border-bottom: 2px solid #fdb90c;
        border-top: none;
      }
    }
  }
  & th, & td {
    background: none;
    border-left: 2px solid #fdb90c;
    border-right: 2px solid #fdb90c;
    text-align: center;
  }
}

/* 利用までの流れ */
#service-flow {
  & .flow {
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 40px 100px;
    & li {
      display: flex;
      flex-direction: column;
      justify-content: stretch;
      align-items: center;
      width: 226px;
      margin: 0;
      position: relative;
      text-align: center;
      &:not(:last-child)::after {
        content: "";
        border-bottom: 4px solid #fdb90c;
        border-right: 4px solid #fdb90c;
        width: 16px;
        height: 16px;
        transform: rotate(-45deg);
        position: absolute;
        left: calc(100% - 10px);
        top: 50%;
      }
    }
    & h4 {
      border: none;
      color: #fdb90c;
      font-size: 1.5rem;
      margin-bottom: 12px;
      padding: 0;
    }
  }
}

/*  -----
MARK:「LINEでのお問い合わせはこちら」ボタン
-----*/

.arrow-linebtn{
  
  width: 70%;
  cursor: pointer;

  margin: 0 auto;
  .line-link{

    /* テキスト関連 */
    --giftedstyle-minfontsize: min(24px,1.5rem);
    --giftedstyle-fontsize-40px-rem: min(2.5rem,40px);
    --giftedstyle-base-width: 1200;
    --giftedstyle-fontsize-vw-40px: calc(40vw * 100 / var(--giftedstyle-base-width));
    font-size: clamp(var(--giftedstyle-minfontsize),var(--giftedstyle-fontsize-vw-40px), var( --giftedstyle-fontsize-40px-rem));

    font-weight: bold;
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-decoration: none;
    text-align: left ;

    pointer-events: all;
    /* レイアウト関連 */
    padding: 0.6em 2.5em 0.6em 1.0em;
    border-radius: 5px;

    color: white;
    background-color: #06c755 ;

    display: flex;
    transition: color 0.3s ease, background-color 0.3s ease;
   
    .arrow-linebtn-left{
      flex-basis: 90%;
    }
    .arrow-linebtn-right{
      flex-basis: 10%;
      position: relative; 

      &::after{
        content: "";
        /* 位置調整 */
        position: absolute;
        top: 50%;
        right: 0.6em;
        transform: translateY(-50%) translateX(2.5em);

        /* 右向き矢印の作成 */
        border-top: 0.6em solid transparent;
        border-bottom: 0.6em solid transparent;
        border-left: 1.2em solid #fff;

        transition: border-color 0.3s ease;
      }
    }
  }

  /* hover */
  @media (hover: hover) {
    &:hover{
      /* 背景と文字の色を入れ替える */
      .line-link{
        background-color: #fff;
        color: #06c755;
        
        box-shadow: 0 0 0 2px #898989; /* borderではない枠線 */
        
        .arrow-linebtn-right{
          &::after{
            border-left: 1.2em solid #06c755;
          }
        }
      }
    }
  }

  /* タッチデバイスではhover効果を無効化 */
  @media (hover: none) {
    &:active{
      /* 背景と文字の色を入れ替える */
      .line-link{
        background-color: #fff;
        color: #06c755;
        
        box-shadow: 0 0 0 2px #898989; /* borderではない枠線 */
        
        .arrow-linebtn-right{
          &::after{
            border-left: 1.2em solid #06c755;
          }
        }
      }
    }
  }

}

@media screen and (max-width: 768px) {
  .arrow-linebtn{
    width: 90%;

    .line-link{
      --giftedstyle-minfontsize: max(15px,1.25rem);
    }
  }
}

/* -----
スクロールヒント
-----*/
.scroll-hint {
  animation: scroll-hint-animation 2s infinite ease;
  background: rgb(24 12 0 /.5);
  border-radius: 4px;
  color: #fff;
  display: none;
  font-weight: 700;
  line-height: 1.5;
  padding: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@keyframes scroll-hint-animation {
  0% {
    transform: translate(-50%, -50%);
  }
  50% {
    transform: translate(-40%, -50%);
  }
  100% {
    transform: translate(-50%, -50%);
  }
}

.scroll-hint--show {
  display: block;
}

/* -----
レスポンシブ対応
-----*/
@media (width < 1240px) {
  .data-item {
    margin-inline: auto;
    width: calc(100% - 186px);
    & h3 {
      padding-left: 64px;
    }
    & > .wp-block-group {
      padding-inline: 64px;
    }
    & .wp-block-media-text {
      column-gap: 48px;
    }
  }
  #service-flow .flow {
    padding-inline: 64px;
  }
}

@media (width < 1115px) {
  #services {
    padding-left: 24px;
  }
}

@media (width < 1024px) {
  #services {
    & .copy {
      & .copy-txt {
        & p {
          font-size: clamp(1.25rem, 0.216rem + 3.181vw, 2.25rem);
        }
      }
    }
  }
  .data-item {
    & .wp-block-media-text {
      grid-template-columns: 1fr 1fr;
    }
  }
}

@media (width <= 834px) {
  .entry-content {
    padding-bottom: 130px;
  }
  /* 募集要項 */
  #information {
    & h2 {
      margin-bottom: 48px;
    }
  }
  /* 項目 */
  .data-item {
    &:not(:first-of-type) {
      margin-top: 40px;
    }
    & h3 {
      text-align: center;
      padding: 12px 48px;
    }
    & p {
      font-size: 1.125rem;
    }
    & > .wp-block-group {
      padding: 24px;
    }
    & .wp-block-media-text {
      grid-template-columns: 1fr 1fr;
      &:not(:last-child) {
        margin-bottom: 40px;
      }
    }
  }

  /* 仕事内容 */
  #job-details p {
    text-align: center;
  }

  /* 賃金・工賃例 */
  dl.wage-example {
    margin-bottom: 24px;
    text-align: center;
    & dt{
      font-size: 1.25rem;
      &:not(:first-of-type) {
        margin-top: 10px;
      }
    }
    & dd {
      font-size: 1.125rem;
      margin-top: 5px;
    }
    & + p {
      font-size: 0.875rem;
    }
  }

  /* サービス利用時間 */
  #business-days > div {
    padding: 24px;
  }

  figure.business-days {
    & table td {
      font-size: 1rem;
    }
  }

  /* 利用までの流れ */
  #service-flow .flow {
    padding: 24px;
  }
}

@media (width <= 768px) {
  /* 項目 */
  .data-item .wp-block-media-text h4 {
    padding-top: 0;
  }
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100%;
    row-gap: 24px;
    & > .wp-block-media-text__media {
      grid-column: 1;
      grid-row: 1;
    }
    & > .wp-block-media-text__content {
      grid-column: 1;
      grid-row: 2;
    }
  }
  
  /* サービス利用時間 */
  figure.business-days {
    overflow-x: auto;
    & table {
      min-width: 560px;
      table-layout: auto;
      white-space: nowrap;
      & th, & td {
        min-width: 110px;
      }
    }
  }
}

@media (width < 700px) {
  #services {
    margin-bottom: 64px;
    padding: 0;
    & .copy {
      display: block;
      min-height: 384px;
      padding: 0;
      position: relative;
      & .copy-txt {
        position: absolute;
        z-index: 2;
        bottom: 32px;
        left: 16px;
        & h2 {
          background-color: #fffced;
          border-bottom: 2px solid #fdb90c;
          border-left: 2px solid #fdb90c;
          font-size: 2rem;
          line-height: 1;
          margin-bottom: 12px;
          padding: 12px 18px;
          width: fit-content;
        }
        & p {
          font-size: 1.5rem;
          line-height: 2;
          & > span {
            background-color: #fc6;
            padding: 4px 8px;
          }
        }
      }
      & .copy-img {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        &::after {
          content: none;
          display: none;
        }
        & img {
          width: 86%;
          height: auto;
          top: 32px;
          left: 20%;
        }
      }
    }
  }
  /* 募集要項 */
  #information {
    margin-bottom: 120px;
  }

  /* 項目 */
  .data-item {
    &:not(:last-child){
      margin-bottom: 40px;
    }
    & h3 {
      font-size: 1.5rem;
    }
    & .wp-block-media-text {
      &:not(:last-child) {
        margin-bottom: 64px;
      }
      & h4 {
        font-size: 1.25rem;
        margin-bottom: 24px;
        padding-bottom: 12px;
        text-align: center;
      }
      & p {
        font-size: 1.125rem;
      }
    }
  }

  /* 利用までの流れ */
  #service-flow {
    .flow {
      display: block;
      padding-block: 32px;
      & li {
        display: block;
        margin-inline: auto;
        &:not(:last-child){
          margin-bottom: 62px;
          &::after {
            border-bottom: 4px solid #fdb90c;
            border-right: 4px solid #fdb90c;
            content: "";
            width: 20px;
            height: 20px;
            transform: rotate(45deg);
            left: calc(50% - 12px);
            top: calc(100% + 12px);
          }
        }
        & h4 {
          font-size: 1.25rem;
          line-height: 1;
          margin-bottom: 10px;
        }
      }
    }
  }
}

@media (width < 564px) {
  #information {
    padding-inline: 24px;
  }

  .data-item {
    width: 100%;
  }
}