@import url("https://ruby.itembox.design/item/css/normalize.css");
@import url("https://ruby.itembox.design/item/css/global.css?202410251058");
@import url("https://www.lacuri.jp/css/custom.css");
main.fs-l-main{
 padding: 0;
}
header{
 position: fixed;
 top: 0;
 line-height: 1.2;
}
header a{
 color: #333;
}
header a:visited{
 color: #333;
}
header a:hover{
 color: #333;
 text-decoration: none;
}
footer{
 line-height: 1.2;
}
.fs-l-footer__contents > *{
 padding: 0;
}
.fs-l-footer{
 width: 100%;
}
.fs-l-footer__contents{
 width: 100%;
 max-width: 100%;
}
.fs-c-breadcrumb{
 width: 1140px;
 margin: 20px auto;
 font-size: 11px;
 padding-top: 0; 
}



/* -------------------------------- 
商品ページ
-------------------------------- */
.fs-l-productLayout__item--2{
 padding: 0 0 0 140px;
}
.fs-l-productLayout__item--3{
 padding: 0 140px 0 10px;
}
.fs-p-productDescription p{
 line-height: 0;
}
.fs-p-productDescription .btn{
 width: 216px;
 height: auto;
 margin: 32px auto 43px;
}

.bnr{
display: block;
width: 670px;
text-align: center;
margin: 0 auto 1em;
}
.bnr+.bnr{
margin: 0 auto 3em;
}
.fs-c-productPrice__main__label, #fs_ProductDetails .fs-c-productPrice__main__price{
font-weight: bold;
font-size: 2.4rem !important;
}

/* カート周り */
#fs_ProductDetails .fs-l-productLayout__item > *{
 margin-bottom: 15px;
}
.fs-c-productNameHeading{
 font-size: 6rem;
}
.fs-c-productPrice{
 justify-content: flex-end;
}
.fs-c-productPrice__main__label,
#fs_ProductDetails .fs-c-productPrice__main__price{
 font-size: 3.6rem;
}
#fs_ProductDetails .fs-l-productLayout__item dt{
 padding: .3em .5em;
 background: #f4f1eb;
 font-size: 14px;
}
#fs_ProductDetails .fs-l-productLayout__item dd .fs-c-time{
 padding: .3em .5em;
 font-size: 14px;
}
.fs-c-requiredMark::before{
 padding-left: 5px;
 color: #f51;
}
#fs_ProductDetails .fs-c-dropdown::after{
 font-size: 6rem;
}

#fs_ProductDetails .fs-c-variationAndActions__variationLabel{
 display: none;
}

#fs_ProductDetails .fs-c-variationCart__variationName__name{
 font-size: 3.6rem
}
#fs_ProductDetails .fs-c-button--particular.fs-c-button--addToWishList--icon::before{
 font-size: 4rem
}
#fs_ProductDetails .fs-c-variationList__item__title{
 padding: 10px 10px 8px;
 background: #f4f1eb;
 font-weight: bold;
 font-size: 3.6rem;
}
#fs_ProductDetails .fs-c-button--primary.fs-c-button--addToCart--variation{
 /*background: #616c7b;*/
 background: #e34242;
 color: #fff;
 font-size: 2.8rem;
}
#fs_ProductDetails .fs-c-button--primary:hover{
 color: #fff;
}
#fs_ProductDetails .fs-p-card .fs-p-card__title{
 font-size: 3.6rem;
}
#fs_ProductDetails .fs-p-card .fs-p-card__message{
 margin-top: 10px;
}

.bnr-550off{
margin: .5em 0 0 0;
}

/* -------------------------------- 
会員登録系
-------------------------------- */
/* ログイン */
.fs-c-subSection__title{
 padding-bottom: 5px;
 font-size: 3.6rem;
}


