 /** カレンダー非表示 */
#hiddenCalendar {
	background-color: #fff;
	border-color: #fff;
	cursor: auto;
	pointer-events: none;
 }
 /** エラー文言 */
 .errorMsgArea{
	color: red;
	font-weight: bold;
    text-align: left;
    white-space: pre-line;
    font-size: 1.6rem;
}

@media only screen and (max-width: 640px) {
	.errorMsgArea{
	    font-size: 3.73vw;
	}
}

/** お客様情報入力画面 会員誘導CSS追加 START */
.address__list.memberArea{background:#e5e6f0;padding:0 3em 3em;margin:1em 0 1em 300px;border-radius:10px;grid-template-columns:1fr;gap:0}
@media only screen and (max-width: 640px){.address__list.memberArea{margin:1em 0 2em;padding:0 1em 1em}
}
.address__list.memberArea dt{text-align:center;width:100%}
.address__list.memberArea dd.member{margin-top:0}
@media only screen and (max-width: 640px){.address__list.memberArea dd.member{margin-top:1em}
}
.address__list.memberArea dd.member label{display:block;margin-top:1em}
@media only screen and (max-width: 640px){.address__list.memberArea dd.member label{margin-top:.5em}
}
.address__list.memberArea dd.member label:first-of-type{margin-top:0}

.address__list dd.creditcard label, .address__list dd.member label {
    position: relative;
    cursor: pointer;
    padding-left: 36px;
    font-size: 1.6rem;
    color: #000;
}
.address__list dd.creditcard label::before, .address__list dd.member label::before {
    background-color: #fff;
    border: 2px solid #000;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    left: 0;
}
.address__list dd.creditcard label::after, .address__list dd.member label::after {
    background-color: #000;
    border-radius: 50%;
    opacity: 0;
    width: 12px;
    height: 12px;
    left: 6px;
}
.address__list dd.creditcard input:checked+label::after, .address__list dd.member input:checked+label::after {
    opacity: 1;
}
.address__list dd.creditcard label::before, .address__list dd.creditcard label::after, .address__list dd.member label::before, .address__list dd.member label::after {
    content: "";
    display: block;
    border-radius: 50%;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    box-sizing: border-box;
}
.address__list dd.creditcard .visually-hidden,.address__list dd.member .visually-hidden {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}

/** お客様情報入力画面 会員誘導CSS追加 END */

/* 商品詳細 オプションない場合の表示エリア */
.modal__product .btnSelectArea.nonOption {
    padding: 0em 0;
    margin: 2em 0;
    border-top: #CCCCCC 1px solid;
    border-bottom: #CCCCCC 0px solid;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 45px;
}
@media only screen and (max-width: 640px){
.modal__product .btnSelectArea.nonOption {
    margin: 1em -3.33vw;
/*    grid-template-columns: repeat(1, 1fr);*/
    padding: 1em 0;
    gap: 0;
	}
}

@media only screen and (max-width: 640px) {
.modal__product .btnSelectArea .itemDetail {
    padding: 0 3.33vw;
	}
}

/** 商品詳細 checkbox対応*/
.modal__product .btnSelectArea input[type=checkbox] {
  display: none;
}
.modal__product .btnSelectArea input[type=checkbox] + label {
  padding: 1.25em 1.5em;
  font-size: 1.6rem;
  background: #f0f0f0;
  border-radius: 10px;
  border: #d8d8d8 1px solid;
  color: #000;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
@media only screen and (min-width: 769px) {
  .modal__product .btnSelectArea input[type=checkbox] + label:hover {
    opacity: 0.75;
  }
}
@media only screen and (max-width: 640px) {
  .modal__product .btnSelectArea input[type=checkbox] + label {
    padding: 0.5em 1em;
    font-size: 4vw;
  }
}
.modal__product .btnSelectArea input[type=checkbox][disabled] + label {
  font-weight: 400;
  background: none;
  border: none;
  color: #d4d4d4;
  cursor: auto;
  pointer-events: none;
}
.modal__product .btnSelectArea input[type=checkbox]:checked + label {
  background: #FFC46F;
  border-color: #FFC46F;
}


 