/**
 * Header & Hero (FV) - Bulma overrides only
 * Figma fileKey: oJVPiID30OvkRiZ3NU7ubb
 * Load after assets/css/bulma.css
 */

/* -------------------------------------------------------------------------
   Design tokens & Bulma primary override
   ------------------------------------------------------------------------- */
   :root {
    --color-cream: #F4DDC4;
    --color-cream-bg: #FEFDF9;
    --color-orange: #FB7F00;
    --color-brown: #492A02;
    --color-brown-dark: #482A1F;
    --color-yellow: #FFECAB;
    --color-white: #FFFFFF;
  
    --font-sans: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;
    --font-serif: "Noto Serif JP", serif;
  
    --hero-height: 566px;
  }
  
  /* Bulma primary = Figma orange #FB7F00 (hsl 28, 100%, 49%) */
  :root {
    --bulma-primary-h: 28deg;
    --bulma-primary-s: 100%;
    --bulma-primary-l: 49%;
    --bulma-primary-rgb: 251, 127, 0;
  }
  
  /* -------------------------------------------------------------------------
     Navbar (Header)
     ------------------------------------------------------------------------- */
  .navbar {
    background-color: var(--color-cream);
    min-height: 5rem;
  }
  
  .navbar .logo {
    height: 51px;
  }
  @media (max-width: 1220px) {
    .navbar {
      padding-left: 20px;
      padding-right: 20px;
    }
  }
  @media (min-width: 769px) {
    .navbar {
      height: 112px;
    }
    .navbar .logo {
      height: 92px;
      width: 137px;
    }
  }
  .hero__tagline-style,
  .navbar .navbar-item.has-text-weight-bold {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--color-brown);
  }
  
  .navbar .button.is-primary {
    font-family: var(--font-sans);
    font-weight: 700;
    padding: 14px 60px 14px 30px;
  }
  
  /* ãƒ˜ãƒƒãƒ€ãƒ¼ã‚¤ãƒ³ãƒŠãƒ¼ï¼šä¸Šä¸‹ä¸­å¤®æƒãˆãƒ»æœ€å¤§å¹…1200pxï¼ˆBulma .container ã® 1344px ã‚’ä¸Šæ›¸ãï¼‰ */
  .navbar > .container,
  .navbar > .container:not(.is-max-desktop):not(.is-max-widescreen) {
    align-items: center;
    max-width: 1200px;
  }
  @media (min-width: 769px) {
    .navbar > .container {
      display: flex!important;
    }
    .navbar .navbar-end {
        justify-content: flex-end;
        margin-inline-start: auto;
    }
  }
  /* -------------------------------------------------------------------------
     Hero section
     ------------------------------------------------------------------------- */
  .hero {
    position: relative;
    min-height: var(--hero-height);
    background-color: var(--color-cream-bg);
    overflow: hidden;
  }
  
  .hero__bg {
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: auto;
    pointer-events: none;
    z-index: 0;
  }
  
  .hero__bg-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center bottom;
  }
  
  .hero-body {
    position: relative;
    z-index: 1;
  }
  
  .hero-body > .container.hero__container {
    position: relative;
    max-width: 1200px;
  }
  
  .hero__columns {
    justify-content: space-between;
  }
  .hero__columns .hero__col-copy {
    flex: 0 0 auto;
    width: max-content;
    max-width: 100%;
    min-width: 0;
    position: relative;
  }
  .hero__columns .hero__col-visual {
    flex: 0 1 42%;
    min-width: 0;
  }
  
