@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Shippori+Mincho:wght@600;700&display=swap');

:root {
  --pw-ink: #30282d;
  --pw-muted: #5f565b;
  --pw-main: #efb6ca;
  --pw-main-strong: #df86aa;
  --pw-main-dark: #9b4a68;
  --pw-emphasis-pink: #e6007e;
  --pw-emphasis-marker: rgba(255, 74, 154, 0.5);
  --pw-soft: #fff6f9;
  --pw-soft-2: #fffbfc;
  --pw-line: #f3dce5;
  --pw-neutral-line: #ece8ea;
  --pw-neutral-soft: #f7f7f8;
  --pw-card: #ffffff;
  --pw-shadow: 0 18px 48px rgba(159, 66, 103, 0.12);
  --pw-width: 1120px;
  --pw-h1-size: clamp(32px, 4vw, 44px);
  --pw-h2-size: clamp(22px, 2.5vw, 30px);
  --pw-h3-size: clamp(20px, 2.4vw, 26px);
  --pw-hero-h1-size: clamp(38px, 5vw, 64px);
}

* {
  box-sizing: border-box;
}

html {
  overflow-x: clip;
  overflow-y: auto;
  background: #fff;
}

body {
  overflow-x: clip;
  overflow-y: visible;
  margin: 0;
  color: var(--pw-ink);
  background: #fff;
  font-family: "Yu Gothic UI", "Meiryo", sans-serif;
  line-height: 1.75;
}

.screen-reader-text {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

#page_top.page_top_btn {
  display: none !important;
}

a {
  color: inherit;
}

.pw-logo,
.pw-nav a,
.pw-header-cta,
.pw-button,
.pw-footer a,
.pw-grid a {
  text-decoration: none;
}

.pw-header {
  position: sticky;
  top: 0;
  z-index: 10;
  padding: 0 20px;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid rgba(244, 215, 226, 0.9);
  backdrop-filter: blur(10px);
}

.pw-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 22px;
  width: 100%;
  max-width: var(--pw-width);
  min-height: 76px;
  margin: 0 auto;
  padding: 12px 0;
}

.pw-logo {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 170px;
  color: #0b1220;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  letter-spacing: 0;
}

.pw-logo-image {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.pw-logo strong {
  display: block;
  font-size: 26px;
  font-weight: 950;
  line-height: 1.1;
}

.pw-nav,
.pw-nav-list,
.pw-footer-list {
  display: flex;
  align-items: center;
}

.pw-header-menu {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  margin-left: auto;
  min-width: 0;
}

.pw-menu-toggle {
  display: none;
}

.pw-nav-list,
.pw-footer-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pw-nav {
  gap: 16px;
  flex-wrap: wrap;
  margin-left: 0;
  min-width: 0;
  color: #58444f;
  font-size: 16px;
  font-weight: 800;
}

.pw-nav-list {
  gap: 22px;
  flex-wrap: wrap;
}

.pw-nav-list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  color: #58444f;
  white-space: nowrap;
  transition: color 0.18s ease;
}

.pw-nav-list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3px;
  height: 3px;
  background: var(--pw-main);
  border-radius: 999px;
  opacity: 0;
  transform: scaleX(0.55);
  transform-origin: center;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.pw-nav-list a:hover,
.pw-nav-list a:focus-visible,
.pw-nav-list a.is-current {
  color: var(--pw-main-dark);
}

.pw-nav-list a:hover::after,
.pw-nav-list a:focus-visible::after,
.pw-nav-list a.is-current::after {
  opacity: 1;
  transform: scaleX(1);
}

.pw-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.pw-header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  min-height: 44px;
  padding: 10px 15px;
  color: #fff;
  border-radius: 10px;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.pw-header-cta:hover {
  color: #fff;
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.pw-header-cta:focus,
.pw-header-cta:focus-visible,
.pw-header-cta:visited {
  color: #fff;
}

.pw-header-cta span {
  color: #ffe45a;
}

.pw-header-cta--green {
  background: linear-gradient(180deg, #2fd148, #12a22a);
  box-shadow: 0 10px 24px rgba(18, 162, 42, 0.22);
}

.pw-home-slider {
  position: relative;
  width: min(var(--pw-width), calc(100vw - 48px));
  margin: 0 auto;
  padding: clamp(18px, 3vw, 34px) 0 34px;
  overflow: hidden;
  --pw-slide-width: 100%;
  --pw-slide-gap: 0px;
  --pw-slide-offset: 0px;
}

.pw-home-slider-control {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.pw-home-slider-track {
  display: flex;
  gap: var(--pw-slide-gap);
  transform: translateX(calc(var(--pw-slide-offset) - (var(--pw-slide-width) * var(--pw-slider-position)) - (var(--pw-slide-gap) * var(--pw-slider-position))));
  transition: transform 0.42s ease;
}

.pw-home-slide {
  position: relative;
  flex: 0 0 var(--pw-slide-width);
  min-width: 0;
  min-height: clamp(360px, 42vw, 500px);
  overflow: hidden;
  background: #f2f2f3;
  border-radius: 0;
  cursor: pointer;
}

.pw-home-slide-copy {
  position: absolute;
  left: clamp(24px, 5vw, 64px);
  top: 50%;
  bottom: auto;
  z-index: 3;
  min-width: 0;
  max-width: min(500px, 60%);
  padding: clamp(20px, 3.4vw, 32px);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(48, 40, 45, 0.11);
  transform: translateY(-50%);
  pointer-events: none;
}

.pw-home-slide-hitarea {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  color: inherit;
  text-decoration: none;
}

.pw-home-slide-hitarea:focus-visible {
  outline: 3px solid rgba(230, 0, 126, 0.45);
  outline-offset: -6px;
}

.pw-home-slide h1 {
  margin: 0;
  color: var(--pw-ink);
  font-size: clamp(34px, 4.5vw, 54px);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: 0;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
}

.pw-home-slide-title-line,
.pw-home-slide-lead-line {
  display: block;
}

.pw-home-slide-lead {
  margin: 20px 0 0;
  color: var(--pw-muted);
  font-size: clamp(16px, 1.8vw, 20px);
  font-weight: 700;
  line-height: 1.85;
}

.pw-home-slide-kicker {
  position: relative;
  margin: 0 0 14px;
  padding-left: 18px;
  color: var(--pw-ink);
  font-size: clamp(14px, 1.8vw, 19px);
  font-weight: 900;
  line-height: 1.45;
}

.pw-home-slide-kicker::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.52em;
  width: 10px;
  height: 10px;
  background: var(--pw-emphasis-pink);
  border-radius: 2px;
}

.pw-home-slide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
  pointer-events: auto;
}

.pw-home-slide-media {
  position: absolute;
  inset: 0;
  min-width: 0;
  margin: 0;
  background: #f2f2f3;
  transition: transform 0.24s ease;
}

.pw-home-slide:hover .pw-home-slide-media,
.pw-home-slide:focus-within .pw-home-slide-media {
  transform: scale(1.015);
}

.pw-home-slide-media::after {
  content: none;
}

.pw-home-slide-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pw-home-slide-lp-art {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #edfaff;
}

.pw-home-slide-lp-art::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.52) 48%, rgba(255, 255, 255, 0.06) 70%, rgba(255, 255, 255, 0));
  pointer-events: none;
}

.pw-home-slide-media .pw-home-slide-lp-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pw-home-slide-media .pw-home-slide-lp-person {
  position: absolute;
  z-index: 2;
  right: clamp(0px, 4vw, 54px);
  bottom: 0;
  width: min(43%, 420px);
  height: 96%;
  object-fit: contain;
  object-position: right bottom;
  transform: scaleX(-1);
}

.pw-home-slide--lp-feature .pw-home-slide-copy {
  top: clamp(34px, 6vw, 62px);
  bottom: auto;
  z-index: 3;
  max-width: min(580px, 56%);
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.pw-home-slide--lp-feature h1 {
  display: inline-block;
  color: var(--pw-emphasis-pink);
  background: linear-gradient(90deg, #6c58e8 0%, #e6007e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(44px, 5.8vw, 68px);
  line-height: 1.06;
}

.pw-home-slide--lp-feature .pw-home-slide-title--lp-ruby {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(6px, 1vw, 12px);
  overflow: visible;
  color: #071226;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: currentColor;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: clamp(48px, 5.8vw, 72px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.pw-home-slide-title--lp-ruby .pw-home-slide-title-line--plain {
  color: #071226;
  background: none;
  -webkit-text-fill-color: currentColor;
}

.pw-home-slide-title--lp-ruby .pw-home-slide-title-ruby-line {
  display: inline-flex;
  align-items: flex-start;
  gap: 0;
  overflow: visible;
  padding-top: 0.16em;
}

.pw-home-slide-ruby-word {
  position: relative;
  display: inline-block;
  overflow: visible;
  padding-top: 0.24em;
  color: transparent;
  background: linear-gradient(90deg, #6c58e8 0%, #e6007e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.pw-home-slide-ruby-word--pass {
  margin-right: 0.1em;
}

.pw-home-slide-ruby-text {
  position: absolute;
  top: -28%;
  left: 50%;
  z-index: 2;
  color: transparent;
  background: linear-gradient(90deg, #6c58e8 0%, #e6007e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 0.3em;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.8;
  white-space: nowrap;
  transform: translate(-50%, -0.2em);
}

.pw-home-slide--lp-feature .pw-home-slide-lead {
  max-width: 31em;
  margin-top: 18px;
  color: #38404f;
  font-size: clamp(16px, 1.75vw, 20px);
  font-weight: 900;
  line-height: 1.85;
}

.pw-home-slider-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
}

.pw-home-slider-dots button {
  width: 12px;
  height: 12px;
  padding: 0;
  background: #d9d5d8;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.18s ease, transform 0.18s ease;
}

.pw-home-slider-arrows {
  pointer-events: none;
}

.pw-home-slider-arrow {
  position: absolute;
  top: calc(50% - 12px);
  z-index: 6;
  display: block;
  width: 42px;
  height: 42px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(236, 232, 234, 0.9);
  border-radius: 50%;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.12);
  cursor: pointer;
  pointer-events: auto;
  transition: transform 0.18s ease, background-color 0.18s ease;
}

.pw-home-slider-arrow:hover,
.pw-home-slider-arrow:focus-visible {
  background: #fff;
  transform: translateY(-1px);
}

.pw-home-slider-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  border-top: 3px solid var(--pw-main-dark);
  border-right: 3px solid var(--pw-main-dark);
}

.pw-home-slider-arrow--prev {
  left: 18px;
}

.pw-home-slider-arrow--prev::before {
  transform: translate(-38%, -50%) rotate(-135deg);
}

.pw-home-slider-arrow--next {
  right: 18px;
  left: auto;
}

.pw-home-slider-arrow--next::before {
  transform: translate(-62%, -50%) rotate(45deg);
}

.pw-home-slider-dots button.is-active,
.pw-home-slider-dots button:hover,
.pw-home-slider-dots button:focus-visible {
  background: var(--pw-main-strong);
  transform: scale(1.18);
}

.pw-home-slider + .pw-section {
  padding-top: 26px;
}

.pw-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.78fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  max-width: var(--pw-width);
  min-height: 620px;
  margin: 0 auto;
  padding: clamp(52px, 8vw, 96px) 24px;
}

.pw-hero--home {
  position: relative;
  min-height: 640px;
  overflow: hidden;
}

.pw-hero--home::before {
  content: "";
  position: absolute;
  top: 54px;
  right: 20px;
  bottom: 54px;
  width: min(41%, 430px);
  background: #fff1f6;
  border: 1px solid #f7dce8;
  border-radius: 34px;
}

.pw-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 680px;
}

.pw-label {
  margin: 0 0 12px;
  color: var(--pw-main-dark);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pw-page > .pw-label {
  font-size: 16px;
}

.pw-hero h1,
.pw-page h1 {
  margin: 0;
  letter-spacing: 0;
  line-height: 1.18;
}

.pw-hero h1 {
  max-width: 720px;
  font-size: var(--pw-hero-h1-size);
  font-weight: 900;
}

.pw-hero--home h1 {
  max-width: 620px;
  font-size: clamp(46px, 6vw, 76px);
  line-height: 1.12;
}

.pw-hero p {
  max-width: 620px;
  color: var(--pw-muted);
  font-size: 18px;
}

.pw-hero-lead {
  margin: 24px 0 0;
  color: #5f5359;
  font-size: clamp(17px, 2.2vw, 21px);
  font-weight: 700;
  line-height: 1.9;
}

.pw-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.pw-hero-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 14px;
  color: var(--pw-main-dark);
  background: #fff7fa;
  border: 1px solid var(--pw-line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
}

.pw-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 28px 0 0;
}

.pw-stats span {
  min-width: 132px;
  padding: 12px 16px;
  background: var(--pw-soft-2);
  border: 1px solid var(--pw-line);
  border-radius: 18px;
  color: var(--pw-muted);
  font-size: 13px;
  font-weight: 800;
}

.pw-stats strong {
  display: block;
  color: var(--pw-main-dark);
  font-size: 24px;
  line-height: 1.1;
}

.pw-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.pw-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 23px;
  color: #fff;
  background: var(--pw-main-strong);
  border: 1px solid var(--pw-main-strong);
  border-radius: 999px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(217, 111, 154, 0.22);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.pw-button:visited,
.pw-button:hover,
.pw-button:focus,
.pw-button:focus-visible,
.pw-button:active {
  color: #fff;
  text-decoration: none;
}

