* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: 'Noto Sans JP', sans-serif;
color: #043f2a;
line-height: 1.9;
background: #F5F3F1;
font-weight: 400;
letter-spacing: 0.05em;
}

.l-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

/* スマホ改行用 */
.sp-br {
display: none;
}

/* ファーストビュー */
.p-home_kv {
position: relative;
height: 100vh;
min-height: 700px;
display: flex;
align-items: center;
justify-content: center;
background: #f6f1e2;
overflow: hidden;
margin-bottom: 0 !important;
padding-bottom: 0 !important;
}

.p-home_kv__inner {
position: relative;
width: 100%;
height: 100%;
}

.p-home_kv__bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.p-home_kv__bg .slick {
width: 100%;
height: 100%;
}

.p-home_kv__bg .slick > div {
width: 100%;
height: 100%;
}

.p-home_kv__bg img {
width: 100%;
height: 100%;
object-fit: cover;
}

.p-home_kv__bg picture {
width: 100%;
height: 100%;
display: block;
}

.pc-only {
display: block;
}

.sp-only {
display: none;
}

.p-home_kv__contents {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
z-index: 2;
width: 90%;
max-width: 600px;
}

.p-home_kv__logo {
margin-bottom: 3rem;
text-align: center;
}

.p-home_kv__logo img {
width: 100%;
max-width: 500px;
height: auto;
margin: 0 auto;
display: block;
}

.p-home_kv__concept {
font-size: 2.2rem;
color: #fff;
margin-bottom: 1.5rem;
font-weight: 400;
letter-spacing: 0.12em;
text-shadow: 0 2px 10px rgba(0,0,0,0.3);
line-height: 1.8;
}

.p-home_kv__lead {
font-size: 1rem;
color: #fff;
margin-bottom: 2.5rem;
letter-spacing: 0.08em;
text-shadow: 0 2px 10px rgba(0,0,0,0.3);
line-height: 2;
}

/* イントロ */
.p-intro {
padding: 0;
margin-top: 0 !important;
background: #f6f1e2;
text-align: center;
}

.p-intro .l-container {
padding: 80px 20px 0;
}

.p-intro__image {
max-width: 1200px;
margin: 90px auto 0;
padding: 0 20px;
}

.p-intro__image img {
width: 100%;
height: auto;
display: block;
border-radius: 0;
}

.p-intro__title {
font-size: 2rem;
margin-bottom: 20px;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.08em;
text-align: center;
}

.p-intro__subtitle {
font-size: 1.2rem;
margin-bottom: 40px;
color: #043f2a;
font-weight: 400;
letter-spacing: 0.08em;
text-align: center;
}

.p-intro__lead {
font-size: 1rem;
line-height: 2.2;
color: #043f2a;
max-width: 700px;
margin: 0 auto;
letter-spacing: 0.08em;
text-align: center;
}

.p-intro__lead strong {
font-weight: 700;
color: #043f2a;
}

/* パッケージ画像 */
.p-package-image {
padding: 80px 0;
background: #fff;
}

.p-package-image__wrap {
max-width: 1000px;
margin: 0 auto;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}

.p-package-image__wrap img {
width: 100%;
height: auto;
display: block;
}

/* 特徴3つ */
.p-features {
padding: 100px 0;
background: #f6f1e2;
}

.p-features__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 40px;
max-width: 1100px;
margin: 0 auto;
}

.p-features__card {
background: #fff;
padding: 50px 30px;
text-align: center;
border-radius: 8px;
}