/* -------------------------------- 
カート
-------------------------------- */
/* ショッピングカート */
.fs-c-heading.fs-c-heading--page{
 padding: 34px 0 35px;
 background: #f6f4ef;
 border: none;
 color: #94938f;
 font-weight: bold;
 font-size: 7rem;
 line-height: 1;
 text-align: center;
 letter-spacing: .3rem;
}
.fs-body-cart .fs-c-heading.fs-c-heading--page{
 padding: 34px 0 35px;
 background: #f6f4ef;
 border: none;
 color: #94938f;
 font-weight: bold;
 font-size: 7rem;
 line-height: 1;
 text-align: center;
 letter-spacing: .3rem;
}
.fs-c-cartTableContainer{
 padding: 0;
 border: none;
}
.fs-c-cartTable th{
 background: #f4f1eb;
}
.fs-c-cartTable__dataCell--product{
 width: 630px;
}
.fs-c-cartTable .fs-c-cartTable__product{
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-justify-content: space-between;
 justify-content: space-between;
 -webkit-align-items: center;
 align-items: center;
}
.fs-c-cartTable .fs-c-productImage{
 width: 200px;
 height: auto;
}
.fs-c-cartTable .fs-c-cartTable__productInfo{
 width: 400px;
 height: auto;
}
.fs-c-cartTable .fs-c-cartTable__productName{
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-justify-content: flex-start;
 justify-content: flex-start;
 -webkit-align-items: stretch;
 align-items: stretch;
 flex-direction: unset;
}
.fs-c-cartTable .fs-c-cartTable__productName .fs-c-cartTable__productName__name{
 width: 100%;
}
.fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price{
 color: #000;
}
.fs-c-listedOptionPrice{
 font-size: 2.4rem;
}
.fs-c-quantity__select{
 padding-left: 45px;
}
.fs-c-cartTable__actionButton__container > button{
 color: #7f7f7f;
 font-size: 3.2rem;
}
.fs-c-cartTable__actionButton__container--buyItLater{
 display: none;
}
.fs-c-orderTotalTable__itemPriceSummary .fs-c-price{
 font-size: 3.2rem;
}
#fs-checkout-payHere-container .fs-c-purchaseHere__message{
 font-size: 2.4rem;
}
.fs-c-button--primary{
 background: #e6e1d1;
 border: none;
 font-size: 3.4rem;
 color: #000;
 font-weight: bold;
}
.fs-c-button--primary:visited,
.fs-c-button--primary:hover,
.fs-c-button--primary:active{
 color: #000;
}
.fs-c-button--secondary{
 background: #616c7b;
 border: none;
 font-size: 3.4rem;
 font-weight: bold;
}
.fs-body-cart .fs-p-announcement h2{
 color: #000;
 font-weight: bold;
 font-size: 3.6rem;
}
.fs-body-cart .fs-p-announcement p{
 font-size: 3.2rem;
}
.fs-c-continueShopping a{
 padding: 10px 20px;
 background: none;
 border: 1px solid #7f7f7f;
 box-shadow: none;
 color: #7f7f7f;
 font-weight: bold;
 font-size: 3.6rem;
}
.fs-c-continueShopping a:visited,
.fs-c-continueShopping a:hover,
.fs-c-continueShopping a:active{
 color: #7f7f7f;
}
.fs-body-cart .fs-c-wishlistProduct{
 display: none;
}


