/* ========================================
   EQUIPMENT PAGE
   WordPress / Lightning RESET
======================================== */

body.page-id-248 {
    margin: 0;
    padding: 0;
    background: #fff;
}


/* Lightning標準パーツを非表示 */
body.page-id-248 .site-header,
body.page-id-248 .page-header,
body.page-id-248 .breadcrumb,
body.page-id-248 .site-footer,
body.page-id-248 .sub-section,
body.page-id-248 .widget-area,
body.page-id-248 .widget_archive,
body.page-id-248 .widget_categories,
body.page-id-248 #block-5,
body.page-id-248 #block-6 {
    display: none !important;
}


/* Lightning標準の余白を解除 */
body.page-id-248 .site-body,
body.page-id-248 .site-body-container,
body.page-id-248 .site-body-container.container,
body.page-id-248 .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


body.page-id-248 .main-section,
body.page-id-248 .entry-body {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Lightning標準の見出し装飾を解除 */
body.page-id-248 h1,
body.page-id-248 h2,
body.page-id-248 h3 {
    border: none !important;
    box-shadow: none !important;
}


/* Lightningスマホメニューを非表示 */
body.page-id-248 .vk-mobile-nav-menu-btn,
body.page-id-248 .vk-mobile-nav {
    display: none !important;
}

/* =========================
   EQUIPMENT HEADER
========================= */

body.page-id-248 .header {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);

    width: 390px;
    max-width: 100%;
    height: 54px;

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 0 15px 12px 20px;
    box-sizing: border-box;

    background-image: url("https://wp.growhappily.net/wp-content/uploads/2026/09/header-back.2png.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 220% auto;

    backdrop-filter: blur(8px);
    z-index: 9999;
    overflow: visible;
}

/* ミモザ */

body.page-id-248 .header-mimoza {
    position: absolute;
    top: 4px;
    left: -2px;
    width: 50px;
    padding-top: 0;
    z-index: 5;
    pointer-events: none;
    transform: rotate(35deg);
    opacity: .75;
}

/* スタジオ名 */

body.page-id-248 .header__note {
    margin: 0;
    padding: 0 0 0 15px;

    color: #716581;
    font-size: 11px;
    letter-spacing: .05em;
    line-height: 1.1;
    white-space: nowrap;

    z-index: 999;
    transform: translateY(8px);
}

body.page-id-248 .header__note span {
    display: block;
    margin-top: 2px;
    font-size: 18px;
    font-weight: 500;
}

/* 右側の葉っぱ */

body.page-id-248 .header-leaf {
    position: absolute;
    top: 15px;
    right: 50px;
    width: 26px;
    z-index: 5;
    pointer-events: none;
    transform: rotate(5deg);
}


/* =========================
   EQUIPMENT HEADER FONT
   他ページと統一
========================= */

/* 上段：愛媛県 松山市 女性専門 マシンピラティス */
body.page-id-248 .header .header__note {
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: .05em !important;
  color: #716581 !important;
}

/* 下段：GrowHappily */
body.page-id-248 .header .header__note span {
  font-family:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  color: #716581 !important;
}

/* =========================
   HAMBURGER BUTTON
========================= */

body.page-id-248 .header button.menu {
    position: relative;
    z-index: 20;

    top: 30px;
    left: 30px;

    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 25% !important;

    background: #716581 !important;
    cursor: pointer;
}

body.page-id-248 .header button.menu > span {
    position: absolute !important;
    left: 6px !important;

    display: block !important;
    width: 16px !important;
    height: 2px !important;
    min-height: 2px !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 1.5px;

    background: #fff !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.page-id-248 .header button.menu > span:nth-of-type(1) {
    top: 6px !important;
}

body.page-id-248 .header button.menu > span:nth-of-type(2) {
    top: 13px !important;
}

body.page-id-248 .header button.menu > span:nth-of-type(3) {
    top: 20px !important;
}

/* × に変化 */

body.page-id-248 .header button.menu.active > span:nth-of-type(1) {
    top: 14px !important;
    transform: rotate(45deg) !important;
}

body.page-id-248 .header button.menu.active > span:nth-of-type(2) {
    opacity: 0 !important;
}

body.page-id-248 .header button.menu.active > span:nth-of-type(3) {
    top: 14px !important;
    transform: rotate(-45deg) !important;
}

/* =========================
   NAVIGATION
========================= */

body.page-id-248 .header .nav {
    position: absolute;
    top: 100%;
    right: 0;

    width: 80%;
    max-width: 320px;
    padding: 40px 30px;

    background: rgba(255, 255, 255, .95);
    border-radius: 20px 0 0 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .1);

    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    transition: .4s ease;
}

