@charset "UTF-8";
/*----------------------------------------------------------------- 
common form
----------------------------------------------------------------- */
input[type="text"],
input[type="password"],
textarea{padding:20px 10px; border:1px solid #fff; font-size:100%; }

input[type="checkbox"],
input[type="radio"]{ margin-right:5px; }

input[type="button"]:focus,
input[type="submit"]:focus{ outline:none; }

input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus{outline:none;  border:1px solid #ababab; }

input.myError,
textarea.myError{ background:#FFECE9; }
p.myError{display:block; clear:both; padding-top: 10px;  color:#ca2735; font-weight: bolder;}


input[type=checkbox]{
    -moz-appearance:checkbox;
         appearance:checkbox;
    -webkit-appearance: checkbox;
}
input[type=radio]{
    -moz-appearance:radio;
         appearance:radio;
    -webkit-appearance: radio;
}
textarea {
    display:block;
    width:100%;
    resize:vertical;
}

.input_auto { ime-mode: auto; }
.input_jp { ime-mode: active; }
.input_en { ime-mode: disabled; }
.input_off { ime-mode: inactive; }

/*----------------------------------------------------------------- 
common
----------------------------------------------------------------- */
.formPrivacy{overflow:scroll; margin:0 auto 30px; padding:10px 30px; height:150px;  border:1px solid #CCC; }
.linkPrivacy a{text-decoration:underline; }
.linkPrivacy a:before{margin-right: 0.5em; content:"\f105"; text-decoration:none;font-weight: 900; font-family: "Font Awesome 5 Free"; }
.linkPrivacy a:hover{text-decoration:none;opacity:1; }

.contactTableWrap{padding: 80px 100px;background: #f5f5f5; }
.contactTableWrap .txt{padding-bottom: 40px; border-bottom: 1px dashed #ababab;}

.contactTableWrap .btn{letter-spacing:0.1em; font-size:14px; font-family:"游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, sans-serif;}

.hissu{display: inline-block; margin-left: 10px;padding:0 5px; height: 20px; background:#000001; color:#fff; font-size:11px; line-height: 20px; }


@media only screen and (min-width: 735px){
/*----------------------------------------------------------------- 
テーブル
----------------------------------------------------------------- */
.contactTableWrap{ margin-bottom:30px;}
.contactTableWrap .box{width: 360px;}
.contactTableWrap .box.left{float:left;}
.contactTableWrap .box.right{float:right;}
.contactTable{width: 100%;}
.contactTable th{padding: 30px 0 10px;}
.contactTable td{padding: 0;}
.contactTable th,
.contactTable td{display: block; width: 100%; text-align:left; font-weight:normal;}

/*----------------------------------------------------------------- 
フォーム
----------------------------------------------------------------- */
.inputType01{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:100%; }
.inputType02{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:75%; }
.inputType03{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:50%; }
.inputType04{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:25%; }
.inputType05{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:10%; }
.inputType06{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:70%; }
	
/*----------------------------------------------------------------- 
common button
----------------------------------------------------------------- */
.btn_form01 { height:50px; -webkit-border-radius: 3px; -moz-border-radius: 3px;border-radius: 3px; background: #665e51; text-shadow: -1px -1px 0 #665e51; font-size: 129%; line-height:50px; }
.btn_form02 { height:50px; -webkit-border-radius: 3px; -moz-border-radius: 3px;border-radius: 3px; background: #ae9b7a;  text-shadow: -1px -1px 0 #665e51; font-size: 129%; line-height:50px; }
.btn_form01 a,.btn_form02 a{ display:block; padding:0 30px; color:#FFF; text-decoration:none; }
input.btn_form01,input.btn_form02{ padding:0 20px; border:none; color:#FFF; cursor:pointer; }
input.btn_form01:hover{background: #ae9b7a;}
input.btn_form02:hover{ background:#ae9b7a; }

}
@media only screen and (max-width: 959px) {
.contactTableWrap{padding: 40px 3%;}
.contactTableWrap .txt{padding-bottom: 20px;}



/*----------------------------------------------------------------- 
テーブル
----------------------------------------------------------------- */
.contactTableWrap .box{width: 100%;}
.contactTableWrap .box.left,
.contactTableWrap .box.right{float:none;}
.contactTable{width: 100%;}
.contactTable th{padding: 10px 0 0;}
.contactTable td{padding: 10px 0;}
.contactTable th,
.contactTable td{display: block; width: 100%; text-align:left; font-weight:normal;}

/*----------------------------------------------------------------- 
フォーム
----------------------------------------------------------------- */
.inputType01{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:100%; }
.inputType02{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:75%; }
.inputType03{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:50%; }
.inputType04{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:25%; }
.inputType05{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:10%; }
.inputType06{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;  width:70%; }
	
/*----------------------------------------------------------------- 
common button
----------------------------------------------------------------- */
.btn_form01 { height:50px; -webkit-border-radius: 3px; -moz-border-radius: 3px;border-radius: 3px; background: #266c43; text-shadow: -1px -1px 0 #1D5434; font-size: 129%; line-height:50px; }
.btn_form02 { height:50px; -webkit-border-radius: 3px; -moz-border-radius: 3px;border-radius: 3px; background: #8B8B8B; text-shadow: -1px -1px 0 #666666; font-size: 129%; line-height:50px; }
.btn_form01 a,.btn_form02 a{ display:block; padding:0 10px; color:#FFF; text-decoration:none; }
input.btn_form01,input.btn_form02{ padding:0 10px; border:none; color:#FFF; cursor:pointer; }

}
.fs-c-creditCardIcons{
    row-gap: 10px;
}
.propose_btn{
    border: solid 1px #000000;
      color: #ffffff;
      text-align: center;
      font-size: 22px;
      margin: 0 auto;
      width: 55%;
      background-color: #000000;
      height: 95px;
      display: flex;
      justify-content: center;
      align-items: center;
  }

  .recommendList{
    margin-bottom: 40px;
  }
  .recommendList .imgBox {
    width: 100%;
    height: 260px;
    position: relative;
    margin-bottom: 20px;
  }
  .recommendList .imgBox .btn {
    position: absolute;
    display: block;
    bottom: 20px;
    left: 50%;
    margin-left: -100px;
  }
  .recommendList .ttl {
    font-size: 16px;
    text-align: center;
    font-family: "Pontano Sans", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, sans-serif;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin-bottom: 10px;
  }
  .recommendList .txt {
    font-size: 12px;
  }
  @media screen and (max-width: 768px){
    .col3>li.recommendList_inner {
        width: 48%;
        margin: 10px 1%;
    }
    .recommendList .imgBox .btn {
      margin-left: -35%;
    }
    .recommendList .ttl {
        font-size: 12px;
      }
      .recommendList .txt {
        font-size: 12px;
      }
  }


.fs-c-productMark {
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.fs-c-productMark__item{
  margin-right: 5px;
  width: 18px;
}

.propose-mv__copy-main.type02 {
    margin-top: .3em;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.75;
}

@media only screen and (max-width: 1770px) {

    .propose-mv__copy-main.type02 {
        font-size: 30px;
    }

}

@media only screen and (max-width: 1200px) {

    .propose-mv__copy-main.type02 {
        font-size: 19px;
    }
}

@media only screen and (max-width: 768px) {
    .propose-feature.type02 {
        margin-top: 40px;
    }
}

/* =================================================================
   プロポーズLP テストページ改修（2026/10）
   対象：/c/scene/propose-test（.fs-body-category-propose-test）
================================================================= */
/* ① FV：全幅＋テキストオーバーレイ */
.fs-body-category-propose-test .propose-mv--overlay { position: relative; }
.fs-body-category-propose-test .propose-mv--overlay .propose-mv__link { display: block; position: relative; color: #fff; text-decoration: none; }
.fs-body-category-propose-test .propose-mv--overlay .propose-mv__img img { display: block; width: 100%; height: auto; }
.fs-body-category-propose-test .propose-mv--overlay .propose-mv__link::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .35); pointer-events: none; }
.fs-body-category-propose-test .propose-mv--overlay .propose-mv__text { position: absolute; inset: 0; z-index: 1; padding: 20px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .45); }
.fs-body-category-propose-test .propose-mv--overlay .propose-mv__copy-main { margin: 0; font-size: 50px; font-weight: bold; line-height: 1.5; letter-spacing: .06em; }
.fs-body-category-propose-test .propose-mv--overlay .propose-mv__copy-sub { margin-top: .8em; font-size: 24px; font-weight: 500; letter-spacing: .1em; }
@media only screen and (max-width: 1200px) {
  .fs-body-category-propose-test .propose-mv--overlay .propose-mv__copy-main { font-size: 34px; }
  .fs-body-category-propose-test .propose-mv--overlay .propose-mv__copy-sub { font-size: 18px; }
}
@media only screen and (max-width: 768px) {
  .fs-body-category-propose-test .propose-mv--overlay .propose-mv__copy-main { font-size: 26px; }
  .fs-body-category-propose-test .propose-mv--overlay .propose-mv__copy-sub { font-size: 14px; }
}

/* ④ 人気No.1ラベル */
.fs-body-category-propose-test .propose-rank { display: inline-block; margin-bottom: 8px; padding: 2px 12px; background: #c5a05b; color: #fff !important; font-size: 13px !important; letter-spacing: .08em; }

/* 各商品のCTA（カートに入れる／詳しく見る） */
.fs-body-category-propose-test .propose-cta { display: flex; justify-content: center; gap: 16px; margin-top: 40px; }
.fs-body-category-propose-test .propose-cta a { display: flex; align-items: center; justify-content: center; width: 260px; height: 60px; border: 1px solid #c5a05b; font-size: 14px; text-decoration: none; letter-spacing: .05em; transition: opacity .2s; }
.fs-body-category-propose-test .propose-cta a:hover { opacity: .8; }
.fs-body-category-propose-test .propose-cta__cart { padding-left: 28px; background: #c5a05b url("https://rosegallery.itembox.cloud/item//xmas/cart_ico.png") 50px 50% / 20px auto no-repeat; color: #fff; }
.fs-body-category-propose-test .propose-cta__detail { background: #fff; color: #c5a05b; }
.fs-body-category-propose-test .propose-cta__detail::after { content: "→"; margin-left: .5em; }
@media only screen and (max-width: 768px) {
  .fs-body-category-propose-test .propose-cta { gap: 8px; margin-top: 30px; }
  .fs-body-category-propose-test .propose-cta a { flex: 1; width: auto; height: 50px; font-size: 13px; }
  .fs-body-category-propose-test .propose-cta__cart { padding-left: 24px; background-position: 12px 50%; background-size: 18px auto; }
}

/* ⑧ 決済・配送情報 */
.fs-body-category-propose-test .propose-payship { margin-top: 100px; }
.fs-body-category-propose-test .propose-payship__list { display: flex; gap: 40px; margin-top: 50px; }
.fs-body-category-propose-test .propose-payship__item { flex: 1; padding: 30px; border: 1px solid #c5a05b; font-size: 16px; line-height: 1.8; }
.fs-body-category-propose-test .propose-payship__title { margin: 0 0 15px; color: #c5a05b; font-size: 22px; }
.fs-body-category-propose-test .propose-payship__pay { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.fs-body-category-propose-test .propose-payship__pay li { padding: 4px 12px; border: 1px solid #ddd; font-size: 14px; }
@media only screen and (max-width: 768px) {
  .fs-body-category-propose-test .propose-payship { margin-top: 60px; }
  .fs-body-category-propose-test .propose-payship__list { flex-direction: column; gap: 20px; margin-top: 30px; }
  .fs-body-category-propose-test .propose-payship__item { padding: 20px 15px; font-size: 14px; }
  .fs-body-category-propose-test .propose-payship__title { font-size: 18px; }
  .fs-body-category-propose-test .propose-payship__pay li { font-size: 13px; }
}

/* ⑨ よくある質問 */
.fs-body-category-propose-test .propose-faq { margin-top: 100px; }
.fs-body-category-propose-test .propose-faq__list { margin-top: 50px; border-top: 1px solid #ddd; }
.fs-body-category-propose-test .propose-faq__item { padding: 25px 0; border-bottom: 1px solid #ddd; }
.fs-body-category-propose-test .propose-faq__q,
.fs-body-category-propose-test .propose-faq__a { position: relative; padding-left: 2em; line-height: 1.8; }
.fs-body-category-propose-test .propose-faq__q { margin: 0; color: #c5a05b; font-size: 18px; font-weight: bold; }
.fs-body-category-propose-test .propose-faq__a { margin: 10px 0 0; font-size: 16px; }
.fs-body-category-propose-test .propose-faq__q::before,
.fs-body-category-propose-test .propose-faq__a::before { position: absolute; left: 0; top: 0; font-weight: bold; }
.fs-body-category-propose-test .propose-faq__q::before { content: "Q."; }
.fs-body-category-propose-test .propose-faq__a::before { content: "A."; color: #151515; }
@media only screen and (max-width: 768px) {
  .fs-body-category-propose-test .propose-faq { margin-top: 60px; }
  .fs-body-category-propose-test .propose-faq__list { margin-top: 30px; }
  .fs-body-category-propose-test .propose-faq__item { padding: 20px 0; }
  .fs-body-category-propose-test .propose-faq__q { font-size: 15px; }
  .fs-body-category-propose-test .propose-faq__a { font-size: 14px; }
}


/* =================================================================
   カート→購入 改善施策（Zoho Desk #36516）2026/10
================================================================= */

/* ---------- A・C：ご購入前によくあるご質問 ---------- */
.gw-prefaq { margin: 20px 0; }
.fs-body-cart .gw-prefaq { margin: 20px auto; max-width: 1240px; }
/* 見出しバー：既存「よくある質問について」と同じデザイン */
.gw-prefaq__toggle {
  position: relative; display: block; width: 100%; padding: 14px 40px 14px 10px;
  background-color: #a70827; color: #fff; border: none; cursor: pointer;
  text-align: left; font-size: 16px; font-weight: bold; line-height: 1; transition: opacity .3s;
}
.gw-prefaq__toggle:hover { opacity: .8; }
.gw-prefaq__toggle::before {
  content: ""; position: absolute; right: 15px; top: 50%; width: 10px; height: 10px;
  border-top: solid 2px #fff; border-right: solid 2px #fff;
  transform: translateY(-50%) rotate(135deg); transition: transform .5s ease-in-out;
}
.gw-prefaq__toggle.is-open::before { transform: translateY(-50%) rotate(-45deg); }
.gw-prefaq__body { border: 1px solid #e5e5e5; border-top: none; background: #fff; }
.gw-prefaq__body[hidden] { display: none; }
.gw-prefaq__item + .gw-prefaq__item { border-top: 1px solid #e5e5e5; }
.gw-prefaq__q {
  position: relative; display: block; width: 100%; padding: 14px 36px 14px 34px;
  background: #fff; border: none; cursor: pointer; text-align: left;
  font-size: 14px; line-height: 1.6; color: #151515;
}
.gw-prefaq__q::before { content: "Q."; position: absolute; left: 10px; top: 14px; color: #a70827; font-weight: bold; }
.gw-prefaq__q::after { content: "+"; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #999; font-size: 18px; }
.gw-prefaq__q[aria-expanded="true"]::after { content: "−"; }
.gw-prefaq__a { position: relative; padding: 12px 12px 14px 34px; background: #f7f7f7; font-size: 13px; line-height: 1.8; }
.gw-prefaq__a[hidden] { display: none; }
.gw-prefaq__a::before { content: "A."; position: absolute; left: 10px; top: 12px; font-weight: bold; }
.gw-prefaq__a p { margin: 0; }

/* ---------- B・D：購入ボタン追従（スマホのみJSで表示） ---------- */
.gw-sticky-buy {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 998;
  display: flex; align-items: center; gap: 10px; padding: 8px 10px;
  background: #fff; border-top: 1px solid #ddd; box-shadow: 0 -2px 8px rgba(0, 0, 0, .08);
  transform: translateY(150%); visibility: hidden; transition: transform .25s ease, visibility .25s;
}
.gw-sticky-buy.is-show { transform: translateY(0); visibility: visible; }
.gw-sticky-buy__info { flex: 1; min-width: 0; }
.gw-sticky-buy__name { margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 11px; color: #777; line-height: 1.4; }
.gw-sticky-buy__price { margin: 0; font-size: 15px; font-weight: bold; line-height: 1.4; color: #151515; }
.gw-sticky-buy__tax { margin-left: 2px; font-size: 10px; font-weight: normal; }
.gw-sticky-buy__btn {
  flex-shrink: 0; min-width: 170px; height: 44px; padding: 0 14px;
  background: #a70827; color: #fff; border: none; font-size: 14px; font-weight: bold; cursor: pointer;
}
.gw-sticky-buy__btn::after { content: " ▼"; font-size: 10px; }
@media screen and (min-width: 769px) {
  .gw-sticky-buy { display: none !important; }
}

/* ---------- E・F・G：お客様情報入力（/p/customer-details） ---------- */
/* F：必須の「＊」→「必須」ラベル */
.fs-body-customerDetails .fs-c-requiredMark {
  display: inline-flex; align-items: center; position: relative; top: -2px;
  width: auto; height: auto; overflow: visible; text-indent: 0; font-size: 0; line-height: normal;
  vertical-align: middle; margin-left: 6px;
}
.fs-body-customerDetails .fs-c-requiredMark::before {
  content: "必須"; display: inline-block; padding: 2px 6px; background: #c8102e; color: #fff;
  font-size: 11px; font-weight: bold; line-height: 1.4; border-radius: 2px;
}
/* F：入力欄・プルダウンの文字を16px以上（iPhoneの自動拡大防止） */
.fs-body-customerDetails #fs_form input[type="text"],
.fs-body-customerDetails #fs_form input[type="tel"],
.fs-body-customerDetails #fs_form input[type="email"],
.fs-body-customerDetails #fs_form input[type="password"],
.fs-body-customerDetails #fs_form select,
.fs-body-customerDetails #fs_form textarea { font-size: 16px; }
/* F：ボタンの高さ44px以上 */
.fs-body-customerDetails #fs_form [class*="fs-c-button--"]:not(.fs-c-button--displayPassword):not(.fs-c-button--particular) {
  min-height: 44px;
}
/* E：郵便番号の入力例（この画面はmain.jsが読み込まれずplaceholderを付けられないため、入力欄の横に表示） */
.fs-body-customerDetails .fs-c-inputField__field--zipCode::after {
  content: "例）1040061"; display: block; margin-top: 4px; font-size: 12px; color: #888;
}
/* G：会員登録の説明のすぐ上に一文を追加 */
.fs-body-customerDetails .fs-c-agreementConfirmationArea__message::before {
  content: "※会員登録しなくてもご購入いただけます。"; display: block; margin-bottom: 8px;
  color: #a70827; font-weight: bold;
}


/* =================================================================
   バリエーション価格の表示調整（Zoho Desk #36522）2026/10
   「カートに入れる」左側の価格を左寄せ・「（税込）」を同じ行に
   ※バリエーションごとに価格が異なる商品だけに出力される要素が対象。
     全色同じ価格の商品には影響しません。
================================================================= */
.fs-c-variationCart__variationName__price { display: block; margin-top: 2px; text-align: left; }
.fs-c-variationCart__variationName__price .fs-c-productVariationPrice {
  display: inline-flex; align-items: baseline; flex-wrap: wrap; width: auto;
}
.fs-c-variationCart__variationName__price .fs-c-productVariationPrice__price {
  display: inline-flex; align-items: baseline; justify-content: flex-start; width: auto; font-size: 14px;
}
.fs-c-variationCart__variationName__price .fs-c-productVariationPrice__addon {
  display: inline; margin-left: 2px; font-size: 12px; white-space: nowrap;
}
.fs-c-variationCart__variationName__price .fs-c-productVariationPrice__addon__label::before { content: "（"; }
.fs-c-variationCart__variationName__price .fs-c-productVariationPrice__addon__label::after { content: "）"; }
