@charset "utf-8";

.block-origin-header {
  position: relative;
  background-image: url(../../../img/s/origin/bphotoBg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;
}

.block-origin-map-img {
  position: relative;
}

.block-origin-jas {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--cl-gn);
  font-weight: 700;
  line-height: 1.625;
}

@media all and (min-width: 768px) {
  .block-origin-header {
    margin-top: 80px;

    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      height: 250px;
      padding-top: 60px;
    }
  }

  .block-origin-map-img {
    margin-top: 40px;

    .img-map {
      position: absolute;
      top: 40px;
      right: 40px;
    }
  }

  .block-origin-jas {
    width: 630px;
    margin: 40px auto 0;

    .item-icon {
      width: 160px;
    }

    .item-comment {
      width: calc(100% - 184px);
    }
  }
}

@media all and (max-width: 767px) {
  .block-origin-header {
    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 100vw;
      height: 54vw;

      .ttl-h1 {
        margin: 0;
      }
    }
  }

  .block-topics-detail-content .topics-article .vrt-1 li {
    flex-direction: column;
  }

  .block-topics-detail-content .topics-article .vrt-1 .list-detail {
    width: 100%;
    margin-top: 16px;
    order: 20;
  }

  .block-topics-detail-content .topics-article .vrt-1 figure {
    width: 100%;
    order: 10;
  }

  .block-origin-map-img {
    margin: 24px -20px 0;

    > img {
      width: auto;
      height: 54vw;
      object-fit: cover;
    }

    .img-map {
      position: absolute;
      top: 20px;
      right: 20px;
      width: 34vw;

      img {
        display: block;
        height: auto;
      }
    }
  }

  .block-topics-detail-content .topics-img-l {
    margin: 40px -20px 0;

    img {
      width: auto;
      height: 54vw;
      object-fit: cover;
    }
  }

  .block-origin-jas {
    margin: 40px auto 0;

    .item-icon {
      width: 100px;
    }

    .item-comment {
      width: calc(100% - 116px);
    }
  }
}

.block-origin-voic-list {
  ul {
    display: flex;

    li {
      display: flex;
      align-items: flex-start;
      justify-content: center;
      position: relative;
      background-color: #ffffff;
    }
  }
}

@media all and (min-width: 768px) {
  .block-origin-voic-list {
    width: 1100px;
    margin: 0 auto;

    ul {
      flex-wrap: wrap;

      li {
        width: calc(100% / 3);
        padding: 30px 0;

        &:not(:nth-child(-n + 3)) {
          margin-top: 40px;
        }

        &:not(:nth-child(3n))::after {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          right: 0;
          width: 1px;
          height: 100%;
          background-color: var(--cl-gr-1);
        }
      }
    }
  }
}

@media all and (max-width: 767px) {
  .block-lp_login-gn_bg {
    .ttl-h2 {
      margin-bottom: 24px;
    }
  }

  .block-origin-voic-list {
    overflow: auto;

    ul {
      li {
        flex-shrink: 0;
        width: 280px;
        padding: 24px 16px;

        &:not(:last-child)::after {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          right: 0;
          width: 1px;
          height: 100%;
          background-color: var(--cl-gr-1);
        }
      }
    }
  }
}