body.page-id-248 .header .nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.page-id-248 .header .nav a {
    display: block;
    padding: 14px 8px;

    color: #716581;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-size: 17px;
    line-height: 1.5;
    text-decoration: none;
}

/* メニューを開いた状態 */

body.page-id-248 .header .nav.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* =========================
   ハンバーガーメニュー
   スクロール対応
========================= */

.header .nav {
    max-height: calc(100dvh - 75px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    padding-bottom: 35px;
}


/* ========================================
   EQUIPMENT WRAPPER
======================================== */

#equipment {
    width: 100%;
    margin: 0;
    padding: 0;

    color: #4f4860;
    background: #fff;
}


#equipment .equipment-wrapper {
    width: 100%;
    max-width: 390px;

    margin: -25px auto 0;

    background: #fff;
    overflow: hidden;
}


/* ========================================
   MACHINE HERO
======================================== */

body.page-id-248 .machine-hero {
    position: relative;

    min-height: 430px;

    overflow: hidden;

    background: #fff;
}


/* HERO PHOTO */
body.page-id-248 .machine-hero__visual {
    position: absolute;

    top: 0;
    right: 0;

    width: 86%;
    height: 85%;

    z-index: 1;

    background-image:
        url("https://wp.growhappily.net/wp-content/uploads/2026/10/equipment-top-1.png");

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}


/* 写真と白背景をなじませる */
body.page-id-248 .machine-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 2;

    pointer-events: none;

    background:
        radial-gradient(
            circle at 88% 88%,
            rgba(233, 218, 255, .55) 0%,
            rgba(233, 218, 255, .18) 25%,
            transparent 48%
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 1) 0%,
            rgba(255, 255, 255, .96) 22%,
            rgba(255, 255, 255, .78) 40%,
            rgba(255, 255, 255, .22) 67%,
            rgba(255, 255, 255, 0) 100%
        );
}


/* ========================================
   HERO TEXT
======================================== */

body.page-id-248 .machine-hero__content {
    position: relative;

    z-index: 3;

    width: 68%;

    padding: 165px 0 0 17px;

    box-sizing: border-box;
}


/* MACHINE PILATES */
body.page-id-248 .machine-hero__en {
    margin: 0 0 19px;

    color: #a493b2;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    font-style: italic;

    line-height: 1;

    letter-spacing: .22em;

    white-space: nowrap;
}


/* HERO TITLE */
body.page-id-248 .machine-hero__title {
    margin: 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 29px;
    font-weight: 400;

    line-height: 1.55;

    letter-spacing: .07em;
}


/* HERO LINE */
body.page-id-248 .machine-hero__line {
    width: 165px;
    height: 1px;

    margin: -3px 0 10px;

    background: rgba(113, 101, 129, .38);
}


/* HERO COPY */
body.page-id-248 .machine-hero__lead {
    margin: 0;

    color: #716581;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 13px;
    font-weight: 400;

    line-height: 1.9;

    letter-spacing: .06em;
}


/* ========================================
   WHY MACHINE
======================================== */

#equipment .equipment-why {
    position: relative;

    margin-top: -24px;

    padding: 30px 0 5px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 100% 15%,
            rgba(233, 218, 255, .48) 0%,
            rgba(233, 218, 255, .18) 25%,
            transparent 48%
        ),
        radial-gradient(
            circle at 0% 90%,
            rgba(255, 252, 200, .42) 0%,
            transparent 42%
        ),
        #fff;
}


#equipment .equipment-why__inner {
    position: relative;

    z-index: 2;

    width: 100%;

    padding: 0 22px;

    box-sizing: border-box;
}