/* ご注文手続き */
@media screen and (min-width: 960px) {
  [class^="fs-body-checkout"] .fs-l-checkout {
    display: block;
  }
  [class^="fs-body-checkout"] .fs-l-checkout__mainColumn {
    max-width: 100%;
    padding: 0;
  }
}
[class^="fs-body-checkout"] .fs-l-checkout__mainColumn > * + *{
 margin-top: 40px;
}
#fs_Checkout .fs-c-checkout-preview{
 padding: 0;
}
#fs_Checkout .fs-c-checkout-preview__title{
 background: #f4f1eb;
 font-size: 4.6rem;
 margin: 0;
 padding: 16px 0 15px;
}
#fs_Checkout .fs-c-checkout-buyerInfo__body{
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-justify-content: space-between;
 justify-content: space-between;
 -webkit-align-items: flex-end;
 align-items: flex-end;
 padding: 15px 15px 25px 30px;
}
#fs_Checkout .fs-c-checkout-customerInfo{
 width: 80%;
}
#fs_Checkout .fs-c-checkout-preview li{
 margin-top: 4px;
 font-size: 4rem;
}
#fs_Checkout .fs-c-buttonContainer--changeSmall{
 width: 85px;
 margin: 0;
 padding: 0;
}
#fs_Checkout .fs-c-buttonContainer--changeSmall .fs-c-button--change--small{
 display: block;
 width: 100%;
 padding: 5px 0 4px;
 background: #e6e1d1;
 border: none;
 color: #7f7f7f;
 font-size: 4rem;
}
#fs_Checkout .fs-c-checkout-destination__body{
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-justify-content: space-between;
 justify-content: space-between;
 -webkit-align-items: flex-end;
 align-items: flex-end;
 padding: 15px 15px 25px 30px;
}
#fs_Checkout .fs-c-checkout-customerInfo{
 width: 80%;
}
#fs_Checkout .fs-c-checkout-preview li{
 margin-top: 4px;
 font-size: 4rem;
}
#fs_Checkout .fs-c-buttonContainer--changeSmall{
 width: 85px;
 margin: 0;
 padding: 0;
}
#fs_Checkout .fs-c-buttonContainer--changeSmall .fs-c-button--change--small{
 display: block;
 width: 100%;
 padding: 5px 0 4px;
 background: #e6e1d1;
 border: none;
 color: #7f7f7f;
 font-size: 4rem;
}
#fs_Checkout .fs-c-buttonContainer--chooseDestination{
 display: none;
}
.fs-c-checkout-paymentInfo__body{
 padding: 20px 15px 25px 30px;
}
.fs-c-checkout-paymentMethodList{
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-justify-content: flex-start;
 justify-content: flex-start;
 -webkit-align-items: stretch;
 align-items: stretch;
}
.fs-c-checkout-paymentMethod{
 margin-right: 50px;
 border: none;
 font-size: 4rem;
}
.fs-c-checkout-paymentMethod__title{
 background: none;
}
#fs_Checkout .fs-c-checkout-orderInfo__body{
 padding: 20px 30px 25px 30px;
}
#fs_Checkout .fs-c-cartTable__dataCell--product{
 width: auto;
}
#fs_Checkout .fs-c-cartTable .fs-c-cartTable__product{
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-justify-content: flex-start;
 justify-content: flex-start;
 -webkit-align-items: center;
 align-items: center;
}
#fs_Checkout .fs-c-cartTable .fs-c-productImage{
 width: 200px;
 height: auto;
 margin-right: 20px;
}
#fs_Checkout .fs-c-cartTable .fs-c-cartTable__productInfo{
 width: 400px;
 height: auto;
}
#fs_Checkout .fs-c-cartTable .fs-c-cartTable__productName{
 display: -webkit-flex;
 display: flex;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-justify-content: flex-start;
 justify-content: flex-start;
 -webkit-align-items: stretch;
 align-items: stretch;
 flex-direction: unset;
}
#fs_Checkout .fs-c-cartTable .fs-c-cartTable__productName .fs-c-listedProductName__name{
 width: 100%;
}
#fs_Checkout .fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price{
 color: #000;
}
#fs_Checkout .fs-c-listedOptionPrice{
 font-size: 2.4rem;
}
#fs_Checkout .fs-c-orderTotalTable > tbody > tr > th,
#fs_Checkout .fs-c-orderTotalTable > tbody > tr td{
 padding: 15px 30px 20px;
}
.fs-c-orderTotalTable .fs-c-orderTotalTable__total > td, .fs-c-orderTotalTable .fs-c-orderTotalTable__grandTotal > td{
 font-size: 3.6rem;
}
.fs-c-confirmOrder{
 width: 328px;
 margin: 30px auto;
 padding: 0;
}
.fs-c-button--confirmOrder{
 padding: 15px 0 15px;
 background: #616c7b;
 border: none;
 color: #fff;
 font-size: 5rem !important;
}
.fs-c-button--confirmOrder:hover{
 color: #fff;
}
.fs-c-creditCardIcons{
 align-items: center;
}
.fs-c-creditCardIcons .fs-c-creditCardIcons__image{
 max-height: none;
}


/* 注文確定 */
.fs-c-checkoutSuccess{
 width: 920px;
 margin: 50px auto 0;
 padding: 40px 20px;
 border: 1px solid #7f7f7f;
 text-align: center;
}
.fs-c-checkoutSuccess p{
 margin: 20px 0 0;
}


/* 動的ページ */
.fs-c-documentArticle__heading{
 padding: 12px 0;
 font-weight: bold;
 font-size: 4.8rem;
}
.fs-c-documentColumn__heading{
 margin-top: 24px;
 color: #000;
 font-weight: bold;
 font-size: 4.8rem;
}

/* mypega */
.fs-l-account .fs-c-accountService__page--accountDelete {
display: none;
}
.fs-l-account .button{
flex-basis: 100%;
margin: 1em 0 0 0;
line-height: 1.75;
}