.pw-button--ghost {
  color: var(--pw-main-dark);
  background: #fff;
  border-color: var(--pw-line);
  box-shadow: none;
}

.pw-button--ghost:visited,
.pw-button--ghost:hover,
.pw-button--ghost:focus,
.pw-button--ghost:focus-visible,
.pw-button--ghost:active {
  color: var(--pw-main-dark);
}

.pw-button--green {
  background: linear-gradient(180deg, #2fd148, #12a22a);
  border-color: #12a22a;
  box-shadow: 0 12px 28px rgba(18, 162, 42, 0.22);
}

.pw-button--header-shape,
.pw-button--header-shape:visited,
.pw-button--header-shape:hover,
.pw-button--header-shape:focus,
.pw-button--header-shape:focus-visible,
.pw-button--header-shape:active {
  color: #fff;
}

.pw-button--header-shape {
  min-width: 230px;
  min-height: 44px;
  padding: 10px 15px;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(18, 162, 42, 0.22);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.pw-button--header-shape:hover,
.pw-button--header-shape:focus-visible {
  filter: brightness(1.03);
  transform: translateY(-1px);
}

.pw-home-consultation-cta,
.pw-home-consultation-cta:visited,
.pw-home-consultation-cta:hover,
.pw-home-consultation-cta:focus,
.pw-home-consultation-cta:focus-visible,
.pw-home-consultation-cta:active {
  color: #fff;
}

.pw-home-consultation-cta {
  width: min(100%, 460px);
  min-height: 88px;
  padding: 20px 28px;
  font-size: clamp(22px, 2.4vw, 28px);
  box-shadow: 0 18px 38px rgba(18, 162, 42, 0.28);
}

.pw-home-consultation-cta span {
  color: #ffe45a;
}

.pw-home-consultation-cta:hover,
.pw-home-consultation-cta:focus-visible {
  box-shadow: 0 22px 46px rgba(18, 162, 42, 0.34);
  transform: translateY(-2px);
}

.pw-home-slide .pw-button,
.pw-home-slide .pw-button:visited,
.pw-home-slide .pw-button:hover,
.pw-home-slide .pw-button:focus,
.pw-home-slide .pw-button:focus-visible,
.pw-home-slide .pw-button:active {
  color: #fff;
  min-width: 230px;
  min-height: 48px;
  padding: 12px 18px;
  background: linear-gradient(180deg, #f19abb, #d96f9a);
  border-color: #d96f9a;
  border-radius: 10px;
  box-shadow: 0 12px 28px rgba(217, 111, 154, 0.28);
  font-size: 20px;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.pw-home-slide:hover .pw-button,
.pw-home-slide:focus-within .pw-button,
.pw-home-slide .pw-button:hover,
.pw-home-slide .pw-button:focus-visible {
  filter: brightness(1.03);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(217, 111, 154, 0.34);
}

.pw-hero-visual {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 540px;
}

.pw-hero-visual::before {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 34px;
  width: min(92%, 430px);
  height: 74%;
  background: #fff;
  border: 1px solid var(--pw-line);
  border-radius: 30px;
  box-shadow: 0 24px 58px rgba(159, 66, 103, 0.14);
}

.pw-hero-visual img {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 500px);
  max-height: 570px;
  object-fit: contain;
  object-position: bottom center;
  filter: drop-shadow(0 24px 34px rgba(48, 40, 45, 0.16));
}

.pw-hero-message {
  position: absolute;
  top: 42px;
  left: 0;
  z-index: 2;
  max-width: 260px;
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--pw-line);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(159, 66, 103, 0.12);
}

.pw-hero-message span {
  display: block;
  margin-bottom: 4px;
  color: var(--pw-main-dark);
  font-size: 12px;
  font-weight: 900;
}

.pw-hero-message strong {
  display: block;
  color: var(--pw-ink);
  font-size: 16px;
  line-height: 1.45;
}

.pw-hero-side {
  display: grid;
  gap: 18px;
  align-content: center;
}

.pw-news-card {
  padding: 28px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 22px;
  box-shadow: var(--pw-shadow);
}

.pw-news-card h2 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.35;
}

.pw-news-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--pw-muted);
  font-weight: 700;
}

.pw-news-card li {
  padding-left: 1.35em;
  position: relative;
}

.pw-news-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 7px;
  height: 7px;
  background: var(--pw-main);
  border-radius: 50%;
}

.pw-card-link {
  display: inline-flex;
  margin-top: 20px;
  color: var(--pw-main-dark);
  font-weight: 900;
  text-decoration: none;
}

.pw-mini-list {
  display: grid;
  gap: 0;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 22px;
}

.pw-mini-list .pw-label {
  margin-bottom: 8px;
}

.pw-mini-list a {
  display: flex;
  gap: 12px;
  padding: 14px 0;
  color: var(--pw-ink);
  border-top: 1px solid #f7e7ee;
  font-weight: 800;
  text-decoration: none;
}

.pw-mini-list span {
  color: var(--pw-main-dark);
  font-size: 12px;
  font-weight: 900;
}

.pw-section,
.pw-page,
.pw-managed-content {
  padding: clamp(48px, 8vw, 92px) 24px;
}

.pw-section {
  background: #fff;
}

.pw-section > * {
  max-width: var(--pw-width);
  margin-right: auto;
  margin-left: auto;
}

.pw-page {
  width: min(var(--pw-width), 100vw);
  max-width: var(--pw-width);
  margin: 0 auto;
  padding-top: clamp(16px, 3vw, 30px);
}

.pw-managed-content {
  max-width: 980px;
  margin: 0 auto;
  min-width: 0;
  font-size: 18px;
  overflow-wrap: anywhere;
}

.pw-page .pw-managed-content {
  padding: 0;
  max-width: none;
  margin: 0 0 20px;
}

.pw-managed-content > *:first-child {
  margin-top: 0;
}

.pw-managed-content > *:last-child {
  margin-bottom: 0;
}

.pw-managed-content h2,
.pw-managed-content h3 {
  line-height: 1.35;
}

.pw-managed-content h2 {
  margin: 0 0 8px;
  color: var(--pw-ink);
  font-size: var(--pw-h2-size);
}

.pw-managed-content h3 {
  margin: 10px 0 6px;
  color: var(--pw-ink);
  font-size: var(--pw-h3-size);
}

.pw-managed-content p,
.pw-managed-content li {
  color: var(--pw-muted);
}

.pw-managed-content p,
.pw-managed-content ul,
.pw-managed-content ol,
.pw-managed-content figure,
.pw-managed-content .wp-block-embed,
.pw-managed-content .wp-block-image,
.pw-managed-content .wp-block-buttons,
.pw-managed-content .pw-column-block-card,
.pw-managed-content .pw-case-box,
.pw-managed-content .pw-target-box,
.pw-managed-content .pw-chapter-points,
.pw-managed-content .pw-alert-box,
.pw-managed-content .pw-flow {
  margin-top: 0;
  margin-bottom: 12px;
}

.pw-managed-content > ul {
  display: grid;
  gap: 0;
  padding: 10px 14px;
  background: #fff8fb;
  border: 1px solid rgba(223, 134, 170, 0.22);
  border-radius: 8px;
  list-style: none;
}

.pw-managed-content > ul > li {
  position: relative;
  min-width: 0;
  padding: 7px 0 7px 28px;
  line-height: 1.7;
}

.pw-managed-content > ul > li::before {
  position: absolute;
  top: 1.15em;
  left: 8px;
  width: 7px;
  height: 7px;
  background: var(--pw-emphasis-pink);
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(230, 0, 126, 0.1);
  content: "";
}

.pw-managed-content > ol {
  display: grid;
  gap: 8px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  list-style: none;
  counter-reset: pw-body-list;
}

.pw-managed-content > ol > li {
  position: relative;
  min-width: 0;
  counter-increment: pw-body-list;
  padding: 12px 14px 12px 56px;
  line-height: 1.7;
  background: #fff;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(159, 66, 103, 0.08);
}

.pw-managed-content > ol > li::before {
  position: absolute;
  top: 50%;
  left: 14px;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  background: var(--pw-emphasis-pink);
  border-radius: 999px;
  content: counter(pw-body-list);
  transform: translateY(-50%);
}

.pw-managed-content > .pw-check-list {
  background: #fff7fb;
}

.pw-managed-content > .pw-check-list > li {
  padding-left: 32px;
}

.pw-managed-content > .pw-check-list > li::before {
  top: 0.38em;
  left: 4px;
  display: block;
  width: auto;
  height: auto;
  color: var(--pw-emphasis-pink);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  content: "\2713";
}