.p-features__icon {
width: 80px;
height: 80px;
margin: 0 auto 25px;
background: #fff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}

.p-features__icon img {
width: 70px;
height: 70px;
object-fit: contain;
}

.p-features__title {
font-size: 1.2rem;
margin-bottom: 15px;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.08em;
}

.p-features__text {
font-size: 0.95rem;
color: #666;
line-height: 2;
letter-spacing: 0.05em;
}

/* 3つの使い方 */
.p-lifestage {
padding: 100px 0;
background: #fff;
}

.p-lifestage__header {
text-align: center;
margin-bottom: 80px;
}

.p-lifestage__title {
font-size: 2rem;
margin-bottom: 15px;
color: #043f2a;
font-weight: 400;
letter-spacing: 0.1em;
}

.p-lifestage__subtitle {
font-size: 0.95rem;
color: #666;
letter-spacing: 0.08em;
}

.p-lifestage__item {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
max-width: 1100px;
margin: 0 auto 80px;
align-items: center;
}

.p-lifestage__item:last-child {
margin-bottom: 0;
}

.p-lifestage__item.reverse {
direction: rtl;
}

.p-lifestage__item.reverse > * {
direction: ltr;
}

.p-lifestage__image {
width: 100%;
height: 400px;
background: #e8e8e8;
border-radius: 8px;
overflow: hidden;
}

.p-lifestage__image img {
width: 100%;
height: 100%;
object-fit: cover;
}

.p-lifestage__content {
padding: 0;
}

.p-lifestage__badge {
display: inline-block;
background: #d4c4b0;
color: #fff;
padding: 5px 18px;
font-size: 0.75rem;
letter-spacing: 0.1em;
border-radius: 20px;
margin-bottom: 20px;
}

.p-lifestage__name {
font-size: 1.8rem;
margin-bottom: 20px;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.08em;
}

.p-lifestage__lead {
font-size: 1rem;
margin-bottom: 25px;
color: #043f2a;
line-height: 1.9;
letter-spacing: 0.05em;
font-weight: 400;
}

.p-lifestage__desc {
font-size: 0.9rem;
margin-bottom: 30px;
color: #666;
line-height: 2;
letter-spacing: 0.05em;
}

.p-lifestage__usage-title {
font-size: 0.95rem;
margin-bottom: 0;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.05em;
background: #f8f6f3;
padding: 12px 18px 10px;
border-radius: 6px 6px 0 0;
}

.p-lifestage__usage-list {
list-style: none;
padding: 15px 18px 18px;
margin: 0;
background: #f8f6f3;
border-radius: 0 0 6px 6px;
}

.p-lifestage__usage-item {
display: flex;
align-items: flex-start;
margin-bottom: 12px;
font-size: 0.85rem;
color: #666;
line-height: 1.8;
letter-spacing: 0.05em;
}

.p-lifestage__usage-item::before {
content: '●';
color: #999;
margin-right: 10px;
flex-shrink: 0;
font-size: 0.7rem;
}

/* 商品セクション */
.p-products {
padding: 100px 0;
background: #F5F3F1;
}

.p-products__title {
font-size: 2rem;
text-align: center;
margin-bottom: 20px;
color: #043f2a;
font-weight: 400;
letter-spacing: 0.1em;
}

.p-products__subtitle {
font-size: 1rem;
text-align: center;
margin-bottom: 60px;
color: #666;
letter-spacing: 0.08em;
line-height: 1.8;
}

.p-products__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 30px;
max-width: 1100px;
margin: 0 auto;
}