/* 検索ウィンドウ */
.fs-p-searchForm__button::before {
font-size: 1.7em;
}
.search,
.search form{
    width: 70%;
    margin: 1em auto 0;
    padding: 0 0 1em 0;
    background: #fff;
}


/* カテゴリーページ */
.fs-c-productListItem__productName {
  display: flex;
  flex-direction: column;
  font-size: 2.8rem;
  margin: 8px 0;
}


/* カートフロー */
h2.fs-c-checkout-preview__title {
    font-size: 1em;
}
.fs-c-checkout-paymentMethodInfo__img img{
width: 40px;
}
@media screen and (min-width: 960px) {
.fs-c-checkout-paymentMethodInfo__img img{
display: block !important;
width: 100% !important;
height: auto !important;
}
}

/* 商品マーク */
.item_mark_futon {
    background: #6f7ec5;
}
.item_mark_futon-no {
    background: #46aad0;
}

/* 商品グループ */
.fs-c-button--plain {
    font-size: 2.4rem;
}
.fs-c-sortItems__label,
a.fs-c-sortItems__list__item__label {
    font-size: 2rem;
}

/* 再入荷お知らせボタン */
button.fs-c-button--subscribeToArrivalNotice--variation.fs-c-button--secondary {
    font-size: 14px;
}
button.fs-c-button--subscribeToArrivalNotice--variation.fs-c-button--secondary {
pointer-events: none !important;
}

/* レビュー */
.fs-c-aggregateRating{
padding: 0 0 .3em 0;
}
.fs-c-aggregateRating__rating{
font-size: 18px;
}
.fs-c-aggregateRating__count{
font-size: 16px;
}
.fs-c-aggregateRating__rating::before {
content: "この商品の平均評価";
flex: 1 0 100%;
font-size: 14px;
line-height: 1.3;
}
.fs-c-reviewer__name {
font-size: 14px;
}
.fs-c-reviewerStatus{
font-size: 10px;
}
.fs-c-reviewer__profile {
padding: .4em 0 0 .5em;
font-size: 12px;
}
.fs-c-reviewBody{
font-size: 12px;
}








/*-- 20250826 --*/

/*----------------------------------*/
/* ページ共通設定 */
/*----------------------------------*/

/* ページ全体 */
#page-cleaning {
  /* 共通トークン（この値を変えると全体調整が一括で可能） */
  --space-xxs: 8px;
  --space-xs: 12px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 40px;
  --space-2xl: 56px;
  --space-3xl: 80px;
  --space-4xl: 112px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --border-strong: 2px;
  --color-text: #000;
  --color-muted: #666;
  --color-bg: #fff;
  --color-bg-soft: #f2f0e8;
  --color-bg-yellow: #fff3b8;
  --color-bg-softpurple: #d6b1cf;
  --color-bg-softblue: #aebfcb;
  --color-accent-purple: #bb7dae;
  --color-accent-purple-line: #bb7dae;
  --color-accent-blue: ;
  --color-accent-yellow: ;

  color: var(--color-text);
  background: var(--color-bg);
}

/* 共通ラッパー */
#page-cleaning .page-cleaning__inner {
  width: 100%;
  margin: 0 auto;
  padding-inline: var(--space-xl);
  text-align: center;
}

/* 1〜2カラム幅（800px） */
/*
#page-cleaning .page-cleaning__inner--single,
#page-cleaning .page-cleaning__inner--double {
  max-width: 800px;
}
*/

/* 3〜4カラム幅（920px） */
/*
#page-cleaning .page-cleaning__inner--multi {
  max-width: 920px;
}
*/

/* 共通タイポ・見出し */
#page-cleaning .page-cleaning__title {
  font-size: 80px;
  font-weight: 700;
  text-align: center;
  margin: 0;
  padding-bottom: var(--space-xs);
  display: inline-block; /* 下線の幅をテキストに合わせる */
}

#page-cleaning .page-cleaning__subtitle {
  font-size: 24px;
  text-align: center;
  margin: 0 0 var(--space-lg);
  color: var(--color-text);
}

/* ボタン共通 */
#page-cleaning .page-cleaning__btn {
  display: inline-block;
  padding: 10px 16px;
  font-size: 14px;
  text-decoration: none;
  border-radius: var(--radius-sm);
  white-space: nowrap;
}