/* ========================================
   WHY MACHINE HEADING
======================================== */

#equipment .equipment-section-heading {
    margin: 0 0 38px;

    text-align: center;
}


#equipment .equipment-section-heading__en {
    margin: 0 0 12px;

    color: #a493b2;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 11px;
    font-style: italic;

    line-height: 1;

    letter-spacing: .22em;
}


#equipment .equipment-section-heading__title {
    margin: 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 24px;
    font-weight: 400;

    line-height: 1.7;

    letter-spacing: .06em;
}


#equipment .equipment-section-heading__line {
    display: block;

    width: 32px;
    height: 1px;

    margin: 16px auto 0;

    background: rgba(113, 101, 129, .42);
}


/* ========================================
   WHY MACHINE LEAD
======================================== */

#equipment .equipment-why__lead {
    margin: 0 0 36px;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 13px;
    font-weight: 400;

    line-height: 2;

    letter-spacing: .025em;

    text-align: center;
}


/* ========================================
   WHY MACHINE DIAGRAM
   支える → SPRING → 負荷
======================================== */

#equipment .equipment-why__diagram {
    display: grid !important;

    grid-template-columns:
        88px
        20px
        100px
        20px
        88px;

    align-items: start;
    justify-content: center;

    width: 100%;

    margin: 0 auto 42px;

    padding: 0;

    box-sizing: border-box;
}


/* WordPressが自動生成するpを除外 */
#equipment .equipment-why__diagram > p {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ========================================
   DIAGRAM COLUMN
======================================== */

#equipment .equipment-why__column {
    display: flex;

    flex-direction: column;

    align-items: center;

    width: 88px;

    min-width: 0;

    text-align: center;
}


#equipment .equipment-why__column--spring {
    width: 100px;

    padding-bottom: 28px;
}


/* ========================================
   SUPPORT / RESISTANCE CIRCLE
======================================== */

#equipment .equipment-why__circle {
    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    width: 88px;
    height: 88px;

    box-sizing: border-box;

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255, 255, 255, .70),
            transparent 55%
        ),
        #fff8d7;
}


#equipment .equipment-why__circle strong {
    display: block;

    margin: 0 0 -15px;

    color: #716581;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 12px;
    font-weight: 500;

    line-height: 1.35;

    white-space: nowrap;
}



/* ========================================
   HERO TEXT
======================================== */

body.page-id-248 .machine-hero__content {
    position: relative;

    z-index: 3;

    width: 68%;

    padding: 165px 0 0 17px;

    box-sizing: border-box;
}


/* MACHINE PILATES */
body.page-id-248 .machine-hero__en {
    margin: 0 0 19px;

    color: #a493b2;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    font-style: italic;

    line-height: 1;

    letter-spacing: .22em;

    white-space: nowrap;
}


/* HERO TITLE */
body.page-id-248 .machine-hero__title {
    margin: 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 29px;
    font-weight: 400;

    line-height: 1.55;

    letter-spacing: .07em;
}


/* HERO LINE */
body.page-id-248 .machine-hero__line {
    width: 165px;
    height: 1px;

    margin: -3px 0 10px;

    background: rgba(113, 101, 129, .38);
}


/* HERO COPY */
body.page-id-248 .machine-hero__lead {
    margin: 0;

    color: #716581;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 13px;
    font-weight: 400;

    line-height: 1.9;

    letter-spacing: .06em;
}


/* ========================================
   WHY MACHINE
======================================== */

#equipment .equipment-why {
    position: relative;
    
    margin-top: -24px;
    z-index: 5;
    padding: 30px 0 5px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 100% 15%,
            rgba(233, 218, 255, .48) 0%,
            rgba(233, 218, 255, .18) 25%,
            transparent 48%
        ),
        radial-gradient(
            circle at 0% 90%,
            rgba(255, 252, 200, .42) 0%,
            transparent 42%
        ),
        #fff;
}


#equipment .equipment-why__inner {
    position: relative;

    z-index: 2;

    width: 100%;

    padding: 0 22px;

    box-sizing: border-box;
}