.p-product__card {
background: #fff;
overflow: hidden;
border-radius: 16px;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.p-product__image {
width: 100%;
height: 400px;
overflow: hidden;
background: #f8f8f8;
}

.p-product__image img {
width: 100%;
height: 100%;
object-fit: cover;
}

.p-product__content {
padding: 0;
}

.p-product__header {
padding: 40px 35px 30px;
color: #fff;
}

.p-product__header.gold {
background: #c89b6f;
}

.p-product__header.red {
background: #e97d60;
}

.p-product__header.green {
background: #999e62;
}

.p-product__header.white {
background: #e3dcd2;
color: #043f2a;
}

.p-product__number {
font-size: 0.85rem;
margin-bottom: 12px;
opacity: 0.9;
letter-spacing: 0.1em;
font-weight: 400;
}

.p-product__name {
font-size: 2.5rem;
margin-bottom: 25px;
font-weight: 500;
letter-spacing: 0.08em;
}

.p-product__catchcopy {
font-size: 1rem;
margin-bottom: 20px;
line-height: 1.8;
opacity: 0.95;
letter-spacing: 0.05em;
font-weight: 400;
}

.p-product__vegetables {
font-size: 0.9rem;
margin-bottom: 0;
opacity: 0.9;
line-height: 1.9;
letter-spacing: 0.05em;
font-weight: 400;
}

.p-product__body {
padding: 35px;
background: #fff;
}

.p-product__usage {
background: #f8f8f8;
padding: 25px;
border-radius: 8px;
}

.p-product__usage-title {
font-size: 0.95rem;
margin-bottom: 12px;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.05em;
}

.p-product__usage-text {
font-size: 0.9rem;
color: #666;
line-height: 1.9;
letter-spacing: 0.05em;
font-weight: 400;
}

/* セット販売 */
.p-sets {
padding: 100px 0;
background: #f5f3f1;
scroll-margin-top: 80px; /* この行を追加 */
}

.p-sets__header {
text-align: center;
margin-bottom: 50px;
}

.p-sets__catch {
font-size: 2.2rem;
margin-bottom: 40px;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.08em;
line-height: 1.6;
}

.p-sets__pretitle {
font-size: 1rem;
color: #666;
margin-bottom: 15px;
letter-spacing: 0.08em;
}

.p-sets__title {
font-size: 2rem;
margin-bottom: 15px;
color: #043f2a;
font-weight: 400;
letter-spacing: 0.1em;
}

.p-sets__subtitle {
font-size: 0.95rem;
color: #666;
letter-spacing: 0.08em;
line-height: 1.8;
}

.p-sets__tabs {
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 50px;
}

.p-sets__tab {
padding: 12px 35px;
background: #fff;
color: #666;
border: 1px solid #ddd;
border-radius: 50px;
cursor: pointer;
font-size: 0.95rem;
font-weight: 400;
letter-spacing: 0.08em;
transition: all 0.3s;
}

.p-sets__tab.active {
background: #333;
color: #fff;
border-color: #043f2a;
}

.p-sets__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
max-width: 1100px;
margin: 0 auto;
}

.p-set__card {
background: #fff;
padding: 40px 30px;
text-align: center;
border-radius: 12px;
position: relative;
box-shadow: 0 2px 10px rgba(0,0,0,0.06);
transition: all 0.3s;
}

.p-set__card:hover {
box-shadow: 0 4px 20px rgba(0,0,0,0.1);
transform: translateY(-2px);
}

.p-set__card--recommended {
border: 2px solid #c89b6f;
}

.p-set__badge-wrap {
position: absolute;
top: -12px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 8px;
}

.p-set__badge {
background: #c89b6f;
color: #fff;
padding: 5px 18px;
font-size: 0.75rem;
letter-spacing: 0.1em;
border-radius: 20px;
white-space: nowrap;
}

.p-set__badge--free {
background: #e97d60;
border: 2px dashed #fff;
}

.p-set__quantity {
font-size: 3.5rem;
font-weight: 600;
color: #043f2a;
margin-bottom: 8px;
line-height: 1;
}

.p-set__quantity-label {
font-size: 1rem;
color: #666;
margin-bottom: 30px;
letter-spacing: 0.08em;
}

.p-set__unit-price {
font-size: 0.9rem;
color: #666;
margin-bottom: 10px;
letter-spacing: 0.05em;
}

.p-set__price-pretax {
font-size: 3.5rem;
font-weight: 600;
color: #043f2a;
line-height: 1;
margin-bottom: 8px;
}

.p-set__price-tax {
font-size: 0.85rem;
color: #999;
margin-bottom: 8px;
letter-spacing: 0.05em;
}

.p-set__total-price {
font-size: 0.85rem;
color: #666;
margin-bottom: 20px;
padding-top: 12px;
border-top: 1px solid #e8e8e8;
letter-spacing: 0.05em;
}

.p-set__total-price-amount {
font-weight: 600;
color: #043f2a;
}

.p-set__save {
background: #fff9e6;
border: 1px solid #ffcd4a;
padding: 12px;
margin-bottom: 20px;
border-radius: 6px;
}

.p-set__save-text {
font-size: 0.85rem;
color: #d97d00;
}

.p-set__save-amount {
font-size: 1.6rem;
font-weight: 600;
color: #d97d00;
margin: 0 5px;
}

.p-set__button {
display: block;
width: 100%;
padding: 16px;
background: #c89b6f;
color: #fff;
text-decoration: none;
font-size: 0.95rem;
font-weight: 500;
letter-spacing: 0.1em;
transition: all 0.3s;
border-radius: 50px;
}

.p-set__button:hover {
background: #b8895f;
}