#page-cleaning .page-cleaning__btn--reserve {
  background: var(--color-text);
  color: var(--color-bg);
}

#page-cleaning .page-cleaning__btn--detail {
  background: var(--color-bg);
  color: var(--color-text);
  border: 1px solid var(--color-text);
}

/* テキストリンク */
#page-cleaning a {
  color: var(--color-link); /* メインカラー */
  text-decoration: none;
  transition: color 0.3s ease;
}
#page-cleaning a:hover,
#page-cleaning a:focus {
  color: var(--color-link-hover, #bb7dae); /* 濃いめのブランドカラー */
  background-color: var(--color-bg-softpurple);
}

/* 画像リンク */
#page-cleaning a img {
  display: block;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
#page-cleaning a:hover img,
#page-cleaning a:focus img {
  transform: scale(1.02); /* ふわっと拡大 */
  opacity: 0.9; /* ほんのり薄く */
}

/* =========================
   セクション1：Intro
   ========================= */
#page-cleaning .page-cleaning__intro {
  padding-block: var(--space-2xl);
  background: var(--color-bg);
}

#page-cleaning .page-cleaning__intro-title {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 24px;
  padding: 0 20px 10px;
  border-bottom: 2px solid var(--color-text);
  display: inline-block;
}

#page-cleaning .page-cleaning__text {
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
  margin: 0 0 var(--space-lg);
  color: var(--color-text);
}

#page-cleaning .page-cleaning__img {
  text-align: center;
}

/* 画像サイズを変更したい場合は ↓ の width/height を編集してください */
#page-cleaning .page-cleaning__img img {
  width: 800px; /* ← PC想定の仮幅。必要なら変更 */
  height: auto; /* 比率維持 */
  max-width: 100%; /* 親幅で縮小 */
}

/* =========================
   セクション2：About
   ========================= */
/* セクション2：衣類の宅配クリーニングとは */
#page-cleaning .page-cleaning__about {
  padding: var(--space-2xl) 0 var(--space-4xl);
  background: var(--color-bg);
}

/* 800px内に必ず収める：paddingを含めて800px */
#page-cleaning .page-cleaning__inner--single {
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
  padding: 0; /* 内側の余白 */
  box-sizing: border-box; /* ←コレが重要（総幅=800pxに収まる） */
}

/* 念のため、このセクション配下をすべてborder-boxに */
#page-cleaning .page-cleaning__about *,
#page-cleaning .page-cleaning__about *::before,
#page-cleaning .page-cleaning__about *::after {
  box-sizing: border-box;
}

/* 見出し（中央＋下線） */
#page-cleaning .page-cleaning__about-title {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 24px;
  padding: 0 20px 10px;
  border-bottom: 2px solid var(--color-text);
  display: inline-block;
}

/* 2カラム本体：gapを引いた残りを 3:2 で自動配分 → 800px内に必ず収まる */
#page-cleaning .page-cleaning__about-body {
  display: grid;
  grid-template-columns: 2.5fr 2.5fr; /* 左広め（画像）／右テキスト */
  gap: 32px; /* 間の余白（総幅から自動で差し引かれる） */
  align-items: start;
}

/* 左画像 */
#page-cleaning .page-cleaning__about-figure {
  margin: 0;
  min-width: 0;
}
#page-cleaning .page-cleaning__about-figure img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%; /* はみ出し防止 */
  border: 0;
}

/* 右テキスト */
#page-cleaning .page-cleaning__about-content {
  min-width: 0; /* 長文でのはみ出し防止 */
  font-size: 15px;
  line-height: 1.8;
  color: var(--color-text);
}
#page-cleaning .page-cleaning__about-lead {
  margin: 6px 0 16px;
  text-align: left;
}

/* 強調ボックス（淡い紫） */
#page-cleaning .page-cleaning__about-note {
  background: var(--color-bg-soft);
  padding: 16px 18px;
  text-align: left;
}
#page-cleaning .page-cleaning__about-notehead {
  margin: 0 0 6px;
  font-weight: 700;
  color: var(--color-accent-purple);
  font-size: 15px;
}
#page-cleaning .page-cleaning__about-notetxt {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}

/* =========================
   セクション3：Plan
   ========================= */
#page-cleaning .page-cleaning__plan {
  /* 背景は淡い生成り。サイト共通色があれば置き換え可 */
  background: #f8f6f1;
  padding: 80px 0; /* 上下の余白 */
}