/* 早原追加分 */
/* thoughtsのCSS */
.block-thoughts-header {
  position: relative;
  background-image: url(../../../img/s/thoughts/chabatake.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;

  .block-container {
    .ttl-h1 {
      text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
    }

    .item-chanoshizuku {
      position: absolute;
    }
  }
}

.block-thoughts-content {
  border: 1px solid var(--cl-gr-1);

  h3 {
    font-family: var(--ff-serif);
    font-weight: 400;
    text-align: center;
  }

  .item-comment {
    p + p {
      margin-top: 2em;
    }
  }

  .item-signature {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
}

@media all and (min-width: 768px) {
  .block-thoughts-header {
    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      height: 500px;
      padding-top: 60px;

      .ttl-h1 {
        font-size: 4.6rem;
      }

      .item-chanoshizuku {
        right: 30px;
        bottom: -90px;
      }
    }
  }

  .block-thoughts-content {
    width: 880px;
    margin: 120px auto 0;
    padding: 79px;

    .ttl-h2 {
      margin-bottom: 40px;
    }

    h3 {
      font-size: 4rem;
    }

    .item-comment {
      margin-top: 40px;
      font-size: 1.8rem;
      line-height: 2;
    }

    .item-signature {
      margin-top: 80px;

      p {
        width: 266px;
      }

      img {
        display: block;
        height: auto;
        margin-top: 10px;
      }
    }
  }
}

@media all and (max-width: 767px) {
  .block-thoughts-header {
    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 100vw;
      height: 54vw;

      .ttl-h1 {
        margin: 0;
        font-size: 3.2rem;
        line-height: 1.444;
      }

      .item-chanoshizuku {
        right: 3vw;
        bottom: -14vw;
        width: 40vw;
      }
    }
  }

  .block-thoughts-content {
    margin-top: 64px;
    padding: 23px;

    .ttl-h2 {
      margin-bottom: 24px;
    }

    h3 {
      font-size: 2.4rem;
    }

    .item-comment {
      margin-top: 24px;
      font-size: 1.6rem;
      line-height: 2;
    }

    .item-signature {
      margin-top: 40px;

      p {
        width: 160px;
      }

      img {
        display: block;
        width: 160px;
        height: auto;
        margin-top: 10px;
      }
    }
  }
}

.block-thoughts-links {
  border-top: 1px solid var(--cl-gr-1);
  ul {
    display: flex;
    justify-content: center;

    .list-img {
      overflow: hidden;

      img {
        display: block;
        width: 100%;
        height: auto;
      }
    }

    .list-ttl {
      font-weight: 700;
      text-align: center;
    }

    .list-btn {
      a {
        width: 100%;
      }
    }
  }
}

@media all and (min-width: 768px) {
  .block-thoughts-links {
    margin-top: 100px;
    padding-top: 80px;

    ul {
      li {
        width: 256px;

        & + li {
          margin-left: 100px;
        }

        .list-img {
          img {
            transition: transform 0.3s;
          }
        }

        a:hover .list-img {
          img {
            transform: scale(1.07);
          }
        }

        .list-ttl {
          margin-top: 16px;
          font-size: 1.8rem;
        }

        .list-btn {
          margin-top: 24px;
          a {
            height: 44px;
            font-size: 1.8rem;
          }
        }
      }
    }
  }
}

@media all and (max-width: 767px) {
  .block-thoughts-links {
    margin-top: 64px;
    padding-top: 40px;

    ul {
      flex-wrap: wrap;
      padding: 1rem;

      li {
        width: calc((100% - 10px) / 2);

        &:not(:nth-child(2n)) {
          margin-right: 10px;
        }

        &:last-child {
          margin-right: 0;
        }

        &:not(:nth-child(-n + 2)) {
          margin-top: 40px;
        }

        .list-ttl {
          margin-top: 14px;
          font-size: 1.4rem;
        }

        .list-btn {
          margin-top: 16px;
          a {
            height: 40px;
            font-size: 1.4rem;
          }
        }
      }
    }
  }
}

/* 安心・安全のための『悠香品質』 */

.block-quality_safety-header {
  position: relative;
  background-image: url(../../../img/s/thoughts/quality_safety/safephotoBg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;

  .block-container {
    .ttl-h1 {
      text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
    }
  }
}

.block-topics-detail-content .topics-article .vrt-1 .list-detail-imgs {
  display: flex;
  justify-content: space-between;
}

@media all and (min-width: 768px) {
  .block-quality_safety-header {
    margin-top: 80px;

    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      height: 250px;
      padding-top: 60px;

      .ttl-h1 {
        font-size: 4.6rem;
      }
    }
  }

  .block-topics-detail-content .topics-article .vrt-1 .list-detail-imgs {
    margin-top: 24px;

    img {
      width: calc((100% - 16px) / 2);
    }
  }
}