/* 定期購入特典 */
.p-subscription {
padding: 60px 0 100px;
background: #f6f1e2;
}
.p-subscription__title {
font-size: 2rem;
text-align: center;
margin-bottom: 15px;
color: #043f2a;
font-weight: 400;
letter-spacing: 0.1em;
}
.p-subscription__subtitle {
text-align: center;
font-size: 1rem;
color: #666;
margin-bottom: 50px;
letter-spacing: 0.08em;
}
.p-subscription__list {
max-width: 800px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 20px;
}
.p-subscription__item {
background: #fff;
border-radius: 12px;
padding: 30px 35px;
display: flex;
align-items: center;
gap: 25px;
box-shadow: 0 2px 12px rgba(0,0,0,0.06);
border-left: 5px solid #c89b6f;
transition: all 0.3s ease;
position: relative;
}
.p-subscription__item:hover {
transform: translateX(5px);
box-shadow: 0 4px 20px rgba(200, 155, 111, 0.15);
}
.p-subscription__icon {
width: 60px;
height: 60px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
border-radius: 12px;
}
.p-subscription__icon img {
width: 50px;
height: 50px;
object-fit: contain;
}
.p-subscription__content {
flex: 1;
}
.p-subscription__item-title {
font-size: 1.2rem;
margin-bottom: 8px;
color: #043f2a;
font-weight: 600;
letter-spacing: 0.05em;
}
.p-subscription__item-text {
font-size: 0.95rem;
color: #666;
line-height: 1.8;
letter-spacing: 0.03em;
}


/* 商品詳細情報 */
.p-product-details {
padding: 80px 0;
background: #F5F3F1;
}

.p-product-details__title {
font-size: 1.5rem;
text-align: center;
margin-bottom: 40px;
color: #043f2a;
font-weight: 400;
letter-spacing: 0.1em;
}

.p-product-details__accordion {
max-width: 900px;
margin: 0 auto;
}

.p-product-details__item {
background: #fff;
margin-bottom: 10px;
border-radius: 6px;
overflow: hidden;
}

.p-product-details__header {
width: 100%;
padding: 18px 25px;
background: #fff;
border: none;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
font-family: 'Noto Sans JP', sans-serif;
transition: background 0.3s;
border-left: 4px solid #ddd;
}

.p-product-details__header.gold {
border-left-color: #c89b6f;
}

.p-product-details__header.red {
border-left-color: #e97d60;
}

.p-product-details__header.green {
border-left-color: #999e62;
}

.p-product-details__header.white {
border-left-color: #e3dcd2;
}

.p-product-details__header:hover {
background: #f8f8f8;
}

.p-product-details__name {
font-size: 1rem;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.05em;
text-align: left;
}

.p-product-details__number {
font-size: 0.8rem;
color: #999;
margin-right: 12px;
font-weight: 400;
}

.p-product-details__icon {
font-size: 1.2rem;
color: #999;
font-weight: 300;
transition: transform 0.3s;
}

.p-product-details__item.active .p-product-details__icon {
transform: rotate(45deg);
}

.p-product-details__content {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}

.p-product-details__item.active .p-product-details__content {
max-height: 1000px;
}

.p-product-details__section {
padding: 0 25px 20px;
}

.p-product-details__section:first-child {
padding-top: 5px;
}

.p-product-details__subtitle {
font-size: 0.9rem;
color: #043f2a;
margin-bottom: 10px;
font-weight: 500;
letter-spacing: 0.05em;
}

.p-product-details__text {
font-size: 0.85rem;
color: #666;
line-height: 1.9;
letter-spacing: 0.05em;
}

.p-product-details__table {
width: 100%;
border-collapse: collapse;
}

.p-product-details__table tr {
border-bottom: 1px solid #e0e0e0;
}

.p-product-details__table td {
padding: 10px 0;
font-size: 0.85rem;
color: #666;
letter-spacing: 0.05em;
}

.p-product-details__table td:first-child {
width: 40%;
font-weight: 500;
color: #043f2a;
}

.p-product-details__table td:last-child {
text-align: right;
}

/* 特徴まとめ */
.p-benefits {
padding: 100px 0;
background: #fff;
}

.p-benefits__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 50px;
max-width: 1100px;
margin: 0 auto;
}

.p-benefit__card {
text-align: center;
}