@media (min-width: 769px) {
  .hero__columns .hero__col-copy{
    padding-bottom: 80px;
  }
  .hero__columns .hero__col-copy::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 299px;
    height: 106px;
    background: url("../img/pet/kv-pet-pc.png") no-repeat center center;
    background-size: contain;
  }
}

  /* Hero typography */
  .hero .subtitle.hero__tagline {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.85;
    color: var(--color-orange);
  }
  
  .hero .title.hero__headline-wrap,
  .hero .title.hero__headline {
    font-family: var(--font-sans);
    color: var(--color-brown);
  }
  
  .hero .hero__headline-wrap {
    margin: 0;
    padding: 0;
  }
  
  .hero__col-copy .block {
    margin-left: 0;
    padding-left: 0;
  }
  .hero .hero__cta{
    padding: 12px 70px 12px 40px;
  }
  
  .hero__headline--highlight {
    font-weight: 900;
    font-size: 3rem;
    line-height: 1.68;
    white-space: nowrap;
  }
  
  .hero__headline-line {
    position: relative;
    display: inline-block;
  }
  
  .hero__headline-underline {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 30%;
    background: var(--color-yellow);
    z-index: 0;
    pointer-events: none;
  }
  .hero__headline-line01 .hero__headline-underline {
    margin-left: 10px;
    margin-right: 10px;
  }
  .hero__headline-line02 .hero__headline-underline {
    margin-right: 10px;
  }
  .hero__headline.hero__headline--highlight .hero__headline-line02{
      margin-left: 10px;
  }
  @media (min-width: 769px) {
    .hero__headline.hero__headline--highlight{
      margin-left: -20px;
    }
    .hero__headline.hero__headline--highlight .hero__headline-line02{
      margin-left: -30px;
    }
    .hero__headline-line01 .hero__headline-underline {
      margin-left: 20px;
    }
    .hero__headline-line02 .hero__headline-underline {
      margin-right: 20px;
    }
  }
  
  .hero__headline-text {
    position: relative;
    z-index: 1;
  }
  
  .hero__headline--sub {
    font-weight: 700;
    font-size: 2.5rem;
    line-height: 1.69;
  }
  
  .hero .content.hero__description {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.52;
    color: var(--color-brown);
    max-width: 670px;
  }
  
  .hero__cta {
    font-family: var(--font-sans);
    align-self: flex-start;
    margin-top: 0.5rem;
  }
  
  .hero__cta .icon.hero__cta-icon {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 8px;
    background-color: var(--color-white);
    color: var(--color-orange);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75em;
    margin-left: 0.5rem;
  }
  
  /* Hero visuals */
  .hero__visuals {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 1rem;
    min-height: 280px;
  }
  
  .hero__img {
    display: block;
    height: auto;
    object-fit: contain;
  }
  
  .hero__img--main {
    max-width: 100%;
    z-index: 2;
  }
  
  .hero__img--sp {
    display: none;
  }
  
  .hero__br-sp {
    display: none;
  }
  
  .hero__img--illus {
    max-width: 120px;
    opacity: 0.9;
  }
  /* -------------------------------------------------------------------------
     Responsive: max-width 768px (Bulma tablet breakpoint)
     ------------------------------------------------------------------------- */
  @media (max-width: 768px) {
    :root {
      --hero-height: auto;
    }
  
    .navbar {
      min-height: 4.5rem;
    }
  
    /* ã‚¹ãƒžãƒ›: ã‚¿ã‚°ãƒ©ã‚¤ãƒ³éžè¡¨ç¤ºã€ãƒ­ã‚´ã¨ãƒœã‚¿ãƒ³ã‚’æ¨ªä¸¦ã³ã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼å¸¸ã«è¡¨ç¤º */
    .hero__tagline-style {
      display: none !important;
    }
  
    .navbar > .container {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      justify-content: space-between;
      align-items: center;
      min-height: 4.5rem;
    }
  
    .navbar > .container > .navbar-brand {
      align-items: center;
    }
  
    /* ã‚¹ãƒžãƒ›: ãƒœã‚¿ãƒ³ã‚¨ãƒªã‚¢ï¼ˆ.navbar-menu ãªã—ã§ã‚‚ .navbar-end ã§è¡¨ç¤ºï¼‰ */
    .navbar > .container > .navbar-end {
      display: flex !important;
      flex-shrink: 0;
      align-items: center;
    }
  
    .navbar > .container > .navbar-end .navbar-item {
      align-items: center;
    }
  
    .navbar-item img {
      max-height: 2.5rem;
    }
  
    .navbar .navbar-item.has-text-weight-bold {
      font-size: 0.875rem;
    }
  
    .hero {
      min-height: auto;
    }
  
    .hero__columns {
      flex-direction: column;
      align-items: flex-start;
    }
    .hero__col-copy {
      width: 100%;
      max-width: 100%;
      position: relative;
    }
    .hero__col-copy .pet-img{
      position: absolute;
      bottom: 0;
      right: 0;
    }
  
    .hero__col-visual {
      max-width: 100%;
      width: 100%;
    }
  
    .hero__visuals {
      justify-content: flex-start;
    }
  
    .hero__br-sp {
      display: block;
    }
  
    .hero .subtitle.hero__tagline {
      font-size: 1rem;
      text-align: left;
    }
  
    .hero__headline--highlight {
      font-size: 1.75rem;
      line-height: 1.5;
      text-align: left;
      white-space: normal;
    }
  
    .hero__headline--sub {
      font-size: 1.5rem;
      text-align: left;
    }
  
    .hero .content.hero__description {
      font-size: 0.85rem;
      text-align: left;
      max-width: none;
      margin-bottom: 0;
    }
  
    .hero__cta {
      display: none !important;
    }
  
    .hero__visuals {
      min-height: 200px;
      gap: 0.75rem;
    }
  
    .hero__img--main {
      max-width: 100%;
    }
  
    .hero__img--pc {
      display: none;
    }
  
    .hero__img--sp {
      display: block;
    }
  
    .hero__img--illus {
      max-width: 80px;
    }
    .hero__col-copy .block{
      margin-bottom: 0.5rem;
    }
    .hero .hero__headline-wrap{
      margin-left: -8px;
    }
  }
  
  /* -------------------------------------------------------------------------
     Trust Section (ç§ãŸã¡ã®æƒ³ã„ã¨å®Ÿç¸¾)
     ------------------------------------------------------------------------- */
  .section.trust {
    background-color: var(--color-cream);
    padding: 5rem 1.5rem;
    overflow: hidden;
  }
  
  .trust__card {
    background-color: var(--color-cream-bg);
    border-radius: 40px;
    border: none;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    padding: 2.5rem 2rem;
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .trust__heading {
    margin-bottom: 1.5rem;
  }
  
  .trust__title {
    font-family: var(--font-sans);
    font-weight: 700;
    color: var(--color-orange);
    margin-bottom: 0.5rem;
  }
  
  .trust__subtitle {
    font-family: var(--font-sans);
    font-weight: 700;
    color: var(--color-brown);
    padding: 0 4px;
    display: inline-block;
    line-height: 1.5;
  }
  .trust__subtitle span{
    background: linear-gradient(transparent 70%, var(--color-yellow) 70%);
  }
  
  .trust__body {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--color-brown);
    margin-bottom: 2rem;
  }
  
  .trust__body p {
    margin-bottom: 0;
  }
  
  .trust__stats {
    margin-top: 0;
    margin-bottom: 0;
    align-items: stretch;
  }
  
  .trust__stat-col {
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }
  
  .trust__stat-col--divider {
    border-left: 1px solid rgba(0, 0, 0, 0.1);
  }
  
  .trust__stat-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    width: 100%;
    height: 100%;
    justify-content: flex-start;
  }
  
  .trust__stat-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background-position: center bottom  ;
    background-repeat: no-repeat;
    pointer-events: none;
  }
  .trust__stat-card--1 em{
    font-size: 60px;
    line-height: 1;
  }
  .trust__stat-card--1::before {
    background-image: url("../img/pet/trust-stat-1.svg");
    background-size: 150px 150px;
  }
  .trust__stat-card--2 em{
    font-size: 60px;
    line-height: 1;
  }
  .trust__stat-card--2::before {
    background-image: url("../img/pet/trust-stat-2.svg");
    background-size: 150px 150px;
  }
  
  .trust__stat-card--3::before {
    background-image: url("../img/pet/trust-stat-3.svg");
    background-size: 130px 130px;
  }
  
  .trust__stat-card .trust__stat-label,
  .trust__stat-card .trust__stat-value {
    position: relative;
    font-weight: bold;
    z-index: 1;
  }
  .trust__stat-card .trust__stat-value em{
    font-style: normal;
  }
  .trust__stat-label {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--color-brown);
    background-color: var(--color-yellow);
    border-radius: 9999px;
    display: inline-block;
    width: 150px;
    margin-bottom: 40px;
  }
  
  .trust__stat-value {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.4;
    color: var(--color-orange);
  }
  
  .trust__visuals .trust__img01{
    position: absolute;
    top: -41px;
    left: 0;
    width: 305px;
    height: 276px;
  }
  .trust__visuals .trust__img02{
    position: absolute;
    top: 87px;
    right: 35px;
    width: 230px;
    height: 236px;
  }
  
  .trust__img {
    display: block;
    width: auto;
    height: auto;
    object-fit: contain;
  }
  
  /* Trust section responsive */
  @media (max-width: 768px) {
    .section.trust {
      padding: 2rem 1rem;
    }
  
    .trust__card {
      padding: 1.5rem 1.25rem;
      border-radius: 24px;
    }
  
    .trust__stat-col--divider {
      border-left: none;
      border-top: 1px solid rgba(0, 0, 0, 0.1);
    }
  
    .trust__stats .column {
      padding-top: 1rem;
      padding-bottom: 1rem;
    }
  
    .trust__stat-col:first-child {
      padding-top: 0;
    }
  
    .trust__visuals {
      margin-top: 1.5rem;
      gap: 1rem;
    }
  
    .trust__img {
      max-width: 120px;
      max-height: 120px;
    }
    .trust__visuals .trust__img01{
      left: -45px;
    }
    .trust__visuals .trust__img02{
      top: -25px;
      right: -50px;
    }
    
  }
  
  /* -------------------------------------------------------------------------
     Reason Section (ãªãœä»Šã€Œãƒšãƒƒãƒˆé…µç´ æµ´ã€ãªã®ã‹ï¼Ÿ)
     ------------------------------------------------------------------------- */
  .section.reason {
    position: relative;
    background-color: var(--color-cream-bg);
    padding: 5rem 1.5rem;
    overflow: hidden;
    padding-top: 140px;
  }
  
  .reason__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 121px;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
  }
  /* hero__bg同様：モバイルでセクションのパディングを打ち消して全幅表示 */
  @media (max-width: 768px) {
    .reason__bg {
      width: calc(100% + 2rem);
      margin-left: -1rem;
    }
  }
  
  .reason__bg-image {
    display: block;
    width: 100%;
    min-width: 100%;
    height: auto;
    min-height: 121px;
    object-fit: cover;
    object-position: center top;
  }
  
  .section.reason .container {
    position: relative;
    z-index: 1;
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .reason__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 2rem;
  }
  
  .reason__title {
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 2rem;
    line-height: 1.5;
    color: var(--color-brown);
    margin: 0;
    text-align: center;
    padding: 0 4px;
    display: inline-block;
  }
  .reason__title span{
    margin: 40px 0 0 100px;
    background: linear-gradient(transparent 60%, var(--color-yellow) 60%); 
    position: relative;
  }
  .reason__title span::before{
    content: "";
    position: absolute;
    top: -38px;
    left: -100px;
    width: 105px;
    height: 105px;
    background-image: url("../img/pet/reason-ttl-bg.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
  }
  
  .reason__cards {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  
  .reason__card {
    border: none;
  }
  
  .reason__card-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
  }
  
  .reason__card-icon {
    display: block;
    width: 34px;
    height: auto;
    flex-shrink: 0;
  }
  
  .reason__card-title {
    font-family: var(--font-sans);
    font-weight: 700;
    color: var(--color-orange);
    margin: 0;
  }
  
  .reason__card-text {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--color-brown);
    margin: 0;
  }
  
  .reason__visual {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .reason__img {
    width: 100%;
    max-width: 380px;
    height: auto;
    object-fit: contain;
  }
  
  @media (max-width: 768px) {
    .section.reason {
      padding: 2rem 1rem;
    }
  
    .reason__title {
      font-size: 1.5rem;
    }
  
    .reason__heading {
      margin-bottom: 1.5rem;
    }
  
    .reason__columns {
      flex-direction: column;
    }
  
    .reason__col-visual {
      order: 0;
    }
  
    .reason__col-cards {
      order: 1;
    }
  
    .reason__cards {
      gap: 1rem;
    }
  
    .reason__visual {
      margin-bottom: 0.5rem;
    }
  
    .reason__img {
      max-width: 260px;
    }
    .reason__title span{
      margin: 40px 0 0 0;
    }
    .reason__title span::before{
      top: -38px;
      left: -150px;
    }
  }
  
  /* -------------------------------------------------------------------------
     Service Section 
     ------------------------------------------------------------------------- */
  .section.service {
    background-color: var(--color-cream-bg);
    padding: 5rem 1.5rem;
  }
  
  .section.service .container {
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .service__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 2rem;
  }
  
  .service__title {
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 2rem;
    color: var(--color-brown);
    margin: 0;
    text-align: center;
    background: linear-gradient(transparent 60%, var(--color-yellow) 60%);
    padding: 0 4px;
    display: inline-block;
  }
  
  .service__cards {
    margin-top: 0;
  }
  
  .service__card {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  
  .service__card-img {
    margin-bottom: 1rem;
  }
  
  .service__card-img img {
    display: block;
    width: 100%;
    max-width: 227px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
  }
  
  .service__card-title {
    font-family: var(--font-sans);
    font-weight: 700;
    color: var(--color-orange);
    margin: 0 0 0.5rem;
  }
  
  .service__card-text {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--color-brown);
    margin: 0;
    flex-grow: 1;
  }
  
  @media (max-width: 768px) {
    .section.service {
      padding: 2rem 1rem;
    }
  
    .service__title {
      font-size: 1.5rem;
    }
  
    .service__heading {
      margin-bottom: 1.5rem;
    }
  
    .service__cards .column {
      margin-bottom: 1rem;
    }
  }
  
  /* -------------------------------------------------------------------------
     Price Section (å°Žå…¥ã‚³ã‚¹ãƒˆãƒ—ãƒ©ãƒ³) - Figmaæº–æ‹ 
     ------------------------------------------------------------------------- */
  .section.price {
    background-color: var(--color-cream-bg);
    padding: 5rem 1.5rem;
  }
  
  .section.price .container {
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .price__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 2.5rem;
  }
  
  .price__title {
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 2rem; /* Figma 32px */
    color: var(--color-brown);
    margin: 0;
    text-align: center;
    background: linear-gradient(transparent 60%, var(--color-yellow) 60%);
    padding: 0 4px;
    display: inline-block;
  }
  
  .price__plans {
    margin-bottom: 3.5rem; /* Figma body gap 56px */
    margin-left: auto;
    margin-right: auto;
    max-width: 950px;
    justify-content: space-between;
  }
  
  .price__plans .column {
    max-width: 424px;
    flex: 0 1 424px;
  }
  
  .price__card {
    height: 100%;
    border: none;
    border-radius: 20px;
    box-shadow: -4px 4px 10px 0 rgba(196, 196, 196, 1); /* Figma effect_UMUO8E */
    padding: 0 0 2.5rem; /* Figma padding 0 0 40px */
    background-color: var(--color-white);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem; /* Figma 40px */
    overflow: visible;
  }
  
  /* ãƒãƒƒã‚¸ï¼‹ä¸‹ä¸‰è§’ï¼ˆFigma Polygon 9ï¼‰ã‚’ã¾ã¨ã‚ã‚‹ãƒ©ãƒƒãƒ‘ãƒ¼ */
  .price__card-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    margin-bottom: -0.625rem; /* Figma gap -10px ã§ä¸‰è§’ãŒã‚«ãƒ¼ãƒ‰ã«é£Ÿã„è¾¼ã‚€ */
  }
  
  .price__card-badge {
    position: relative;
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 2rem; /* Figma 32px */
    color: var(--color-cream-bg);
    padding: 0.25rem 0 0.5rem;
    border-radius: 20px 20px 0 0;
    text-align: center;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Figma: Small Start #C9DBB2, Standard #F4C4C5 */
  .price__card-badge--small {
    background-color: #C9DBB2;
  }
  
  .price__card-badge--standard {
    background-color: #F4C4C5;
  }
  .price__card-badge--standard::before{
    content: "";
    background-image: url(../img/pet/recomend.svg);
    width:141px;
    height: 111px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: -26px;
    left: -29px;
  }
  .price__card-badge::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 100%);
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top: 10px solid currentColor;
  }
  
  .price__card-badge--small::after {
    border-top-color: #C9DBB2;
  }
  
  .price__card-badge--standard::after {
    border-top-color: #F4C4C5;
  }
  
  .price__card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem; /* Figma Frame 1694 gap 24px */
    padding: 0 1.25rem;
    width: 100%;
    box-sizing: border-box;
  }
  
  .price__card-name {
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 2.02rem; /* Figma 32.29px */
    color: var(--color-brown);
    margin: 0;
    text-align: center;
    line-height: 0.85;
  }
  
  .price__card-desc {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.02rem; /* Figma 16.29px */
    color: var(--color-brown);
    margin: 0;
    text-align: center;
    line-height: 1.68;
  }
  
  .price__card-list {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1rem;
    color: var(--color-brown);
    margin: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  
  .price__card-list li {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem; /* Figma 8px */
  }
  
  .price__card-list li::before {
    content: "";
    background: url(../img/pet/paw-green.svg) no-repeat center center ;
    width: 26px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
  }
  .price__plan02 .price__card-list li::before {
    background: url(../img/pet/paw-pink.svg) no-repeat center center ;
  }
  
  .price__card-price {
    margin: 0;
    font-family: var(--font-sans);
    color: var(--color-brown);
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 0 0.25rem;
    position: relative;
  }
  
  .price__card-amount {
    font-weight: 900;
    font-size: 3.4rem;
    letter-spacing: -0.02em;
    line-height: 0.64;
  }
  
  .price__card-unit {
    font-size: 1.5rem; /* Figma 24px */
    font-weight: 500;
  }
  
  .price__card-tax {
    font-size: 0.55rem;
    font-weight: 500;
    white-space: nowrap;
    position: absolute;
    right: 18px;
    top: 0;
  }
  
  .price__card-cta {
    margin: 0;
    margin-top: auto;
    padding:10px 60px 10px 46px !important;
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 1rem;
    border-radius: 100px;
    box-shadow: 0 4px 16px 0 rgba(232, 232, 232, 1); /* Figma effect_1ZHFTA */
    display: inline-flex;
    align-items: center;
    gap: 1.6875rem; /* Figma 27px */
  }
  
  .price__card-cta-icon {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--color-white);
    color: var(--color-orange);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6rem;
    flex-shrink: 0;
  }
  
  .price__note {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.14rem; /* Figma 18.29px */
    color: var(--color-brown); /* Figma fill_9ED8MC */
    text-align: center;
    margin: 0;
    line-height: 1.5;
    padding-top: 20px;
  }
  
  .price__support {
    margin-top: 2.5rem; /* Figma Frame 1716 gap 40px */
    border: none;
    border-radius: 20px;
    box-shadow: -4px 4px 10px 0 rgba(0, 0, 0, 0.25); /* Figma effect_S54B8P */
    padding: 2.5rem; /* 40px */
    background-color: var(--color-white);
    position: relative;
  }
  .price__support::after {
    content: "";
    background: url(../img/pet/sunchan.svg) no-repeat center center;
    width: 114px;
    height: 114px;
    display: inline-block;
    right: -41px;
    bottom: -23px;
    position: absolute;
    z-index: 1;
  }
  .price__support-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2rem; /* 32px */
  }
  
  .price__support-visual {
    flex: 0 0 auto;
    width: 280px;
    min-height: 180px;
    background-color: var(--color-cream-bg);
    border-radius: 12px;
  }
  
  .price__support-visual:empty {
    display: block;
  }
  
  .price__support-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem; /* 16px */
  }
  
  .price__support-title {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 2rem; /* Figma 32px style_JS6ZTZ */
    line-height: 2;
    color: var(--color-brown);
    margin: 0;
    text-align: left;
    padding: 0 4px;
    display: inline-block;
  }
  .price__support-title span{
    background: linear-gradient(transparent 70%, var(--color-yellow) 70%);
  }
  .text-orange{
    color: var(--color-orange);
  }
  .price__support-text {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1.14rem; /* Figma 18.29px style_YIRAPW */
    line-height: 1.5;
    color: var(--color-brown);
    margin: 0;
    text-align: left;
  }
  .price__note-text{
    position: relative;
  }
  .price__note .price__note-text::before{
    content: "";
    background: url(../img/pet/note.svg) no-repeat center center;
    width: 26px;
    height: 26px;
    display: inline-block;
    vertical-align: middle;
    top: -17px;
    left: -20px;
    position: absolute;
    z-index: 1;
  }
  @media (min-width: 769px) {
    .price__note-br {
      display: none;
    }
  }

  /* タブレット：スモールスタート・スタンダードを中央揃え（iPad Mini 768px含む） */
  @media (min-width: 768px) and (max-width: 1023px) {
    .price__plans {
      display: flex !important;
      flex-wrap: wrap;
      justify-content: center !important;
      gap: 0 2rem;
    }
    .price__plans .column {
      flex: 0 1 424px !important;
      max-width: 424px;
      margin-left: auto;
      margin-right: auto;
    }
  }
  
  @media (max-width: 768px) {
    .section.price {
      padding: 2rem 1rem;
    }
  
    .price__title {
      font-size: 1.5rem;
    }
  
    .price__plans .column {
      margin-bottom: 1rem;
    }
  
    .price__card {
      border-radius: 15px; /* Figma 15.42px */
    }
  
    .price__card-badge {
      border-radius: 15px 15px 0 0;
    }
  
    .price__support {
      margin-top: 1.5rem;
      padding: 1.5rem 1.5rem 3rem 1.5rem;
      border-radius: 15px;
      position: relative;
    }
  
    .price__support-inner {
      flex-direction: column;
      gap: 1rem;
    }
  
    .price__support-visual {
      width: 100%;
      min-height: 140px;
      text-align: center;
    }
  
    .price__support-title {
      font-size: 1.5rem;
    }    
    .price__support::after {
      width: 69px;
      height: 69px;
      background-size: contain;
      right: 0;
      bottom: -23px;
    }
    .price__card-badge--standard::before{
      width: 118px;
      height: 100px;
    }
  }
  
  /* -------------------------------------------------------------------------
     Steps Section (é–‹æ¥­ã¾ã§ã®ãƒ­ãƒ¼ãƒ‰ãƒžãƒƒãƒ—) - Figmaæº–æ‹ 
     Body: column, gap 8px | Card: row, number 64px + body, gap 31px, padding 16px 40px
     Polygon: 68x32 (PC) / 50x23 (SP) ä¸‹å‘ãçŸ¢å°
     ------------------------------------------------------------------------- */
  .section.steps {
    background-color: var(--color-cream-bg);
    padding: 5rem 1.5rem;
  }
  
  .steps__container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  
  /* Figma Heading layout_UC9OZ8: column, center, gap 4px */
  .steps__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin-bottom: 2rem;
  }
  
  /* Figma style_WWYGZW: 32px, weight 900 + Rectangle 17 ãƒžãƒ¼ã‚«ãƒ¼ */
  .steps__title {
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 2rem; /* 32px */
    line-height: 1.5;
    color: var(--color-brown);
    margin: 0;
    text-align: center;
    padding: 0 4px;
    display: inline-block;
  }
  
  .steps__title span{
    background: linear-gradient(transparent 70%, var(--color-yellow) 70%);
  }
  /* Figma Body layout_Q0G3TF: column, center, gap 8px */
  .steps__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
  }
  
  /* Figma Card layout_5GAVXT: row, center, gap 31px, padding 16px 40px */
  .steps__item {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 31px;
    padding: 16px 40px;
    width: 100%;
    max-width: 720px;
    border: none;
    margin-bottom: 6px;
    flex-shrink: 0;
  }
  
  .steps__item--1 { background-color: #FCF7EF; } /* fill_Z6LWS2 */
  .steps__item--2 { background-color: #FAEFE2; } /* fill_HPNSW1 */
  .steps__item--3 { background-color: #F9ECDC; } /* fill_4IQOD3 */
  .steps__item--4 { background-color: #F6E3CE; } /* fill_HW3JQ8 */
  .steps__item--5 { background-color: #F5DEC5; 
  position: relative;} /* fill_89EUGB */
  
  
  .steps__item--5::before{
    content: "";
    background: url(../img/pet/step01.svg) no-repeat center center;
    width: 179px;
    height: 153px;
    display: inline-block;
    top: -11px;
    left: -154px;
    position: absolute;
  
  }
  .steps__item--5::after{
    content: "";
    background: url(../img/pet/step02.svg) no-repeat center center;
    width: 101px;
    height: 99px;
    display: inline-block;
    bottom: -37px;
    right: -85px;
    position: absolute;
  }

  /* Figma Number layout_8WORRQ: 64x64 column center */
  .steps__num-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
  }
  
  .steps__num-circle {
    position: absolute;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: var(--color-white);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  }
  
  .steps__num {
    position: relative;
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 2rem; /* 32px Figma style_ORWMQ2 */
    line-height: 1.5;
    color: var(--color-orange);
    z-index: 1;
  }
  
  /* Figma Body layout_2ON16Z: column, gap 16px, left align */
  .steps__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex: 1;
    min-width: 0;
  }
  
  .steps__item-title {
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 1.14rem; /* 18.29px Figma style_INYPH1 */
    line-height: 1.5;
    color: var(--color-orange);
    margin: 0;
  }
  
  .steps__item-text {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1rem; /* 16px Figma style_72BEB5 */
    line-height: 1.8;
    color: var(--color-brown);
    margin: 0;
  }
  
  /* Figma Polygon layout_2GLJPQ: 68x32 ä¸‹å‘ãçŸ¢å°ï¼ˆç›´ä¸Šã®ã‚¹ãƒ†ãƒƒãƒ—ã¨åŒã˜è‰²ï¼‰ */
  .steps__arrow {
    display: block;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 27px solid #FCF7EF; /* ãƒ•ã‚©ãƒ¼ãƒ«ãƒãƒƒã‚¯: steps__item--1 ã¨åŒã˜ */
    flex-shrink: 0;
    margin: 0;
  }
  
  .steps__item--1 + .steps__arrow { border-top-color: #FCF7EF; } /* fill_Z6LWS2 */
  .steps__item--2 + .steps__arrow { border-top-color: #FAEFE2; } /* fill_HPNSW1 */
  .steps__item--3 + .steps__arrow { border-top-color: #F9ECDC; } /* fill_4IQOD3 */
  .steps__item--4 + .steps__arrow { border-top-color: #F6E3CE; } /* fill_HW3JQ8 */
  .steps__item--5 + .steps__arrow { border-top-color: #F5DEC5; } /* fill_89EUGB */
  
  @media (max-width: 768px) {
    .section.steps {
      padding: 2rem 1rem;
    }
  
    .steps__title {
      font-size: 1.5rem;
    }
  
    /* Figma SP Card layout_OAHDI2: gap 16px, padding 16px */
    .steps__item {
      gap: 16px;
      padding: 16px;
      max-width: 100%;
    }
  
    /* Figma SP Number layout_3MHYCR: 47.09x47.09 */
    .steps__num-wrap {
      width: 47px;
      height: 47px;
    }
  
    .steps__num-circle {
      width: 47px;
      height: 47px;
    }
  
    .steps__num {
      font-size: 1.5rem;
    }
  
    /* Figma SP Polygon layout_5RMMG6: 50x23 */
    .steps__arrow {
      border-left-width: 25px;
      border-right-width: 25px;
      border-top-width: 23px;
    }
    .steps__item--5::before,
    .steps__item--5::after{
      display: none;
    }
  }
  
  /* -------------------------------------------------------------------------
     FAQ Section (ã‚ˆãã‚ã‚‹è³ªå•) - Figmaæº–æ‹ 
     ------------------------------------------------------------------------- */
  .section.faq {
    position: relative;
    background-color: #F4DDC4;
    padding: 8rem 1.5rem 5rem;
    overflow: hidden;
  }
  
  .faq__bg {
    position: absolute;
    left: 0;
    width: 100%;
    min-height: 121px;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
  }
  @media (max-width: 768px) {
    .faq__bg {
      width: calc(100% + 2rem);
      margin-left: -1rem;
    }
  }
  
  .faq__bg--top {
    top: 0;
  }
  
  .faq__bg--bottom {
    bottom: 0;
  }
  
  .faq__bg-image {
    display: block;
    width: 100%;
    min-width: 100%;
    height: auto;
    min-height: 121px;
    object-fit: cover;
  }
  
  .faq__bg-image--top {
    object-position: center top;
  }
  
  .faq__bg-image--bottom {
    object-position: center bottom;
    transform: scaleY(-1);
  }
  
  .section.faq .container {
    position: relative;
    z-index: 1;
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .faq__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 2rem;
  }
  
  .faq__label {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-brown);
    margin: 0 0 0.5rem;
    text-align: center;
  }
  
  .faq__title {
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 2rem;
    color: var(--color-brown);
    margin: 0;
    text-align: center;
    background: linear-gradient(transparent 60%, var(--color-yellow) 60%);
    padding: 0 4px;
    display: inline-block;
  }
  
  .faq__list {
    max-width: 950px;
    margin: 0 auto 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  .faq__item {
    border: none;
    border-radius: 10px;
    box-shadow: -2px 2px 8px 0 rgba(196, 196, 196, 0.4);
    background-color: var(--color-white);
    padding: 0;
    overflow: hidden;
  }
  
  .faq__row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1.5rem 1.5rem;
  }
  
  .faq__row--q {
    align-items: center;
  }
  
  .faq__row--a {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  
  .faq__prefix {
    font-family: var(--font-sans);
    font-weight: 700;
    flex-shrink: 0;
    line-height: 1.5;
  }
  
  /* Q. = ã‚ªãƒ¬ãƒ³ã‚¸ã®å††ã«ç™½æ–‡å­—ï¼ˆFigma: fill_IYIE43 ã® Q ã¯å††èƒŒæ™¯æƒ³å®šï¼‰ */
  .faq__prefix--q {
    color: var(--color-cream);
  } 
  
  .faq__prefix--a {
    font-size: 1rem;
    color: var(--color-orange);
  }
  
  .faq__question-text,
  .faq__answer-text {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-brown);
    margin: 0;
    flex: 1;
  }
  
  .faq__answer-text {
    font-weight: 700;
    font-size: 0.9375rem;
    line-height: 1.7;
  }
  
  .faq__line {
    height: 1px;
    background-color: var(--color-brown);
    margin: 0 1.25rem;
  }
  
  .faq__cta {
    display: flex;
    justify-content: center;
  }
  
  .faq__button {
    font-family: var(--font-sans);
    font-weight: 700;
    border-radius: 100px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  
  .faq__button-icon {
    margin-left: 0.5rem;
    font-size: 0.75rem;
  }
  
  /* -------------------------------------------------------------------------
     å…±é€šCTAãƒœã‚¿ãƒ³ï¼ˆãƒ˜ãƒƒãƒ€ãƒ¼ãƒ»ãƒ’ãƒ¼ãƒ­ãƒ¼ãƒ»ã‚³ã‚¹ãƒˆãƒ»FAQï¼‰
     æ–‡å­—è‰²ã‚’ç™½ã«çµ±ä¸€ã—ã€å³å´ã«çŸ¢å°ã‚¢ã‚¤ã‚³ãƒ³ã‚’è¡¨ç¤º
     ä½¿ç”¨ã‚¢ã‚¤ã‚³ãƒ³: assets/img/pet/btn-arrow.svg
     ------------------------------------------------------------------------- */
  .navbar .button.is-primary,
  .hero__cta,
  .price__card-cta,
  .faq__button {
    position: relative;
    color: var(--color-white);
    padding-right: 3rem;
  }
  
  .navbar .button.is-primary span,
  .hero__cta span,
  .price__card-cta span,
  .faq__button span {
    color: inherit;
  }
  
  .navbar .button.is-primary::after,
  .hero__cta::after,
  .price__card-cta::after,
  .faq__button::after {
    content: "";
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background-image: url("../img/pet/btn-arrow.svg");
    background-repeat: no-repeat;
    background-size: contain;
  }
  .navbar .button.is-primary::after{
    width: 18px;
    height: 18px;
  }
  /* æ—¢å­˜ã®ã€Œâ–¼ã€ãƒ†ã‚­ã‚¹ãƒˆã‚¢ã‚¤ã‚³ãƒ³ã¯éžè¡¨ç¤ºã«ã™ã‚‹ */
  .hero__cta-icon,
  .price__card-cta-icon,
  .faq__button-icon {
    display: none;
  }
  
  @media (max-width: 768px) {
    .section.faq {
      padding: 2rem 1rem;
    }
  
    .faq__title {
      font-size: 1.5rem;
    }
  
    .faq__heading {
      margin-bottom: 1.5rem;
    }
  
    .faq__list {
      margin-bottom: 1.5rem;
    }
  
    .faq__row {
      padding-left: 1rem;
      padding-right: 1rem;
    }
  
    .faq__question-text,
    .faq__answer-text {
      font-size: 0.9375rem;
    }
  
    .faq__line {
      margin-left: 1rem;
      margin-right: 1rem;
    }
    .faq__bg-image {
      object-fit: cover;
    }
  }
  
  /* -------------------------------------------------------------------------
     Contact Section (å€‹åˆ¥ç›¸è«‡ãŠç”³ã—è¾¼ã¿) - Figma match
     ------------------------------------------------------------------------- */
  .section.contact {
    position: relative;
    background-color: var(--color-cream-bg);
    padding: 8rem 1.5rem 10rem;
    overflow: hidden;
  }
  
  .contact__bg {
    position: absolute;
    left: 0;
    width: 100%;
    min-height: 121px;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
  }
  @media (max-width: 768px) {
    .contact__bg {
      width: calc(100% + 2rem);
      margin-left: -1rem;
    }
  }
  .contact__bg img {
    width: 100% !important;
    object-fit: cover;
    object-position: center top;
  }
  .contact__bg--top {
    top: 0;
  }
  
  .faq__bg-image {
    display: block;
    width: 100%;
    min-width: 100%;
    height: auto;
    min-height: 121px;
    object-fit: cover;
  }
  
  .faq__bg-image--top {
    object-position: center top;
  }
  
  
  
  .contact__inner {
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  
  .contact__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
  }
  
  .contact__title-wrap {
    margin: 0 0 0.25rem;
  }
  
  .contact__title {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.52;
    color: var(--color-brown);
  }
  
  .contact__title--highlight {
    background: linear-gradient(transparent 60%, var(--color-yellow) 60%);
    padding: 0 4px;
  }
  
  .contact__intro {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-brown);
    text-align: center;
    margin: 0;
  }
  
  .contact__form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
  
  .contact__row {
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    align-items: stretch;
    gap: 2.5rem;
  }
  
  .contact__row--top,
  .contact__row--bottom {
    flex-wrap: wrap;
  }
  
  .contact__field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
    min-width: 0;
  }
  
  .contact__field--full {
    flex: 1 1 100%;
  }
  
  .contact__label-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
  }
  
  .contact__label {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--color-brown);
  }
  
  .contact__required {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--color-white);
    background-color: var(--color-brown);
    border-radius: 50px;
    padding: 0.2rem 0.5rem;
    flex-shrink: 0;
  }
  
  .contact__input,
  .contact__select,
  .contact__textarea {
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-brown);
    background-color: var(--color-white);
    border: 3px solid #D3D1D1;
    border-radius: 10px;
    padding: 1rem 1.5rem;
    width: 100%;
    box-sizing: border-box;
  }
  
  .contact__input::placeholder,
  .contact__textarea::placeholder {
    color: #9ca3af;
  }
  
  .contact__select-wrap {
    position: relative;
    width: 100%;
  }
  
  /* ドロップダウン右端の下向き三角矢印（CF7用・HTML変更不可のためCSSのみ） */
  .contact__select-wrap::after {
    content: '';
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid var(--color-brown);
    pointer-events: none;
  }
  
  .contact__select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    padding-right: 2.5rem;
  }
  
  .contact__select-icon {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 0.75rem;
    color: var(--color-brown);
  }
  
  .contact__textarea {
    min-height: 120px;
    resize: vertical;
  }
  
  .contact__check {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    justify-content: center;
  }
  .contact .contact__check .wpcf7-form-control-wrap{
    display: flex;
    justify-content: center;
  }  
  .contact .contact__check .wpcf7-form-control-wrap a{
    text-decoration: underline;
    color: var(--color-brown);
  }  
  
  .contact__checkbox {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    accent-color: var(--color-orange);
    cursor: pointer;
  }
  
  .contact__check-label {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-brown);
    cursor: pointer;
  }
  
  .contact__submit-wrap {
    display: flex;
    justify-content: center;
  }
  
  .contact__submit {
    font-family: var(--font-sans);
    font-weight: 700;
    border-radius: 8px;
    padding: 1rem 2rem;
    min-width: 200px;
  }
  
  @media (max-width: 768px) {
    .section.contact {
      padding: 2rem 1rem 6rem;
    }
  
    .contact__inner {
      gap: 1.5rem;
    }
  
    .contact__title {
      font-size: 1.5rem;
      text-align: center;
    }
  
    .contact__row {
      flex-direction: column;
      gap: 1.5rem;
    }
  
    /* セレクトメニュー：スマホで文字サイズ・位置を調整（iOSピッカー対策） */
    .contact__select,
    .contact .wpcf7 select.wpcf7-form-control {
      font-size: 16px !important;
      min-height: 48px;
      padding-top: 1rem;
      padding-bottom: 1rem;
      line-height: 1.5;
    }
    .contact__select option,
    .contact .wpcf7 select.wpcf7-form-control option {
      font-size: 16px;
    }
  
  }
  
  /* -------------------------------------------------------------------------
     Contact Form 7
     ------------------------------------------------------------------------- */
  .contact .wpcf7 {
    width: 100%;
  }
  
  .contact .wpcf7-form {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.5rem;
  }
  
  .contact .wpcf7-form p {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1 1 100%;
    min-width: 0;
    margin: 0;
  }
  
  @media (min-width: 769px) {
    .contact .wpcf7-form p:nth-child(1),
    .contact .wpcf7-form p:nth-child(2),
    .contact .wpcf7-form p:nth-child(3),
    .contact .wpcf7-form p:nth-child(4) {
      flex: 1 1 calc(50% - 1.25rem);
    }
  }
  
  .contact .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
  }
  
  .contact .wpcf7 label {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--color-brown);
  }
  
  .contact .wpcf7 input[type="text"],
  .contact .wpcf7 input[type="email"],
  .contact .wpcf7 input[type="tel"],
  .contact .wpcf7 input.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]),
  .contact .wpcf7 select.wpcf7-form-control,
  .contact .wpcf7 textarea.wpcf7-form-control {
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-brown);
    background-color: var(--color-white);
    border: 3px solid #D3D1D1;
    border-radius: 10px;
    padding: 1rem 1.5rem;
    width: 100%;
    box-sizing: border-box;
  }
  
  .contact .wpcf7 input::placeholder,
  .contact .wpcf7 textarea::placeholder {
    color: #9ca3af;
  }
  
  .contact .wpcf7 select.wpcf7-form-control {
    appearance: none;
    cursor: pointer;
    padding-right: 2.5rem;
  }
  
  .contact .wpcf7 textarea.wpcf7-form-control {
    min-height: 120px;
    resize: vertical;
  }
  
  .contact .wpcf7 .wpcf7-list-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
  }
  
  .contact .wpcf7 input[type="checkbox"] {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    accent-color: var(--color-orange);
    cursor: pointer;
  }
  
  .contact .wpcf7 input[type="submit"],
  .contact .wpcf7 input.wpcf7-submit {
    font-family: var(--font-sans);
    font-weight: 700;
    border-radius: 8px;
    padding: 1rem 2rem;
    min-width: 200px;
    cursor: pointer;
    background-color: var(--color-orange);
    color: var(--color-white);
    border: none;
  }
  
  .contact .wpcf7-form p:has(input[type="submit"]),
  .contact .wpcf7-form p:has(.wpcf7-submit) {
    flex: 1 1 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .contact .wpcf7-response-output {
    margin: 1rem 0 0;
    padding: 1rem 1.5rem;
    border-radius: 10px;
    font-family: var(--font-sans);
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
  }
  
  .contact .wpcf7-mail-sent-ok {
    border: 3px solid #46b450;
    background-color: #ecf7ed;
    color: var(--color-brown);
  }
  
  .contact .wpcf7-validation-errors,
  .contact .wpcf7-mail-sent-ng {
    border: 3px solid #dc3232;
    background-color: #fef7f7;
    color: var(--color-brown);
  }
  
  .contact .wpcf7-not-valid-tip {
    font-size: 0.875rem;
    color: #dc3232;
    margin-top: 0.25rem;
  }
  
  @media (max-width: 768px) {
    .contact .wpcf7-form p:nth-child(1),
    .contact .wpcf7-form p:nth-child(2),
    .contact .wpcf7-form p:nth-child(3),
    .contact .wpcf7-form p:nth-child(4) {
      flex: 1 1 100%;
    }
  }
  
  /* footer-copy__bg: フォームセクションの一番下に配置（contact内） */
  .contact__bg-bottom {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    pointer-events: none;
    z-index: 0;
  }
  
  .contact__bg-bottom .footer-copy__bg-image {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: top;
  }
  
  /* -------------------------------------------------------------------------
     Footer Copyright (Figma: Footer bg + Rectangle 9 æ³¢å½¢)
     ------------------------------------------------------------------------- */
  .footer-copy {
    position: relative;
    background-color: var(--color-cream);
    overflow: hidden;
    padding-top: 0!important;
  }
  
  .footer-copy__wave,
  .footer-copy__bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    pointer-events: none;
    z-index: 1;
  }
  .footer-copy__bg {
    top: auto;
    bottom: 0;
  }
  .footer-copy__bg-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: center bottom;
  }
  
  .footer-copy__wave-image {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: top;
  }
  
  .footer-copy__inner {
    position: relative;
    z-index: 2;
    padding: 0 1.5rem 3rem;
  }
  
  .footer-copy__text {
    font-family: var(--font-sans);
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--color-brown);
    text-align: center;
    margin: 0;
  }
  
  @media (max-width: 768px) {
    .footer-copy__inner {
      padding: 1rem 1rem 2rem;
    }
  
    .footer-copy__text {
      font-size: 0.875rem;
    }
    .contact__bg-bottom .footer-copy__bg-image {
      object-fit: cover;
    }
  }
  