@media all and (max-width: 767px) {
  .block-quality_safety-header {
    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 100vw;
      height: 54vw;

      .ttl-h1 {
        margin: 0;
        font-size: 3.2rem;
        line-height: 1.444;
      }
    }
  }

  .block-topics-detail-content .topics-article .vrt-1 li {
    flex-direction: column;
  }

  .block-topics-detail-content .topics-article .vrt-1 .list-detail {
    width: 100%;
    margin-top: 16px;
    order: 20;
  }

  .block-topics-detail-content .topics-article .vrt-1 figure {
    width: 100%;
    order: 10;
  }

  .block-topics-detail-content .topics-article .vrt-1 .list-detail-imgs {
    margin-top: 16px;

    img {
      width: calc((100% - 10px) / 2);
    }
  }
}

.block-thoughts-top-message {
  font-family: var(--ff-serif);
}

.block-quality_safety-3point {
  ul {
    li {
      border: 1px solid var(--cl-gr-1);

      .list-ttl {
        display: flex;
        align-items: center;
        font-weight: 700;
      }
    }
  }
}

.block-quality_safety-process {
  li {
    position: relative;

    .list-step {
      font-size: 1.8rem;
      font-family: var(--ff-num);
      font-weight: 600;
      text-align: center;
    }

    .list-img {
      position: relative;
      margin-top: 10px;

      img {
        display: block;
      }
    }

    .list-comment {
      margin-top: 16px;
    }
  }
}

@media all and (min-width: 768px) {
  .block-thoughts-top-message {
    width: 1100px;
    margin: 64px auto 0;
    font-size: 2rem;
    line-height: 2;
  }

  .block-quality_safety-3point {
    margin-top: 64px;

    ul {
      display: flex;
      justify-content: space-between;

      li {
        width: calc((100% - 80px) / 3);
        padding: 23px;

        .list-ttl {
          height: 90px;
          font-size: 2rem;

          img {
            width: 80px;
            margin-right: 16px;
          }
        }

        .list-comment {
          margin-top: 24px;
          font-size: 1.8rem;
        }
      }
    }
  }

  .block-quality_safety-process-comment {
    margin-top: -24px;
    text-align: center;
  }

  .block-quality_safety-process {
    margin: 40px 0 0;

    ul {
      display: flex;

      li {
        width: calc((100% - 126px) / 5);

        &:not(:nth-child(5n)) {
          margin-right: 40px;
        }

        &:not(:first-child) .list-img::before {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: -27px;
          width: 14px;
          height: 30px;
          margin-top: -15px;
          background-color: #d7ded7;
          clip-path: polygon(14px 50%, 0% 0%, 0% 30px);
        }
      }
    }
  }
}

@media all and (max-width: 767px) {
  .block-thoughts-top-message {
    margin-top: 32px;
    font-size: 1.8rem;
    line-height: 1.666;
  }

  .block-quality_safety-3point {
    margin-top: 40px;

    ul {
      li {
        padding: 15px;

        & + li {
          margin-top: 16px;
        }

        .list-ttl {
          justify-content: center;
          height: 90px;
          font-size: 2rem;

          img {
            width: 80px;
            margin-right: 16px;
          }
        }

        .list-comment {
          margin-top: 16px;
          font-size: 1.6rem;
        }
      }
    }
  }

  .block-quality_safety-process-comment {
    margin-top: -32px;
  }

  .block-quality_safety-process {
    max-width: 320px;
    margin: 40px auto 0;

    ul {
      li {
        & + li {
          margin-top: 50px;
        }

        &:not(:first-child)::before {
          content: "";
          display: block;
          position: absolute;
          top: -30px;
          left: 50%;
          width: 30px;
          height: 15px;
          margin-left: -15px;
          background-color: #d7ded7;
          clip-path: polygon(50% 15px, 0% 0%, 30px 0%);
        }
      }
    }
  }
}