.pw-target-box,
.pw-chapter-points,
.pw-alert-box {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.pw-target-box {
  padding: 14px 16px;
  background: linear-gradient(180deg, #fff7fb, #fff);
  border: 1px solid rgba(223, 134, 170, 0.3);
}

.pw-target-box__title,
.pw-chapter-points__title,
.pw-alert-box__title {
  margin: 0 0 8px !important;
  color: var(--pw-ink) !important;
  font-size: 15px;
  font-weight: 900;
}

.pw-target-box ul,
.pw-chapter-points ul,
.pw-alert-box ul {
  display: grid;
  gap: 0;
  margin: 0 !important;
  padding: 0;
  list-style: none;
}

.pw-target-box li,
.pw-chapter-points li,
.pw-alert-box li {
  position: relative;
  min-width: 0;
  padding: 5px 0 5px 24px;
  color: var(--pw-muted) !important;
  line-height: 1.65;
}

.pw-target-box li::before,
.pw-chapter-points li::before {
  position: absolute;
  top: 0.95em;
  left: 6px;
  width: 7px;
  height: 7px;
  background: var(--pw-emphasis-pink);
  border-radius: 999px;
  content: "";
}

.pw-chapter-points {
  padding: 10px 14px;
  background: #fffafb;
  border-left: 4px solid rgba(230, 0, 126, 0.36);
}

.pw-chapter-points__title {
  font-size: 14px;
}

.pw-alert-box {
  padding: 14px 16px;
  background: #fff8f1;
  border: 1px solid rgba(233, 137, 66, 0.32);
  border-left: 5px solid #e98942;
}

.pw-alert-box__title {
  color: #9a4f18 !important;
}

.pw-alert-box p {
  margin: 0 !important;
  color: var(--pw-muted) !important;
  font-weight: 700;
  line-height: 1.75;
}

.pw-alert-box p + ul {
  margin-top: 8px !important;
}

.pw-alert-box li::before {
  position: absolute;
  top: 0.82em;
  left: 2px;
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  background: #e98942;
  border-radius: 999px;
  content: "!";
}

.pw-flow {
  padding: 16px;
  background: linear-gradient(180deg, #fff8fb, #fff);
  border: 1px solid rgba(223, 134, 170, 0.24);
  border-radius: 8px;
}

.pw-flow__title {
  margin: 0 0 10px !important;
  color: var(--pw-ink) !important;
  font-size: 15px;
  font-weight: 900;
}

.pw-flow__list {
  display: grid;
  gap: 22px;
  margin: 0 !important;
  padding: 0;
  list-style: none;
}

.pw-flow__list > li {
  position: relative;
  min-width: 0;
  padding: 10px 14px;
  color: var(--pw-ink) !important;
  font-weight: 800;
  line-height: 1.65;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(223, 134, 170, 0.28);
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(159, 66, 103, 0.08);
}

.pw-flow__list > li:not(:last-child)::after {
  position: absolute;
  bottom: -21px;
  left: 50%;
  color: var(--pw-emphasis-pink);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  content: "\2193";
  transform: translateX(-50%);
}

.pw-flow__list > li > span {
  display: block;
  padding: 2px 0;
}

.pw-managed-content strong.pw-marker-underline,
.pw-managed-content span.pw-marker-underline {
  color: var(--pw-ink);
  background: linear-gradient(transparent 62%, var(--pw-emphasis-marker) 0);
  font-size: calc(1em + 6px);
  font-weight: 900;
  padding: 0 0.04em;
}

.pw-managed-content strong.pw-text-pink,
.pw-managed-content span.pw-text-pink {
  color: var(--pw-ink);
  background: linear-gradient(transparent 62%, var(--pw-emphasis-marker) 0);
  font-size: calc(1em + 6px);
  font-weight: 900;
  padding: 0 0.04em;
}

.pw-case-box {
  position: relative;
  overflow: visible;
  margin-top: 28px !important;
  padding: clamp(18px, 3vw, 24px);
  background: linear-gradient(180deg, #fff8fb, #fff);
  border: 1px solid rgba(223, 134, 170, 0.32);
  border-left: 6px solid var(--pw-main-strong);
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(159, 66, 103, 0.08);
}

.pw-case-box__title {
  margin: 0 0 40px !important;
  color: var(--pw-main-dark) !important;
  font-size: 18px;
  font-weight: 900;
}

.pw-case-box--has-profile .pw-case-box__title {
  min-height: 0;
  padding-right: 134px;
}

.pw-case-box__profile-badge {
  position: absolute;
  top: -22px;
  right: -12px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  box-sizing: border-box;
  width: auto;
  min-height: 0;
  padding: 0;
  color: #fff;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
}

.pw-case-box__profile-name,
.pw-case-box__profile-grade {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 7px 11px;
  color: #fff;
  background: linear-gradient(145deg, var(--pw-main-strong), #ef7aa8);
  border: 3px solid #fff;
  border-radius: 12px;
  box-shadow: 0 10px 20px rgba(159, 66, 103, 0.2);
  line-height: 1;
  white-space: nowrap;
}

.pw-case-box__profile-name {
  font-size: 16px;
  font-weight: 850;
  letter-spacing: 0;
}

.pw-case-box__profile-grade {
  color: var(--pw-main-strong);
  background: #fff;
  border-color: var(--pw-main-strong);
  min-width: 48px;
  font-size: 16px;
  font-weight: 950;
}

.pw-case-box__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px 12px;
  padding-top: 0;
}

.pw-case-box__item {
  position: relative;
  min-width: 0;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 12px;
}

.pw-case-box__item--before {
  background: #f7f7f8;
}

.pw-case-box__item--after {
  background: #fff;
  border-color: rgba(223, 134, 170, 0.4);
}

.pw-case-box__term {
  position: absolute;
  top: 0;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin: 0;
  padding: 4px 10px;
  color: #fff;
  background: var(--pw-main-strong);
  border: 0;
  border-radius: 10px 10px 0 0;
  box-shadow: 0 6px 14px rgba(159, 66, 103, 0.2);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  transform: translateY(-100%);
  pointer-events: none;
}

.pw-case-box__body,
.pw-case-box__list,
.pw-case-box__note,
.pw-case-box__teacher-title,
.pw-case-box__teacher-text {
  margin: 0 !important;
}

.pw-case-box__body {
  color: var(--pw-ink) !important;
  font-weight: 400;
}

.pw-case-box__list {
  display: block;
  margin: 0;
  padding-left: 1.15em;
  list-style: disc;
  list-style-position: outside;
}

.pw-case-box__list li {
  display: list-item;
  margin: 0 0 2px;
  padding-left: 0.15em;
  line-height: 1.48;
}

.pw-case-box__list li::marker {
  color: var(--pw-main-strong);
  font-weight: 900;
  content: "・ ";
}

.pw-case-box__item strong,
.pw-case-box__note strong {
  color: var(--pw-ink);
  background: linear-gradient(transparent 62%, var(--pw-emphasis-marker) 0);
  font-size: calc(1em + 6px);
  font-weight: 900;
  padding: 0 0.04em;
}

.pw-case-box__note {
  margin-top: 12px !important;
  color: var(--pw-muted) !important;
  font-size: 14px;
}

.pw-case-box__teacher {
  position: relative;
  margin-top: 48px;
  padding: 40px 18px 20px;
  background: linear-gradient(135deg, #eef8ff 0%, #f8fcff 64%, #fff 100%);
  border: 1px solid rgba(75, 155, 215, 0.3);
  border-left: 5px solid #4b9bd7;
  border-radius: 16px;
  box-shadow: 0 12px 26px rgba(58, 128, 184, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.pw-case-box__teacher-title {
  position: absolute;
  top: 0;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin: 0 !important;
  padding: 4px 10px;
  color: #fff !important;
  background: #4b9bd7;
  border-radius: 10px 10px 0 0;
  box-shadow: 0 6px 14px rgba(43, 127, 192, 0.2);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  transform: translateY(-100%);
  pointer-events: none;
}

.pw-case-box__teacher-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -38px;
  right: -14px;
  flex: 0 0 76px;
  width: 76px;
  height: 76px;
  overflow: visible;
  background: #fff;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(43, 127, 192, 0.2);
}

.pw-case-box__teacher-icon::after {
  display: none;
  content: none;
}

.pw-case-box__teacher-icon img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.pw-case-box__teacher-text {
  color: #2f4a60 !important;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.9;
}

.pw-case-box__teacher-text strong {
  color: var(--pw-ink);
  background: linear-gradient(transparent 62%, rgba(83, 166, 224, 0.35) 0);
  font-size: calc(1em + 6px);
  font-weight: 900;
  padding: 0 0.04em;
}

@media (max-width: 560px) {
  .pw-case-box--has-profile .pw-case-box__title {
    min-height: 0;
    padding-right: 112px;
  }

  .pw-case-box__profile-badge {
    top: -18px;
    right: -8px;
    gap: 4px;
  }

  .pw-case-box__profile-name {
    font-size: 16px;
  }

  .pw-case-box__profile-grade {
    min-width: 42px;
    font-size: 16px;
  }

  .pw-case-box__profile-name,
  .pw-case-box__profile-grade {
    min-height: 34px;
    padding: 6px 8px;
    border-width: 2px;
    border-radius: 10px;
  }

  .pw-case-box__list li {
    margin-bottom: 1px;
    line-height: 1.45;
  }

  .pw-case-box__teacher {
    margin-top: 44px;
    padding: 36px 16px 16px;
  }

  .pw-case-box__teacher-title {
    min-height: 26px;
    font-size: 16px;
  }

  .pw-case-box__teacher-icon {
    top: -32px;
    right: -10px;
    width: 64px;
    height: 64px;
    flex-basis: 64px;
  }

  .pw-case-box__teacher-icon::after {
    display: none;
    content: none;
  }
}

.pw-article-cta {
  display: grid;
  gap: 16px;
  margin: 32px 0;
  padding: clamp(22px, 3vw, 30px);
  background: linear-gradient(135deg, #fff, #fff7fb);
  border: 1px solid rgba(223, 134, 170, 0.34);
  border-left: 5px solid var(--pw-main-strong);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(159, 66, 103, 0.08);
}

.pw-article-cta p {
  margin: 0 !important;
  color: var(--pw-ink) !important;
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 900;
  line-height: 1.65;
}

.pw-article-cta p strong {
  color: var(--pw-ink);
  background: linear-gradient(transparent 62%, var(--pw-emphasis-marker) 0);
  font-size: calc(1em + 6px);
  font-weight: 900;
  padding: 0 0.04em;
}

.pw-article-cta .pw-article-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: stretch;
  width: 100%;
  min-height: 66px;
  padding: 16px 24px;
  color: #fff !important;
  background: linear-gradient(180deg, #2fd148, #12a22a);
  border-radius: 10px;
  box-shadow: 0 12px 26px rgba(18, 162, 42, 0.24);
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: normal;
}

.pw-article-cta .pw-article-cta__button span {
  color: #ffe45a;
}

.pw-managed-content figure,
.pw-managed-content .wp-block-image,
.pw-managed-content .wp-block-embed {
  margin-right: 0;
  margin-left: 0;
}

.pw-managed-content .alignwide,
.pw-managed-content .alignfull {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.pw-managed-content .wp-block-image {
  width: 100%;
  padding: 10px;
  background: #fff;
  border: 2px solid rgba(228, 94, 142, 0.36);
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(159, 66, 103, 0.08);
}

.pw-managed-content .wp-block-image img,
.pw-managed-content figure img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.pw-managed-content table,
.pw-managed-content .wp-block-table {
  width: 100%;
  max-width: 100%;
}

.pw-managed-content .wp-block-table {
  overflow-x: auto;
}

.pw-managed-content table {
  border-collapse: collapse;
}

.pw-managed-content th,
.pw-managed-content td {
  padding: 10px 12px;
  border: 1px solid var(--pw-neutral-line);
  vertical-align: top;
}

.pw-managed-content .wp-block-embed {
  width: 100%;
  max-width: 100%;
}

.pw-managed-content .wp-block-embed__wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  background: #f3f3f4;
  border-radius: 12px;
}

.pw-managed-content .wp-block-embed__wrapper iframe,
.pw-managed-content iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  border: 0;
}

.pw-feature-hero {
  display: grid;
  grid-template-columns: minmax(500px, 1fr) minmax(300px, 360px);
  gap: clamp(22px, 3vw, 34px);
  align-items: center;
  margin-bottom: clamp(32px, 6vw, 64px);
  padding: clamp(22px, 4vw, 42px) clamp(24px, 5vw, 48px);
  background: linear-gradient(135deg, #fff, #fbfbfc);
  border: 1px solid var(--pw-neutral-line);
  border-radius: 26px;
  box-shadow: 0 12px 34px rgba(48, 40, 45, 0.06);
}

.pw-feature-hero h2 {
  font-size: clamp(28px, 3.4vw, 38px);
}

.pw-feature-hero p {
  margin-bottom: 0;
  font-size: 17px;
}

.pw-feature-hero .pw-feature-hero-catch {
  margin: 0 0 14px;
  color: var(--pw-ink);
  font-size: var(--pw-h2-size);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: keep-all;
}

.pw-feature-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin-bottom: 14px;
  padding: 5px 12px;
  color: var(--pw-main-dark);
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
}

.pw-feature-points {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pw-feature-points li {
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 16px;
  color: var(--pw-ink);
  font-weight: 800;
}

.pw-feature-section {
  margin-top: clamp(34px, 6vw, 64px);
}

.pw-feature-section > p {
  max-width: min(100%, 1040px);
}

.pw-feature-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.pw-feature-detail-list {
  display: grid;
  gap: clamp(28px, 5vw, 44px);
  margin-top: 26px;
}

.pw-feature-detail {
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1fr);
  gap: clamp(22px, 4vw, 42px);
  align-items: center;
  padding-bottom: clamp(26px, 4vw, 40px);
  border-bottom: 1px solid var(--pw-neutral-line);
}

.pw-feature-detail:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.pw-feature-detail--reverse {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
}

.pw-feature-detail--reverse .pw-feature-detail-image {
  order: 2;
}

.pw-feature-detail--reverse .pw-feature-detail-copy {
  order: 1;
}

.pw-feature-detail-image {
  display: block;
  overflow: visible;
  width: 100%;
  max-width: 100%;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-managed-content .pw-feature-hero-image,
.pw-managed-content .pw-feature-detail-image {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-feature-detail-image img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-managed-content .pw-feature-hero-image img,
.pw-managed-content .pw-feature-detail-image img {
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-feature-detail-copy {
  display: grid;
  gap: 10px;
}

.pw-feature-detail-copy h3 {
  margin: 0;
  font-size: var(--pw-h3-size);
  line-height: 1.35;
}

.pw-feature-detail-copy p {
  margin: 0;
}

.pw-feature-detail-points {
  display: grid;
  gap: 8px;
  margin: 6px 0 0;
  padding: 0;
  color: var(--pw-muted);
  list-style: none;
}

.pw-feature-detail-points li {
  position: relative;
  padding-left: 18px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.75;
}

.pw-feature-detail-points li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--pw-main-strong);
  border-radius: 2px;
  transform: rotate(45deg);
}

.pw-feature-card {
  position: relative;
  overflow: hidden;
  padding: 24px;
  background: linear-gradient(180deg, #fff, #fbfbfc);
  border: 1px solid var(--pw-neutral-line);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.06);
}

.pw-feature-card-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  margin: -4px -4px 20px;
  border-radius: 16px;
}

.pw-feature-hero-image,
.pw-course-hero-image,
.pw-contact-intro-image {
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0;
  border-radius: 16px;
}

.pw-feature-hero-image,
.pw-course-hero-image,
.pw-contact-intro-image {
  min-height: 0;
}

.pw-feature-hero-image {
  justify-self: end;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
  transform: translateX(18px);
}

.pw-feature-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pw-feature-hero-image img,
.pw-contact-intro-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pw-feature-hero-image img {
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-course-hero {
  display: grid;
  grid-template-columns: minmax(500px, 1fr) minmax(300px, 360px);
  gap: clamp(22px, 3vw, 34px);
  align-items: center;
  margin-bottom: clamp(34px, 6vw, 64px);
  padding: clamp(22px, 4vw, 42px) clamp(24px, 5vw, 48px);
  background: linear-gradient(135deg, #fff, #fbfbfc);
  border: 1px solid var(--pw-neutral-line);
  border-radius: 26px;
  box-shadow: 0 12px 34px rgba(48, 40, 45, 0.06);
}

.pw-course-hero-image {
  justify-self: end;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
  transform: translateX(18px);
}

.pw-managed-content .pw-course-hero-image {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.pw-course-pattern-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  margin: 0;
  border-radius: 16px;
}

.pw-course-hero h2 {
  font-size: clamp(28px, 3.4vw, 38px);
}

.pw-course-hero p {
  margin-bottom: 0;
  font-size: 17px;
}

.pw-course-hero .pw-course-hero-catch {
  margin: 0 0 14px;
  color: var(--pw-ink);
  font-size: var(--pw-h2-size);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: keep-all;
}

.pw-course-hero-image img,
.pw-course-pattern-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-course-section {
  margin-top: clamp(34px, 6vw, 64px);
}

.pw-course-section > p {
  max-width: min(100%, 1040px);
}

.pw-course-pillars,
.pw-course-patterns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.pw-course-design-list,
.pw-course-reasons {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.pw-course-design-item,
.pw-course-reason {
  position: relative;
  display: grid;
  gap: 10px;
  align-items: start;
  padding: clamp(20px, 4vw, 28px);
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.05);
}

.pw-course-pillar,
.pw-course-pattern {
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.06);
}

.pw-course-pillar .pw-feature-card-number,
.pw-course-pattern .pw-feature-card-number {
  align-items: center;
  width: fit-content;
  min-height: 34px;
  margin-bottom: 12px;
  padding: 5px 12px;
  color: #fff;
  background: var(--pw-main-strong);
  border: 1px solid var(--pw-main-strong);
  border-radius: 10px;
  font-size: 18px;
  line-height: 1.2;
}

.pw-course-pillar {
  padding: 22px;
}

.pw-course-pattern {
  overflow: hidden;
  padding: 24px;
}

.pw-course-pattern-image {
  margin: -4px -4px 20px;
}

.pw-course-pillar h3,
.pw-course-pattern h3 {
  margin: 0 0 10px;
}

.pw-course-pattern h3 {
  font-size: clamp(16px, 1.45vw, 19px);
  line-height: 1.35;
  white-space: nowrap;
}

.pw-course-design-item h3,
.pw-course-reason h3 {
  margin: 0;
  color: var(--pw-main-dark);
  border: 0;
  box-shadow: none;
}

.pw-course-pillar p,
.pw-course-pattern p {
  margin: 0;
}

.pw-course-design-item p,
.pw-course-reason p {
  margin: 0;
}

.pw-course-pattern-price {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  width: fit-content;
  margin: 4px 0 16px;
  padding: 8px 14px;
  color: #fff;
  background: var(--pw-main-strong);
  border: 1px solid var(--pw-main-strong);
  border-radius: 10px;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.2;
}

.pw-managed-content .pw-course-pattern .pw-course-pattern-price,
.pw-managed-content .pw-course-pattern .pw-course-pattern-price span,
.pw-managed-content .pw-course-reason .pw-course-reason-number {
  color: #fff;
}

.pw-course-pattern-price span {
  font-size: 16px;
  font-weight: 800;
}

.pw-course-reason-number {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 34px;
  margin: 0;
  padding: 5px 12px;
  color: #fff;
  background: var(--pw-main-strong);
  border: 1px solid var(--pw-main-strong);
  border-radius: 10px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
}

.pw-course-pattern ul {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.pw-course-pattern li {
  position: relative;
  padding-left: 20px;
  color: var(--pw-ink);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.65;
}

.pw-course-pattern li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 7px;
  height: 7px;
  background: var(--pw-main);
  border-radius: 50%;
}

.pw-course-pricing {
  padding: clamp(24px, 5vw, 42px);
  background: #fffdf8;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 24px;
}

.pw-course-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 24px;
  color: #fff;
  background: linear-gradient(180deg, #2fd148, #12a22a);
  border-radius: 999px;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(18, 162, 42, 0.22);
}

@keyframes pw-urgent-cta-bounce {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  18% {
    transform: translateY(-7px) scale(1.025);
  }
  34% {
    transform: translateY(2px) scale(0.995);
  }
  48% {
    transform: translateY(-4px) scale(1.015);
  }
  62% {
    transform: translateY(0) scale(1);
  }
}

@keyframes pw-urgent-cta-pulse {
  0%,
  100% {
    box-shadow: 0 10px 24px rgba(18, 162, 42, 0.22), 0 0 0 0 rgba(47, 209, 72, 0.36);
  }
  55% {
    box-shadow: 0 16px 34px rgba(18, 162, 42, 0.3), 0 0 0 12px rgba(47, 209, 72, 0);
  }
}

.pw-course-button .wp-block-button__link,
.pw-button--urgent {
  animation: pw-urgent-cta-bounce 1.45s ease-in-out infinite, pw-urgent-cta-pulse 1.45s ease-in-out infinite;
  will-change: transform, box-shadow;
}

.pw-course-button .wp-block-button__link:hover,
.pw-course-button .wp-block-button__link:focus-visible,
.pw-button--urgent:hover,
.pw-button--urgent:focus-visible {
  animation-play-state: paused;
  transform: translateY(-2px) scale(1.025);
}

@media (prefers-reduced-motion: reduce) {
  .pw-course-button .wp-block-button__link,
  .pw-button--urgent {
    animation: none;
  }
}

.pw-voice-hero {
  display: grid;
  grid-template-columns: minmax(500px, 1fr) minmax(300px, 360px);
  gap: clamp(22px, 3vw, 34px);
  align-items: center;
  margin-bottom: clamp(34px, 6vw, 64px);
  padding: clamp(22px, 4vw, 42px) clamp(24px, 5vw, 48px);
  background: linear-gradient(135deg, #fff, #fbfbfc);
  border: 1px solid var(--pw-neutral-line);
  border-radius: 26px;
  box-shadow: 0 12px 34px rgba(48, 40, 45, 0.06);
}

.pw-voice-hero h2 {
  font-size: clamp(28px, 3.4vw, 38px);
}

.pw-voice-hero .pw-voice-hero-catch {
  margin: 0 0 14px;
  color: var(--pw-ink);
  font-size: var(--pw-h2-size);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: keep-all;
}

.pw-voice-hero-image,
.pw-voice-card-image {
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0;
  border-radius: 16px;
}

.pw-voice-hero-image {
  justify-self: end;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
  min-height: 0;
  transform: translateX(18px);
}

.pw-managed-content .pw-voice-hero-image,
.pw-managed-content .pw-voice-card-image {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.pw-voice-hero-image img,
.pw-voice-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-feature-hero-image,
.pw-course-hero-image,
.pw-voice-hero-image,
.pw-feature-card-image,
.pw-course-pattern-image,
.pw-voice-card-image {
  background: transparent;
  border: 0;
}

.pw-feature-hero-image,
.pw-course-hero-image,
.pw-voice-hero-image {
  min-height: 0;
}

.pw-voice-section {
  margin-top: clamp(34px, 6vw, 64px);
}

.pw-voice-section > p {
  max-width: 820px;
}

.pw-voice-summary,
.pw-voice-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.pw-voice-cards--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pw-voice-summary-card,
.pw-voice-card {
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.06);
}

.pw-voice-summary-card {
  padding: 22px;
}

.pw-voice-summary-card .pw-feature-card-number,
.pw-voice-card .pw-feature-card-number {
  align-items: center;
  width: fit-content;
  min-height: 34px;
  margin-bottom: 12px;
  padding: 5px 12px;
  color: #fff;
  background: var(--pw-main-strong);
  border: 1px solid var(--pw-main-strong);
  border-radius: 10px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
}

.pw-voice-card {
  position: relative;
  overflow: hidden;
  padding: 24px;
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.pw-voice-card:hover,
.pw-voice-card:focus-within {
  background: #fffdf8;
  border-color: var(--pw-main);
  box-shadow: 0 18px 42px rgba(159, 66, 103, 0.14);
  transform: translateY(-2px);
}

.pw-voice-card::after {
  content: "→";
  position: absolute;
  right: 18px;
  bottom: 16px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #fff;
  background: var(--pw-main-strong);
  border-radius: 50%;
  font-size: 16px;
  font-weight: 900;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  pointer-events: none;
}

.pw-voice-card-image {
  margin: -4px -4px 20px;
}

.pw-voice-card:hover::after,
.pw-voice-card:focus-within::after {
  opacity: 1;
  transform: translateY(0);
}

.pw-voice-summary-card h3,
.pw-voice-card h3 {
  margin: 0 0 10px;
}

.pw-voice-summary-card p,
.pw-voice-card p {
  margin: 0;
}

.pw-voice-card .pw-voice-card-link {
  display: inline-flex;
  position: static;
  margin-top: 14px;
  color: var(--pw-main-dark);
  font-size: 16px;
  font-weight: 900;
  text-decoration: none;
}

.pw-voice-card .pw-voice-card-link::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0;
  cursor: pointer;
}

.pw-voice-card .pw-voice-card-link:focus-visible {
  outline: 3px solid var(--pw-main);
  outline-offset: 4px;
}

.pw-voice-cta {
  padding: clamp(24px, 5vw, 42px);
  background: var(--pw-soft);
  border: 1px solid var(--pw-neutral-line);
  border-radius: 24px;
}

.pw-voice-detail-page .pw-managed-content {
  max-width: 960px;
}

.pw-voice-meta {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 24px;
  padding: 8px 14px;
  color: #fff;
  background: var(--pw-main-strong);
  border: 1px solid var(--pw-main-strong);
  border-radius: 10px;
  font-size: 16px;
  font-weight: 900;
}

.pw-managed-content .pw-voice-meta {
  color: #fff;
}

.pw-voice-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
  gap: clamp(22px, 3vw, 34px);
  align-items: center;
  margin-bottom: clamp(34px, 6vw, 58px);
  padding: clamp(22px, 4vw, 40px);
  background: linear-gradient(135deg, #fff, var(--pw-soft));
  border: 1px solid var(--pw-neutral-line);
  border-radius: 24px;
  box-shadow: 0 12px 34px rgba(48, 40, 45, 0.06);
}

.pw-voice-detail-hero-copy {
  display: grid;
  gap: 14px;
}

.pw-voice-detail-lead {
  margin: 0;
  color: var(--pw-ink);
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 900;
  line-height: 1.45;
}

.pw-voice-detail-hero-copy p:not(.pw-voice-meta):not(.pw-voice-detail-lead) {
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
}

.pw-voice-detail-hero-image,
.pw-voice-detail-inline-image {
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-voice-detail-inline-image {
  margin-top: clamp(22px, 4vw, 34px);
}

.pw-managed-content .pw-voice-detail-hero-image,
.pw-managed-content .pw-voice-detail-inline-image {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.pw-voice-detail-hero-image img,
.pw-voice-detail-inline-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-managed-content .pw-voice-detail-hero-image img,
.pw-managed-content .pw-voice-detail-inline-image img {
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}

.pw-voice-detail-section {
  margin-top: clamp(34px, 6vw, 58px);
}

.pw-voice-detail-section p,
.pw-voice-detail-note p,
.pw-voice-detail-section li {
  font-size: 16px;
  line-height: 1.95;
}

.pw-voice-detail-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding: 18px 20px 18px 38px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 16px;
}

.pw-voice-detail-quote {
  margin: clamp(34px, 6vw, 58px) 0 0;
  padding: clamp(22px, 4vw, 32px);
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-left: 6px solid var(--pw-main-strong);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.05);
}

.pw-voice-detail-quote p {
  margin: 0;
  color: var(--pw-ink);
  font-size: clamp(18px, 2vw, 21px);
  font-weight: 900;
  line-height: 1.75;
}

.pw-voice-detail-quote cite {
  display: block;
  margin-top: 12px;
  color: var(--pw-muted);
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
}

.pw-voice-detail-note {
  margin-top: clamp(34px, 6vw, 58px);
  padding: clamp(22px, 4vw, 34px);
  background: var(--pw-soft);
  border: 1px solid var(--pw-neutral-line);
  border-radius: 20px;
}

.pw-voice-detail-note h2 {
  margin-top: 0;
}

.pw-voice-interview {
  display: grid;
  gap: 18px;
  margin-top: 28px;
}

.pw-voice-interview-item {
  padding: clamp(20px, 4vw, 28px);
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.05);
}

.pw-voice-interview-item h2,
.pw-voice-interview-item h3 {
  margin-top: 0;
  padding: 0;
  border: 0;
  color: var(--pw-main-dark);
  font-size: clamp(19px, 2vw, 23px);
  line-height: 1.4;
}

.pw-managed-content .pw-voice-interview-item h2,
.pw-managed-content .pw-voice-interview-item h3 {
  padding: 0;
  border: 0;
  color: var(--pw-main-dark);
}

.pw-voice-interview-item p:last-child {
  margin-bottom: 0;
}

.pw-feature-card-number {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--pw-main-dark);
  font-size: 16px;
  font-weight: 900;
}

.pw-feature-detail-copy .pw-feature-card-number {
  align-items: center;
  width: fit-content;
  min-height: 34px;
  padding: 5px 12px;
  color: #fff;
  background: var(--pw-main-strong);
  border: 1px solid var(--pw-main-strong);
  border-radius: 10px;
  font-size: 18px;
  line-height: 1.2;
}

.pw-feature-card h3 {
  margin: 0 0 10px;
}

.pw-feature-card p {
  margin: 0;
}

.pw-feature-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
  counter-reset: feature-flow;
}

.pw-feature-flow-item {
  position: relative;
  padding: 22px 18px;
  background: #fff;
  border: 0;
  border-left: 4px solid #efb6ca;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(48, 40, 45, 0.06);
}

.pw-feature-flow-item::before {
  counter-increment: feature-flow;
  content: "0" counter(feature-flow);
  display: block;
  margin-bottom: 12px;
  color: var(--pw-main-dark);
  font-size: 22px;
  font-weight: 900;
  line-height: 1.1;
}

.pw-feature-flow-item h3 {
  margin: 0 0 8px;
  font-size: 19px;
}

.pw-feature-flow-item p {
  margin: 0;
  font-size: 16px;
}

.pw-feature-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: clamp(34px, 6vw, 64px);
  padding: clamp(24px, 5vw, 42px);
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 24px;
}

.pw-feature-cta h2 {
  font-size: var(--pw-h2-size);
}

.pw-feature-cta p {
  margin: 10px 0 0;
}

.pw-page h1 {
  max-width: var(--pw-width);
  margin-bottom: 18px;
  font-size: var(--pw-h1-size);
}

.pw-section-head {
  max-width: 760px;
  margin-bottom: 30px;
}

.pw-section-head p:not(.pw-label) {
  color: var(--pw-muted);
}

.pw-section h2,
.pw-band h2 {
  margin: 0;
  font-size: var(--pw-h2-size);
  line-height: 1.25;
}

.pw-grid,
.pw-price-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}

.pw-grid article,
.pw-price-grid article,
.pw-note,
.pw-contact-box {
  position: relative;
  overflow: hidden;
  padding: 24px;
  background: var(--pw-card);
  border: 1px solid var(--pw-neutral-line);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.06);
}

.pw-grid--menu article:nth-child(3n + 2),
.pw-price-grid article:nth-child(3n + 2) {
  background: #fbfbfc;
}

.pw-grid--menu article:nth-child(3n),
.pw-price-grid article:nth-child(3n) {
  background: #fffdf8;
}

.pw-grid span {
  color: var(--pw-main-dark);
  font-weight: 900;
}

.pw-grid h2,
.pw-grid h3,
.pw-price-grid h2,
.pw-note h2,
.pw-contact-box h2 {
  margin-top: 8px;
  line-height: 1.35;
}

.pw-grid p,
.pw-price-grid p,
.pw-note p,
.pw-contact-box p {
  color: var(--pw-muted);
}

.pw-grid a {
  color: var(--pw-main-dark);
  font-weight: 900;
}

.pw-home-feature-grid,
.pw-home-consult-grid,
.pw-home-flow {
  display: grid;
  gap: 18px;
}

.pw-home-feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pw-home-feature-grid article,
.pw-home-consult-grid article,
.pw-home-flow article,
.pw-home-price-note {
  position: relative;
  overflow: hidden;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.06);
}

.pw-home-feature-grid h3,
.pw-home-consult-grid h3,
.pw-home-flow h3 {
  margin: 0 0 10px;
  color: var(--pw-ink);
  font-size: clamp(20px, 2.1vw, 24px);
  line-height: 1.35;
}

.pw-home-feature-grid p,
.pw-home-consult-grid p,
.pw-home-flow p,
.pw-home-split p,
.pw-home-price-note span {
  color: var(--pw-muted);
  line-height: 1.85;
}

.pw-home-section-action {
  display: flex;
  justify-content: center;
  margin-top: 26px;
}

.pw-home-features .pw-home-section-action .pw-button--ghost {
  padding-right: 48px;
  color: #fff;
  background: linear-gradient(180deg, #e994b3, #d96f9a);
  border-color: #d96f9a;
  box-shadow: 0 14px 30px rgba(217, 111, 154, 0.24);
}

.pw-home-features .pw-home-section-action .pw-button--ghost::after {
  content: "→";
  position: absolute;
  right: 18px;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
}

.pw-home-features .pw-home-section-action .pw-button--ghost:visited,
.pw-home-features .pw-home-section-action .pw-button--ghost:hover,
.pw-home-features .pw-home-section-action .pw-button--ghost:focus,
.pw-home-features .pw-home-section-action .pw-button--ghost:focus-visible,
.pw-home-features .pw-home-section-action .pw-button--ghost:active {
  color: #fff;
}

.pw-home-image-slot,
.pw-home-large-image {
  display: block;
  overflow: hidden;
  margin: 0;
}

.pw-home-image-slot {
  aspect-ratio: 16 / 9;
  margin-bottom: 18px;
  border-radius: 16px;
}

.pw-home-large-image {
  aspect-ratio: 16 / 9;
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(48, 40, 45, 0.06);
}

.pw-home-image-slot img,
.pw-home-large-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pw-home-split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.8fr);
  gap: clamp(28px, 5vw, 58px);
  align-items: center;
}

