@charset "UTF-8";
/* ==========================================================================//
//
// リセット
//
// ========================================================================== */
#container {
  width: auto;
  max-width: none;
  padding-top: 177px;
  padding-inline: 0;
}

#themeNoneTab .simple {
  padding-top: 87px;
}

#contents {
  max-width: none;
}

#purchase {
  width: 100%;
  min-width: 1000px;
}
#purchase h2 {
  margin: 0;
  padding: 0;
  border: none;
}

#header {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  max-width: 1280px;
}

#headSpace {
  padding: 0 var(--pc_padding);
}

.l-cart {
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  line-height: normal;
  letter-spacing: normal;
}
.l-cart * {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-style: normal;
}
.l-cart *,
.l-cart *::before,
.l-cart *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.l-cart a {
  text-decoration: none;
  color: #000;
}
.l-cart a img {
  border: none;
}
.l-cart img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.l-cart figure {
  margin: 0;
}
.l-cart table {
  border-collapse: collapse;
  border-spacing: 0;
}
.l-cart ul,
.l-cart li,
.l-cart ol,
.l-cart dl,
.l-cart dt,
.l-cart dd {
  list-style: none;
}
.l-cart input,
.l-cart label,
.l-cart select,
.l-cart textarea {
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  font: inherit;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: none;
  border-radius: 0;
}
.l-cart button {
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.l-cart input[type=submit],
.l-cart input[type=checkbox],
.l-cart input[type=radio],
.l-cart button,
.l-cart select,
.l-cart label {
  cursor: pointer;
}
.l-cart #stepBottom {
  margin-inline: auto;
  margin-top: 0;
}