/* 私たちにできること */

.block-social_contribution-header {
  position: relative;
  background-image: url(../../../img/s/thoughts/social_contribution/sociephotoBg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;

  .block-container {
    .ttl-h1 {
      text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
    }
  }
}

@media all and (min-width: 768px) {
  .block-social_contribution-header {
    margin-top: 80px;

    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      height: 250px;
      padding-top: 60px;

      .ttl-h1 {
        font-size: 4.6rem;
      }
    }
  }
}

@media all and (max-width: 767px) {
  .block-social_contribution-header {
    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 100vw;
      height: 54vw;

      .ttl-h1 {
        margin: 0;
        font-size: 3.2rem;
        line-height: 1.444;
      }
    }
  }
}

/* アレルギーに対する悠香の取組み */

.block-attempt-header {
  position: relative;
  background-image: url(../../../img/s/thoughts/attempt/effotrphotoBg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;

  .block-container {
    .ttl-h1 {
      text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
    }
  }
}

@media all and (min-width: 768px) {
  .block-attempt-header {
    margin-top: 80px;

    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      height: 250px;
      padding-top: 60px;

      .ttl-h1 {
        font-size: 4.6rem;
      }
    }
  }
}

@media all and (max-width: 767px) {
  .block-attempt-header {
    .block-container {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      width: 100vw;
      height: 54vw;

      .ttl-h1 {
        margin: 0;
        font-size: 3.2rem;
        line-height: 1.444;
      }
    }
  }
}

/* アレルギーに対する悠香の取組み */

.block-attempt-effort-list {
  li {
    display: flex;
    align-items: center;
    border: 1px solid var(--cl-gr-1);
    font-weight: 700;
  }
}

.block-attempt-calendar {
  font-weight: 700;

  .item-ttl-color {
    display: flex;
    align-self: center;

    li {
      display: flex;
      align-items: center;

      &.shanai {
        color: #88a407;
      }

      &.taigai {
        color: #110b65;
      }
    }
  }

  .item-img {
    img {
      display: block;
    }
  }
}

.block-attempt-collaboration-img {
  .item-comment {
    font-weight: 700;
  }
}

.block-attempt-three_attempt-content {
  .item-list {
    .list-ttl {
      font-weight: 700;
    }
  }
}

@media all and (min-width: 768px) {
  .block-attempt-comment {
    font-size: 1.8rem;
    line-height: 1.666;
  }

  .block-attempt-effort-list {
    margin-top: 40px;

    ul {
      display: flex;
      flex-wrap: wrap;

      li {
        width: calc((100% - 60px) / 3);
        padding: 23px;
        font-size: 1.8rem;
        line-height: 1.666;

        &:not(:nth-child(3n)) {
          margin-right: 30px;
        }

        &:not(:nth-child(-n + 3)) {
          margin-top: 30px;
        }

        img {
          display: block;
          width: 80px;
          margin-right: 24px;
        }
      }
    }
  }

  .block-attempt-calendar {
    margin-top: 120px;

    .item-ttl {
      display: flex;
      align-items: center;

      p {
        font-size: 2.8rem;
      }

      .item-ttl-color {
        margin-left: 40px;

        li + li {
          margin-left: 16px;
        }

        img {
          display: block;
          margin-right: 6px;
        }
      }
    }

    .item-img {
      margin-top: 24px;
    }
  }

  .block-attempt-collaboration {
    margin-top: 120px;

    .ttl-h2 {
      margin-bottom: 48px;
    }
  }

  .block-attempt-collaboration-img {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 40px;

    .item-comment {
      margin-top: 24px;
      font-size: 1.8rem;
    }
  }

  .block-attempt-three_attempt {
    width: 880px;
    margin: 120px auto 0;

    .ttl-h2 {
      margin-bottom: 48px;
    }
  }

  .block-attempt-three_attempt-comment {
    font-size: 1.8rem;
    line-height: 1.666;
  }

  .block-attempt-three_attempt-content {
    display: flex;
    justify-content: space-between;
    margin-top: 64px;

    .item-list {
      width: calc(100% - 322px);

      li + li {
        margin-top: 64px;
      }

      .list-ttl {
        font-size: 2.2rem;
      }

      .list-comment {
        margin-top: 16px;
        font-size: 1.8rem;
        line-height: 1.8;
      }
    }

    .item-img {
      display: flex;
      flex-direction: column;
      width: 282px;

      li + li {
        margin-top: auto;
      }
    }
  }

  .block-attempt-return .block-contact_top-content_1 {
    margin-top: 120px;

    .list-form-tel {
      margin-top: 10px;
    }

    .block-contact_top-content_1-items .list-btn {
      margin-top: 40px;
    }
  }

  .block-attempt-return-annotation {
    margin-top: 24px;
    font-size: 2rem;
    text-align: center;
  }

  .block-attempt-return-link {
    justify-content: center;
    margin-top: 32px;

    a {
      font-size: 2rem;
    }
  }
}