/* ========================================
   WHY MACHINE HEADING
======================================== */

#equipment .equipment-section-heading {
    margin: 0 0 38px;

    text-align: center;
}


#equipment .equipment-section-heading__en {
    margin: 0 0 12px;

    color: #a493b2;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 11px;
    font-style: italic;

    line-height: 1;

    letter-spacing: .22em;
}


#equipment .equipment-section-heading__title {
    margin: 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 24px;
    font-weight: 400;

    line-height: 1.7;

    letter-spacing: .06em;
}


#equipment .equipment-section-heading__line {
    display: block;

    width: 32px;
    height: 1px;

    margin: 16px auto 0;

    background: rgba(113, 101, 129, .42);
}


/* ========================================
   WHY MACHINE LEAD
======================================== */

#equipment .equipment-why__lead {
    margin: 0 0 36px;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 13px;
    font-weight: 400;

    line-height: 2;

    letter-spacing: .025em;

    text-align: center;
}


/* ========================================
   WHY MACHINE DIAGRAM
   支える → SPRING → 負荷
======================================== */

#equipment .equipment-why__diagram {
    display: grid !important;

    grid-template-columns:
        88px
        20px
        100px
        20px
        88px;

    align-items: start;
    justify-content: center;

    width: 100%;

    margin: 0 auto 42px;

    padding: 0;

    box-sizing: border-box;
}


/* WordPressが自動生成するpを除外 */
#equipment .equipment-why__diagram > p {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ========================================
   DIAGRAM COLUMN
======================================== */

#equipment .equipment-why__column {
    display: flex;

    flex-direction: column;

    align-items: center;

    width: 88px;

    min-width: 0;

    text-align: center;
}


#equipment .equipment-why__column--spring {
    width: 100px;

    padding-bottom: 28px;
}


/* ========================================
   SUPPORT / RESISTANCE CIRCLE
======================================== */

#equipment .equipment-why__circle {
    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    width: 88px;
    height: 88px;

    box-sizing: border-box;

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255, 255, 255, .70),
            transparent 55%
        ),
        #fff8d7;
}


#equipment .equipment-why__circle strong {
    display: block;

    margin: 0 0 -15px;

    color: #716581;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 12px;
    font-weight: 500;

    line-height: 1.35;

    white-space: nowrap;
}


#equipment .equipment-why__circle span {
    display: block;

    margin: 0;

    color: #716581;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 10px;
    font-weight: 400;

    line-height: 1.4;

    white-space: nowrap;
}

/* ========================================
   SPRING PHOTO
======================================== */

#equipment .equipment-why__spring-photo {
    position: relative;

    width: 100px;
    height: 100px;

    margin: 0 auto;

    border-radius: 50%;
}


#equipment .equipment-why__spring-photo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    border-radius: 50%;
}

#equipment .equipment-why__spring-photo > p {
    width: 100px;
    height: 100px;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50%;
    overflow: hidden;
}

#equipment .equipment-why__spring-photo > p > img {
    display: block;

    width: 100px !important;
    height: 100px !important;

    margin: 0 !important;

    object-fit: cover;
    object-position: center;

    border-radius: 50%;
}
/* ========================================
   SPRING BADGE
======================================== */

#equipment .equipment-why__spring-badge {
    position: absolute;

    left: 50%;
    bottom: -35px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 64px;
    height: 64px;

    transform: translateX(-50%);

    border-radius: 50%;

    background: rgba(239, 229, 255, .95);

    box-shadow:
        0 5px 14px rgba(113, 101, 129, .08);
}


#equipment .equipment-why__spring-badge span {
    display: block;

    margin: 0 0 -12px;

    color: #716581;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 8px;
    line-height: 1;
    letter-spacing: .10em;
}


#equipment .equipment-why__spring-badge strong {
    display: block;

    color: #716581;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 9px;
    font-weight: 500;
    line-height: 1.3;
}


/* ========================================
   WHY MACHINE DIAGRAM
   左右対称
======================================== */

#equipment .equipment-why__diagram {
    display: grid !important;

    grid-template-columns:
        88px
        24px
        100px
        24px
        88px;

    align-items: start;
    justify-content: center;

    width: 100%;

    margin: 0 auto 10px;
    padding: 0;
}