.pw-home-split--reverse {
  grid-template-columns: minmax(420px, 0.8fr) minmax(0, 0.95fr);
}

.pw-home-split h2 {
  margin: 0;
  font-size: var(--pw-h2-size);
  line-height: 1.25;
}

.pw-home-checks {
  display: grid;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.pw-home-checks li {
  position: relative;
  padding: 15px 18px 15px 44px;
  color: var(--pw-ink);
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 15px;
  font-weight: 850;
  line-height: 1.65;
  box-shadow: 0 8px 22px rgba(48, 40, 45, 0.04);
}

.pw-home-checks li::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 1.18em;
  width: 10px;
  height: 10px;
  background: var(--pw-main-strong);
  border-radius: 50%;
}

.pw-home-plan,
.pw-home-consultation {
  background: #fff;
}

.pw-home-price-note {
  display: grid;
  gap: 8px;
  margin: 22px 0;
  color: inherit;
  padding-right: 58px;
  background: linear-gradient(135deg, #fff, #fff6f9);
  border-color: #edc3d3;
  box-shadow: 0 12px 30px rgba(159, 66, 103, 0.1);
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.pw-home-price-note--button {
  width: min(100%, 460px);
  min-height: 72px;
  margin: 0;
  align-content: center;
  padding: 18px 60px 18px 24px;
}

.pw-home-price-note::after {
  content: "→";
  position: absolute;
  right: 18px;
  bottom: 16px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #fff;
  background: var(--pw-main-strong);
  border-radius: 50%;
  font-size: 16px;
  font-weight: 900;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.pw-home-price-note:hover,
.pw-home-price-note:focus-visible {
  border-color: var(--pw-main);
  box-shadow: 0 18px 42px rgba(159, 66, 103, 0.14);
  transform: translateY(-2px);
}

.pw-home-price-note:hover::after,
.pw-home-price-note:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.pw-home-price-note strong,
.pw-home-consult-grid span,
.pw-home-flow span {
  color: var(--pw-main-dark);
  font-weight: 900;
}

.pw-home-price-note strong {
  font-size: 18px;
  line-height: 1.35;
}

.pw-home-price-note--button strong {
  font-size: 17px;
}

.pw-home-consult-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pw-home-consult-grid article {
  background: linear-gradient(180deg, #fff, #fbfbfc);
}

.pw-home-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  counter-reset: pw-home-flow;
}

.pw-home-flow article {
  overflow: visible;
}

.pw-home-flow article:not(:last-child)::after {
  content: none;
}

.pw-home-extra {
  background: #fff;
}

.pw-home-final-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(18px, 4vw, 34px);
  align-items: center;
  width: min(var(--pw-width), calc(100vw - 48px));
  margin: clamp(34px, 6vw, 64px) auto;
  padding: clamp(24px, 5vw, 42px);
  background: linear-gradient(135deg, #fff4f9, #ffe6f0);
  border: 1px solid #f0c1d3;
  border-radius: 24px;
}

.pw-home-final-cta h2 {
  margin: 0;
  color: var(--pw-ink);
  font-size: var(--pw-h2-size);
  line-height: 1.35;
}

.pw-home-final-cta p:not(.pw-lp-cta-label) {
  margin: 12px 0 0;
  color: var(--pw-muted);
  line-height: 1.8;
}

.pw-contact-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.68fr);
  gap: clamp(22px, 4vw, 44px);
  align-items: center;
  margin-top: 24px;
  padding: clamp(22px, 4vw, 42px) clamp(24px, 5vw, 48px);
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 26px;
  box-shadow: 0 12px 32px rgba(48, 40, 45, 0.06);
}

.pw-contact-intro h2 {
  margin-top: 0;
  font-size: clamp(28px, 3.4vw, 38px);
}

.pw-contact-intro p {
  margin: 14px 0 0;
  color: var(--pw-muted);
  font-size: 16px;
  line-height: 1.9;
}

.pw-contact-intro ul {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.pw-contact-intro li {
  position: relative;
  padding-left: 22px;
  color: var(--pw-ink);
  font-weight: 800;
  line-height: 1.7;
}

.pw-contact-intro li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 8px;
  height: 8px;
  background: var(--pw-main);
  border-radius: 50%;
}

.pw-price {
  color: var(--pw-main-dark);
  font-size: 28px;
  font-weight: 900;
}

.pw-column-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(200px, 240px);
  column-gap: clamp(24px, 3vw, 32px);
  row-gap: 32px;
  align-items: start;
}