@media all and (max-width: 767px) {
  .block-attempt-comment {
    margin-top: -32px;
  }

  .block-attempt-effort-list {
    margin-top: 40px;

    ul {
      li {
        padding: 15px;

        & + li {
          margin-top: 16px;
        }

        img {
          width: 60px;
          margin-right: 16px;
        }
      }
    }
  }

  .block-attempt-calendar {
    margin-top: 80px;

    .item-ttl {
      p {
        font-size: 2.2rem;
      }

      .item-ttl-color {
        margin-top: 10px;

        li + li {
          margin-left: 16px;
        }

        img {
          display: block;
          width: 70px;
          margin-right: 6px;
        }
      }
    }

    .item-img-desc {
      margin-top: 24px;
      color: var(--cl-gr-txt);
      font-size: 1.4rem;
      font-weight: 400;
      text-align: center;
    }

    .item-img {
      margin-top: 16px;
      border: 2px solid var(--cl-bk);
      overflow: auto;

      img {
        width: auto;
        height: 61vh;
        max-width: none;
      }
    }
  }

  .block-attempt-collaboration {
    margin-top: 80px;

    .ttl-h2 {
      margin-bottom: 56px;
    }
  }

  .block-attempt-collaboration-img {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 24px;

    .item-comment {
      margin-top: 24px;
      text-align: center;
    }
  }

  .block-attempt-three_attempt {
    margin-top: 80px;

    .ttl-h2 {
      margin-bottom: 32px;
    }
  }

  .block-attempt-three_attempt-comment {
    line-height: 1.625;
  }

  .block-attempt-three_attempt-content {
    margin-top: 40px;

    .item-list {
      li + li {
        margin-top: 40px;
      }

      .list-ttl {
        font-size: 2rem;
      }

      .list-comment {
        margin-top: 10px;
        line-height: 1.625;
      }
    }

    .item-img {
      display: flex;
      justify-content: space-between;
      margin-top: 24px;

      li {
        width: calc((100% - 10px) / 2);
      }
    }
  }

  .block-attempt-return {
    .ttl-h2 {
      font-size: 2.4rem;
      line-height: 1.333;
    }
  }

  .block-attempt-return-annotation {
    margin-top: 24px;
    font-size: 1.8rem;
  }

  .block-attempt-return-link {
    justify-content: center;
    margin-top: 32px;

    a {
      font-size: 1.4rem;
    }
  }

  .block-attempt-return .block-contact_top-content_1 {
    .list-form-tel {
      margin-top: 10px;
    }

    .block-contact_top-content_1-items .list-form-tel-freedial a {
      font-size: 3rem;
    }
  }
}

@media all and (min-width: 768px) {
}

@media all and (max-width: 767px) {
}
