/* 変数 */
:root {
  /* Rampart One */
  --font-rampart-family: "Rampart One", sans-serif;
  --font-rampart-weight: 400;
  --font-rampart-style: normal;

  /* Mochiy Pop One */
  --font-mochiy-family: "Mochiy Pop One", sans-serif;
  --font-mochiy-weight: 400;
  --font-mochiy-style: normal;
}

/* ヘッダーメニュー */
.c-gnav {
  font-family: var(--font-mochiy-family);
}

/* h2 */
.post_content h2 {
  font-size: 2.25rem;
  line-height: 1;

  @media (max-width: 781px) {
    font-size: 1.8rem;
  }
}

/* h3 */
.post_content h4 {
  font-size: 1.5rem;
}

/* メインビジュアル */
.p-mainVisual__slideTitle {
  font-family: var(--font-mochiy-family);
  font-size: 2rem;

  @media (max-width: 781px) {
    font-size: 1.5rem;
  }
}

/* セクションタイトル */
.pd-about__title,
.pd-message__title,
.pd-reason__title,
.pd-application__title,
.pd-contact__title {
  font-family: var(--font-mochiy-family);
  letter-spacing: 0.1em;
}

/* 背景アニメーション */
canvas#myCanvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  width: 100%;
  height: 100%;
}

/* セクションタイトル */
.pd-sectionTitle-bg .char {
  display: inline-block;
  opacity: 0;
  transform: translateX(20px);
}

.pd-sectionTitle-wrap {
  position: relative;
}

.pd-sectionTitle-bg {
  position: absolute;
  font-size: 6.25rem;
  line-height: 1;
  text-transform: uppercase;
  font-weight: 700;
  color: #c5f6e7;
  z-index: -1 !important;
  bottom: 0;
  margin: 0;
  font-family: var(--font-rampart-family);

  @media (max-width: 781px) {
    font-size: 3rem;
    bottom: 80%;
  }
}

.pd-sectionTitle-bg.--right {
  left: 0;
}

.pd-sectionTitle-bg.--left {
  right: 0;
}

/* 代表紹介 */
.pd-about__columns {
  @media (max-width: 781px) {
    flex-direction: column-reverse;
  }
}

.wp-block-image.size-full.pd-profile__img {
  border-radius: 20px;
  overflow: hidden;

  @media (max-width: 781px) {
    max-width: 18.75rem;
    margin-inline: auto;
  }
}

.pd-profile__img {
  opacity: 0;
  transform: translateX(50px) rotate(15deg);
}

/* メッセージ */
.pd-message {
  padding-inline: 4vw;
}

.pd-message .swell-block-fullWide__inner.l-article {
  background: #fffefa;
  padding: 4rem;
  border-radius: 20px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);

  @media (max-width: 781px) {
    padding-inline: 2rem;
  }
}

/* 選ばれる理由 */
.pd-reason {
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
}

.pd-reason__title {
  span {
    font-size: 3.125rem;
    color: #fe637b;

    @media (max-width: 781px) {
      font-size: 2.375rem;
    }
  }
}

.pd-reason__column:nth-child(2), /* ← 1番目の `.pd-reason__column` */
.pd-reason__column:nth-child(3)  /* ← 2番目の `.pd-reason__column` */ {
  padding-bottom: 2em;
  border-bottom: 1px solid #ccc;
}

.pd-reason__columns .wp-block-column {
  opacity: 0;
  transform: translateX(50px) rotate(15deg);
}

/* 配信アプリ */

/* お問い合わせ */
.pd-contact {
  padding-inline: 4vw;
}

.pd-contact .swell-block-fullWide__inner.l-article {
  background: #fffefa;
  padding: 4rem;
  border-radius: 20px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);

  @media (max-width: 781px) {
    padding-inline: 2rem;
  }
}

.p-form__item {
  max-width: 31.25rem;
  width: 100%;
}

.p-form__item:nth-child(n + 2) {
  margin-top: 1.5rem;
}

.p-form__item.--privacy {
  max-width: 100%;
  text-align: center;
  transition: opacity 0.3s ease;
}

.p-form__item.--privacy a {
  color: #1571da;
}

.p-form__item.--privacy .wpcf7-list-item {
  margin: 0;
}

.p-form__item:has(.p-form__item--label.isMsg) {
  max-width: 100%;
}

.p-form__item--label {
  font-weight: 700;
}

input,
textarea {
  margin-top: 0.5rem;
}

.wpcf7-form-control-wrap[data-name="radio"] {
  margin-top: 0.5rem;
}

.wpcf7-radio {
  display: flex;
  flex-direction: column;
  row-gap: 0.375rem;
}

.wpcf7-form-control-wrap:not([data-name="radio"]) {
  width: 100%;
}

input[type="radio"] {
  accent-color: #015cc8;
}

input[type="radio"] + .wpcf7-list-item-label {
  width: 15.625rem;
}

.wpcf7-form-control-wrap[data-name="your-message"] {
  width: 100%;
}

textarea {
  width: 100%;
}

.required {
  color: #f74a4a;
}

.wpcf7-submit {
  background: #81d4fa;
  border: none;
  border: 1px solid transparent;
  border-radius: 100vh;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  color: #ffffff;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  padding: 12px 38px;
  transition: background 0.3s ease, color 0.3s ease, border 0.3s ease;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: none;
}

.p-form__btn {
  margin-top: 1.25rem;
  text-align: center;
}

.wpcf7-response-output {
  display: none;
}

input[type="text"],
input[type="url"],
input[type="email"],
input[type="tel"],
select,
textarea {
  background: #fff;
  border: 1px solid #999;
  border-radius: 0;
  font-size: 16px;
  line-height: normal;
  padding: 12px 24px;
  width: 100%;
}

input[type="text"]::placeholder,
input[type="url"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
select::placeholder,
textarea::placeholder {
  color: #999;
}

textarea {
  height: 243px;
  resize: vertical;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-spinner {
  visibility: hidden !important;
}

.thanks_area {
  display: none;
}

/* アニメーション */
.u-fadeUp {
  transform: translateY(50px);
  opacity: 0;
}

.u-fadeUp.is-active {
  transition: 0.6s;
  transform: translateY(0);
  opacity: 1;
}

/* 表示非表示 */
.u-sp {
  display: none;

  @media (max-width: 781px) {
    display: block;
  }
}
