/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/

/* FV：白から淡い水色へ */
.ozawa-fv {
  background: linear-gradient(
    140deg,
    #ffffff 0%,
    #f2f8fc 45%,
    #c8e1f3 100%
  );
}

/* FV：文字エリアの幅を基準にする */
.ozawa-fv .ozawa-fv__copy {
  container-type: inline-size;
  min-width: 0;

  /* PCのキャッチサイズ：最大100px */
  --ozawa-fv-catch-size: min(6.25rem, 10.8cqi);
}

/* FVキャッチ */
.ozawa-fv .ozawa-fv__title {
  font-family:
    "游明朝", "Yu Mincho",
    "ヒラギノ明朝 ProN", "Hiragino Mincho ProN",
    serif;
  font-size: var(--ozawa-fv-catch-size);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #237563;

  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

/* 「わ」と「ら」の間だけ詰める */
.ozawa-fv .ozawa-fv__title .ozawa-kern-ra {
  margin-inline-start: -0.15em;
}

/* FV肩書き：PC */
.ozawa-fv .ozawa-fv__role {
  font-size: calc(var(--ozawa-fv-catch-size) * 0.36);
  font-weight: 700;
  line-height: 1.7;

  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

/* FV名前 */
.ozawa-fv .ozawa-fv__name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(var(--ozawa-fv-catch-size) * 1.2);
  font-weight: 900;
  line-height: 1;

  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

/* 「よしなか」：名前右側の「良央」の下へ配置 */
.ozawa-fv .ozawa-fv__reading {
  position: relative;
  inset-inline-start: calc(var(--ozawa-fv-catch-size) * 2);

  display: block;
  width: max-content;
  margin-block-start: 0.15em;
  margin-block-end: 0;
  margin-inline: auto;

  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(var(--ozawa-fv-catch-size) * 0.24);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-align: center;

  white-space: nowrap;
}

/* フッター：上部の線を削除 */
.site-footer {
  border-top: none;
}

/* ページ上部へ戻るボタン */
body .page_top_btn {
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #337ab7;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 50%;
  box-shadow: none;
}

body .page_top_btn:hover {
  background-color: #286090;
}

body .page_top_btn:focus-visible {
  outline: 3px solid #337ab7;
  outline-offset: 4px;
}

/* FV：スマホ */
@media (max-width: 767px) {
  .ozawa-fv .ozawa-fv__copy {
    --ozawa-fv-catch-size: min(6.25rem, 12.5cqi);
  }

  /* 肩書きはスマホのみ大きくする */
  .ozawa-fv .ozawa-fv__role {
    font-size: calc(var(--ozawa-fv-catch-size) * 0.44);
  }

  /* スマホでは「よしなか」の横位置を微調整 */
  .ozawa-fv .ozawa-fv__reading {
    inset-inline-start: calc(var(--ozawa-fv-catch-size) * 1.9);
  }
}

/* スマホ・タブレット縦向き：名前と「よしなか」の間を詰める */
@media (max-width: 1024px) and (orientation: portrait) {
  .ozawa-fv .ozawa-fv__reading {
    margin-block-start:
      calc(var(--ozawa-fv-catch-size) * -0.12) !important;
  }
}

/* Safari系：iPhone縦向き */
@supports (-webkit-touch-callout: none) {
  @media
    (max-width: 767px) and
    (orientation: portrait) and
    (hover: none) and
    (pointer: coarse) {

    .ozawa-fv .ozawa-fv__reading {
      margin-block-start:
        calc(var(--ozawa-fv-catch-size) * -0.14) !important;
    }
  }
}

/* Safari系：iPad横向き */
@supports (-webkit-touch-callout: none) {
  @media
    (min-width: 768px) and
    (max-width: 1366px) and
    (orientation: landscape) and
    (hover: none) and
    (pointer: coarse) {

    .ozawa-fv .ozawa-fv__reading {
      margin-block-start:
        calc(var(--ozawa-fv-catch-size) * -0.08) !important;
    }
  }
}

/*
スマホでメッセージ本文を左揃えにする場合は、
下記のコメントを解除してください。

@media (max-width: 767px) {
  .ozawa-message__body,
  .ozawa-message__body p {
    text-align: left !important;
  }

  .ozawa-message__body br {
    display: none;
  }
}
*/