/* 800px内に収める（padding含めて内側で完結） */
#page-cleaning .page-cleaning__plan .page-cleaning__inner--single {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

/* 見出し */
#page-cleaning .page-cleaning__plan-ttl {
  font-size: 80px; /* 画像のバランスに合わせて大きめ */
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.1;
  text-align: center;
  margin: 0 0 8px;
}

#page-cleaning .page-cleaning__plan-sub {
  font-size: 24px;
  line-height: 1.4;
  text-align: center;
  margin: 0 0 40px;
}

/* プラン一覧（縦積み3つ） */
#page-cleaning .page-cleaning__plan-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

/* 各プラン箱（左右2カラム） */
#page-cleaning .page-cleaning__plan-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
  padding: 0;
  border-radius: 0;
}

/* 背景色（画像寄せ） */
#page-cleaning .page-cleaning__plan-box--yellow {
  background: var(--color-bg-yellow);
}

#page-cleaning .page-cleaning__plan-box--blue {
  background: var(--color-bg-softblue);
}

#page-cleaning .page-cleaning__plan-box--purple {
  background: var(--color-bg-softpurple);
}

/* 左右カラムの振る舞い */
#page-cleaning .page-cleaning__plan-col--text {
  text-align: left;
  min-width: 0;
  padding: var(--space-md) 0 var(--space-md) var(--space-md);
  margin: 0 auto;
  justify-items: center;
}

#page-cleaning .page-cleaning__plan-col--visual {
  text-align: center;
}

/* テキスト部分 */
#page-cleaning .page-cleaning__plan-label {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 6px;
}

#page-cleaning .page-cleaning__plan-name {
  font-size: 32px; /* セクション内の大見出し */
  font-weight: 800;
  margin: 0 0 12px;
}

#page-cleaning .page-cleaning__plan-desc {
  font-size: 14px;
  line-height: 1.8;
  margin: 0 0 16px;
}

/* 特長チップ（丸いピル形） */
#page-cleaning .page-cleaning__plan-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
  justify-content: center;
}

#page-cleaning .page-cleaning__plan-chip {
  font-size: 12px;
  font-weight: 700;
  background: #fff;
  border: 1px solid #333;
  padding: 4px 10px;
  border-radius: 18px;
  white-space: nowrap;
}

/* ボタン並び */
#page-cleaning .page-cleaning__plan-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

#page-cleaning .page-cleaning__btn {
  display: inline-block;
  padding: 10px 16px;
  font-size: 14px;
  border-radius: 4px;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}

#page-cleaning .page-cleaning__btn--detail {
  background: var(--color-bg); /* 透明 */
  color: #000;
  border: 1px solid #000;
}

#page-cleaning .page-cleaning__btn--reserve {
  background: var(--color-text);
  color: #fff;
  border: 1px solid #000;
}

/* 右側ビジュアル（画像サイズは自動で収める） */
#page-cleaning .page-cleaning__plan-visual {
  width: 100%;
  max-width: 100%; /* 画像の見た目バランス用の上限 */
  margin: 0 auto;
}

#page-cleaning .page-cleaning__plan-visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

/* セクション内の安全装置 */
#page-cleaning .page-cleaning__plan *,
#page-cleaning .page-cleaning__plan *::before,
#page-cleaning .page-cleaning__plan *::after {
  box-sizing: border-box;
}
#page-cleaning .page-cleaning__plan img {
  max-width: 100%;
  height: auto;
}

/* =========================
   セクション4：Ranking
   ========================= */
/* セクション外枠 */
#page-cleaning .page-cleaning__ranking {
  padding-block: var(--space-3xl);
  background: var(--color-bg, #fff);
  text-align: center;
}

/* タイトル（王冠アイコン＋見出し） */
#page-cleaning .page-cleaning__ranking-ttl {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 40px;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
#page-cleaning .page-cleaning__ranking-icon {
  width: 40px;
  height: auto;
  display: block;
}

/* 3カラムのカード群（PCは920px領域推奨） */
#page-cleaning .page-cleaning__ranking .page-cleaning__inner--multi,
#page-cleaning .page-cleaning__ranking .page-cleaning__inner--single {
  /* どちらのクラスでも使えるよう保険。通常は --multi(920px) を推奨 */
  max-width: 920px;
  margin: 0 auto;
}