.pw-column-main {
  min-width: 0;
  max-width: 100%;
}

.pw-column-category-image {
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 0 clamp(9px, 1.5vw, 14px);
  border-radius: 18px;
}

.pw-column-category-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pw-column-category-eyecatch {
  --pw-category-eyecatch-border-width: clamp(5px, 1.5625vw, 20px);
  --pw-category-eyecatch-frame-radius: clamp(10px, 2.4vw, 30px);
  container-type: inline-size;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 0 clamp(9px, 1.5vw, 14px);
  padding: clamp(22px, 5vw, 56px);
  background: #fff;
  border: 0;
  border-radius: 18px;
  text-align: center;
}

.pw-column-category-eyecatch::before,
.pw-column-category-eyecatch::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.pw-column-category-eyecatch::before {
  inset: 1.94444% 1.09375%;
  box-sizing: border-box;
  background: #fff;
  border: var(--pw-category-eyecatch-border-width) solid #e85d93;
  border-radius: var(--pw-category-eyecatch-frame-radius);
}

.pw-column-category-eyecatch::after {
  display: none;
}

.pw-column-category-eyecatch-inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(5px, 0.9vw, 10px);
  justify-items: center;
  line-height: 1.08;
}

.pw-column-category-eyecatch-title {
  color: var(--pw-emphasis-pink);
  font-size: clamp(32px, 9.4vw, 124px);
  font-weight: 900;
  letter-spacing: 0;
}

.pw-column-category-eyecatch-subtitle {
  color: var(--pw-ink);
  font-size: clamp(16px, 4.7vw, 62px);
  font-weight: 900;
  letter-spacing: 0;
}

@supports (font-size: 1cqw) {
  .pw-column-category-eyecatch {
    --pw-category-eyecatch-border-width: clamp(5px, 1.5625cqw, 20px);
    --pw-category-eyecatch-frame-radius: clamp(10px, 2.4cqw, 30px);
  }

  .pw-column-category-eyecatch-inner {
    gap: clamp(5px, 0.9cqw, 10px);
  }

  .pw-column-category-eyecatch-title {
    font-size: clamp(32px, 9.4cqw, 124px);
  }

  .pw-column-category-eyecatch-subtitle {
    font-size: clamp(16px, 4.7cqw, 62px);
  }
}

.pw-column-category-eyecatch--card {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  margin: 0;
  padding: clamp(8px, 1.6vw, 18px);
  border-radius: 12px;
}

.pw-column-category-eyecatch--card::before {
  inset: 2px;
  box-sizing: border-box;
  background: #fff;
  border: 4px solid #e85d93;
  border-radius: 10px;
}

.pw-column-category-eyecatch--card::after {
  display: none;
}

.pw-column-category-eyecatch--card .pw-column-category-eyecatch-inner {
  gap: clamp(2px, 0.7vw, 6px);
  line-height: 1.15;
}

.pw-column-category-eyecatch--card .pw-column-category-eyecatch-title {
  font-size: clamp(14px, 2vw, 24px);
}

.pw-column-category-eyecatch--card .pw-column-category-eyecatch-subtitle {
  font-size: clamp(9px, 1vw, 13px);
}

@supports (font-size: 1cqw) {
  .pw-column-category-eyecatch--card .pw-column-category-eyecatch-title {
    font-size: clamp(14px, 13cqw, 24px);
  }

  .pw-column-category-eyecatch--card .pw-column-category-eyecatch-subtitle {
    font-size: clamp(9px, 5.8cqw, 13px);
  }
}

.pw-column-block-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 9px;
}

.pw-column-block-cards--single {
  grid-template-columns: 1fr;
}

.pw-column-block-cards--four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pw-column-block-cards--four .pw-column-block-card {
  grid-template-columns: minmax(104px, 32%) minmax(0, 1fr);
  gap: 8px;
}

.pw-column-block-card {
  display: grid;
  grid-template-columns: minmax(150px, 28%) minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 18px;
  box-shadow: 0 8px 26px rgba(48, 40, 45, 0.05);
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.pw-column-block-card--shortcode {
  color: inherit;
  text-decoration: none;
}

.pw-column-block-card--shortcode:focus-visible {
  outline: 3px solid rgba(228, 94, 142, 0.3);
  outline-offset: 4px;
}

.pw-column-block-card::after {
  content: "→";
  position: absolute;
  right: 18px;
  bottom: 16px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #fff;
  background: var(--pw-main-strong);
  border-radius: 50%;
  font-size: 16px;
  font-weight: 900;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  pointer-events: none;
}

.pw-column-block-cards:not(.pw-column-block-cards--single):not(.pw-column-block-cards--four) .pw-column-block-card {
  grid-template-columns: 1fr;
}

.pw-column-block-card:hover,
.pw-column-block-card:focus-within {
  background: #fffdf8;
  border-color: var(--pw-main);
  box-shadow: 0 18px 42px rgba(159, 66, 103, 0.14);
  transform: translateY(-2px);
}

.pw-column-block-card:hover::after,
.pw-column-block-card:focus-within::after {
  opacity: 1;
  transform: translateY(0);
}

.pw-column-block-image {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  margin: 0;
  border-radius: 12px;
}

.pw-column-block-card .pw-column-block-image {
  margin: 0;
}

.pw-column-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pw-column-block-card-body {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.pw-column-block-card .pw-column-block-card-body {
  position: static;
}

.pw-column-block-card .pw-column-block-card-body {
  padding-right: 36px;
}

.pw-column-block-title {
  margin: 0 0 8px;
  color: var(--pw-ink);
  display: block;
  font-size: clamp(20px, 2.4vw, 25px);
  font-weight: 900;
  line-height: 1.35;
}

.pw-column-block-cards--four .pw-column-block-title {
  font-size: clamp(18px, 1.8vw, 21px);
}

.pw-column-block-card-body p,
.pw-column-block-text {
  margin: 0;
  color: var(--pw-muted);
  display: -webkit-box;
  font-size: 15px;
  line-height: 1.75;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.pw-column-block-cards--four .pw-column-block-card-body p,
.pw-column-block-cards--four .pw-column-block-text {
  font-size: 14.5px;
}

.pw-column-block-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  max-width: 100%;
  min-height: 42px;
  margin-top: 14px;
  padding: 10px 16px;
  color: #fff;
  background: var(--pw-main-strong);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-align: center;
  white-space: normal;
  text-decoration: none;
}

.pw-column-block-card .pw-column-block-button .wp-block-button__link {
  position: static;
  min-height: auto;
  margin-top: 12px;
  padding: 0;
  color: var(--pw-main-dark);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
}

.pw-column-block-card .pw-column-block-button .wp-block-button__link::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0;
  right: auto;
  bottom: auto;
  display: block;
  width: auto;
  height: auto;
  background: transparent;
  border-radius: inherit;
  font-size: 0;
  cursor: pointer;
}

.pw-reading-path {
  margin: clamp(18px, 3vw, 30px) 0;
  padding: clamp(18px, 3vw, 28px);
  background: #fff8fb;
  border: 1px solid rgba(228, 94, 142, 0.24);
  border-radius: 18px;
}

.pw-reading-path__title {
  margin: 0;
  color: var(--pw-ink);
  font-size: clamp(22px, 2.4vw, 29px);
  font-weight: 900;
  line-height: 1.35;
}

.pw-reading-path__lead {
  margin: 8px 0 0;
  color: var(--pw-muted);
  font-size: 15.5px;
  line-height: 1.8;
}

.pw-reading-path__list {
  position: relative;
  display: grid;
  gap: 54px;
  list-style: none;
  margin: clamp(16px, 2.4vw, 22px) 0 0;
  padding: 0;
}

.pw-reading-path__item {
  position: relative;
  margin: 0;
  padding: 0;
}

.pw-reading-path__item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -46px;
  z-index: 2;
  width: 0;
  height: 0;
  border-left: 32px solid transparent;
  border-right: 32px solid transparent;
  border-top: 38px solid var(--pw-main-strong);
  filter: drop-shadow(0 8px 14px rgba(228, 94, 142, 0.28));
  transform: translateX(-50%);
}