.p-benefit__icon {
width: 100px;
height: 100px;
margin: 0 auto 25px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}

.p-benefit__icon img {
width: 70px;
height: 70px;
object-fit: contain;
}

.p-benefit__title {
font-size: 1.2rem;
margin-bottom: 15px;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.08em;
}

.p-benefit__text {
font-size: 0.95rem;
color: #666;
line-height: 2;
letter-spacing: 0.05em;
}

/* お客様の声 */
.p-reviews {
padding: 100px 0;
background: #f2ecd8;
}

.p-reviews__title {
font-size: 2rem;
text-align: center;
margin-bottom: 60px;
color: #043f2a;
font-weight: 400;
letter-spacing: 0.1em;
}

.p-reviews__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 25px;
max-width: 1100px;
margin: 0 auto;
}

.p-review__card {
background: #fff;
padding: 35px 30px;
border-radius: 8px;
box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.p-review__profile {
display: flex;
align-items: center;
margin-bottom: 20px;
}

.p-review__avatar {
width: 50px;
height: 50px;
border-radius: 50%;
background: #F5F3F1;
margin-right: 15px;
flex-shrink: 0;
}

.p-review__info {
flex: 1;
}

.p-review__name {
font-size: 1rem;
margin-bottom: 5px;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.05em;
}

.p-review__meta {
font-size: 0.85rem;
color: #999;
letter-spacing: 0.05em;
}

.p-review__text {
font-size: 0.95rem;
color: #666;
line-height: 2;
letter-spacing: 0.05em;
}

/* FAQ */
.p-faq {
padding: 100px 0;
background: #fff;
}

.p-faq__title {
font-size: 2rem;
text-align: center;
margin-bottom: 60px;
color: #043f2a;
font-weight: 400;
letter-spacing: 0.1em;
}

.p-faq__list {
max-width: 900px;
margin: 0 auto;
}

.p-faq__item {
margin-bottom: 35px;
padding-bottom: 35px;
border-bottom: 1px solid #e0e0e0;
}

.p-faq__item:last-child {
border-bottom: none;
}

.p-faq__question {
font-size: 1.1rem;
margin-bottom: 12px;
color: #043f2a;
font-weight: 500;
letter-spacing: 0.05em;
padding-left: 30px;
position: relative;
}

.p-faq__question::before {
content: "Q";
position: absolute;
left: 0;
color: #ce935f;
font-weight: 600;
}

.p-faq__answer {
font-size: 0.95rem;
color: #666;
line-height: 2;
letter-spacing: 0.05em;
padding-left: 30px;
position: relative;
}

.p-faq__answer::before {
content: "A";
position: absolute;
left: 0;
color: #999;
font-weight: 600;
}

/* READY誘導 */
.p-ready-link {
padding: 100px 0;
background: #d19b68;
color: #fff;
}

.p-ready-link__inner {
max-width: 1100px;
margin: 0 auto;
}

.p-ready-link__header {
text-align: center;
margin-bottom: 50px;
}

.p-ready-link__tag {
display: inline-block;
background: rgba(255,255,255,0.2);
color: #fff;
padding: 8px 25px;
font-size: 0.75rem;
letter-spacing: 0.15em;
margin-bottom: 25px;
border-radius: 20px;
}

.p-ready-link__title {
font-size: 2rem;
margin-bottom: 15px;
font-weight: 400;
letter-spacing: 0.1em;
}

.p-ready-link__subtitle {
font-size: 1rem;
letter-spacing: 0.08em;
line-height: 2;
margin-bottom: 40px;
}

.p-ready-link__content {
text-align: center;
max-width: 900px;
margin: 0 auto;
}

.p-ready-link__image {
background: rgba(255,255,255,0.1);
border-radius: 12px;
height: 450px;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
margin-bottom: 60px;
}

.p-ready-link__image img {
width: 100%;
height: 100%;
object-fit: cover;
}

.p-ready-link__text {
display: flex;
flex-direction: column;
align-items: center;
}

.p-ready-link__description {
font-size: 1rem;
line-height: 2;
margin-bottom: 35px;
letter-spacing: 0.05em;
text-align: center;
}

.p-ready-link__button {
display: inline-block;
padding: 20px 60px;
background: #fff;
color: #043f2a;
text-decoration: none;
font-size: 1rem;
font-weight: 500;
letter-spacing: 0.1em;
transition: all 0.3s;
border-radius: 50px;
text-align: center;
}

.p-ready-link__button:hover {
background: #f5f5f5;
transform: translateY(-2px);
}

/* フローティング購入バナー */
.p-floating-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
  z-index: 1000;
  padding: 15px 0;
  transform: translateY(0);
  transition: transform 0.3s ease;
}