/* カードグリッド */
#page-cleaning .page-cleaning__ranking-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  text-align: left;
}

/* 各カード */
#page-cleaning .page-cleaning__ranking-item {
  background: #fff;
  border-radius: 0;
  overflow: hidden;
  /*box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);*/
  display: flex;
  flex-direction: column;
}

/* 画像リンク（ホバー演出つき） */
#page-cleaning .page-cleaning__ranking-link {
  display: block;
  overflow: hidden;
  border-radius: 0; /* 角丸を画像にも反映 */
}
#page-cleaning .page-cleaning__ranking-link img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
#page-cleaning .page-cleaning__ranking-link:hover img,
#page-cleaning .page-cleaning__ranking-link:focus img {
  transform: scale(1.05);
  opacity: 0.85;
}

/* 画像（figure直指定もケア） */
#page-cleaning .page-cleaning__ranking-figure {
  margin: 0;
}
#page-cleaning .page-cleaning__ranking-figure img {
  width: 100%;
  height: auto;
  display: block;
}

/* 画像横タイトル（順位アイコン＋h3） */
#page-cleaning .page-cleaning__ranking-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 16px;
  border-bottom: 1px solid var(--color-text);
  padding-bottom: 8px;
}
#page-cleaning .page-cleaning__ranking-no {
  width: 28px;
  height: auto;
  flex-shrink: 0;
  display: block;
}
#page-cleaning .page-cleaning__ranking-name {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}

/* 説明文 */
#page-cleaning .page-cleaning__ranking-desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--color-text, #000);
  margin: 0 0 18px;
}

/* =========================
   セクション5：VOICE
   ========================= */
#page-cleaning .page-cleaning__voice {
  background: #f5f2ea;
  padding-block: 80px;
}

/* 固定幅＆余白（崩れ防止） */
#page-cleaning .page-cleaning__voice .page-cleaning__inner--multi {
  max-width: 920px;
  margin: 0 auto;
  padding-inline: 20px;
  box-sizing: border-box;
}

#page-cleaning .page-cleaning__voice-ttl {
  margin: 0 0 12px;
  text-align: center;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.1;
  font-size: 64px;
}

#page-cleaning .page-cleaning__voice-card--purple {
  color: var(--color-accent-purple);
}

#page-cleaning .page-cleaning__voice-card--blue {
  color: var(--color-accent-blue);
}

#page-cleaning .page-cleaning__voice-sub {
  margin: 0 0 36px;
  text-align: center;
  font-size: 22px;
  line-height: 1.8;
  color: #111;
}

/* グリッド */
#page-cleaning .page-cleaning__voice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 28px;
  align-items: start;
}

/* カード */
#page-cleaning .page-cleaning__voice-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  padding: 16px;
  min-height: 210px; /* 行高を安定させる（必要に応じ調整） */
}

/* h3 吹き出し（上下中央に三角） */
#page-cleaning .page-cleaning__voice-head {
  /* 交互配色のベース（青）—偶数で紫に上書き */
  --bubble-bg: #7da9d9; /* ブルー */
  --bubble-fg: #fff;

  position: relative;
  align-self: center; /* カード中央に配置 */
  margin: 0 0 6px;
  padding: 10px 14px;
  max-width: 92%;
  color: var(--bubble-fg);
  background: var(--bubble-bg);
  border-radius: 10px;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  word-break: keep-all;
}

/* 上のしっぽ（中央） */
#page-cleaning .page-cleaning__voice-head::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -8px;
  width: 0;
  height: 0;
  border: 8px solid transparent;
  border-bottom-color: var(--bubble-bg);
}

/* 下のしっぽ（中央） */
#page-cleaning .page-cleaning__voice-head::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
  width: 0;
  height: 0;
  border: 8px solid transparent;
  border-top-color: var(--bubble-bg);
}

/* 偶数カードは紫 */
#page-cleaning
  .page-cleaning__voice-card:nth-child(even)
  .page-cleaning__voice-head {
  --bubble-bg: #bb7dae; /* パープル */
}

/* 本文 */
#page-cleaning .page-cleaning__voice-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: #222;
}

/* イラスト */
#page-cleaning .page-cleaning__voice-illust {
  text-align: center;
  margin-top: 40px;
}
#page-cleaning .page-cleaning__voice-illust img {
  width: 520px;
  max-width: 100%;
  height: auto;
  display: inline-block;
}

