/**
 * Aboutページ(および編集方針・各種ポリシー・お問い合わせ等の固定ページ共通)
 * プロトタイプの about.css を移植。
 */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;700&family=Noto+Sans+JP:wght@300;400;500&display=swap');

:root {
  --navy: #2e434d;
  --cream: #fbfaf6;
}

.jozen-info-page * { box-sizing: border-box; }

.jozen-info-page {
  margin: 0;
  padding: 0;
  background: var(--cream);
  color: var(--navy);
  font-family: "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif;
}

.jozen-info-page a { color: inherit; }

/* ---------- ヒーロー ---------- */
.about-hero {
  position: relative;
  min-height: 46vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  background-color: var(--navy);
  color: #fff;
}

.about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.35) 100%);
}

.about-hero-title {
  position: relative;
  z-index: 1;
  font-family: "Shippori Mincho", serif;
  font-size: clamp(34px, 9vw, 54px);
  letter-spacing: 0.15em;
  text-shadow: 0 1px 12px rgba(0,0,0,0.4);
}

.about-back-link {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-decoration: none;
  color: #fff;
  opacity: 0.85;
  text-shadow: 0 1px 8px rgba(0,0,0,0.4);
}
.about-back-link:hover, .about-back-link:focus-visible { opacity: 1; text-decoration: underline; }

.about-lang-switch {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  font-size: 12px;
  letter-spacing: 0.1em;
  color: #fff;
  opacity: 0.85;
  text-shadow: 0 1px 8px rgba(0,0,0,0.4);
}
.about-lang-switch a { text-decoration: none; }
.about-lang-switch a:hover, .about-lang-switch a:focus-visible { text-decoration: underline; }

/* ---------- 本文 ---------- */
.about-content {
  max-width: 640px;
  margin: 0 auto;
  padding: 56px 24px 80px;
}

.about-section { margin-bottom: 48px; }

.about-heading-en {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.5;
  margin: 0 0 6px;
  font-weight: 400;
}

.about-section h2 {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: clamp(19px, 4.4vw, 23px);
  letter-spacing: 0.06em;
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(46, 67, 77, 0.15);
}

.about-section p {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.03em;
  margin: 0 0 1.2em;
  font-weight: 300;
}
.about-section p:last-child { margin-bottom: 0; }

.about-paragraph-en, .about-line-en {
  font-size: 13px;
  line-height: 1.7;
  opacity: 0.6;
  font-style: italic;
}

.about-lines p { margin: 0 0 0.3em; }
.about-line-en { margin: 0 0 0.9em; }

/* 英語版(/en/)表示時: 日本語版と同じ視覚デザインだが、英文を主表示にする */
.jozen-info-page.is-en .about-section p { font-style: normal; opacity: 1; }

.about-footer { text-align: center; padding: 0 24px 64px; }
.about-footer a {
  display: inline-block;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  opacity: 0.75;
}
.about-footer a:hover, .about-footer a:focus-visible { opacity: 1; }

/* ---------- 通常の固定ページ(編集方針・各種ポリシー・お問い合わせ) ---------- */
.jozen-plain-page {
  max-width: 720px;
  margin: 0 auto;
  padding: 64px 24px 96px;
}

.jozen-plain-page h1 {
  font-family: "Shippori Mincho", serif;
  font-size: clamp(26px, 6vw, 36px);
  letter-spacing: 0.08em;
  margin: 0 0 40px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(46, 67, 77, 0.15);
}

.jozen-plain-page .entry-content h2 {
  font-family: "Shippori Mincho", serif;
  font-size: clamp(18px, 4vw, 21px);
  margin: 2em 0 0.8em;
}

.jozen-plain-page .entry-content p,
.jozen-plain-page .entry-content li {
  font-size: 15px;
  line-height: 2;
  font-weight: 300;
}

/* ---------- お問い合わせフォーム(Contact Form 7想定のラッパー装飾) ---------- */
.jozen-contact-form label { display: block; font-size: 13px; letter-spacing: 0.05em; margin-bottom: 6px; }
.jozen-contact-form input[type="text"],
.jozen-contact-form input[type="email"],
.jozen-contact-form select,
.jozen-contact-form textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(46, 67, 77, 0.3);
  border-radius: 3px;
  font-family: inherit;
  font-size: 15px;
  background: #fff;
  margin-bottom: 22px;
}
.jozen-contact-form textarea { min-height: 160px; }
.jozen-contact-form input[type="submit"] {
  background: var(--navy);
  color: #fff;
  border: none;
  padding: 12px 32px;
  font-size: 14px;
  letter-spacing: 0.1em;
  cursor: pointer;
  border-radius: 3px;
}
.jozen-contact-form input[type="submit"]:hover { opacity: 0.9; }