/* WordPressが自動生成したpを除外 */
#equipment .equipment-why__diagram > p {
    display: none !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ========================================
   LEFT / RIGHT COLUMN
======================================== */

#equipment .equipment-why__column {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 88px;

    margin: 0;

    text-align: center;
}


/* ========================================
   CENTER SPRING COLUMN
======================================== */

#equipment .equipment-why__column--spring {
    width: 100px;

    margin: 0;
    padding-bottom: 28px;
}


#equipment .equipment-why__spring-photo {
    position: relative;

    width: 100px;
    height: 100px;

    margin: 0 auto;

    border-radius: 50%;
}


#equipment .equipment-why__spring-photo img {
    display: block;

    width: 100%;
    height: 100%;

    margin: 0;

    object-fit: cover;
    object-position: center;

    border-radius: 50%;
}


/* ========================================
   ARROWS
======================================== */

#equipment .equipment-why__arrow {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 24px;
    height: 88px;

    margin: 0;

    color: #b9a5d0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}


/* ========================================
   DIAGRAM CAPTION
======================================== */

#equipment .equipment-why__caption {
    width: 105px;

    margin: 17px -8px 0;

    color: #716581;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 12px;
    line-height: 1.8;
    letter-spacing: 0;

    text-align: center;

    white-space: nowrap;
}


/* ========================================
   WHY MACHINE BOTTOM TEXT
======================================== */

#equipment .equipment-why__text {
    position: relative;

    margin: 0;

    padding: 27px 12px 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 13px;
    font-weight: 400;
    line-height: 2.05;
    letter-spacing: .025em;

    text-align: center;
}


#equipment .equipment-why__text::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 28px;
    height: 1px;

    transform: translateX(-50%);

    background: rgba(113, 101, 129, .35);
}

/* ========================================
   REFORMER & TOWER
======================================== */

#equipment .equipment-machine {
    position: relative;
    padding: 5px 18px 0;
    background: #fff;
}

#equipment .equipment-machine__inner {
    width: 100%;
    margin: 0 auto;
}


/* =========================
   HEADING
========================= */

#equipment .equipment-machine__heading {
    margin: -10px 0 -15px;
    text-align: center;
}

#equipment .equipment-machine__en {
    margin: 0 0 10px;

    color: #a493b2;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    font-style: italic;
    line-height: 1;

    letter-spacing: .22em;
}

#equipment .equipment-machine__title {
    margin: 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 24px;
    font-weight: 400;
    line-height: 1.5;

    letter-spacing: .06em;
}


/* =========================
   PHOTO
========================= */

#equipment .equipment-machine__photo {
    width: 100%;
    margin: 0 0 12px;

    overflow: hidden;
    border-radius: 7px;
}

#equipment .equipment-machine__photo img {
    display: block;

    width: 100%;
    height: 205px;

    margin: 0;

    object-fit: cover;
    object-position: center;

    border-radius: 7px;
}


/* =========================
   CARDS
========================= */

#equipment .equipment-machine__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 10px;

    width: 100%;
}

#equipment .equipment-machine__card {
    min-width: 0;

    padding: 14px 8px 16px;

    box-sizing: border-box;

    text-align: center;

    background:
        linear-gradient(
            180deg,
            rgba(249, 246, 255, .95) 0%,
            rgba(245, 239, 255, .78) 100%
        );

    border-radius: 7px;
}


/* REFORMER / TOWER */

#equipment .equipment-machine__card-en {
    margin: 0 0 4px;

    color: #8f7da1;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    line-height: 1;

    letter-spacing: .14em;
}


/* リフォーマー / タワー */

#equipment .equipment-machine__card-title {
    position: relative;

    margin: 0 0 18px;
    padding: 0 0 10px;

    color: #716581;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;

    text-align: center;

    /* Lightningの青線を消す */
    border: none !important;
}

/* リフォーマー・タワーの下線 */
#equipment .equipment-machine__card-title::after {
    content: "";

    position: absolute;
    left: 50%;
    bottom: 0;

    width: 85px;
    height: 1px;

    transform: translateX(-50%);

    background: rgba(113, 101, 129, .35);
}