.pw-reading-path__card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) minmax(140px, 24%);
  gap: 13px;
  align-items: center;
  min-height: 102px;
  padding: 12px 14px;
  color: inherit;
  background: #fff;
  border: 1px solid rgba(228, 94, 142, 0.18);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(159, 66, 103, 0.08);
  text-decoration: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.pw-reading-path__card:hover,
.pw-reading-path__card:focus-visible {
  border-color: var(--pw-main);
  box-shadow: 0 18px 40px rgba(159, 66, 103, 0.15);
  transform: translateY(-2px);
  outline: none;
}

.pw-reading-path__number {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: #fff;
  background: var(--pw-main-strong);
  border-radius: 50%;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(228, 94, 142, 0.24);
}

.pw-reading-path__body {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.pw-reading-path__article {
  color: var(--pw-ink);
  font-size: clamp(17px, 1.8vw, 21px);
  font-weight: 900;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pw-reading-path__summary {
  color: var(--pw-muted);
  font-size: 14.5px;
  line-height: 1.7;
}

.pw-reading-path__image {
  overflow: hidden;
  margin: 0;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
}

.pw-reading-path__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 760px) {
  .pw-reading-path {
    padding: 16px;
  }

  .pw-reading-path__list {
    gap: 46px;
  }

  .pw-reading-path__item:not(:last-child)::after {
    left: 50%;
    bottom: -39px;
    border-left-width: 26px;
    border-right-width: 26px;
    border-top-width: 31px;
  }

  .pw-reading-path__card {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
    padding: 12px;
  }

  .pw-reading-path__number {
    width: 44px;
    height: 44px;
    font-size: 15px;
  }

  .pw-reading-path__image {
    grid-column: 2;
    max-width: 260px;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .pw-reading-path__image {
    display: none;
  }
}

.pw-start-guide {
  display: grid;
  gap: clamp(9px, 1.8vw, 16px);
  margin: 0 0 clamp(17px, 3vw, 29px);
}

.pw-start-guide-section {
  min-width: 0;
}

.pw-start-guide-section p {
  margin: 7px 0 0;
  color: var(--pw-muted);
  font-size: 18px;
  line-height: 1.9;
}

.pw-start-speech {
  --pw-speech-bg: #eefbff;
  --pw-speech-border: #d8f1f7;
  --pw-speech-text: #4d6872;

  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  grid-template-areas: "person bubble";
  gap: 10px;
  align-items: start;
  margin-top: 11px;
}

.pw-start-speech--pink {
  --pw-speech-bg: #fff1f7;
  --pw-speech-border: #ffd2e4;
  --pw-speech-text: #714858;
}

.pw-start-speech--yellow {
  --pw-speech-bg: #fff8df;
  --pw-speech-border: #f1df9a;
  --pw-speech-text: #6d5b24;
}

.pw-start-speech--green {
  --pw-speech-bg: #f0fbf1;
  --pw-speech-border: #d6efd9;
  --pw-speech-text: #47624d;
}

.pw-start-speech--orange {
  --pw-speech-bg: #fff3e8;
  --pw-speech-border: #f4d4b8;
  --pw-speech-text: #744e2c;
}

.pw-start-speech--gray {
  --pw-speech-bg: #f7f7f8;
  --pw-speech-border: #e4e4e7;
  --pw-speech-text: #52525b;
}

.pw-start-speech--reverse {
  grid-template-columns: minmax(0, 1fr) 72px;
  grid-template-areas: "bubble person";
}

.pw-start-speech-person {
  display: grid;
  grid-area: person;
  gap: 6px;
  justify-items: center;
  min-width: 0;
}

.pw-start-speech-icon {
  display: block;
  overflow: hidden;
  width: 72px;
  aspect-ratio: 1 / 1;
  background: transparent;
  border: 0;
  border-radius: 12px;
}

.pw-start-speech-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pw-start-speech-name {
  display: block;
  max-width: 72px;
  color: #745b65;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-align: center;
}

.pw-start-speech-bubble {
  position: relative;
  grid-area: bubble;
  min-height: 72px;
  padding: 16px 18px;
  background: var(--pw-speech-bg);
  border: 1px solid var(--pw-speech-border);
  border-radius: 12px;
}

.pw-start-speech-bubble::before {
  content: "";
  position: absolute;
  top: 18px;
  left: -10px;
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-right: 10px solid var(--pw-speech-bg);
  border-bottom: 9px solid transparent;
}

.pw-start-speech--reverse .pw-start-speech-bubble::before {
  right: -10px;
  left: auto;
  border-right: 0;
  border-left: 10px solid var(--pw-speech-bg);
}

.pw-start-speech-bubble p {
  margin: 0;
  color: var(--pw-speech-text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
}

.pw-start-toc {
  padding: 24px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.05);
}

.pw-start-toc h2 {
  margin-top: 0;
}

.pw-start-toc ol {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding-left: 1.4em;
}

.pw-start-toc a {
  color: var(--pw-ink);
  font-weight: 800;
  text-decoration: none;
}

.pw-start-toc a:hover,
.pw-start-toc a:focus-visible {
  color: var(--pw-main-dark);
  text-decoration: underline;
  text-decoration-color: var(--pw-main);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.pw-start-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.pw-start-benefits p {
  margin: 0;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 14px;
  color: var(--pw-ink);
  font-weight: 800;
  line-height: 1.7;
}

.pw-start-reading-list {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.pw-start-reading-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, 28%) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  overflow: hidden;
  padding: 18px;
  color: inherit;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 18px;
  text-decoration: none;
  box-shadow: 0 8px 26px rgba(48, 40, 45, 0.05);
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.pw-start-reading-card:hover,
.pw-start-reading-card:focus-visible {
  background: #fffdf8;
  border-color: var(--pw-main);
  box-shadow: 0 18px 42px rgba(159, 66, 103, 0.14);
  transform: translateY(-2px);
}

.pw-start-reading-card::after {
  content: "→";
  position: absolute;
  right: 18px;
  bottom: 16px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #fff;
  background: var(--pw-main-strong);
  border-radius: 50%;
  font-size: 16px;
  font-weight: 900;
}

.pw-start-reading-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
}

.pw-start-reading-body {
  min-width: 0;
  padding-right: 36px;
}

.pw-start-reading-body h3 {
  margin: 0 0 8px;
  color: var(--pw-ink);
  font-size: clamp(20px, 2.4vw, 25px);
  line-height: 1.35;
}

.pw-start-reading-body p {
  margin: 0;
  color: var(--pw-muted);
  font-size: 15px;
  line-height: 1.8;
}

.pw-start-reading-body span {
  display: inline-block;
  margin-top: 12px;
  color: var(--pw-main-dark);
  font-size: 14px;
  font-weight: 900;
}

.pw-column-sidebar {
  position: sticky;
  top: 96px;
  align-self: start;
  display: grid;
  gap: 12px;
  height: fit-content;
}

.pw-column-sidebox--nav {
  z-index: 2;
}

.pw-column-sidebox {
  padding: 16px;
  background: #fbfbfc;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 16px;
}

.pw-column-sidebox-title {
  margin: 0 0 14px;
  color: var(--pw-main-dark);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.pw-column-sidebox h3 {
  margin: 18px 0 8px;
  color: var(--pw-main-dark);
  font-size: 13px;
  font-weight: 900;
}

.pw-column-sidebox ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pw-column-sidebox li {
  margin: 0;
  padding: 0;
}

.pw-column-sidebox a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  color: #58444f;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 12px;
  color: #58444f;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

.pw-column-sidebox a:hover,
.pw-column-sidebox a:focus-visible {
  color: var(--pw-main-dark);
}

.pw-column-sidebox a.is-current {
  color: var(--pw-main-dark);
  background:
    linear-gradient(90deg, rgba(244, 142, 177, 0.16), rgba(255, 255, 255, 0.96)),
    #fff;
  border-color: var(--pw-main);
  box-shadow: 0 10px 24px rgba(159, 66, 103, 0.12);
}

.pw-column-sidebox a.is-current::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
  width: 4px;
  background: var(--pw-main-strong);
  border-radius: 0 999px 999px 0;
}

.pw-column-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 24px;
}

.pw-column-tags a {
  padding: 6px 10px;
  color: var(--pw-main-dark);
  background: var(--pw-soft);
  border: 1px solid var(--pw-line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.pw-article-hero-image {
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 0 clamp(11px, 2vw, 17px);
  border-radius: 18px;
}

.pw-article-hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pw-article-toc {
  margin: 12px 0 16px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--pw-neutral-line);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(48, 40, 45, 0.05);
}

.pw-article-toc .pw-article-toc-title {
  margin: 0 0 10px;
  color: var(--pw-ink);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.35;
}

.pw-article-toc ol {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pw-article-toc li {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 8px;
  padding: 5px 6px;
  color: var(--pw-main-dark);
  font-weight: 800;
  line-height: 1.55;
}

.pw-article-toc-number {
  text-align: right;
}

.pw-article-toc-level-3 {
  margin-left: 22px;
  font-size: 0.95em;
}

.pw-article-toc-level-4,
.pw-article-toc-level-5,
.pw-article-toc-level-6 {
  margin-left: 44px;
  font-size: 0.9em;
}

.pw-article-toc a {
  color: var(--pw-ink);
  text-decoration: none;
}

.pw-article-toc a:hover,
.pw-article-toc a:focus-visible {
  color: var(--pw-main-dark);
  text-decoration: underline;
  text-decoration-color: var(--pw-main);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.pw-lp-cta-label {
  margin: 0 0 8px;
  color: var(--pw-main-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pw-lp-cta {
  padding: 18px;
  background: linear-gradient(135deg, #fff, var(--pw-soft));
  border: 1px solid var(--pw-line);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(159, 66, 103, 0.1);
}

.pw-lp-cta-title {
  margin: 0;
  color: var(--pw-ink);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.45;
}

.pw-lp-cta-text {
  margin: 7px 0 12px;
  color: var(--pw-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
}

.pw-lp-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  color: #fff;
  background: var(--pw-main-strong);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(217, 111, 154, 0.22);
}

.pw-lp-cta a:hover,
.pw-lp-cta a:focus-visible {
  background: var(--pw-main-dark);
}

.pw-lp-cta-button-label--mobile {
  display: none;
}

.pw-article-header {
  max-width: 100%;
  margin-bottom: clamp(24px, 4vw, 42px);
}

.pw-article-header h1 {
  max-width: var(--pw-width);
  margin: 0 0 16px;
  font-size: var(--pw-h1-size);
  line-height: 1.28;
}

.pw-article-title__catch,
.pw-article-title__main {
  display: block;
}

.pw-article-title__catch {
  white-space: nowrap;
}

.pw-note,
.pw-contact-box {
  margin-top: 24px;
}

.pw-contact-box input,
.pw-contact-box select,
.pw-contact-box textarea {
  width: 100%;
  padding: 12px 14px;
  color: var(--pw-ink);
  background: #fff;
  border: 1px solid var(--pw-line);
  border-radius: 12px;
  font: inherit;
}

.pw-contact-box label {
  display: grid;
  gap: 7px;
  margin: 0 0 16px;
  color: var(--pw-ink);
  font-weight: 800;
  line-height: 1.5;
}

.pw-contact-box .wpcf7-form {
  display: grid;
  gap: 14px;
  margin: 0;
}

.pw-contact-box .wpcf7-form p {
  margin: 0;
}

.pw-contact-box .wpcf7-list-item {
  margin: 0 18px 0 0;
}

.pw-contact-box .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  font-weight: 700;
}

.pw-contact-box .hidden-fields-container {
  display: none;
}

.pw-contact-box input[type="checkbox"],
.pw-contact-box input[type="radio"] {
  width: auto;
  margin: 0;
}

.pw-contact-box textarea {
  min-height: 8.6em;
  resize: vertical;
}

.pw-contact-box input[type="submit"] {
  width: auto;
  min-height: 48px;
  padding: 12px 24px;
  color: #fff;
  background: var(--pw-main-strong);
  border-color: var(--pw-main-strong);
  border-radius: 999px;
  font-weight: 900;
}

.pw-contact-box input[type="submit"]:hover,
.pw-contact-box input[type="submit"]:focus-visible {
  color: #fff;
  background: var(--pw-main-dark);
  border-color: var(--pw-main-dark);
}

.pw-contact-box .wpcf7-response-output {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  font-weight: 800;
}

.pw-band {
  max-width: var(--pw-width);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: clamp(32px, 6vw, 72px) auto;
  padding: clamp(32px, 5vw, 56px);
  background: #fff;
  border: 1px solid var(--pw-line);
  border-radius: 28px;
}

.pw-footer {
  padding: 0 20px;
  color: #6f5260;
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid var(--pw-line);
}

.pw-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  width: 100%;
  max-width: var(--pw-width);
  margin: 0 auto;
  padding: 30px 0 36px;
}

.pw-logo--footer {
  min-width: 0;
}

.pw-logo--footer .pw-logo-image {
  width: 34px;
  height: 34px;
}

.pw-logo--footer strong {
  font-size: 22px;
}

.pw-footer-brand p {
  margin: 0;
  color: rgba(48, 40, 45, 0.54);
  font-size: 12px;
  font-weight: 700;
}

.pw-footer-list {
  gap: 22px;
  flex-wrap: wrap;
  justify-content: flex-end;
  color: #58444f;
  font-size: 15px;
  font-weight: 800;
}

.pw-footer-list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  transition: color 0.18s ease;
}

.pw-footer-list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 2px;
  background: var(--pw-main);
  border-radius: 999px;
  opacity: 0;
  transform: scaleX(0.55);
  transform-origin: center;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.pw-footer-list a:hover,
.pw-footer-list a:focus-visible {
  color: var(--pw-main-dark);
}

.pw-footer-list a:hover::after,
.pw-footer-list a:focus-visible::after {
  opacity: 1;
  transform: scaleX(1);
}

.pw-article {
  max-width: none;
}

.pw-page h1,
.pw-article-header h1 {
  font-size: var(--pw-h1-size);
}

.pw-page h2,
.pw-section h2,
.pw-band h2,
.pw-managed-content h2 {
  width: 100%;
  margin-top: clamp(18px, 2.5vw, 26px);
  padding: 10px 0 10px 14px;
  border-top: 0;
  border-bottom: 3px solid var(--pw-main);
  border-left: 8px solid var(--pw-main-strong);
  color: var(--pw-ink);
  font-size: var(--pw-h2-size);
  line-height: 1.35;
}

.pw-managed-content h3 {
  margin: 14px 0 8px;
  padding-left: 0;
  color: var(--pw-main-dark);
  font-size: clamp(19px, 2vw, 23px);
  line-height: 1.4;
}

.pw-page h2:first-child,
.pw-section h2:first-child,
.pw-band h2:first-child,
.pw-managed-content h2:first-child {
  margin-top: 0;
}

@media (max-width: 980px) {
  .pw-home-slide {
    min-height: 420px;
  }

  .pw-home-slide-copy {
    max-width: min(620px, 82%);
  }

  .pw-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .pw-hero--home::before {
    top: auto;
    right: 24px;
    bottom: 36px;
    left: 24px;
    width: auto;
    height: 330px;
  }

  .pw-hero-visual {
    min-height: 440px;
  }

  .pw-hero-visual::before {
    right: 50%;
    bottom: 24px;
    width: min(74vw, 390px);
    height: 78%;
    transform: translateX(50%);
  }

  .pw-hero-visual img {
    width: min(78vw, 430px);
    max-height: 460px;
  }

  .pw-hero-message {
    left: max(0px, calc(50% - 250px));
  }

  .pw-hero-side {
    align-content: stretch;
  }

  .pw-feature-hero,
  .pw-feature-cards,
  .pw-feature-flow,
  .pw-course-hero,
  .pw-course-pillars,
  .pw-course-patterns,
  .pw-course-design-item,
  .pw-course-reason,
  .pw-home-feature-grid,
  .pw-home-consult-grid,
  .pw-home-flow,
  .pw-home-split,
  .pw-home-split--reverse,
  .pw-home-final-cta,
  .pw-voice-hero,
  .pw-voice-detail-hero,
  .pw-voice-summary,
  .pw-voice-cards,
  .pw-voice-cards--two,
  .pw-contact-intro,
  .pw-column-layout {
    grid-template-columns: 1fr;
  }

  .pw-feature-hero-image {
    justify-self: stretch;
    transform: none;
  }

  .pw-course-hero-image {
    justify-self: stretch;
    transform: none;
  }

  .pw-voice-hero-image {
    justify-self: stretch;
    transform: none;
  }

  .pw-voice-detail-hero-image {
    justify-self: stretch;
  }

  .pw-column-sidebar {
    position: static;
  }

  .pw-home-flow article:not(:last-child)::after {
    display: none;
  }
}

@media (max-width: 820px) {
  .pw-case-box__grid {
    gap: 34px;
    grid-template-columns: 1fr;
  }

  .pw-footer-inner,
  .pw-band {
    align-items: flex-start;
    flex-direction: column;
  }

  .pw-header {
    position: sticky;
    padding: 0 16px;
  }

  .pw-header-inner {
    align-items: center;
    flex-direction: row;
    gap: 10px;
    min-height: 64px;
    padding: 10px 0;
  }

  .pw-logo {
    gap: 10px;
    min-width: 0;
  }

  .pw-logo-image {
    width: 36px;
    height: 36px;
  }

  .pw-logo strong {
    font-size: 22px;
  }

  .pw-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    background: #fff;
    border: 1px solid var(--pw-neutral-line);
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(48, 40, 45, 0.06);
    cursor: pointer;
  }

  .pw-menu-toggle-bars,
  .pw-menu-toggle-bars span {
    display: block;
  }

  .pw-menu-toggle-bars {
    width: 20px;
  }

  .pw-menu-toggle-bars span {
    height: 2px;
    margin: 5px 0;
    background: var(--pw-main-dark);
    border-radius: 999px;
    transition: transform 0.18s ease, opacity 0.18s ease;
  }

  .pw-header.is-menu-open .pw-menu-toggle-bars span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .pw-header.is-menu-open .pw-menu-toggle-bars span:nth-child(2) {
    opacity: 0;
  }

  .pw-header.is-menu-open .pw-menu-toggle-bars span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .pw-header-menu {
    display: grid;
    flex-basis: 100%;
    order: 3;
    width: 100%;
    max-height: 0;
    margin-left: 0;
    overflow: hidden;
    gap: 12px;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.24s ease, opacity 0.18s ease, visibility 0.18s ease, padding 0.18s ease;
  }

  .pw-header.is-menu-open .pw-header-menu {
    max-height: calc(100dvh - 76px);
    overflow-y: auto;
    padding: 8px 0 6px;
    opacity: 1;
    visibility: visible;
  }

  .pw-footer-list {
    justify-content: flex-start;
  }

  .pw-nav,
  .pw-nav-list,
  .pw-header-actions {
    width: 100%;
  }

  .pw-nav {
    font-size: 15px;
    font-weight: 500;
  }

  .pw-header-actions {
    display: block;
    gap: 8px;
  }

  .pw-header-cta {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    white-space: normal;
  }

  .pw-nav-list {
    display: grid;
    gap: 8px;
  }

  .pw-nav-list a {
    display: flex;
    min-height: 44px;
    padding: 9px 12px;
    background: #fff;
    border: 1px solid var(--pw-neutral-line);
    border-radius: 12px;
    font-weight: 500;
    white-space: normal;
  }

  .pw-nav-list a.is-current {
    background: var(--pw-soft);
    border-color: var(--pw-main);
    font-weight: 600;
  }

  .pw-nav-list a::after {
    display: none;
  }

  .pw-page {
    width: 100%;
    padding-right: 18px;
    padding-left: 18px;
  }

  .pw-feature-hero,
  .pw-course-hero,
  .pw-voice-hero,
  .pw-contact-intro {
    gap: 18px;
    padding: 22px;
    border-radius: 20px;
  }

  .pw-feature-hero .pw-feature-hero-catch {
    font-size: 22px;
  }

  .pw-course-hero .pw-course-hero-catch {
    font-size: 22px;
  }

  .pw-voice-hero .pw-voice-hero-catch {
    font-size: 22px;
  }

  .pw-column-layout {
    row-gap: 22px;
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
  }

  .pw-column-sidebar {
    gap: 14px;
  }

  .pw-column-sidebox--nav {
    display: none;
  }

  .pw-column-sidebox,
  .pw-lp-cta {
    padding: 16px;
    border-radius: 16px;
  }

  .pw-column-sidebar .pw-lp-cta--side {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: calc(14px + env(safe-area-inset-bottom));
    left: max(16px, env(safe-area-inset-left));
    z-index: 30;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
  }

  .pw-column-sidebar .pw-lp-cta--side .pw-lp-cta-title,
  .pw-column-sidebar .pw-lp-cta--side .pw-lp-cta-text {
    display: none;
  }

  .pw-column-sidebar .pw-lp-cta--side a {
    min-height: 52px;
    padding: 10px 16px;
    color: #fff;
    background: linear-gradient(180deg, #2fd148, #12a22a);
    border-radius: 12px;
    font-size: 19px;
    font-weight: 950;
    line-height: 1.25;
    box-shadow: 0 12px 26px rgba(18, 162, 42, 0.28);
  }

  .pw-column-sidebar .pw-lp-cta--side a:hover,
  .pw-column-sidebar .pw-lp-cta--side a:focus-visible {
    background: #0fa12b;
  }

  .pw-column-sidebar .pw-lp-cta--side .pw-lp-cta-button-label--desktop {
    display: none;
  }

  .pw-column-sidebar .pw-lp-cta--side .pw-lp-cta-button-label--mobile {
    display: inline;
  }

  .pw-column-sidebar .pw-lp-cta--side .pw-lp-cta-button-free {
    color: #ffe45a;
  }

  .pw-column-block-card {
    align-items: start;
  }

  .pw-footer-inner {
    gap: 18px;
  }

  .pw-hero h1 {
    font-size: var(--pw-h1-size);
  }

  .pw-hero--home h1 {
    font-size: clamp(40px, 11vw, 56px);
  }

  .pw-stats span {
    flex: 1 1 140px;
  }

  .pw-feature-cta {
    align-items: flex-start;
    flex-direction: column;
  }

}

@media (max-width: 560px) {
  :root {
    --pw-h1-size: clamp(28px, 8vw, 36px);
    --pw-h2-size: clamp(20px, 6vw, 24px);
    --pw-h3-size: clamp(18px, 5vw, 21px);
  }

  .pw-page {
    padding-top: 16px;
    padding-right: 14px;
    padding-left: 14px;
  }

  .pw-page h1,
  .pw-article-header h1 {
    font-size: 28px;
    line-height: 1.28;
  }

  .pw-article-title__catch {
    font-size: clamp(18px, 5.8vw, 1em);
  }

  .pw-page h2,
  .pw-section h2,
  .pw-band h2,
  .pw-managed-content h2 {
    padding: 8px 0 8px 11px;
    border-left-width: 7px;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: normal;
  }

  .pw-managed-content h3 {
    font-size: var(--pw-h3-size);
  }

  .pw-home-slider {
    width: 100%;
    padding-top: 10px;
    padding-bottom: 18px;
    touch-action: pan-y;
    --pw-slide-width: 100%;
    --pw-slide-gap: 0px;
    --pw-slide-offset: 0px;
  }

  .pw-home-slide {
    min-height: 318px;
  }

  .pw-home-slide h1 {
    max-width: 10em;
    font-size: clamp(24px, 7vw, 28px);
    line-height: 1.24;
    line-break: strict;
    white-space: nowrap;
    word-break: normal;
  }

  .pw-home-slide-lead {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 10px;
    font-size: 13.5px;
    line-height: 1.6;
    line-break: strict;
    word-break: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .pw-home-slide-copy {
    top: auto;
    right: 24px;
    bottom: 24px;
    left: 24px;
    max-width: none;
    padding: 18px;
    border-radius: 18px;
    transform: none;
  }

  .pw-home-slide-kicker {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.45;
  }

  .pw-home-slide-actions {
    gap: 8px;
    margin-top: 14px;
  }

  .pw-home-slide .pw-button,
  .pw-home-slide .pw-button:visited,
  .pw-home-slide .pw-button:hover,
  .pw-home-slide .pw-button:focus,
  .pw-home-slide .pw-button:focus-visible,
  .pw-home-slide .pw-button:active {
    width: min(200px, 100%);
    min-width: 0;
    min-height: 48px;
    padding: 12px 18px;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(217, 111, 154, 0.26);
    font-size: 16px;
  }

  .pw-home-slider-dots {
    margin-top: 10px;
  }

  .pw-home-slider-dots button {
    width: 9px;
    height: 9px;
  }

  .pw-home-slider-arrow {
    display: none;
  }

  .pw-home-slide-media::after {
    content: none;
  }

  .pw-home-slide--lp-feature .pw-home-slide-copy {
    top: 42px;
    right: 22px;
    bottom: auto;
    left: 22px;
    max-width: none;
    padding: 0;
  }

  .pw-home-slide--lp-feature h1 {
    font-size: clamp(32px, 9vw, 40px);
  }

  .pw-home-slide--lp-feature .pw-home-slide-title--lp-ruby {
    gap: 5px;
    font-size: clamp(34px, 9.6vw, 42px);
  }

  .pw-home-slide-title--lp-ruby .pw-home-slide-title-ruby-line {
    padding-top: 0.12em;
  }

  .pw-home-slide-ruby-text {
    top: -20%;
    font-size: 0.32em;
    transform: translate(-50%, -0.15em);
  }

  .pw-home-slide--lp-feature .pw-home-slide-lead {
    max-width: 18em;
    font-size: 14px;
    line-height: 1.65;
  }

  .pw-home-slide-lp-art::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.62) 66%, rgba(255, 255, 255, 0.1));
  }

  .pw-home-slide-media .pw-home-slide-lp-person {
    right: -20%;
    width: 66%;
    height: 92%;
    opacity: 1;
  }

  .pw-header {
    padding: 0 14px;
  }

  .pw-header-cta {
    flex-basis: auto;
    min-height: 52px;
  }

  .pw-hero--home {
    padding-top: 38px;
  }

  .pw-hero--home h1 {
    font-size: clamp(34px, 10vw, 44px);
  }

  .pw-hero--home::before {
    right: 16px;
    bottom: 24px;
    left: 16px;
    height: 270px;
    border-radius: 24px;
  }

  .pw-hero-lead {
    font-size: 16px;
    line-height: 1.8;
  }

  .pw-hero-tags span {
    flex: 1 1 calc(50% - 8px);
    justify-content: center;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 13px;
  }

  .pw-hero-visual {
    min-height: 360px;
  }

  .pw-hero-visual::before {
    width: 84vw;
    border-radius: 24px;
  }

  .pw-hero-visual img {
    width: min(86vw, 350px);
    max-height: 380px;
  }

  .pw-hero-message {
    top: 10px;
    left: 0;
    max-width: 220px;
    padding: 13px 14px;
  }

  .pw-start-benefits,
  .pw-start-reading-card,
  .pw-column-block-cards,
  .pw-column-block-cards--single,
  .pw-column-block-cards--four,
  .pw-column-block-card,
  .pw-column-block-cards:not(.pw-column-block-cards--single):not(.pw-column-block-cards--four) .pw-column-block-card {
    grid-template-columns: 1fr;
  }

  .pw-start-reading-body {
    padding-right: 32px;
  }

  .pw-start-reading-thumb {
    max-height: 220px;
  }

  .pw-start-speech {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 9px;
  }

  .pw-start-speech--reverse {
    grid-template-columns: minmax(0, 1fr) 48px;
  }

  .pw-start-speech-icon {
    width: 48px;
    border-radius: 10px;
  }

  .pw-start-speech-name {
    max-width: 48px;
    font-size: 12px;
    line-height: 1.2;
  }

  .pw-start-speech-bubble {
    min-height: 0;
    padding: 12px 13px;
  }

  .pw-start-speech-bubble p {
    font-size: 14px;
    line-height: 1.75;
  }

  .pw-article-toc {
    padding: 14px 12px;
    border-radius: 14px;
  }

  .pw-article-toc li {
    gap: 7px;
    padding: 4px;
  }

  .pw-article-toc-level-3 {
    margin-left: 14px;
  }

  .pw-article-toc-level-4,
  .pw-article-toc-level-5,
  .pw-article-toc-level-6 {
    margin-left: 28px;
  }

  .pw-feature-hero,
  .pw-course-hero,
  .pw-voice-hero,
  .pw-voice-detail-hero,
  .pw-contact-intro {
    gap: 12px;
    margin-bottom: 26px;
    padding: 0 0 18px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--pw-line);
    border-radius: 0;
    box-shadow: none;
  }

  .pw-feature-hero > .wp-block-group,
  .pw-course-hero > .wp-block-group,
  .pw-voice-hero > .wp-block-group,
  .pw-voice-detail-hero > .wp-block-group,
  .pw-contact-intro > div,
  .pw-home-split > div,
  .pw-home-split--reverse > div {
    display: contents;
  }

  .pw-feature-hero > .wp-block-group,
  .pw-course-hero > .wp-block-group,
  .pw-voice-hero > .wp-block-group,
  .pw-voice-detail-hero > .wp-block-group,
  .pw-contact-intro > div {
    display: block;
  }

  .pw-feature-hero h2,
  .pw-course-hero h2,
  .pw-voice-hero h2,
  .pw-contact-intro h2,
  .pw-home-split h2,
  .pw-home-split--reverse h2 {
    order: 1;
    margin: 0 0 10px;
  }

  .pw-feature-hero h2,
  .pw-course-hero h2,
  .pw-voice-hero h2,
  .pw-contact-intro h2 {
    padding-left: 13px;
    border-left: 5px solid var(--pw-main-strong);
    font-size: clamp(20px, 5.4vw, 22px);
    line-height: 1.35;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: normal;
  }

  .pw-feature-hero .pw-feature-hero-catch {
    order: 1;
    margin: 0 0 10px;
    padding-left: 0;
    border-left: 0;
    font-size: 16px;
    line-height: 1.45;
    overflow-wrap: normal;
    white-space: nowrap;
    word-break: keep-all;
  }

  .pw-course-hero .pw-course-hero-catch {
    order: 1;
    margin: 0 0 10px;
    padding-left: 0;
    border-left: 0;
    font-size: 16px;
    line-height: 1.45;
    overflow-wrap: normal;
    white-space: normal;
    word-break: keep-all;
  }

  .pw-voice-hero .pw-voice-hero-catch {
    order: 1;
    margin: 0 0 10px;
    padding-left: 0;
    border-left: 0;
    font-size: 16px;
    line-height: 1.45;
    overflow-wrap: normal;
    white-space: normal;
    word-break: keep-all;
  }

  .pw-feature-hero-image,
  .pw-course-hero-image,
  .pw-voice-hero-image,
  .pw-voice-detail-hero-image,
  .pw-voice-detail-inline-image,
  .pw-contact-intro-image,
  .pw-home-large-image {
    order: 2;
    margin: 0;
    border-radius: 12px;
  }

  .pw-contact-intro-image {
    display: none;
  }

  .pw-voice-hero-image,
  .pw-voice-detail-hero-image,
  .pw-course-hero-image {
    display: block;
  }

  .pw-feature-hero-image {
    display: block;
    width: min(100%, 360px);
    justify-self: start;
    overflow: visible;
    border-radius: 16px;
    transform: none;
  }

  .pw-feature-badge {
    display: none;
  }

  .pw-feature-hero p,
  .pw-course-hero p,
  .pw-voice-hero p,
  .pw-voice-detail-hero p,
  .pw-contact-intro p,
  .pw-home-split p,
  .pw-home-split--reverse p {
    order: 3;
  }

  .pw-feature-hero p,
  .pw-course-hero p,
  .pw-voice-hero p,
  .pw-voice-detail-hero p,
  .pw-contact-intro p {
    margin: 0;
    font-size: 16px;
    line-height: 1.85;
  }

  .pw-voice-detail-hero .pw-voice-detail-lead {
    font-size: 20px;
    line-height: 1.55;
  }

  .pw-feature-points,
  .pw-contact-intro ul,
  .pw-home-split .pw-actions,
  .pw-home-split--reverse .pw-actions,
  .pw-home-split .pw-home-price-note--button,
  .pw-home-split--reverse .pw-home-price-note--button {
    order: 4;
  }

  .pw-feature-card,
  .pw-feature-detail,
  .pw-feature-detail--reverse,
  .pw-home-feature-grid article,
  .pw-voice-card {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
  }

  .pw-feature-detail {
    padding-bottom: 24px;
  }

  .pw-feature-detail--reverse .pw-feature-detail-image,
  .pw-feature-detail--reverse .pw-feature-detail-copy {
    order: initial;
  }

  .pw-feature-detail-image {
    margin: 0;
  }

  .pw-feature-detail-copy {
    gap: 8px;
  }

  .pw-feature-card .pw-feature-card-number {
    display: none;
  }

  .pw-feature-card h3,
  .pw-home-feature-grid h3,
  .pw-voice-card h3 {
    order: 1;
    margin: 0;
  }

  .pw-feature-card-image,
  .pw-home-image-slot,
  .pw-voice-card-image {
    order: 2;
    margin: 0;
    border-radius: 12px;
  }

  .pw-feature-card p,
  .pw-home-feature-grid p,
  .pw-voice-card p {
    order: 3;
  }

  .pw-course-pattern {
    display: grid;
    gap: 10px;
    padding: 16px;
  }

  .pw-course-pattern .pw-feature-card-number {
    order: 1;
    display: inline-flex;
    margin: 0;
  }

  .pw-course-pattern h3 {
    order: 2;
    margin: 0;
  }

  .pw-course-pattern-image {
    order: 3;
    margin: 0;
    border-radius: 12px;
  }

  .pw-course-pattern-price {
    order: 4;
    margin: 2px 0 0;
  }

  .pw-course-pattern > p:not(.pw-feature-card-number):not(.pw-course-pattern-price) {
    order: 5;
  }

  .pw-course-pattern ul {
    order: 6;
    margin-top: 4px;
  }

  .pw-news-card {
    padding: 18px;
  }

  .pw-actions,
  .pw-button,
  .pw-header-cta {
    width: 100%;
  }

  .pw-header-actions {
    flex-direction: column;
  }

  .pw-column-block-card {
    grid-template-columns: 148px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    overflow: visible;
    margin-top: 24px;
    padding: 8px;
    border-radius: 13px;
  }

  .pw-managed-content .pw-column-block-card {
    margin-top: 24px;
  }

  .pw-column-block-card::before {
    content: "関連記事を読む";
    position: absolute;
    top: 0;
    left: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 9px;
    color: #fff;
    background: var(--pw-main-strong);
    border-radius: 10px 10px 0 0;
    box-shadow: 0 6px 14px rgba(159, 66, 103, 0.2);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    transform: translateY(-100%);
    pointer-events: none;
  }

  .pw-column-block-cards--four .pw-column-block-card,
  .pw-column-block-cards:not(.pw-column-block-cards--single):not(.pw-column-block-cards--four) .pw-column-block-card {
    grid-template-columns: 148px minmax(0, 1fr);
  }

  .pw-column-block-image {
    border-radius: 10px;
  }

  .pw-column-block-card .pw-column-block-card-body {
    padding-right: 0;
  }

  .pw-column-block-card::after {
    display: none;
  }

  .pw-column-block-title {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .pw-column-block-card-body p,
  .pw-column-block-text {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 5px;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .pw-column-block-card .pw-column-block-button {
    display: none;
  }

  .pw-contact-box {
    padding: 18px;
  }

  .pw-contact-box input,
  .pw-contact-box select,
  .pw-contact-box textarea {
    font-size: 16px;
  }
}

@media (max-width: 360px) {
  .pw-feature-hero .pw-feature-hero-catch {
    font-size: 16px;
    white-space: normal;
  }

  .pw-column-block-card,
  .pw-column-block-cards--four .pw-column-block-card,
  .pw-column-block-cards:not(.pw-column-block-cards--single):not(.pw-column-block-cards--four) .pw-column-block-card {
    grid-template-columns: 128px minmax(0, 1fr);
  }
}

.pw-column-page .pw-managed-content,
.pw-column-page .pw-managed-content > p,
.pw-column-page .pw-managed-content > ul > li,
.pw-column-page .pw-managed-content > ol > li,
.pw-column-page .pw-managed-content th,
.pw-column-page .pw-managed-content td,
.pw-column-page .pw-start-guide-section p,
.pw-column-page .pw-start-speech-bubble p,
.pw-column-page .pw-case-box__body,
.pw-column-page .pw-case-box__list li,
.pw-column-page .pw-case-box__teacher-text,
.pw-column-page .pw-alert-box p,
.pw-column-page .pw-alert-box li,
.pw-column-page .pw-target-box li,
.pw-column-page .pw-chapter-points li,
.pw-column-page .pw-flow__list > li {
  font-size: 18px;
}

@media (max-width: 560px) {
  .pw-column-page .pw-managed-content,
  .pw-column-page .pw-managed-content > p,
  .pw-column-page .pw-managed-content > ul > li,
  .pw-column-page .pw-managed-content > ol > li,
  .pw-column-page .pw-managed-content th,
  .pw-column-page .pw-managed-content td,
  .pw-column-page .pw-start-guide-section p,
  .pw-column-page .pw-start-speech-bubble p,
  .pw-column-page .pw-case-box__body,
  .pw-column-page .pw-case-box__list li,
  .pw-column-page .pw-case-box__teacher-text,
  .pw-column-page .pw-alert-box p,
  .pw-column-page .pw-alert-box li,
  .pw-column-page .pw-target-box li,
  .pw-column-page .pw-chapter-points li,
  .pw-column-page .pw-flow__list > li {
    font-size: 16px;
  }
}