.p-floating-cta.hidden {
  transform: translateY(100%);
}

.p-floating-cta__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}

.p-floating-cta__content {
  text-align: center;
}

.p-floating-cta__title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #043f2a;
  margin-bottom: 3px;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.p-floating-cta__subtitle {
  font-size: 0.85rem;
  color: #666;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

.p-floating-cta__button {
  display: inline-block;
  padding: 16px 45px;
  background: #c89b6f;
  color: #fff;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  border-radius: 50px;
  transition: all 0.3s;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(200, 155, 111, 0.3);
}

.p-floating-cta__button:hover {
  background: #b8895f;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(200, 155, 111, 0.4);
}



/* フッターのレスポンシブ対応 */
@media (max-width: 768px) {
.p-footer-grid {
display: block !important;
}
.p-footer-grid > div {
margin-bottom: 30px;
text-align: center;
}


}

/* スマホ表示専用の調整 */
@media (max-width: 768px) {
@media (max-width: 768px) {
/* スマホ改行表示 */
.sp-br {
display: block;
}

/* コンテナ余白 */
.l-container {
padding: 0 20px;
}

/* ファーストビュー */
.p-home_kv {
min-height: 500px;
height: 80vh;
}

.sp-only {
display: block;
}

.pc-only {
display: none;
}

.p-home_kv__bg .slick > div {
height: 80vh;
min-height: 500px;
}

.p-home_kv__logo img {
max-width: 240px;
}

.p-home_kv__concept {
font-size: 1.6rem;
margin-bottom: 1rem;
line-height: 1.6;
font-weight: 600;
}

.p-home_kv__lead {
font-size: 0.95rem;
margin-bottom: 1.8rem;
line-height: 1.8;
font-weight: 500;
}

/* イントロ */
.p-intro .l-container {
padding: 50px 20px 30px;
}

.p-intro__title {
font-size: 1.3rem;
margin-bottom: 20px;
line-height: 1.6;
}

.p-intro__subtitle {
font-size: 0.9rem;
margin-bottom: 30px;
line-height: 1.7;
}

.p-intro__lead {
font-size: 0.85rem;
line-height: 1.9;
margin-bottom: 0;
}

.p-intro__image {
margin: 35px auto 0;
padding: 0 20px;
}

.p-intro__image img {
max-height: 220px;
object-fit: cover;
}

/* パッケージ画像 */
.p-package-image {
padding: 35px 0;
}

.p-package-image__wrap img {
max-height: 280px;
object-fit: contain;
}

/* 特徴3つ */
.p-features {
padding: 40px 0;
}

.p-features__grid {
grid-template-columns: 1fr;
gap: 18px;
}

.p-features__card {
padding: 25px 20px;
}

.p-features__icon {
width: 60px;
height: 60px;
margin: 0 auto 15px;
}

.p-features__icon img {
width: 70px;
height: 70px;
}

.p-features__title {
font-size: 1rem;
margin-bottom: 12px;
}

.p-features__text {
font-size: 0.85rem;
line-height: 1.8;
}

/* ライフステージ */
.p-lifestage {
padding: 40px 0;
}

.p-lifestage__header {
margin-bottom: 35px;
}

.p-lifestage__title {
font-size: 1.25rem;
margin-bottom: 12px;
}

.p-lifestage__subtitle {
font-size: 0.85rem;
}

.p-lifestage__item {
grid-template-columns: 1fr;
gap: 20px;
margin-bottom: 40px;
}

.p-lifestage__item.reverse {
direction: ltr;
}

.p-lifestage__image {
height: 180px;
}

.p-lifestage__badge {
margin-bottom: 12px;
padding: 4px 14px;
font-size: 0.7rem;
}

.p-lifestage__name {
font-size: 1.3rem;
margin-bottom: 12px;
}

.p-lifestage__lead {
font-size: 0.9rem;
margin-bottom: 15px;
line-height: 1.7;
}

.p-lifestage__desc {
font-size: 0.85rem;
margin-bottom: 18px;
line-height: 1.8;
}

.p-lifestage__usage-title {
font-size: 0.85rem;
margin-bottom: 0;
padding: 10px 15px 8px;
}

.p-lifestage__usage-list {
padding: 12px 15px 15px;
}

.p-lifestage__usage-item {
margin-bottom: 8px;
font-size: 0.8rem;
line-height: 1.7;
}

.p-lifestage__usage-item::before {
font-size: 0.65rem;
}

/* 商品 */
.p-products {
padding: 40px 0;
}

.p-products__title {
font-size: 1.2rem;
margin-bottom: 15px;
line-height: 1.6;
}

.p-products__subtitle {
font-size: 0.85rem;
margin-bottom: 35px;
}

.p-products__grid {
grid-template-columns: 1fr;
gap: 25px;
}

.p-product__image {
height: 280px;
}

.p-product__header {
padding: 25px 20px 20px;
}

.p-product__number {
font-size: 0.75rem;
margin-bottom: 10px;
}

.p-product__name {
font-size: 1.7rem;
margin-bottom: 18px;
}

.p-product__catchcopy {
font-size: 0.9rem;
margin-bottom: 15px;
line-height: 1.7;
}

.p-product__vegetables {
font-size: 0.85rem;
line-height: 1.7;
}

.p-product__body {
padding: 20px;
}

.p-product__usage {
padding: 18px;
}

.p-product__usage-title {
font-size: 0.9rem;
margin-bottom: 10px;
}

.p-product__usage-text {
font-size: 0.85rem;
line-height: 1.8;
}

/* セット販売 */
.p-sets {
padding: 40px 0;
scroll-margin-top: 120px; /* この行を追加 */
}

.p-sets__header {
margin-bottom: 30px;
}

.p-sets__catch {
font-size: 1.4rem;
margin-bottom: 20px;
line-height: 1.5;
letter-spacing: 0.05em;
}

.p-sets__pretitle {
font-size: 0.9rem;
margin-bottom: 10px;
}

.p-sets__subtitle {
font-size: 0.85rem;
line-height: 1.7;
}

.p-sets__tabs {
flex-direction: column;
align-items: stretch;
gap: 10px;
margin-bottom: 30px;
}

.p-sets__tab {
padding: 12px 30px;
font-size: 0.9rem;
}

.p-sets__grid {
grid-template-columns: 1fr;
gap: 15px;
}

.p-set__card {
padding: 20px 15px;
}

.p-set__badge-wrap {
top: -8px;
gap: 5px;
}

.p-set__badge {
padding: 3px 10px;
font-size: 0.6rem;
}

.p-set__quantity {
font-size: 2rem;
margin-bottom: 4px;
}

.p-set__quantity-label {
font-size: 0.8rem;
margin-bottom: 15px;
}

.p-set__unit-price {
font-size: 0.75rem;
margin-bottom: 6px;
}

.p-set__price-pretax {
font-size: 2rem;
margin-bottom: 4px;
}

.p-set__price-tax {
font-size: 0.7rem;
margin-bottom: 4px;
line-height: 1.4;
}

.p-set__total-price {
font-size: 0.7rem;
margin-bottom: 12px;
padding-top: 8px;
}

.p-set__save {
padding: 8px;
margin-bottom: 12px;
}

.p-set__save-text {
font-size: 0.7rem;
}

.p-set__save-amount {
font-size: 1.1rem;
}

.p-set__button {
padding: 11px;
font-size: 0.8rem;
}

/* 商品詳細 */
.p-product-details {
padding: 40px 0;
}

.p-product-details__title {
font-size: 1.15rem;
margin-bottom: 30px;
}

.p-product-details__header {
padding: 15px 18px;
}

.p-product-details__name {
font-size: 0.95rem;
}

.p-product-details__number {
font-size: 0.75rem;
}

.p-product-details__section {
padding: 0 18px 15px;
}

.p-product-details__section:first-child {
padding-top: 5px;
}

.p-product-details__subtitle {
font-size: 0.85rem;
margin-bottom: 8px;
}

.p-product-details__text {
font-size: 0.8rem;
line-height: 1.7;
}

.p-product-details__table td {
font-size: 0.8rem;
padding: 8px 0;
}

/* 特徴まとめ */
.p-benefits {
padding: 30px 0;
}

.p-benefits__grid {
grid-template-columns: 1fr;
gap: 15px;
}

.p-benefit__card {
padding: 20px 18px;
}

.p-benefit__icon {
width: 65px;
height: 65px;
margin: 0 auto 12px;
}

.p-benefit__icon img {
width: 70px;
height: 70px;
}

.p-benefit__title {
font-size: 1rem;
margin-bottom: 10px;
}

.p-benefit__text {
font-size: 0.82rem;
line-height: 1.7;
}


/* お客様の声 */
.p-reviews {
padding: 40px 0;
}

.p-reviews__title {
font-size: 1.2rem;
margin-bottom: 30px;
}

.p-reviews__grid {
grid-template-columns: 1fr;
gap: 18px;
}

.p-review__card {
padding: 25px 20px;
}

.p-review__profile {
margin-bottom: 15px;
}

.p-review__avatar {
width: 45px;
height: 45px;
margin-right: 12px;
}

.p-review__name {
font-size: 0.95rem;
margin-bottom: 5px;
}

.p-review__meta {
font-size: 0.8rem;
}

.p-review__text {
font-size: 0.85rem;
line-height: 1.8;
}

/* FAQ */
.p-faq {
padding: 40px 0;
}

.p-faq__title {
font-size: 1.2rem;
margin-bottom: 30px;
}

.p-faq__item {
margin-bottom: 25px;
padding-bottom: 25px;
}

.p-faq__question {
font-size: 0.95rem;
margin-bottom: 10px;
padding-left: 28px;
line-height: 1.7;
}

.p-faq__question::before {
font-size: 0.95rem;
}

.p-faq__answer {
font-size: 0.85rem;
line-height: 1.8;
padding-left: 28px;
}

.p-faq__answer::before {
font-size: 0.95rem;
}

/* 定期購入特典 */
.p-subscription {
padding: 25px 0 40px;
}
.p-subscription__title {
font-size: 1.2rem;
margin-bottom: 12px;
}
.p-subscription__subtitle {
font-size: 0.9rem;
margin-bottom: 30px;
}
.p-subscription__list {
gap: 15px;
}
.p-subscription__item {
padding: 20px 20px;
gap: 15px;
border-left-width: 4px;
}
.p-subscription__item:hover {
transform: translateX(3px);
}
.p-subscription__icon {
width: 50px;
height: 50px;
border-radius: 10px;
}
.p-subscription__icon img {
width: 40px;
height: 40px;
}
.p-subscription__item-title {
font-size: 1rem;
margin-bottom: 6px;
}
.p-subscription__item-text {
font-size: 0.85rem;
line-height: 1.7;
}

/* READY誘導 */
.p-ready-link {
padding: 50px 0;
}

.p-ready-link__header {
margin-bottom: 35px;
}

.p-ready-link__tag {
padding: 7px 20px;
font-size: 0.7rem;
margin-bottom: 18px;
}

.p-ready-link__title {
font-size: 1.2rem;
margin-bottom: 12px;
}

.p-ready-link__subtitle {
font-size: 0.85rem;
line-height: 1.8;
margin-bottom: 30px;    
    
}

.p-ready-link__content {
text-align: center;
}

.p-ready-link__image {
height: 220px;
margin-bottom: 30px;
}

.p-ready-link__description {
font-size: 0.9rem;
line-height: 1.8;
margin-bottom: 25px;
}

.p-ready-link__button {
padding: 16px 45px;
font-size: 0.9rem;
}

/* フローティングバナー - スマホ */
.p-floating-cta {
  padding: 10px 0;
}

.p-floating-cta__inner {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 0 15px;
}

.p-floating-cta__content {
  text-align: left;
  flex: 1;
}

.p-floating-cta__title {
  font-size: 0.9rem;
  margin-bottom: 2px;
  line-height: 1.3;
}

.p-floating-cta__subtitle {
  font-size: 0.7rem;
  line-height: 1.3;
}

.p-floating-cta__button {
  padding: 12px 20px;
  font-size: 0.85rem;
  white-space: nowrap;
  flex-shrink: 0;
}