/* 説明 */

#equipment .equipment-machine__card-text {
    margin: 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 12px;
    font-weight: 400;

    line-height: 1.8;

    letter-spacing: .01em;
}

/* ========================================
   FLEX CUSHION
======================================== */

#equipment .equipment-flex {
    position: relative;

    padding: 0 22px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 100% 20%,
            rgba(255, 252, 200, .38) 0%,
            transparent 34%
        ),
        #fff;
}

#equipment .equipment-flex__inner {
    position: relative;
    width: 100%;
    margin: 0 auto;
}


/* =========================
   HEADING
========================= */

#equipment .equipment-flex__heading {
    margin: 0 0 20px;
    text-align: left;
}

#equipment .equipment-flex__en {
    margin: 0 0 8px;

    color: #a493b2;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 10px;
    font-style: italic;
    line-height: 1;

    letter-spacing: .22em;
}

#equipment .equipment-flex__title {
    margin: 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Noto Serif JP",
        serif;

    font-size: 22px;
    font-weight: 400;
    line-height: 1.5;

    letter-spacing: .06em;

    border: none !important;
}

#equipment .equipment-flex__line {
    display: block;

    width: 240px;
    height: 1px;

    margin: 5px 0 0;

    background: rgba(113, 101, 129, .35);
}


/* =========================
   INTRO
========================= */

#equipment .equipment-flex__lead {
    margin: 0 0 25px;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 12px;
    font-weight: 400;
    line-height: 1.9;

    letter-spacing: .025em;
}


/* =========================
   PRODUCT IMAGE
========================= */

#equipment .equipment-flex__visual {
    position: relative;

    width: 100%;
    height: 220px;

    margin: 0 auto;
}

/* フレックスクッション */

#equipment .equipment-flex__image {
    position: absolute;

    left: 50%;
    bottom: 5px;

    z-index: 2;

    display: block;

    width: 300px;
    max-width: 90%;
    height: auto;

    margin: -30px 0;

    transform: translateX(-50%);
}


/* =========================
   POINTS
========================= */

#equipment .equipment-flex__points {
    width: 100%;

    padding: 0 18px;

    box-sizing: border-box;

    background: rgba(249, 246, 255, .75);

    border-radius: 8px;
}

#equipment .equipment-flex__points-title {
    margin: 0 0 15px;

    color: #716581;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 13px;
    font-weight: 500;

    line-height: 1.6;

    text-align: center;
}


/* 1項目 */

#equipment .equipment-flex__point {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin: 0 0 10px;
}

#equipment .equipment-flex__point:last-child {
    margin-bottom: 0;
}


/* チェック */

#equipment .equipment-flex__point > span {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 17px;
    height: 17px;

    margin-top: 2px;

    color: #716581;

    font-size: 11px;

    border: 1px solid rgba(113, 101, 129, .35);
    border-radius: 2px;

    background: #fff;
}


/* 文章 */

#equipment .equipment-flex__point > p {
    margin: 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 12px;
    font-weight: 400;

    line-height: 1.7;

    letter-spacing: .01em;
}

/* ========================================
   EQUIPMENT CLOSING
======================================== */

#equipment .equipment-closing {
    position: relative;
    overflow: hidden;

    padding: 30px 22px 55px;

    background:
        /* 左上：ラベンダー */
        radial-gradient(
            circle at 0% 18%,
            rgba(233, 218, 255, .65) 0%,
            rgba(233, 218, 255, .28) 28%,
            transparent 52%
        ),

        /* 右中央：ラベンダー */
        radial-gradient(
            circle at 100% 55%,
            rgba(233, 218, 255, .58) 0%,
            rgba(233, 218, 255, .22) 30%,
            transparent 55%
        ),

        /* 下中央：ほんのりラベンダー */
        radial-gradient(
            circle at 50% 110%,
            rgba(233, 218, 255, .55) 0%,
            rgba(233, 218, 255, .20) 38%,
            transparent 68%
        ),

        #fff;
}

#equipment .equipment-closing__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    margin: 0 auto;

    text-align: center;
}