/* セクション内の安全装置 */
#page-cleaning .page-cleaning__voice *,
#page-cleaning .page-cleaning__voice *::before,
#page-cleaning .page-cleaning__voice *::after {
  box-sizing: border-box;
}
#page-cleaning .page-cleaning__voice img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  #page-cleaning .page-cleaning__voice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  #page-cleaning .page-cleaning__voice-ttl {
    font-size: 40px;
  }
  #page-cleaning .page-cleaning__voice-sub {
    font-size: 18px;
  }
  #page-cleaning .page-cleaning__voice-grid {
    grid-template-columns: 1fr;
  }
  #page-cleaning .page-cleaning__voice .page-cleaning__inner--multi {
    padding-inline: 16px;
  }
}

/* =========================
   セクション6：よく利用されるアイテム
   ========================= */
#page-cleaning .page-cleaning__items {
  padding-block: var(--space-2xl);
  background: var(--color-bg);
}

#page-cleaning .page-cleaning__items-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xl) var(--space-lg);
  margin-top: var(--space-xl);
}

#page-cleaning .page-cleaning__items-card {
  display: flex;
  align-items: flex-start;
  gap: var(--space-md);
}

#page-cleaning .page-cleaning__items-img img {
  width: 200px; /* 仮サイズ。差し替え可能 */
  height: auto;
  max-width: 100%;
  border-radius: var(--radius-sm);
}

#page-cleaning .page-cleaning__items-text {
  flex: 1;
}

#page-cleaning .page-cleaning__items-head {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 var(--space-xs);
  line-height: 1.4;
}

#page-cleaning .page-cleaning__items-text p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: var(--color-text);
}

/* =========================
   セクション7：LINEバナー
   ========================= */
#page-cleaning .page-cleaning__line-banner {
  padding-block: var(--space-xl);
  background: var(--color-bg);
  text-align: center;
}

#page-cleaning .page-cleaning__line-banner-img img {
  width: 100%;
  height: auto;
  max-width: 800px;
  display: block;
  margin: 0 auto;
}

/* =========================
   セクション8：ご自宅クリーニングサービス
   ========================= */
#page-cleaning .page-cleaning__services {
  padding-block: var(--space-2xl);
  background: var(--color-bg);
  text-align: center;
}

#page-cleaning .page-cleaning__services-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-top: var(--space-lg);
}

#page-cleaning .page-cleaning__services-item img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-sm);
}

/* =========================
   セクション9：Q&A（＋/−トグル）
   ========================= */
#page-cleaning .page-cleaning__qa {
  padding-block: var(--space-2xl);
  background: var(--color-bg);
}

#page-cleaning .page-cleaning__qa-list {
  list-style: none;
  padding: 0;
  margin: var(--space-lg) 0 0;
}

#page-cleaning .page-cleaning__qa-item {
  padding-block: var(--space-sm);
  border-bottom: 1px solid #e5e5e5;
}

/* 質問ボタン */
#page-cleaning .page-cleaning__qa-question {
  width: 100%;
  background: none;
  border: none;
  padding: var(--space-xs) 0;
  text-align: left;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  cursor: pointer;
}

/* Q/A バッジ */
#page-cleaning .page-cleaning__qa-q,
#page-cleaning .page-cleaning__qa-a {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-weight: 700;
  font-size: 13px;
}

#page-cleaning .page-cleaning__qa-q {
  background: #d8e7eb; /* 青系 */
  color: #1b3e47;
}

#page-cleaning .page-cleaning__qa-a {
  background: #eee4f3; /* 紫系 */
  color: #5f3a66;
  margin-right: var(--space-xs);
}

/* 右側の＋/−トグル表示（ボタン内の末尾） */
#page-cleaning .page-cleaning__qa-toggle {
  margin-left: auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #ccc;
  display: inline-grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
  color: #666;
  position: relative;
}

#page-cleaning .page-cleaning__qa-toggle::before {
  content: "+"; /* 閉じている時は＋ */
}

#page-cleaning
  .page-cleaning__qa-question[aria-expanded="true"]
  .page-cleaning__qa-toggle::before {
  content: "−"; /* 開いたら− */
}

/* 回答本文 */
#page-cleaning .page-cleaning__qa-answer {
  padding-top: var(--space-xs);
}

#page-cleaning .page-cleaning__qa-answer p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--color-text);
}