/* ==========================================================================//
//
// common（共通スタイル）
//
// ========================================================================== */
.l-cart {
  font-weight: 300;
  color: #000;
  font-size: 14px;
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  .l-cart {
    font-size: 13px;
  }
}
.l-cart * {
  font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.l-cart h1,
.l-cart h2,
.l-cart h3,
.l-cart h4,
.l-cart h5,
.l-cart h6 {
  font-weight: 600;
}
.l-cart .underline {
  text-decoration: underline;
}
.l-cart a.underline {
  text-decoration: underline;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  cursor: pointer;
}
@media (hover: hover) {
  .l-cart a.underline {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-cart a.underline:hover {
    opacity: 0.7;
  }
}
.l-cart .bold {
  font-weight: 600;
}
.l-cart .red {
  color: #B91111;
}
.l-cart .line_through {
  text-decoration: line-through;
}

body:has(.js-modal.is-active) {
  overflow: hidden;
}

/* インナー
---------------------------------------------------------- */
:root {
  --pc_padding: 50px;
}
@media all and (max-width: 1180px) {
  :root {
    --pc_padding: 20px;
  }
}

.l-inner {
  padding: 0 var(--pc_padding);
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.l-inner--short {
  max-width: 900px;
}

/* page_head
---------------------------------------------------------- */
.l-page__head {
  padding: 36px 0 50px;
}
.l-page__head .head_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-page__body {
  padding-bottom: 100px;
}

/* タイトル
---------------------------------------------------------- */
/* ページタイトル */
.ct-page__ttl {
  font-size: 28px;
}

/* ボタン
---------------------------------------------------------- */
.l-cart .c-btn {
  --color: $text;
}
.l-cart .c-btn__btnarea {
  display: block;
  width: 100%;
  border-radius: 3px;
  background-color: var(--bg_color);
  color: var(--color);
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  padding: 24px 20px;
  cursor: pointer;
}
@media (hover: hover) {
  .l-cart .c-btn:not(.is-disactive) .c-btn__btnarea {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .l-cart .c-btn:not(.is-disactive) .c-btn__btnarea:hover {
    background-color: var(--hover_color);
  }
}
.l-cart .c-btn--line_black {
  /* 黒線白背景ボタン */
  --bg_color: #fff;
  --hover_color: #efefef;
}
.l-cart .c-btn--line_black .c-btn__btnarea {
  border: 1px solid #b4b4b4;
}
.l-cart .c-btn--bg_red {
  /* 赤背景ボタン */
  --color: #fff;
  --bg_color: #B91111;
  --hover_color: #ed5151;
}
.l-cart .c-btn--back {
  /* 一覧へ戻るボタン */
  --hover_color: #efefef;
  width: 428px;
  margin-inline: auto;
  margin-top: 30px;
}
.l-cart .c-btn--back .c-btn__btnarea {
  border: 1px solid #b4b4b4;
}
.l-cart .c-btn--file {
  --color: #B91111;
  --bg_color: #fff;
  --hover_color: #ffebeb;
}
.l-cart .c-btn--file .c-btn__btnarea {
  border: 1px solid #d6b8b8;
  padding: 13px;
}
.l-cart .c-btn--file .c-btn__btnarea span {
  position: relative;
  padding-left: 27px;
}
.l-cart .c-btn--file .c-btn__btnarea span::before {
  position: absolute;
  content: "";
  background-image: url(../images/icon/file_red_01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 15/18;
  width: 15px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-cart .c-btn--wish {
  /* あとで買うボタン */
  --hover_color: #efefef;
  position: relative;
}
.l-cart .c-btn--wish .c-wish__btnarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  border: 1px solid #b4b4b4;
  padding: 6px 8px;
}
@media all and (max-width: 1100px) {
  .l-cart .c-btn--wish .c-wish__btnarea {
    padding: 4px 6px;
  }
}
.l-cart .c-btn--wish .c-wish__icon {
  width: 13px;
}
@media all and (max-width: 1100px) {
  .l-cart .c-btn--wish .c-wish__icon {
    display: none;
  }
}
.l-cart .c-btn--wish .c-wish__text {
  font-weight: 300;
  font-size: 12px;
}
.l-cart .c-btn.is-disactive {
  opacity: 0.3;
}
.l-cart .c-btn.is-disactive .c-btn__btnarea {
  cursor: not-allowed;
}

/* はてなマーク ツールチップ
---------------------------------------------------------- */
.c-question__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}

.c-question {
  position: relative;
}
.c-question::before {
  position: absolute;
  content: "";
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #FFDBDB;
  aspect-ratio: 11/14;
  width: 11px;
  top: -3px;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.c-question__icon {
  width: 17px;
  line-height: 1;
  cursor: pointer;
}
.c-question__tooltip {
  position: absolute;
  z-index: 1;
  top: -16px;
  left: -37px;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  background-color: #FFDBDB;
  border-radius: 6px;
  width: 320px;
  padding: 12px 20px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.c-question__tooltip p {
  font-size: 13px;
  margin: 0;
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  .c-question__tooltip p {
    font-size: 12px;
  }
}
.c-question__tooltip--right {
  left: -214px;
}
.c-question__tooltip--center {
  left: -120px;
}
.c-question:hover::before,
.c-question:hover .c-question__tooltip {
  opacity: 1;
  visibility: visible;
}

/* フォーム
---------------------------------------------------------- */
.ct-form input[type=text],
.ct-form input[type=email],
.ct-form input[type=tel],
.ct-form input[type=number]:not(.c-count__input),
.ct-form input[type=url],
.ct-form input[type=date],
.ct-form input[type=button],
.ct-form input[type=search],
.ct-form input[type=password],
.ct-form textarea,
.ct-form select {
  width: 100%;
  max-width: 838px;
  background: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 4px;
  color: #000;
  font-weight: 300;
  font-size: 15px;
}
.ct-form input[type=text]::-webkit-input-placeholder, .ct-form input[type=email]::-webkit-input-placeholder, .ct-form input[type=tel]::-webkit-input-placeholder, .ct-form input[type=number]:not(.c-count__input)::-webkit-input-placeholder, .ct-form input[type=url]::-webkit-input-placeholder, .ct-form input[type=date]::-webkit-input-placeholder, .ct-form input[type=button]::-webkit-input-placeholder, .ct-form input[type=search]::-webkit-input-placeholder, .ct-form input[type=password]::-webkit-input-placeholder, .ct-form textarea::-webkit-input-placeholder, .ct-form select::-webkit-input-placeholder {
  font: inherit;
  color: #afafaf;
}
.ct-form input[type=text]::-moz-placeholder, .ct-form input[type=email]::-moz-placeholder, .ct-form input[type=tel]::-moz-placeholder, .ct-form input[type=number]:not(.c-count__input)::-moz-placeholder, .ct-form input[type=url]::-moz-placeholder, .ct-form input[type=date]::-moz-placeholder, .ct-form input[type=button]::-moz-placeholder, .ct-form input[type=search]::-moz-placeholder, .ct-form input[type=password]::-moz-placeholder, .ct-form textarea::-moz-placeholder, .ct-form select::-moz-placeholder {
  font: inherit;
  color: #afafaf;
}
.ct-form input[type=text]:-ms-input-placeholder, .ct-form input[type=email]:-ms-input-placeholder, .ct-form input[type=tel]:-ms-input-placeholder, .ct-form input[type=number]:not(.c-count__input):-ms-input-placeholder, .ct-form input[type=url]:-ms-input-placeholder, .ct-form input[type=date]:-ms-input-placeholder, .ct-form input[type=button]:-ms-input-placeholder, .ct-form input[type=search]:-ms-input-placeholder, .ct-form input[type=password]:-ms-input-placeholder, .ct-form textarea:-ms-input-placeholder, .ct-form select:-ms-input-placeholder {
  font: inherit;
  color: #afafaf;
}
.ct-form input[type=text]::-ms-input-placeholder, .ct-form input[type=email]::-ms-input-placeholder, .ct-form input[type=tel]::-ms-input-placeholder, .ct-form input[type=number]:not(.c-count__input)::-ms-input-placeholder, .ct-form input[type=url]::-ms-input-placeholder, .ct-form input[type=date]::-ms-input-placeholder, .ct-form input[type=button]::-ms-input-placeholder, .ct-form input[type=search]::-ms-input-placeholder, .ct-form input[type=password]::-ms-input-placeholder, .ct-form textarea::-ms-input-placeholder, .ct-form select::-ms-input-placeholder {
  font: inherit;
  color: #afafaf;
}
.ct-form input[type=text]::placeholder,
.ct-form input[type=email]::placeholder,
.ct-form input[type=tel]::placeholder,
.ct-form input[type=number]:not(.c-count__input)::placeholder,
.ct-form input[type=url]::placeholder,
.ct-form input[type=date]::placeholder,
.ct-form input[type=button]::placeholder,
.ct-form input[type=search]::placeholder,
.ct-form input[type=password]::placeholder,
.ct-form textarea::placeholder,
.ct-form select::placeholder {
  font: inherit;
  color: #afafaf;
}
.ct-form input[type=text].size120,
.ct-form input[type=email].size120,
.ct-form input[type=tel].size120,
.ct-form input[type=number]:not(.c-count__input).size120,
.ct-form input[type=url].size120,
.ct-form input[type=date].size120,
.ct-form input[type=button].size120,
.ct-form input[type=search].size120,
.ct-form input[type=password].size120,
.ct-form textarea.size120,
.ct-form select.size120 {
  width: 120px;
}
.ct-form input[type=text].size180,
.ct-form input[type=email].size180,
.ct-form input[type=tel].size180,
.ct-form input[type=number]:not(.c-count__input).size180,
.ct-form input[type=url].size180,
.ct-form input[type=date].size180,
.ct-form input[type=button].size180,
.ct-form input[type=search].size180,
.ct-form input[type=password].size180,
.ct-form textarea.size180,
.ct-form select.size180 {
  width: min(180px, 100%);
}
.ct-form input[type=text].size200,
.ct-form input[type=email].size200,
.ct-form input[type=tel].size200,
.ct-form input[type=number]:not(.c-count__input).size200,
.ct-form input[type=url].size200,
.ct-form input[type=date].size200,
.ct-form input[type=button].size200,
.ct-form input[type=search].size200,
.ct-form input[type=password].size200,
.ct-form textarea.size200,
.ct-form select.size200 {
  width: min(200px, 100%);
}
.ct-form input[type=text].size260,
.ct-form input[type=email].size260,
.ct-form input[type=tel].size260,
.ct-form input[type=number]:not(.c-count__input).size260,
.ct-form input[type=url].size260,
.ct-form input[type=date].size260,
.ct-form input[type=button].size260,
.ct-form input[type=search].size260,
.ct-form input[type=password].size260,
.ct-form textarea.size260,
.ct-form select.size260 {
  width: min(260px, 100%);
}
.ct-form input[type=text].size350,
.ct-form input[type=email].size350,
.ct-form input[type=tel].size350,
.ct-form input[type=number]:not(.c-count__input).size350,
.ct-form input[type=url].size350,
.ct-form input[type=date].size350,
.ct-form input[type=button].size350,
.ct-form input[type=search].size350,
.ct-form input[type=password].size350,
.ct-form textarea.size350,
.ct-form select.size350 {
  width: min(350px, 100%);
}
.ct-form input[type=text],
.ct-form input[type=email],
.ct-form input[type=tel],
.ct-form input[type=number],
.ct-form input[type=url],
.ct-form input[type=date],
.ct-form input[type=search],
.ct-form input[type=password],
.ct-form textarea {
  padding: 10px 20px;
}
.ct-form select {
  width: min(350px, 100%);
  background-image: url(../images/icon/arrow_01.svg);
  background-repeat: no-repeat;
  background-size: 12px 6px;
  background-position: right 20px top 53%;
  padding: 14px 40px 14px 20px;
}
.ct-form-submit {
  margin-top: 30px;
}
.ct-form-submit input[type=submit] {
  display: block;
  border-radius: 3px;
  background-color: #B91111;
  border: none;
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  color: #fff;
  width: 428px;
  margin-inline: auto;
  padding: 1.2em;
}
@media (hover: hover) {
  .ct-form-submit input[type=submit] {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .ct-form-submit input[type=submit]:hover {
    background-color: #ed5151;
  }
}
.ct-form input[type=checkbox] {
  position: relative;
  aspect-ratio: 1;
  width: 28px;
  height: auto;
  background: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 4px;
  margin-right: 15px;
}
.ct-form input[type=checkbox]::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 8px;
  width: 10px;
  height: 15px;
  border: solid #B91111;
  border-width: 0 3.5px 3.5px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.ct-form input[type=checkbox]:checked::before {
  opacity: 1;
}
.ct-form input[type=radio] {
  position: absolute;
  visibility: hidden;
}
.ct-form input[type=radio]:checked + label::after {
  opacity: 1;
  visibility: visible;
}
.ct-form input[type=checkbox]:checked + label::after {
  opacity: 1;
  visibility: visible;
}
.ct-form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 838px;
  gap: 10px 20px;
}
.ct-form-row .ct-form-note {
  margin: 0;
}
.ct-form-box {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 15px;
}
.ct-form-box p {
  width: 3em;
  white-space: nowrap;
}
.ct-form-box--number {
  -webkit-box-flex: unset;
      -ms-flex: unset;
          flex: unset;
  gap: 15px;
}
.ct-form-box--number input {
  width: 120px;
}
.ct-form-box--fit {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.ct-form-note {
  color: #6C6A6A;
  font-size: 14px;
  line-height: 1.7;
  margin-top: 10px;
}
.ct-form-note + .ct-form-note {
  margin-top: 2px;
}
.ct-form-extlink {
  position: relative;
}
.ct-form-extlink::after {
  position: absolute;
  content: "";
  background-image: url(../images/icon/page_01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 14px;
  height: 11px;
  top: 5px;
  right: -20px;
}
.ct-form-radio__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.ct-form-radio__item:not(:last-child) {
  margin-bottom: 10px;
}
.ct-form-radio__item input[type=text] {
  margin-left: 10px;
}
.ct-form-radio__item label:not(.non_radio) {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
}
.ct-form-radio__item label:not(.non_radio)::before {
  content: "";
  aspect-ratio: 1;
  width: 36px;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #d3d3d3;
  margin-right: 1em;
}
.ct-form-radio__item label:not(.non_radio)::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  aspect-ratio: 1;
  width: 18px;
  background-color: #000;
  left: 9px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.ct-form__container {
  overflow: hidden;
  border-radius: 6px;
  border: 2px solid #F4F4F4;
}
.ct-form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.ct-form__item:not(:last-child) {
  border-bottom: 1px solid #D8D8D8;
}
.ct-form__item--head {
  width: 200px;
  background-color: #F4F4F4;
  font-size: 15px;
  padding: 30px 26px;
}
.ct-form__item--head .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 4px 8px;
}
.ct-form__item--head .required {
  color: #B91111;
  font-weight: 300;
  font-size: 0.93em;
}
.ct-form__item--cont {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 15px;
  padding: 30px 25px;
}
.ct-form-privacy {
  text-align: center;
  margin-top: 60px;
}
.ct-form-card__image {
  width: min(284px, 100%);
  margin-top: 10px;
}
.ct-form-card__save {
  background-color: #F4F4F4;
  border-radius: 4px;
  text-align: center;
  padding: 30px;
  margin-top: 30px;
}
.ct-form-card__save > label {
  font-size: 15px;
}
.ct-form-card__save .c-modal-form__item {
  text-align: left;
  margin-top: 30px;
}
.ct-form-card__save .c-modal-form__item .c-modal-form__heading {
  width: 166px;
}
.ct-form-okihai {
  font-size: 14px;
}
.ct-form-okihai .lead {
  line-height: 1.7;
}
.ct-form-okihai .agreements {
  height: 250px;
  background-color: #fff;
  border: 1px solid #D8D8D8;
  padding: 16px 15px;
  margin-top: 20px;
  overflow-y: scroll;
}
.ct-form-okihai .agreements__content {
  line-height: 1.57;
}
.ct-form-okihai .agreements__content h3 {
  font-size: 1.1em;
}
.ct-form-okihai .agreements__content h3:not(:last-child) {
  margin-bottom: 1.6em;
}
.ct-form-okihai .agreements__content h4:not(:last-child) {
  margin-bottom: 0.6em;
}
.ct-form-okihai .agreements__content p + h4,
.ct-form-okihai .agreements__content ul + h4,
.ct-form-okihai .agreements__content ol + h4 {
  margin-top: 1.5em;
}
.ct-form-okihai .agreements__content ul li {
  text-indent: -1em;
  padding-left: 1em;
}
.ct-form-okihai .agreements__content ul li::before {
  content: "・";
}
.ct-form-okihai .agreements__content ul li:not(:last-child) {
  margin-bottom: 3px;
}
.ct-form-okihai .agreements__content ol li:not(:last-child) {
  margin-bottom: 3px;
}
.ct-form-okihai .agreements__content p + ul,
.ct-form-okihai .agreements__content p + ol {
  margin-top: 10px;
}
.ct-form-okihai .agreements__content .foot {
  text-align: right;
  margin-top: 40px;
}
.ct-form-okihai .acceptance {
  text-align: center;
  margin-top: 25px;
}
.ct-form-okihai .acceptance label {
  font-weight: 600;
  font-size: 15px;
}
.ct-form-okihai .acceptance__select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
  margin-top: 20px;
  opacity: 0.4;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  pointer-events: none;
}
.ct-form-okihai .acceptance__select select {
  background-color: #ededed;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.ct-form-okihai .acceptance input[type=checkbox]:checked + label + .acceptance__select {
  opacity: 1;
  pointer-events: visible;
}
.ct-form-okihai .acceptance input[type=checkbox]:checked + label + .acceptance__select select {
  background-color: #fff;
}
.ct-form-coupon .attention {
  display: inline-block;
  color: #B91111;
}
.ct-form-coupon__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 4px 13px;
  font-size: 15px;
}
.ct-form-coupon__ttl:not(:last-child) {
  margin-bottom: 8px;
}
.ct-form-coupon__limit {
  color: #B91111;
  font-weight: 600;
  font-size: 12px;
  padding-left: 19px;
  background-image: url(../images/icon/exclamation_02.svg);
  background-size: 14px auto;
  background-repeat: no-repeat;
  background-position: left center;
}
.ct-form-coupon__body {
  font-weight: 600;
  color: #B91111;
  font-size: 23px;
}
.ct-form-coupon__body .unit {
  font-size: 0.78em;
}
.ct-form-coupon__body .off {
  font-size: 0.78em;
  margin-left: 0.5em;
}
.ct-form-coupon__foot {
  margin-top: 10px;
  border-top: 1px solid #D8D8D8;
  padding-top: 10px;
}
.ct-form-coupon__foot .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px 25px;
}
.ct-form-point__head {
  padding-bottom: 20px;
  border-bottom: 1px solid #D8D8D8;
  margin-bottom: 30px;
}
.ct-form-point__head .heading {
  text-align: center;
  font-size: 16px;
}
.ct-form-point__head .heading .catch {
  font-size: 20px;
  margin-left: 14px;
}
.ct-form-point__head .heading .catch .unit {
  font-size: 16px;
  margin-left: 5px;
}
.ct-form-point__item .point_input {
  margin-left: 20px;
}
.ct-form-point__item .point_input::-webkit-inner-spin-button, .ct-form-point__item .point_input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: textfield;
}
.ct-form-point__item label {
  font-size: 15px;
}
.ct-form-point__item:not(:last-child) {
  margin-bottom: 20px;
}
.ct-form-point__item .unit {
  margin-left: 10px;
}
.ct-form-himoku__item {
  font-size: 15px;
  gap: 20px;
}
.ct-form-himoku__item:not(:last-child) {
  margin-bottom: 20px;
}
.ct-form-himoku__item input[type=text] {
  margin-left: unset;
}
.ct-form-date__item {
  display: block;
  font-size: 15px;
}
.ct-form-date__item:not(:last-child) {
  margin-bottom: 20px;
}
.ct-form-date label .detail {
  margin-left: 30px;
}
.ct-form-date label .date {
  font-size: 16px;
  margin-right: 0.5em;
}
.ct-form-date__setting {
  background-color: #F4F4F4;
  border-radius: 4px;
  padding: 20px;
  margin-top: 10px;
}
.ct-form-date__setting .setting__list {
  width: min(368px, 100%);
  margin-inline: auto;
}
.ct-form-date__setting .setting__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
}
.ct-form-date__setting .setting__item:not(:last-child) {
  margin-bottom: 18px;
}
.ct-form-date__setting .setting__item .heading {
  width: 80px;
  font-weight: 600;
  font-size: 16px;
}
.ct-form-date__setting .setting__item select {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.ct-form-receive__item {
  display: block;
  font-size: 15px;
}
.ct-form-receive__item:not(:last-child) {
  margin-bottom: 20px;
}
.ct-form-receive__setting {
  background-color: #F4F4F4;
  border-radius: 4px;
  padding: 20px;
  margin-top: 10px;
}

.c-password {
  position: relative;
}
.c-password input[type=password] {
  padding-right: 40px;
}
.c-password__showbtn {
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: transparent;
  width: 25px;
  line-height: 1;
}
.c-password__showbtn:not(.is-show)::before {
  position: absolute;
  content: "";
  background-color: #afafaf;
  border-radius: 6px;
  width: 105%;
  height: 1.5px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.c-password--mid {
  width: min(350px, 100%);
}

/* モーダル
---------------------------------------------------------- */
.c-modal {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.16);
  z-index: 100;
  display: -ms-grid;
  display: grid;
  place-items: center;
  padding: 40px;
  height: 100%;
  overflow-y: scroll;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-modal.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: visible;
}
.c-modal__container {
  background-color: #fff;
  border-radius: 6px;
  width: min(690px, 100%);
}
.c-modal__container--mid {
  width: min(620px, 100%);
}
.c-modal__container--small {
  width: min(510px, 100%);
}
.c-modal__ttl {
  text-align: center;
  font-weight: 600;
  font-size: 18px;
  background-color: #F4F4F4;
  border-radius: 6px 6px 0 0;
  padding: 22px 20px;
}
.c-modal__ttl h2 {
  text-align: center !important;
}
.c-modal__content {
  padding: 40px 50px;
}
.c-modal__btns {
  width: min(520px, 100%);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  margin-top: 35px;
}
.c-modal__btns .c-btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.c-modal__btn .c-btn__btnarea {
  padding: 16px;
}
.c-modal__or {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  text-align: center;
  font-size: 15px;
  margin: 30px 0;
}
.c-modal__or::before, .c-modal__or::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: 0.5px solid #D8D8D8;
}
.c-modal__postcode {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 29px;
}
.c-modal__postcode label {
  font-size: 15px;
}
.c-modal__postcode input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.c-modal-form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
.c-modal-form__item:not(:last-child) {
  margin-bottom: 30px;
}
.c-modal-form__item:has(.c-modal-form__radio) {
  gap: 20px;
}
.c-modal-form__item:has(.c-modal-form__radio) > .c-modal-form__heading {
  font-size: 16px;
}
.c-modal-form__item--row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 30px;
}
.c-modal-form__item--row .c-modal-form__heading {
  width: 200px;
}
.c-modal-form__heading {
  font-size: 15px;
  line-height: 1;
}
.c-modal-form__heading .required {
  font-weight: 300;
  color: #B91111;
  font-size: 14px;
  margin-left: 1em;
}
.c-modal-form__cont {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.c-modal-form__radio {
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  outline: 2px solid transparent;
  outline-offset: -2px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  /* チェック後 */
}
.c-modal-form__radio:not(:last-child) {
  margin-bottom: 10px;
}
.c-modal-form__radio--default .radio__ttl::after {
  content: "通常のお届け先";
  background-color: #caebea;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  padding: 5px 8px;
  margin-left: 16px;
}
.c-modal-form__radio input[type=radio] {
  position: absolute;
  visibility: hidden;
}
.c-modal-form__radio label {
  display: block;
  padding: 16px 20px;
}
.c-modal-form__radio label .label__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-modal-form__radio label .label__inner::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 34px;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #d3d3d3;
}
.c-modal-form__radio label .label__inner::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  aspect-ratio: 1;
  width: 18px;
  background-color: #000;
  left: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.c-modal-form__radio input[type=radio]:checked + label .label__inner::after {
  opacity: 1;
  visibility: visible;
}
.c-modal-form__radio:has(input[type=radio]:checked) {
  outline-color: #000;
}
.c-modal-form__radio .radio__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 20px;
}
.c-modal-form__radio .radio__content p {
  line-height: 1.64;
}
.c-modal-form__radio .radio__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-modal-form__radio .radio__ttl:not(:last-child) {
  margin-bottom: 6px;
}
.c-modal-form__radio .radio__editBtn {
  margin-left: auto;
}
.c-modal-form__radio .radio__editBtn .c-btn__btnarea {
  background-color: transparent;
  font-weight: 300;
  font-size: 14px;
  padding: 8px 20px;
}
.c-modal-form__radio .radio__form {
  padding: 0 39px 30px;
  margin-top: 10px;
}