/* =========================
   MESSAGE
========================= */

#equipment .equipment-closing__message {
    margin: 0;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 13px;
    font-weight: 400;
    line-height: 2;

    letter-spacing: .04em;

    text-align: center;
}

#equipment .equipment-closing__message span {
    color: #716581;
    font-weight: 500;
}


/* メッセージ下の短い線 */

#equipment .equipment-closing__line {
    display: block;

    width: 28px;
    height: 1px;

    margin: 22px auto 25px;

    background: rgba(113, 101, 129, .35);
}


/* =========================
   PRICE
========================= */

#equipment .equipment-closing__price {
    display: flex;
    align-items: baseline;
    justify-content: center;

    gap: 12px;

    margin: 0 0 17px;

    color: #4f4860;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;
}

#equipment .equipment-closing__price > span {
    font-size: 10px;
    font-weight: 400;

    letter-spacing: .04em;
}

#equipment .equipment-closing__price > strong {
    font-size: 17px;
    font-weight: 500;

    letter-spacing: .02em;
}


/* =========================
   CTA BUTTON
========================= */

#equipment .equipment-closing__button {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    max-width: 320px;
    height: 52px;

    margin: -10px auto;

    box-sizing: border-box;

    color: #fff !important;

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 12px;
    font-weight: 400;

    letter-spacing: .06em;

    text-decoration: none !important;

    background: #716581;

    border-radius: 3px;

    box-shadow:
        0 7px 18px rgba(113, 101, 129, .16);

    transition:
        transform .25s ease,
        opacity .25s ease;
}


/* 矢印 */

#equipment .equipment-closing__arrow {
    position: absolute;

    top: 50%;
    right: 18px;

    transform: translateY(-50%);

    color: rgba(255, 255, 255, .8);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 16px;
}


/* =========================
   NOTE
========================= */

#equipment .equipment-closing__note {
    margin: 11px 0 0;

    color: rgba(79, 72, 96, .68);

    font-family:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 8px;
    line-height: 1.6;

    letter-spacing: .02em;

    text-align: center;
}


/* =========================
   BUTTON HOVER
========================= */

#equipment .equipment-closing__button:hover {
    color: #fff !important;

    opacity: .9;
    transform: translateY(-1px);
}


/* =====================================
   GrowHappily PC版 共通背景
===================================== */

@media screen and (min-width: 768px) {

  /* PC背景：全ページ共通 */
  body {
    background-color: #DCE8D7 !important;
    background-image: url("https://wp.growhappily.net/wp-content/uploads/2026/10/pc-back-ground.jpg") !important;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }

  /* 中央コンテンツ：白い光と影 */
  body .site {
    position: relative;
    width: 390px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #fffdf8;

    box-shadow:
      0 0 35px 15px rgba(255,255,255,.75),
      0 0 75px 30px rgba(255,255,255,.35),
      0 10px 35px rgba(79,72,96,.10);
  }

}



/* =========================
   EQUIPMENT PC版 背景・シャドウ
========================= */

@media screen and (min-width: 768px) {

  /* PC画面全体の背景 */
  html {
    background:
      url("https://wp.growhappily.net/wp-content/uploads/2026/10/pc-back-ground.jpg")
      center center / cover fixed no-repeat !important;
  }

  /* WordPress / Lightningの外側背景を透明に */
  body.page-id-248,
  body.page-id-248 .site,
  body.page-id-248 .site-body,
  body.page-id-248 .site-body-container,
  body.page-id-248 .container,
  body.page-id-248 .main-section,
  body.page-id-248 .entry-body {
    background-color: transparent !important;
    background-image: none !important;
  }

  /* ページ全体を中央390pxに配置 */
  body.page-id-248 #equipment {
    width: 390px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;

    box-shadow:
      0 0 35px 15px rgba(255,255,255,.75),
      0 0 75px 30px rgba(255,255,255,.35),
      0 10px 35px rgba(79,72,96,.10);
  }

}

/* =========================
   EQUIPMENT フッター位置調整
========================= */

body.page-id-248 .gh-footer {
  margin-top: -30px !important;
}