/* ステップバー
---------------------------------------------------------- */
.ct-step {
  width: 440px;
  -webkit-transform: translateX(46px);
          transform: translateX(46px);
}
.ct-step__list {
  counter-reset: number 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.ct-step__item {
  --dot_size: 39px;
  --color: #bbbbbb;
  counter-increment: number 1;
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
  color: var(--color);
  font-size: 13px;
  white-space: nowrap;
}
.ct-step__item::before {
  content: counter(number);
  aspect-ratio: 1;
  width: var(--dot_size);
  height: var(--dot_size);
  background-color: var(--color);
  border-radius: 50%;
  display: -ms-grid;
  display: grid;
  place-items: center;
  text-align: center;
  color: #fff;
  font-weight: 600;
  font-size: 18px;
  margin: 0 auto 10px;
}
.ct-step__item::after {
  position: absolute;
  content: "";
  z-index: -1;
  top: calc(var(--dot_size) / 2);
  left: calc(-50% + var(--dot_size) / 2 + 10px);
  width: 100%;
  width: calc(100% - var(--dot_size) - 20px);
  height: 2px;
  background-color: var(--color);
}
.ct-step__item:first-child:after {
  content: none;
}
.ct-step__item.is-active, .ct-step__item.is-complete {
  --color: #555555;
}
.ct-step__item.is-active {
  font-weight: 600;
}

/* 数量増減カウンター
---------------------------------------------------------- */
.l-cart .c-count {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
}
.l-cart .c-count__btn {
  aspect-ratio: 1;
  width: 40px;
  background-color: #e3e3e3;
  border-radius: 4px;
}
.l-cart .c-count__btn--down {
  position: relative;
}
.l-cart .c-count__btn--down::before {
  position: absolute;
  content: "";
  background-color: #000;
  width: 16px;
  height: 2px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.l-cart .c-count__btn--up {
  position: relative;
}
.l-cart .c-count__btn--up::before, .l-cart .c-count__btn--up::after {
  position: absolute;
  content: "";
  background-color: #000;
  width: 16px;
  height: 2px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.l-cart .c-count__btn--up::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.l-cart .c-count__btn.is-disable {
  opacity: 0.3;
  cursor: initial;
}
.l-cart .c-count__input {
  width: 60px;
  height: 40px;
  background-color: #fff;
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  text-align: center;
  font-weight: 600;
  font-size: 16px;
}
.l-cart .c-count__input::-webkit-outer-spin-button, .l-cart .c-count__input::-webkit-inner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: textfield;
  margin: 0;
}

/* アラート
---------------------------------------------------------- */
.c-alert {
  position: relative;
  background-color: #fceaea;
  border-radius: 4px;
  color: #B91111;
  padding: 16px 20px 16px 54px;
}
.c-alert::before {
  position: absolute;
  content: "";
  background-image: url(../images/icon/alert_01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  width: 24px;
  top: 14px;
  left: 20px;
}
.c-alert__ttl {
  font-weight: 600;
}
.c-alert__text {
  line-height: 1.7;
}
.c-alert__text:not(:last-child) {
  margin-bottom: 4px;
}
.c-alert__ttl + .c-alert__text {
  margin-top: 6px;
}
.c-alert + .c-alert {
  margin-top: 10px;
}
.c-alert + * {
  margin-top: 30px;
}
.c-alert + .p-cart-order__dayList--count {
  margin-top: 20px;
}

/* ==========================================================================//
//
// ショッピングカート
//
// ========================================================================== */
/* 共通
---------------------------------------------------------- */
.l-cart-home .ct-sec:not(:first-child) {
  margin-top: 60px;
}

/* セクションタイトル */
.ct-sec__ttl {
  font-size: 22px;
  margin-bottom: 20px;
}
.ct-sec__ttl--border {
  border-bottom: 1px solid #D8D8D8;
  padding-bottom: 20px;
}

/* カートトップ
---------------------------------------------------------- */
.p-cart-top {
  margin-bottom: 80px;
}
.p-cart-top__container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.23%;
  padding-bottom: 50px;
  border-bottom: 1px solid #D8D8D8;
  margin-bottom: 50px;
}
@media all and (max-width: 1180px) {
  .p-cart-top__container {
    gap: 24px;
  }
}
.p-cart-top__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-cart-top__side {
  width: 430px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media all and (max-width: 1180px) {
  .p-cart-top__side {
    width: 350px;
  }
}
.p-cart-top__side hr {
  border: none;
  width: 100%;
  height: 1px;
  background-color: #D8D8D8;
  margin: 30px 0;
}
.p-cart-top .side__body {
  background-color: #F4F4F4;
  border-radius: 6px;
  padding: 35px 40px;
}
@media all and (max-width: 1180px) {
  .p-cart-top .side__body {
    padding: 26px 28px;
  }
}
.p-cart-top .side__body--sticky {
  position: sticky;
  top: 20px;
  z-index: 1;
}
.p-cart-top .side__body--sticky.js-sticky {
  position: fixed;
  width: 430px;
  margin-top: 20px;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-10%);
          transform: translateY(-10%);
  -webkit-transition-property: opacity, visibility, -webkit-transform;
  transition-property: opacity, visibility, -webkit-transform;
  transition-property: opacity, visibility, transform;
  transition-property: opacity, visibility, transform, -webkit-transform;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
@media all and (max-width: 1180px) {
  .p-cart-top .side__body--sticky.js-sticky {
    width: 350px;
  }
}
.p-cart-top .side__body--sticky.is-sticky {
  position: sticky;
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-duration: 0.4s;
          transition-duration: 0.4s;
}

/* お届け先
---------------------------------------------------------- */
.p-cart-delivery {
  background-color: #F4F4F4;
  border-radius: 6px;
  padding: 25px 30px;
  margin-bottom: 30px;
}
.p-cart-delivery__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.p-cart-delivery__body {
  position: relative;
  padding-left: 57px;
}
.p-cart-delivery__body::before {
  position: absolute;
  content: "";
  background-image: url(../images/icon/track_01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  width: 37px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-cart-delivery__heading {
  font-size: 15px;
}
.p-cart-delivery__note {
  color: #6C6A6A;
  font-size: 13px;
  margin-top: 5px;
}
.p-cart-delivery__icon {
  background-color: #ffe2a1;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  padding: 5px 8px;
}
.p-cart-delivery__btn {
  background-color: transparent;
  text-decoration: underline;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  font-weight: 300;
  white-space: nowrap;
  margin-left: auto;
}
@media (hover: hover) {
  .p-cart-delivery__btn {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p-cart-delivery__btn:hover {
    opacity: 0.7;
  }
}

/* 注文リスト
---------------------------------------------------------- */
.p-cart-order {
  --padding_inline: 25px;
}
.p-cart-order__dayList--count {
  --padding_inline: 20px;
}
.p-cart-order__dayList--count .p-cart-order__dayItem .count__head {
  background-color: #a0a0a0;
  border-radius: 6px 6px 0 0;
  color: #fff;
  font-size: 16px;
  padding: 10px var(--padding_inline);
}
.p-cart-order__dayList--count .p-cart-order__dayItem .day__head {
  border-radius: 0;
  border-top: none;
}
.p-cart-order__dayItem {
  --theme_color: transparent;
  --theme_font_color: #000;
  --border_width: 2px;
  --border_radius: 6px;
  --bar_height: 9px;
  --padding_top: 16px;
  position: relative;
}
.p-cart-order__dayItem::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: var(--bar_height);
  background-color: var(--theme_color);
  border-radius: var(--border_radius) var(--border_radius) 0 0;
  z-index: 1;
}
.p-cart-order__dayItem:not(:last-child) {
  margin-bottom: 24px;
}
.p-cart-order__dayItem .day__head {
  background-color: #F4F4F4;
  border: var(--border_width) solid #D8D8D8;
  border-bottom: none;
  border-radius: var(--border_radius) var(--border_radius) 0 0;
  font-size: 16px;
  padding: var(--padding_top) var(--padding_inline);
}
.p-cart-order__dayItem .day__head .ttl_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-cart-order__dayItem .day__head .shipping_type {
  display: block;
  color: var(--theme_font_color);
  font-weight: 600;
  font-size: 16px;
}
.p-cart-order__dayItem .day__head .shipping_type img {
  height: 29px;
  width: auto;
}
.p-cart-order__dayItem .day__head .shipping_type + p {
  padding-left: 20px;
  border-left: 1px solid #D8D8D8;
  margin-left: 20px;
}
.p-cart-order__dayItem .day__content {
  border: var(--border_width) solid #D8D8D8;
  border-top: none;
  border-radius: 0 0 var(--border_radius) var(--border_radius);
  padding: 25px var(--padding_inline);
}
.p-cart-order__dayItem--speed {
  --theme_color: #EF9439;
  --theme_font_color: #EF9439;
}
.p-cart-order__dayItem--speed > .day__head {
  padding-top: calc(var(--padding_top) + var(--bar_height) - var(--border_width));
}
.p-cart-order__dayItem--normal {
  --theme_color: #B5B5B5;
}
.p-cart-order__dayItem--normal > .day__head {
  padding-top: calc(var(--padding_top) + var(--bar_height) - var(--border_width));
}
.p-cart-order__dayItem--reserve {
  --theme_color: #14BF77;
  --theme_font_color: #14BF77;
}
.p-cart-order__dayItem--reserve > .day__head {
  padding-top: calc(var(--padding_top) + var(--bar_height) - var(--border_width));
}
.p-cart-order__dayItem--direct {
  --theme_color: #0073C8;
  --theme_font_color: #0073C8;
}
.p-cart-order__dayItem--direct > .day__head {
  padding-top: calc(var(--padding_top) + var(--bar_height) - var(--border_width));
}
.p-cart-order__dayItem:has(.p-cart-order__dayList--count) > .day__content {
  padding: 25px 15px;
}
.p-cart-order__pdItem {
  /* 商品リスト */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  padding: var(--padding_inline) 0;
}
.p-cart-order__pdItem:not(:last-child) {
  border-bottom: 1px solid #D8D8D8;
}
.p-cart-order__pdItem:first-child {
  padding-top: 0;
}
.p-cart-order__pdItem:last-child {
  padding-bottom: 0;
}
.p-cart-order__pdItem .pdItem__left {
  width: 100px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media all and (max-width: 1100px) {
  .p-cart-order__pdItem .pdItem__left {
    width: 80px;
  }
}
.p-cart-order__pdItem .pdItem__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-cart-order__pdItem .pdItem__right {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-cart-order__pdItem .pd__wishBtn {
  margin-top: 15px;
}
.p-cart-order__pdItem .pd__icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  margin-bottom: 6px;
}
.p-cart-order__pdItem .pd__icon img {
  height: 22px;
  width: auto;
}
.p-cart-order__pdItem .pd__icon--reserve {
  background-color: #14BF77;
  border-radius: 2px;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  padding: 5px 10px;
}
.p-cart-order__pdItem .pd__icon--direct {
  background-color: #0073C8;
  border-radius: 2px;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  padding: 5px 10px;
}
.p-cart-order__pdItem .pd__icon.is-disactive {
  opacity: 0.3;
}
.p-cart-order__pdItem .pd__ttl {
  line-height: 1.7;
  margin-bottom: 8px;
}
.p-cart-order__pdItem .pd__infoList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 20px;
}
.p-cart-order__pdItem .pd__infoList:not(:last-child) {
  margin-bottom: 14px;
}
.p-cart-order__pdItem .pd__infoItem {
  font-size: 13px;
}
.p-cart-order__pdItem .pd__infoItem--full {
  width: 100%;
}
.p-cart-order__pdItem .pd__infoItem .small {
  font-size: 11px;
  margin-left: 4px;
}
@media all and (max-width: 1180px) {
  .p-cart-order__pdItem .pd__infoItem .small {
    font-size: 10px;
  }
}
.p-cart-order__pdItem .pd__infoItem .pd__attention {
  margin-top: 6px;
}
.p-cart-order__pdItem .pd__infoItem:not(:last-child) .pd__specialLimit {
  margin-bottom: 5px;
}
.p-cart-order__pdItem .pd__note {
  color: #6C6A6A;
  font-size: 13px;
  line-height: 1.53;
}
.p-cart-order__pdItem .pd__attention {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: 11px;
     -moz-column-gap: 11px;
          column-gap: 11px;
  color: #B91111;
  font-weight: 600;
  font-size: 13px;
}
@media all and (max-width: 1180px) {
  .p-cart-order__pdItem .pd__attention {
    font-size: 12px;
    -webkit-column-gap: 6px;
       -moz-column-gap: 6px;
            column-gap: 6px;
  }
}
.p-cart-order__pdItem .pd__attention .number {
  font-size: 16px;
}
@media all and (max-width: 1180px) {
  .p-cart-order__pdItem .pd__attention .number {
    font-size: 15px;
  }
}
.p-cart-order__pdItem .pd__attention--icon {
  position: relative;
  padding-left: 20px;
}
.p-cart-order__pdItem .pd__attention--icon::before {
  position: absolute;
  content: "";
  background-image: url(../images/icon/exclamation_02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  width: 16px;
  top: 1px;
  left: 0;
}
.p-cart-order__pdItem .pd__attention--icon:not(:first-child) {
  margin-top: 15px;
}
.p-cart-order__pdItem .pd__attention--icon:not(:last-child) {
  margin-bottom: 10px;
}
.p-cart-order__pdItem .pd__specialLimit {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  row-gap: 4px;
  background-color: #fcd502;
  border-radius: 2px;
  font-size: 12px;
  line-height: 1;
  padding: 8.5px 26px;
  margin-top: 12px;
}
.p-cart-order__pdItem .pd__specialLimit::before {
  position: absolute;
  content: "";
  background-color: inherit;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  aspect-ratio: 10/9;
  width: 10px;
  top: 0;
  left: 30px;
  -webkit-transform: translateY(-98%);
          transform: translateY(-98%);
}
.p-cart-order__pdItem .pd__specialLimit .time {
  font-size: 14px;
}
.p-cart-order__pdItem .pd__sumprice {
  font-size: 14px;
  line-height: 1;
  margin-bottom: 20px;
}
.p-cart-order__pdItem .pd__sumprice .number {
  font-size: 16px;
}
.p-cart-order__pdItem .pd__sumprice .small {
  font-size: 11px;
  margin-left: 0.5em;
}
.p-cart-order__pdItem .pd__count .c-count {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.p-cart-order__pdItem .pd__remove {
  text-align: right;
  margin-top: 30px;
}
.p-cart-order__pdItem .pd__remove-btnarea {
  background-color: transparent;
  color: #6C6A6A;
  font-weight: 300;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (hover: hover) {
  .p-cart-order__pdItem .pd__remove-btnarea {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p-cart-order__pdItem .pd__remove-btnarea:hover {
    opacity: 0.7;
  }
}
.p-cart-order__pdItem .pd__remove-btnarea::before {
  content: "✕";
  margin-right: 1em;
}

/* 送料
---------------------------------------------------------- */
.p-cart-shippingFee {
  background-color: #fff;
  border-radius: 6px;
  text-align: center;
  padding: 20px 28px;
  margin-bottom: 30px;
}
.p-cart-shippingFee__ttl-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.p-cart-shippingFee__ttl-wrap .icon {
  width: 23px;
}
.p-cart-shippingFee__ttl {
  font-size: 17px;
}
.p-cart-shippingFee__ttl span {
  margin-left: 0.5em;
}
.p-cart-shippingFee__ttl span:not(:last-child) {
  margin-right: 0.5em;
}
.p-cart-shippingFee__progress {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #F4F4F4;
  border-radius: 7px;
  width: 100%;
  height: 12px;
  margin-bottom: 10px;
}
.p-cart-shippingFee__progress::-webkit-progress-bar {
  background-color: #D8D8D8;
  border-radius: 7px;
}
.p-cart-shippingFee__progress::-webkit-progress-value {
  background-color: #B91111;
  border-radius: 7px;
}
.p-cart-shippingFee__progress::-moz-progress-bar {
  background-color: #B91111;
  border-radius: 7px;
}
.p-cart-shippingFee__progress::-ms-fill {
  background-color: #B91111;
  border-radius: 7px;
}

/* まとめて配送
---------------------------------------------------------- */
.p-cart-shippingStyle {
  background-color: #fff;
  border-radius: 6px;
  padding: 24px 20px;
  margin-bottom: 30px;
}
.p-cart-shippingStyle__ttl-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.p-cart-shippingStyle__ttl {
  font-size: 16px;
}
.p-cart-shippingStyle__item:not(:last-child) {
  margin-bottom: 6px;
}
.p-cart-shippingStyle__item label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-cart-shippingStyle__item label::before {
  content: "";
  aspect-ratio: 1;
  width: 34px;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #d3d3d3;
  margin-right: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-cart-shippingStyle__item label::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  aspect-ratio: 1;
  width: 18px;
  background-color: #000;
  left: 8px;
  top: 8px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-cart-shippingStyle__item input[type=radio] {
  position: absolute;
  visibility: hidden;
}
.p-cart-shippingStyle__item input[type=radio]:checked + label::after {
  opacity: 1;
  visibility: visible;
}
.p-cart-shippingStyle__item input[type=checkbox]:checked + label::after {
  opacity: 1;
  visibility: visible;
}
.p-cart-shippingStyle__item .label__inner {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-top: 8px;
}
.p-cart-shippingStyle__item .label__heading {
  font-size: 15px;
}
.p-cart-shippingStyle__item .note {
  color: #6C6A6A;
  font-size: 13px;
  margin-top: 2px;
}

/* 金額
---------------------------------------------------------- */
.p-cart-price {
  margin-bottom: 30px;
}
.p-cart-price__item {
  font-size: 15px;
}
.p-cart-price__item:not(:last-child) {
  margin-bottom: 12px;
}
.p-cart-price__item .item__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 10px;
}
.p-cart-price__item .item__heading {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-cart-price__item .item__heading .small {
  font-size: 13px;
}
.p-cart-price__item .item__cont {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: right;
  word-break: break-all;
}
.p-cart-price__item + .p-cart-price__item--sum {
  margin-top: 16px;
  border-top: 1px solid #000;
  padding-top: 16px;
}
.p-cart-price__item--sum {
  font-size: 19px;
}
.p-cart-price__subList {
  color: #6C6A6A;
  font-size: 13px;
  padding-left: 14px;
  border-left: 1px solid #D8D8D8;
  margin-left: 0.5em;
  margin-top: 10px;
}
.p-cart-price__subItem:not(:last-child) {
  margin-bottom: 4px;
}
.p-cart-price__point {
  margin-top: 14px;
}
.p-cart-price__point .point__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 15px;
}
.p-cart-price__point .point__heading {
  position: relative;
  padding-left: 27px;
}
.p-cart-price__point .point__heading::before {
  position: absolute;
  content: "";
  background-image: url(../images/icon/point_01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  width: 20px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* アクションボタン
---------------------------------------------------------- */
.p-cart-actionBtns__item:not(:last-child) {
  margin-bottom: 20px;
}
.p-cart-actionBtns__item .item__note {
  line-height: 1.7;
  margin-top: 12px;
}
.p-cart-actionBtns__item.is-disactive {
  opacity: 0.3;
}
.p-cart-actionBtns__item.is-disactive a,
.p-cart-actionBtns__item.is-disactive button,
.p-cart-actionBtns__item.is-disactive input[type=submit] {
  cursor: not-allowed;
}

/* 枠外アコーディオン
---------------------------------------------------------- */
.p-cart-info {
  margin-top: 30px;
}
.p-cart-info__details {
  border: 1px solid #b4b4b4;
  border-radius: 3px;
}
.p-cart-info__details:not(:last-child) {
  margin-bottom: 10px;
}
.p-cart-info__details .details__heading {
  position: relative;
  font-size: 16px;
  text-align: center;
  padding: 13px;
  cursor: pointer;
}
.p-cart-info__details .details__heading::-webkit-details-marker {
  display: none;
}
.p-cart-info__details .details__heading::before, .p-cart-info__details .details__heading::after {
  position: absolute;
  content: "";
  background-color: #6C6A6A;
  width: 16px;
  height: 1px;
  top: 50%;
  right: 20px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.p-cart-info__details .details__heading::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.p-cart-info__details .details__cont {
  overflow: hidden;
}
.p-cart-info__details .details__cont-inner {
  line-height: 1.7;
  border-top: 1px solid #D8D8D8;
  padding-top: 20px;
  margin: 0 20px 20px;
}
.p-cart-info__details .details__cont ul li {
  position: relative;
  padding-left: 18px;
}
.p-cart-info__details .details__cont ul li::before {
  position: absolute;
  content: "";
  background-color: #6C6A6A;
  border-radius: 50%;
  aspect-ratio: 1;
  width: 7px;
  top: 0.5em;
  left: 0;
}
.p-cart-info__details .details__cont ul li:not(:last-child) {
  margin-bottom: 10px;
}
@media (hover: hover) {
  .p-cart-info__details:not([open]) .details__heading {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p-cart-info__details:not([open]) .details__heading:hover {
    background-color: #efefef;
  }
}
.p-cart-info__details[open] .details__heading::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-cart-info__details[open] .details__heading::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* オンライン決済キャンペーン
---------------------------------------------------------- */
.ct-campaign {
  border: 2px solid #FCF0C0;
  margin-bottom: 80px;
}
.ct-campaign__ttl {
  background-color: #FCF0C0;
  text-align: center;
  color: #b5681a;
  font-size: 17px;
  padding: 22px;
}
.ct-campaign__cont {
  font-size: 16px;
  padding: 34px 40px;
}
.ct-campaign__cont .cont__item {
  position: relative;
  padding-left: 32px;
}
.ct-campaign__cont .cont__item::before {
  position: absolute;
  content: "";
  background-color: #ed7e38;
  aspect-ratio: 1;
  width: 18px;
  border-radius: 50%;
  top: 1.5px;
  left: 0;
}
.ct-campaign__cont .cont__item .date_time {
  color: #6C6A6A;
  font-size: 14px;
  margin-left: 1em;
}
.ct-campaign__cont .cont__item:not(:last-child) {
  margin-bottom: 17px;
}

/* スライド
---------------------------------------------------------- */
.ct-productSlide .splide__track {
  overflow: hidden;
}
.ct-productSlide .splide__arrows {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  pointer-events: none;
}
.ct-productSlide .splide__arrows .splide__arrow {
  display: -ms-grid;
  display: grid;
  place-content: center;
  aspect-ratio: 28/55;
  width: 50px;
  border: none;
  background-color: rgba(0, 0, 0, 0.5);
  pointer-events: auto;
  cursor: pointer;
}
.ct-productSlide .splide__arrows .splide__arrow::after {
  content: "";
  aspect-ratio: 1;
  width: 16px;
  border-style: solid;
  border-color: #fff;
  border-width: 1px 1px 0 0;
}
.ct-productSlide .splide__arrows .splide__arrow > svg {
  display: none;
}
.ct-productSlide .splide__arrows .splide__arrow--prev {
  border-radius: 0 6px 6px 0;
}
.ct-productSlide .splide__arrows .splide__arrow--prev::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
  margin-left: 3px;
}
.ct-productSlide .splide__arrows .splide__arrow--next {
  border-radius: 6px 0 0 6px;
}
.ct-productSlide .splide__arrows .splide__arrow--next::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 3px;
}
@media (hover: hover) {
  .ct-productSlide .splide__arrows .splide__arrow {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .ct-productSlide .splide__arrows .splide__arrow:hover {
    opacity: 0.7;
  }
}
.ct-productSlide .splide__list .splide__slide .cont {
  margin-bottom: 12px;
}
.ct-productSlide .splide__list .splide__slide .cont a {
  display: block;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (hover: hover) {
  .ct-productSlide .splide__list .splide__slide .cont a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .ct-productSlide .splide__list .splide__slide .cont a:hover {
    opacity: 0.7;
  }
}
.ct-productSlide .splide__list .splide__slide .cont__image {
  margin-bottom: 20px;
}
.ct-productSlide .splide__list .splide__slide .cont__name {
  text-decoration: underline;
  font-size: 14px;
  line-height: 1.69;
  margin-bottom: 10px;
}
.ct-productSlide .splide__list .splide__slide .cont__price {
  font-weight: 600;
  font-size: 16px;
}
.ct-productSlide .splide__list .splide__slide .cont__price span {
  font-weight: 300;
  font-size: 0.84em;
  margin-left: 0.5em;
}
.ct-productSlide .splide__list .splide__slide .cont__status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  margin-bottom: 6px;
}
.ct-productSlide .splide__list .splide__slide .cont__review {
  margin-top: 6px;
}
.ct-productSlide .splide__list .splide__slide .cont__review .c-review__star {
  font-size: 12px;
  -webkit-text-stroke-width: 1px;
}
.ct-productSlide .splide__list .splide__slide .cont__review .c-review__number {
  font-size: 12px;
}
.ct-productSlide .splide__list .splide__slide .c-btn {
  font-size: 15px;
}
.ct-productSlide .splide__list .splide__slide .c-btn__btnarea {
  padding: 10px;
}
.ct-productSlide .splide:has(.splide__slide:first-of-type.is-active) .splide__arrow--prev {
  visibility: hidden;
}

/* 在庫状況
---------------------------------------------------------- */
.c-stock-status {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  color: var(--color);
  font-weight: 600;
  font-size: 13px;
  white-space: nowrap;
}
.c-stock-status span {
  position: relative;
  padding-left: 20px;
}
.c-stock-status span::before {
  position: absolute;
  content: "";
  aspect-ratio: 1;
  width: 16px;
  height: auto;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-size: contain;
  background-repeat: no-repeat;
}
.c-stock-status--in_stock {
  /* 在庫あり */
  --color: #07A30D;
}
.c-stock-status--in_stock span::before {
  background-image: url(../images/icon/circle_01.svg);
}
.c-stock-status--limited {
  /* 在庫わずか */
  --color: #B91111;
}
.c-stock-status--limited span::before {
  background-image: url(../images/icon/triangle_01.svg);
}
.c-stock-status--no_stock {
  /* 在庫なし */
  --color: #6C6A6A;
}
.c-stock-status--no_stock span::before {
  background-image: url(../images/icon/cross_01.svg);
}
.c-stock-status--contact {
  /* お問い合わせください */
  --color: #000;
  text-align: center;
}
.c-stock-status--bg {
  /* 背景あり */
  --bg_color: #F0FAEF;
  background-color: var(--bg_color);
  padding: 3px 5px;
}
.c-stock-status--bg.c-stock-status--limited {
  /* 背景あり+在庫わずか */
  --bg_color: #FAEFEF;
}
.c-stock-status--bg.c-stock-status--no_stock {
  /* 背景あり+在庫なし */
  --bg_color: #F4F4F4;
}

/* 配送ステータスアイコン
---------------------------------------------------------- */
.c-status-icon {
  height: 22px;
  line-height: 1;
}
.c-status-icon img {
  height: 100%;
  width: auto;
}

/* レビュー（星+数字+リンク）
---------------------------------------------------------- */
.c-review {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-review__star {
  --star-color: #fff;
  --star-fill: #F4B400;
  --percent: calc(var(--rating) / 5 * 100%);
  /* --ratingはhtml側で指定 */
  background: -webkit-gradient(linear, left top, right top, from(var(--star-fill)), to(var(--star-color)));
  background: linear-gradient(90deg, var(--star-fill) var(--percent), var(--star-color) var(--percent));
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #F4B400;
  -webkit-text-stroke-width: 1.5px;
  -webkit-text-stroke-color: #F4B400;
  font-size: 14px;
  letter-spacing: 0.2em;
}
.c-review__number {
  font-size: 14px;
  margin-left: 10px;
}
.c-review__link {
  font-size: 14px;
  margin-left: 12px;
}

/* ==========================================================================//
//
// ショッピングカート 確認
//
// ========================================================================== */
.p-confirm {
  margin-bottom: 0;
}
.p-confirm__container {
  margin-bottom: 60px;
  padding-bottom: 0;
  border-bottom: none;
}
.p-confirm-radio__item {
  font-size: 15px;
}
.p-confirm-radio__item:not(:last-child) {
  margin-bottom: 16px;
}
.p-confirm__blockItem {
  --padding_inline: 25px;
  --border_width: 2px;
  --border_radius: 6px;
  /* チェック後 */
  /* 非活性 */
}
.p-confirm__blockItem:not(:last-child) {
  margin-bottom: 30px;
}
.p-confirm__blockItem.is-notEntered {
  position: relative;
}
.p-confirm__blockItem.is-notEntered::before {
  position: absolute;
  content: "";
  border: 2px solid #B91111;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--border_radius);
  pointer-events: none;
}
.p-confirm__blockItem input[type=radio] {
  position: absolute;
  visibility: hidden;
}
.p-confirm__blockItem label {
  display: block;
}
.p-confirm__blockItem label .label__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-confirm__blockItem label .label__inner::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 34px;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #d3d3d3;
}
.p-confirm__blockItem label .label__inner::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  aspect-ratio: 1;
  width: 18px;
  background-color: #000;
  left: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-confirm__blockItem .radio--border {
  background-color: #fff;
  border: 1px solid #D8D8D8;
  border-radius: 4px;
  outline: 2px solid transparent;
  outline-offset: -2px;
}
.p-confirm__blockItem .radio--border label {
  padding: 20px;
}
.p-confirm__blockItem input[type=radio]:checked + label .label__inner::after {
  opacity: 1;
  visibility: visible;
}
.p-confirm__blockItem .radio--border:has(input[type=radio]:checked) {
  outline-color: #000;
}
.p-confirm__blockItem input[type=radio]:disabled + label {
  cursor: not-allowed;
}
.p-confirm__blockItem input[type=radio]:disabled + label .label__inner::before {
  background-color: #efefef;
}
.p-confirm__blockItem input[type=radio]:disabled + label .label__inner::after {
  opacity: 1;
  visibility: visible;
  width: 48px;
  height: 1px;
  background-color: #959595;
  border-radius: 0;
  left: -7px;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.p-confirm__blockItem input[type=radio]:disabled + label .radio__ttl {
  color: #6C6A6A;
}
.p-confirm__blockItem .radio__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 12px;
}
.p-confirm__blockItem .radio__content p {
  line-height: 1.64;
}
.p-confirm__blockItem .radio__content--row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.p-confirm__blockItem .radio__content--row .row__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-confirm__blockItem .radio__content--row .p-confirm__changeBtn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-confirm__blockItem .radio__ttl {
  font-size: 15px;
}
.p-confirm__blockItem .block__head {
  background-color: #F4F4F4;
  border: var(--border_width) solid #D8D8D8;
  border-bottom: none;
  border-radius: var(--border_radius) var(--border_radius) 0 0;
  font-size: 16px;
  padding: 15px var(--padding_inline);
}
.p-confirm__blockItem .block__head .small {
  font-weight: 300;
  font-size: 13px;
  margin-left: 5px;
}
.p-confirm__blockItem .block__content {
  border: var(--border_width) solid #D8D8D8;
  border-top: none;
  border-radius: 0 0 var(--border_radius) var(--border_radius);
  padding: 22px var(--padding_inline);
}
.p-confirm__blockItem .block__content .row__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}
.p-confirm__blockItem .block__content .row__wrap .row__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-confirm__blockItem .block__content .row__wrap .row__side {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-confirm__blockItem .block__content .row__wrap-center {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.p-confirm__blockItem .block__content:has(.p-cart-order__dayItem) {
  --padding_inline: 15px;
}
.p-confirm__blockItem .block__detail {
  margin-top: 14px;
  border-top: 1px solid #D8D8D8;
  padding-top: 14px;
}
.p-confirm__blockItem .block__detail .note {
  color: #6C6A6A;
  font-size: 13px;
  margin-top: 6px;
}
.p-confirm__changeBtn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  /* 変更するボタン */
}
.p-confirm__changeBtn .c-btn__btnarea {
  font-weight: 300;
  font-size: 14px;
  padding: 10px 22px;
}
.p-confirm__setBtn {
  /* 設定するボタン */
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-confirm__setBtn .c-btn__btnarea {
  font-weight: 300;
  font-size: 14px;
  white-space: nowrap;
  padding: 8px 18px;
}
.p-confirm__address {
  /* お届け先 */
}
.p-confirm__address .address__ttl {
  font-size: 15px;
  margin-bottom: 10px;
}
.p-confirm__address .address__ttl span {
  margin-left: 0.5em;
}
.p-confirm__address .address__text {
  line-height: 1.7;
}
.p-confirm__payment {
  /* 支払い方法 */
  margin-top: -10px;
}
.p-confirm__payment .payment__item {
  padding: 10px 0;
  border-bottom: 1px solid #D8D8D8;
}
.p-confirm__payment .payment__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}
.p-confirm__payment .payment__iconList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
}
.p-confirm__payment .payment__iconItem img {
  width: auto;
  height: 23px;
}
.p-confirm__payment .payment__default {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 25px;
}
.p-confirm__payment .payment__default input[type=checkbox] {
  margin-right: 20px;
}
.p-confirm__payment .payment__attention {
  color: #B91111;
  line-height: 1.7;
  text-indent: -1.5em;
  padding-left: 1.5em;
  margin-top: 20px;
}
.p-confirm__payment .payment__attention::before {
  content: "※";
  margin-right: 0.5em;
}
.p-confirm__payment .payment__attention + .p-confirm__payment .payment__attention {
  margin-top: 8px;
}
.p-confirm__creditcard {
  /* クレカ */
  background-color: #F4F4F4;
  border-radius: 4px;
  padding: 20px;
  margin-top: 15px;
}
.p-confirm__creditcard .card__item:not(:last-child) {
  margin-bottom: 10px;
}
.p-confirm__creditcard .card__ttl-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  row-gap: 4px;
}
.p-confirm__creditcard .card__ttl {
  font-weight: 600;
  font-size: 15px;
}
.p-confirm__creditcard .card__logo img {
  width: auto;
  height: 23px;
}
.p-confirm__creditcard .attention {
  position: relative;
  font-weight: 600;
  color: #B91111;
  font-size: 13px;
  line-height: 1;
  padding-left: 20px;
}
.p-confirm__creditcard .attention::before {
  position: absolute;
  content: "";
  background-image: url(../images/icon/exclamation_02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  width: 15px;
  top: -1px;
  left: 0;
}
.p-confirm__creditcard .card__remove {
  margin-left: 10px;
}
.p-confirm__creditcard .card__remove-btnarea {
  position: relative;
  display: block;
  background-color: transparent;
  color: #6C6A6A;
  font-weight: 300;
  font-size: 13px;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (hover: hover) {
  .p-confirm__creditcard .card__remove-btnarea {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p-confirm__creditcard .card__remove-btnarea:hover {
    opacity: 0.7;
  }
}
.p-confirm__creditcard .card__remove-btnarea::before {
  content: "✕";
  padding-right: 0.5em;
}
.p-confirm__creditcard .card__remove-btnarea::after {
  position: absolute;
  content: "";
  background-color: #6C6A6A;
  bottom: 2px;
  left: 0;
  width: 100%;
  height: 1px;
}
.p-confirm__creditcard .card__info {
  margin-top: 8px;
}
.p-confirm__creditcard .card__info ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px 20px;
}
.p-confirm__creditcard .card__info ul li.full {
  width: 100%;
}
.p-confirm__creditcard .card__check {
  border-top: 1px solid #D8D8D8;
  padding: 20px 0 25px 0;
  margin: 0 45px 0 75px;
}
.p-confirm__creditcard .card__check .row_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 26px;
}
.p-confirm__creditcard .card__check .row_wrap:not(:last-child) {
  margin-bottom: 20px;
}
.p-confirm__creditcard .card__check .row_wrap .heading {
  width: 150px;
}
.p-confirm__creditcard .card__check .row_wrap .cont {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-confirm__creditcard .card__check .heading {
  font-weight: 600;
  font-size: 15px;
}
.p-confirm__creditcard .card__check .note {
  color: #6C6A6A;
}
.p-confirm__creditcard .card__check .note:not(:last-child) {
  margin-bottom: 10px;
}
.p-confirm__creditcard .card__check .note:not(:first-child) {
  margin-top: 10px;
}
.p-confirm__creditcard .card__check .image {
  width: min(284px, 100%);
}
.p-confirm__date {
  /* お届け日・配送方法 */
}
.p-confirm__date .date__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}
.p-confirm__date .bold {
  font-size: 16px;
  margin-right: 0.5em;
}
.p-confirm__date .date__request {
  margin-top: 10px;
  padding-left: 46px;
}
.p-confirm__date .date__request-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
.p-confirm__date .date__request-box {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.p-confirm__date .date__request-box label {
  font-weight: 600;
  white-space: nowrap;
  font-size: 15px;
}
.p-confirm__receive .receive__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 30px;
}
.p-confirm__receive .receive__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.p-confirm__receive .receive__attention {
  padding-left: 46px;
}
.p-confirm__coupon {
  font-size: 15px;
}
.p-confirm__coupon .block__detail {
  max-width: 407px;
}
.p-confirm__coupon .block__detail .catch {
  font-size: 16px;
}
.p-confirm__coupon .coupon__code {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  margin-top: 20px;
}
.p-confirm__coupon .coupon__code .coupon__input {
  width: min(350px, 100%);
}
.p-confirm__point {
  font-size: 15px;
}
.p-confirm__point .block__detail {
  max-width: 407px;
}
.p-confirm__point .block__detail .catch {
  font-size: 16px;
  margin-left: 15px;
}
.p-confirm__point .block__detail .catch .unit {
  font-size: 15px;
  margin-left: 5px;
}
.p-confirm__option .option__list {
  width: min(520px, 100%);
  margin-top: 23px;
}
.p-confirm__option .option__item:not(:last-child) {
  margin-bottom: 14px;
}
.p-confirm__option .option__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
.p-confirm__option .option__row .row__heading {
  width: 120px;
}
.p-confirm__option .option__row .row__heading .required {
  color: #B91111;
  margin-left: 10px;
}
.p-confirm__option .option__row .row__heading .note {
  color: #6C6A6A;
  font-size: 12px;
  margin-top: 5px;
}
.p-confirm__option .option__row .row__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-confirm__option .option__note {
  color: #6C6A6A;
  line-height: 1.7;
  margin-top: 20px;
}
.p-confirm-order__himoku {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 4px;
}
.p-confirm-order__himoku:not(:first-child) {
  margin-top: 14px;
}
.p-confirm-order__himoku .c-question {
  margin-left: 10px;
}
.p-confirm-order__himoku .himoku__ttl {
  margin-right: 15px;
}
.p-confirm-order__delivery {
  background-color: #fff;
  border-radius: 6px;
  padding: 14px 20px;
}
.p-confirm-order__delivery:not(:first-child) {
  margin-top: 15px;
}
.p-confirm-order__delivery-item:not(:last-child) {
  padding-bottom: 14px;
  border-bottom: 1px solid #D8D8D8;
  margin-bottom: 14px;
}
.p-confirm-order__delivery .row__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  min-height: 36px;
}
.p-confirm-order__delivery .row__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-confirm-order__delivery .item__head {
  font-size: 15px;
}
.p-confirm-order__delivery .note {
  color: #6C6A6A;
  font-size: 14px;
  margin-top: 8px;
}
.p-confirm-info {
  /* サイド下補足 */
  color: #6C6A6A;
  line-height: 1.7;
  margin-top: 30px;
}
.p-confirm-info a {
  color: inherit;
}

/* ==========================================================================//
//
// ログインページ
//
// ========================================================================== */
.l-cart-login .l-page__head {
  padding-bottom: 50px;
}

.p-login__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
.p-login__container .p-login__block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-login__container .p-login__block:not(:first-child) {
  margin-top: 0;
}
.p-login__block {
  background-color: #F4F4F4;
  border-radius: 6px;
  padding: 40px 60px;
}
.p-login__block:not(:first-child) {
  margin-top: 50px;
}
.p-login__block .block__ttl {
  text-align: center;
  font-size: 20px;
  padding-bottom: 20px;
  border-bottom: 2px solid #D8D8D8;
  margin-bottom: 40px;
}
.p-login__block .block__subttl {
  font-size: 15px;
}
.p-login__block .p-form__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 10px;
}
.p-login__block .p-form__item--row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-login__block .p-form__item:not(:last-child) {
  margin-bottom: 20px;
}
.p-login__block .c-btn {
  width: min(346px, 100%);
  margin-inline: auto;
  margin-top: 30px;
}
.p-login__block .c-btn__btnarea {
  padding: 17px;
}
.p-login__block .block__box {
  border: 1px solid #D8D8D8;
  border-radius: 6px;
  padding: 34px 30px;
  margin-top: 20px;
}
.p-login__block .block__box .tx {
  margin-bottom: 16px;
}
.p-login__block .block__box .tx_gray {
  color: #6C6A6A;
  margin-top: 20px;
}
.p-login__btnlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 25px;
}
.p-login__btnitem {
  width: 290px;
}
.p-login__btnitem .tx {
  font-weight: 600;
  text-align: center;
  margin-top: 10px;
}

.p-text_center {
  text-align: center;
  margin-top: 20px;
}
.p-text_center a {
  color: #6C6A6A;
}

/* ==========================================================================//
//
// お客様・お届け先情報登録
//
// ========================================================================== */
/* 未選択時フォーム非活性化
---------------------------------------------------------- */
.l-cart-register:not(:has(.typebtn.is-active)) .p-register__form {
  opacity: 0.3;
  pointer-events: none;
}

/* .p-register__head
---------------------------------------------------------- */
.p-register__head {
  background-color: #F4F4F4;
  padding: 50px 0;
}
.p-register__head .head__ttl {
  text-align: center;
  font-size: 18px;
  margin-bottom: 26px;
}
.p-register__head .typebtns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
.p-register__head .typebtn {
  --color: #000;
  --border_color: #b4b4b4;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-register__head .typebtn__btnarea {
  display: block;
  background-color: #fff;
  border-radius: 4px;
  border: 2px solid var(--border_color);
  text-align: center;
  color: var(--color);
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
  padding: 24px 34px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (hover: hover) {
  .p-register__head .typebtn:not(.is-active) .typebtn__btnarea:hover {
    --border_color: #000;
  }
}
.p-register__head .typebtn.is-active {
  --border_color: #B91111;
  --color: #B91111;
  pointer-events: none;
}

/* .p-register__body
---------------------------------------------------------- */
.p-register__body {
  padding-top: 60px;
}

.p-register-form__lead {
  text-align: center;
  margin-bottom: 40px;
}
.p-register-form__foot {
  text-align: center;
  margin-top: 50px;
}
.p-register-form__foot .lead {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 30px;
}
.p-register-form__foot .foot__point {
  background-color: #FCF0C0;
  border-radius: 6px;
  width: min(550px, 100%);
  padding: 24px;
  margin-inline: auto;
}
.p-register-form__foot .foot__point .texts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #B91111;
  font-weight: 600;
  font-size: 15px;
}
.p-register-form__foot .foot__point .texts .icon {
  width: 33px;
  margin-right: 16px;
}
.p-register-form__foot .foot__point .texts p:not(:last-child) {
  margin-right: 10px;
}
.p-register-form__foot .foot__point .texts p span {
  font-size: 1.46em;
}
.p-register-form__details {
  width: min(450px, 100%);
  margin-inline: auto;
  margin-bottom: 60px;
}
.p-register-form__details .details__heading {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px;
  cursor: pointer;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (hover: hover) {
  .p-register-form__details .details__heading {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p-register-form__details .details__heading:hover {
    opacity: 0.7;
  }
}
.p-register-form__details .details__heading::-webkit-details-marker {
  display: none;
}
.p-register-form__details .heading__text {
  position: relative;
  font-weight: 300;
  font-size: 15px;
  line-height: 1;
  text-decoration: underline;
  padding-right: 32px;
}
.p-register-form__details .heading__text::before {
  position: absolute;
  content: "";
  background-image: url(../images/icon/plus_01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  width: 25px;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.p-register-form__details .details__cont {
  overflow: hidden;
}
.p-register-form__details[open] .heading__text {
  font-size: 0;
  text-decoration: none;
}
.p-register-form__details[open] .heading__text::before {
  background-image: url(../images/icon/minus_01.svg);
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.p-register-form__details[open] .heading__text::after {
  content: "紹介コード入力を閉じる";
  font-size: 15px;
  text-decoration: underline;
}

/* ==========================================================================//
//
// 完了ページ
//
// ========================================================================== */
/* thank you!!
---------------------------------------------------------- */
.p-thanks-top {
  text-align: center;
  padding-bottom: 50px;
}
.p-thanks-top__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-weight: 600;
  font-size: 4.6vw;
  letter-spacing: 0.04em;
  line-height: 1;
}
@media all and (min-width: 1501px) {
  .p-thanks-top__main {
    font-size: 60px;
  }
}
.p-thanks-top__main > span {
  opacity: 0;
  -webkit-transform: translateY(80%);
          transform: translateY(80%);
  -webkit-animation: parapara 0.4s cubic-bezier(0.21, 0.61, 0.6, 1.4) 0.7s forwards;
          animation: parapara 0.4s cubic-bezier(0.21, 0.61, 0.6, 1.4) 0.7s forwards;
}
.p-thanks-top__main > span:nth-child(1) {
  -webkit-animation-delay: 0.76s;
          animation-delay: 0.76s;
}
.p-thanks-top__main > span:nth-child(2) {
  -webkit-animation-delay: 0.82s;
          animation-delay: 0.82s;
}
.p-thanks-top__main > span:nth-child(3) {
  -webkit-animation-delay: 0.88s;
          animation-delay: 0.88s;
}
.p-thanks-top__main > span:nth-child(4) {
  -webkit-animation-delay: 0.94s;
          animation-delay: 0.94s;
}
.p-thanks-top__main > span:nth-child(5) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.p-thanks-top__main > span:nth-child(6) {
  -webkit-animation-delay: 1.06s;
          animation-delay: 1.06s;
}
.p-thanks-top__main > span:nth-child(7) {
  -webkit-animation-delay: 1.12s;
          animation-delay: 1.12s;
}
.p-thanks-top__main > span:nth-child(8) {
  -webkit-animation-delay: 1.18s;
          animation-delay: 1.18s;
}
.p-thanks-top__main > span:nth-child(9) {
  -webkit-animation-delay: 1.24s;
          animation-delay: 1.24s;
}
.p-thanks-top__main > span:nth-child(10) {
  -webkit-animation-delay: 1.3s;
          animation-delay: 1.3s;
}
.p-thanks-top__main > span:nth-child(11) {
  -webkit-animation-delay: 1.36s;
          animation-delay: 1.36s;
}
.p-thanks-top__main > span:nth-child(12) {
  -webkit-animation-delay: 1.42s;
          animation-delay: 1.42s;
}
.p-thanks-top__main .tool_box {
  width: min(9.8vw, 126px);
  margin-inline: 24px;
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
  opacity: 0;
  -webkit-animation: animeBox 0.3s ease 0.35s forwards;
          animation: animeBox 0.3s ease 0.35s forwards;
}
.p-thanks-top__main .tool_box svg {
  width: 100%;
  height: auto;
}
.p-thanks-top__main .tool_box .svg_anime {
  transform-box: fill-box;
  opacity: 0;
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.p-thanks-top__main .tool_box #hammer {
  -webkit-transform: translate(50%, 30%) rotate(45deg);
          transform: translate(50%, 30%) rotate(45deg);
  -webkit-animation-name: animeHammer;
          animation-name: animeHammer;
}
.p-thanks-top__main .tool_box #wrench {
  -webkit-transform: translate(-50%, 50%) rotate(-30deg);
          transform: translate(-50%, 50%) rotate(-30deg);
  -webkit-animation-name: animeWrench;
          animation-name: animeWrench;
}
.p-thanks-top__main .tool_box #screwdriver {
  -webkit-transform: translate(0, 50%);
          transform: translate(0, 50%);
  -webkit-animation-name: animeDriver;
          animation-name: animeDriver;
}
@-webkit-keyframes parapara {
  0% {
    opacity: 0;
    -webkit-transform: translateY(80%);
            transform: translateY(80%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes parapara {
  0% {
    opacity: 0;
    -webkit-transform: translateY(80%);
            transform: translateY(80%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes animeBox {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
@keyframes animeBox {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
@-webkit-keyframes animeHammer {
  0% {
    opacity: 0;
    -webkit-transform: translate(50%, 30%) rotate(45deg);
            transform: translate(50%, 30%) rotate(45deg);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes animeHammer {
  0% {
    opacity: 0;
    -webkit-transform: translate(50%, 30%) rotate(45deg);
            transform: translate(50%, 30%) rotate(45deg);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes animeWrench {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 50%) rotate(-30deg);
            transform: translate(-50%, 50%) rotate(-30deg);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes animeWrench {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, 50%) rotate(-30deg);
            transform: translate(-50%, 50%) rotate(-30deg);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes animeDriver {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 50%);
            transform: translate(0, 50%);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes animeDriver {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 50%);
            transform: translate(0, 50%);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
.p-thanks-top__sub {
  font-weight: 600;
  font-size: 18px;
  margin-top: 10px;
  opacity: 0;
  -webkit-animation: fadeUp 0.6s ease 1.8s forwards;
          animation: fadeUp 0.6s ease 1.8s forwards;
}
@media all and (max-width: 1000px) {
  .p-thanks-top__sub {
    font-size: 15px;
  }
}
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/* 注文した商品
---------------------------------------------------------- */
.p-thanks-product {
  background-color: #F4F4F4;
  padding: 40px 0;
}
.p-thanks-product__wrap {
  width: min(753px, 100%);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-thanks-product__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
.p-thanks-product__item {
  width: min(210px, 100%);
}
.p-thanks-product__item a {
  display: -ms-grid;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border: 1px solid #D8D8D8;
  border-radius: 10px;
  background-color: #fff;
  padding: 14px;
}
@media (hover: hover) {
  .p-thanks-product__item a {
    outline: 2px solid transparent;
    outline-offset: -1px;
    -webkit-transition: outline 0.3s;
    transition: outline 0.3s;
  }
  .p-thanks-product__item a:hover {
    outline-color: #000;
  }
}
.p-thanks-product__others a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 63px;
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 50%;
  border: 1px solid #D8D8D8;
  font-weight: 600;
  font-size: 24px;
  letter-spacing: -0.06em;
  padding: 10px;
}
.p-thanks-product__others a::before {
  content: "+";
  font-size: 17px;
  margin-right: 3px;
  margin-left: -2px;
}
@media (hover: hover) {
  .p-thanks-product__others a {
    outline: 2px solid transparent;
    outline-offset: -1px;
    -webkit-transition: outline 0.3s;
    transition: outline 0.3s;
  }
  .p-thanks-product__others a:hover {
    outline-color: #000;
  }
}

.p-thanks__body {
  padding-top: 50px;
}

/* lead
---------------------------------------------------------- */
.p-thanks-lead {
  text-align: center;
  font-size: 16px;
  line-height: 2.06;
  margin-bottom: 50px;
}

/* 注文内容
---------------------------------------------------------- */
.p-thanks-order {
  margin-bottom: 40px;
}
.p-thanks-order__details {
  border: 2px solid #F4F4F4;
  border-radius: 6px;
  overflow: hidden;
}
.p-thanks-order__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.p-thanks-order__detail:not(:last-child) {
  border-bottom: 1px solid #D8D8D8;
}
.p-thanks-order .detail__ttl {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  min-width: 200px;
  background-color: #F4F4F4;
  font-size: 15px;
  padding: 22px 25px;
}
.p-thanks-order .detail__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 22px 25px;
}
.p-thanks-order .detail__content p + p {
  margin-top: 6px;
}
.p-thanks-order .delivery__item:not(:last-child) {
  margin-bottom: 25px;
}
.p-thanks-order .delivery__item .product__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-top: 14px;
}
.p-thanks-order .delivery__item .product__item {
  width: min(85px, 100%);
}
.p-thanks-order .delivery__item .product__item a {
  display: -ms-grid;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border: 1px solid #D8D8D8;
  border-radius: 10px;
  background-color: #fff;
  padding: 6px;
}
@media (hover: hover) {
  .p-thanks-order .delivery__item .product__item a {
    outline: 2px solid transparent;
    outline-offset: -1px;
    -webkit-transition: outline 0.3s;
    transition: outline 0.3s;
  }
  .p-thanks-order .delivery__item .product__item a:hover {
    outline-color: #000;
  }
}
.p-thanks-order .delivery__item .product__others a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 38px;
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 50%;
  border: 1px solid #D8D8D8;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.06em;
  padding: 5px;
}
.p-thanks-order .delivery__item .product__others a::before {
  content: "+";
  font-size: 13px;
  margin-right: 2px;
  margin-left: -2px;
}
@media (hover: hover) {
  .p-thanks-order .delivery__item .product__others a {
    outline: 2px solid transparent;
    outline-offset: -1px;
    -webkit-transition: outline 0.3s;
    transition: outline 0.3s;
  }
  .p-thanks-order .delivery__item .product__others a:hover {
    outline-color: #000;
  }
}

/* 必ずご確認ください
---------------------------------------------------------- */
.p-thanks-attention {
  border: 3px solid #B91111;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 40px;
}
.p-thanks-attention__head {
  background-color: #fceaea;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 21px;
}
.p-thanks-attention__ttl {
  position: relative;
  color: #B91111;
  text-align: center;
  font-size: 20px;
  line-height: 1;
  padding-left: 44px;
}
.p-thanks-attention__ttl::before {
  position: absolute;
  content: "";
  background-image: url(../images/icon/alert_01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
  width: 28px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-thanks-attention__content {
  background-color: #fff;
  padding: 30px 40px;
}
.p-thanks-attention__item {
  position: relative;
  font-size: 15px;
  line-height: 1.7;
  padding-left: 1.5em;
}
.p-thanks-attention__item::before {
  position: absolute;
  content: "";
  background-color: #B91111;
  border-radius: 50%;
  aspect-ratio: 1;
  width: 10px;
  top: 6.5px;
  left: 0;
}
.p-thanks-attention__item:not(:last-child) {
  margin-bottom: 8px;
}
.p-thanks-attention__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  margin-top: 26px;
}
.p-thanks-attention__btns .c-btn {
  width: min(280px, 100%);
}
.p-thanks-attention__btns .c-btn__btnarea {
  padding: 17px;
}

/* キャンセル・日時変更について
---------------------------------------------------------- */
.p-thanks-policy {
  background-color: #F4F4F4;
  border-radius: 6px;
  padding: 40px;
}
.p-thanks-policy p,
.p-thanks-policy li {
  line-height: 1.7;
}
.p-thanks-policy .policy__ttl {
  font-size: 15px;
  margin-bottom: 10px;
}
.p-thanks-policy hr {
  border-color: #D8D8D8;
  border-width: 0.5px;
  margin: 16px 0;
}
.p-thanks-policy .policy__item {
  text-indent: -1em;
  padding-left: 1em;
}
.p-thanks-policy .policy__item:not(:last-child) {
  margin-bottom: 6px;
}

/* ボタン
---------------------------------------------------------- */
.p-thanks-btns {
  margin-top: 60px;
}
.p-thanks-btns .c-btn--bg_red {
  width: 428px;
  margin-inline: auto;
}

/* バナー
---------------------------------------------------------- */
.p-thanks-banner {
  margin-top: 60px;
}
.p-thanks-banner__item:not(:last-child) {
  margin-bottom: 20px;
}
.p-thanks-banner__item a {
  display: block;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (hover: hover) {
  .p-thanks-banner__item a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p-thanks-banner__item a:hover {
    opacity: 0.7;
  }
}