/* 全体
---------------------------------------*/
.p-contact .swiper-container {
	max-width: 100%;
	overflow-x: hidden;
}
#consultation input.m-calendar {
	background: none;
}
#consultation #step1 .swiper-button__wrapper .swiper-text-button-prev {
	visibility: hidden;
}
#consultation .l-content__body .swiper-button-disabled {
	opacity: 1;
	color: #4d4d4d;
	border-color: #888;
	cursor: pointer;
}
#consultation .swiper-button__wrapper .swiper-text-button-prev.m-disable,
#consultation .swiper-button__wrapper .swiper-text-button-next.m-disable {
	color: #c4c4c4;
	border-color: #c4c4c4;
	pointer-events: none;
}
#consultation .l-content__inner.m-hide {
	display: none;
}
#consultation .l-content__body {
	position: relative;
}
.p-contact__annotation {
	margin: 15px 0 0;
	color: #888;
	font-size: 12px;
	line-height: 1.4;
}

/* コンポーネント */
.c-select {
	width: 100%;
	max-width: 252px;
	font-size: 16px;
}
.c-select__wrap {
	position: relative;
	width: 100%;
}
.c-select__wrap::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
	width: 0;
	height: 0;
	margin: auto 0;
	border-style: solid;
	border-width: 7px 4.5px 0 4.5px;
	border-color: #4d4d4d transparent transparent transparent;
	pointer-events: none;
}
.c-select select {
	width: 100%;
	border: solid #c4c4c4!important;
	border-width: 0 0 1px!important;
}
.c-select select:focus {
	border-color: #c4c4c4;
}
@media screen and (min-width: 768px) {
	.c-select {
		position: relative;
		padding: 0 10px;
	}
}

/* 確認画面 */
#consultation .swiper-slide-prev .swiper-button__wrapper,
#consultation .swiper-slide-next .swiper-button__wrapper {
	display: none;
}
#consultation .l-content__confirm {
	padding-top: 6.6666667vw;
	margin-top: 2em;
	background: #f3f3f3;
}
#consultation .l-content__confirm .l-content__body {
	margin-top: 2em;
	background: #f3f3f3;
}
#consultation .l-content__confirm .swiper-wrapper {
	display: block;
}
#consultation .l-content__confirm .l-content__confirmSection {
	margin-top: 6.666667vw;
}
#consultation .l-content__confirm .swiper-content {
	opacity: 1;
}
#consultation .l-content__confirm .l-reserve-title__wrapper {
	background: #4d4d4d;
}
#consultation .l-content__confirm .l-reserve-title__wrapper .l-reserve__title {
	padding: 0.5em 0;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
}
#consultation .l-content__confirm .l-btn__wrapper {
	padding-right: 1.5em;
	text-align: right;
}
#consultation .l-content__confirm .m-btn-modification {
	color: #4d4d4d;
	font-size: 1.4rem;
	font-weight: 700;
}
#consultation .l-reform-before .bl-reform-b .l-jwels li picture {
	height: auto;
}
#consultation .l-content__confirm .l-submit__wrapper {
	padding-bottom: 16vw;
	margin-bottom: 0;
}
@media screen and (min-width: 768px) {
	#consultation .l-content__confirm {
		padding-top: 24px;
	}
	#consultation .l-content__confirm .l-content__confirmSection {
		margin-top: 24px;
	}
	#consultation .l-content__confirm .l-reserve-title__wrapper .l-reserve__title {
		font-size: 1.8rem;
	}
	#consultation .l-content__confirm .l-btn__wrapper {
		padding-top: 3em;
		margin-top: auto;
		text-align: center;
	}
	#consultation .l-content__confirm .m-btn-modification {
		font-size: 1.6rem;
		transition: opacity 0.3s;
	}
	#consultation .l-content__confirm .l-submit__wrapper {
		padding-bottom: 67px;
	}
}

#consultation input[type=text].m-error,
#consultation input[type=tel].m-error,
#consultation input[type=email].m-error,
#consultation input[type=date].m-error {
	border-color: #f00000;
}
#consultation .formError {
	display: none!important;
}
.p-formError p {
	display: none;
	margin: 0;
	color: #e00000;
	font-size: 1.2em;
}
.p-formError p.m-error {
	display: block;
}
@media screen and (min-width: 768px) {
.p-formError p {
	font-size: 1.3rem;
}
}

/* バリデーション発火ボタン */
.p-validation {
	position: relative;
}
.p-validation__button {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 1;
	cursor: pointer;
}
.p-validationButton.m-done {
	display: none;
}

/* 修正モーダル */
#consultation .l-content__input.m-hide {
	display: none;
}
#consultation .l-content__input.m-hide.m-edit {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	background: #fff;
	z-index: 199;
}
#consultation .l-content__input.m-hide.m-edit > .swiper {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 0 15px;
}
#consultation .l-content__input.m-hide.m-edit > .swiper .swiper-content {
	max-height: 80vh;
	overflow-y: auto;
}
#consultation .l-content__input.m-hide.m-edit .swiper-slide .swiper-button__wrapper {
	display: none;/* swiperの遷移ボタン非表示 */
}
#consultation .l-content__input.m-hide.m-edit .swiper-slide .p-contentEdit .swiper-button__wrapper {
	display: flex;
}
#consultation .l-content__confirmSection .bl-designer .l-btn__wrapper {
	display: none;
}
@media screen and (min-width: 768px) {
	#consultation .l-content__input.m-hide.m-edit > .swiper .swiper-content {
		max-height: 620px;
	}
}

/* モーダルボタン */
#consultation .p-contentEdit {
	display: none;
	width: 85.3333333333vw;
	margin: 2.1333333333vw auto 0;
	text-align: center;
}
#consultation .l-content__input.m-hide.m-edit .p-contentEdit {
	display: block;
}
#consultation .p-contentEdit__button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26.6666666667vw;
	height: 10.6666666667vw;
	background-color: #fff;
	border: 1px solid #888;
	color: #4d4d4d;
	font-size: 1.4rem;
	font-weight: 700;
	z-index: 2;
}
@media screen and (min-width: 768px) {
	#consultation .p-contentEdit {
		width: 80vw;
		max-width: 800px;
		margin: 14px auto 0;
	}
	#consultation .p-contentEdit__button {
		width: 120px;
		height: 40px;
		color: #4d4d4d;
		border-color: #888;
		cursor: pointer;
	}
}

/* step1 */
.p-contactDesignerSelectDonot {
	display: none;
}
.p-contactDesignerSelectDonot__wrap {
	padding: 0 2.6667vw;
	margin: 6.6667vw;
}
.p-contactDesignerSelectDonot__wrap.m-edit {
	margin: 0;
}
.p-contactDesignerSelectDonot__wrap p {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	min-height: 11.2vw;
	padding: 0.5em;
	background-color: #fff;
	font-size: 1.4rem;
	text-align: center;
	font-weight: 700;
	line-height: 1.2;
	box-sizing: border-box;
}
.p-contactDesignerSelectDonot__wrap p .m-text-small {
	font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
	.p-contactDesignerSelectDonot__wrap {
		max-width: 320px;
		padding: 0;
		margin: 60px auto 0;
	}
	.p-contactDesignerSelectDonot__wrap p {
		font-size: 1.6rem;
		min-height: 56px;
		line-height: 1.4;
		-webkit-transition: opacity 0.3s;
		transition: opacity 0.3s;
	}
}

/* step3 */
.p-fileInput.m-hide {
	opacity: 0;
	visibility: hidden;
}
.p-contantImage {
	display: none;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	text-align: center;

}
.p-contantImage.m-show {
	display: block;
}
.p-contantImage__delete {
	position: absolute;
	top: 1.3333333333vw;
	right: 1.3333333333vw;
	display: block;
	width: 4.2666666667vw;
	height: 4.2666666667vw;
	background-color: #fff;
	border-radius: 50%;
	cursor: pointer;
}
.p-contantImage__delete::before {
	content: "×";
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 1.1rem;
	color: #888;
}
#consultation .l-content__wrapper .l-file__wrapper > div {
	max-height: 20vw;
}
#consultation .l-content__wrapper .l-file__wrapper > div img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
#consultation textarea {
	resize: none;
}
#consultation input[type=date] {
	min-height: 1em;
}
@media screen and (min-width: 768px) {
	.p-contantImage__delete {
		top: 9px;
		right: 9px;
		width: 16px;
		height: 16px;
	}
	#consultation .l-content__wrapper .l-file__wrapper > div {
		max-height: 132px;
	}
}

/* チェックボックス */
#consultation .l-reform-after .bl-hope-post .l-input__list {/*打ち消し用*/
	display: block;
}
#consultation .l-reform-after .bl-hope-post  .wpcf7-checkbox {
	margin: 0;
	margin-top: -1em;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
	#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox {
		display: grid;
		grid-template-columns: auto 1fr auto;
		grid-gap: 10px;
		max-width: 430px;
		margin: -5px auto 10px;
	}
}
#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox .wpcf7-list-item {
	margin: 0;
}
#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox .wpcf7-list-item:nth-child(2n + 1) {
	width: 42%;
}
@media screen and (min-width: 768px) {
	#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox .wpcf7-list-item:nth-child(2n + 1) {
		width: auto;
	}
}
#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox.wpcf7-list-item:nth-child(2n),
#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox .wpcf7-list-item:nth-child(7) {
	flex-grow: 1;
}
#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox .wpcf7-list-item span,
#contact .wpcf7-checkbox .wpcf7-list-item span {
	min-width: inherit;
	font-size: 1.4rem;
}
#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox .wpcf7-list-item label span {
	padding-top: 0.8em;
	padding-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
	#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox .wpcf7-list-item span,
	#contact .wpcf7-checkbox .wpcf7-list-item span {
		min-width: inherit;
		font-size: 1.4rem;
	}
	#consultation .l-reform-after .bl-hope-post .wpcf7-checkbox .wpcf7-list-item label span {
		padding-top: 0;
		padding-bottom: 0;
	}
}

/* ラジオボタン */
#consultation .wpcf7-radio .wpcf7-list-item {
	font-size: 1.2rem;
	font-family: "Hind", sans-serif;
	width: 50%;
	margin: 0;
}
@media screen and (min-width: 768px) {
	#consultation .wpcf7-radio .wpcf7-list-item {
		width: auto;
		margin: 0 2em 0 0;
		font-size: 1.4rem;
	}
}
#consultation .wpcf7-radio .wpcf7-list-item span {
	padding-top: 0.6em;
	padding-bottom: 0.6em;
}
#consultation input[type=radio] + span:before {
	content: "";
	position: absolute;
	top: 47%;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid #cacaca;
	border-radius: 50%;
	transform: translateY(-50%);
}
#consultation input[type=radio]:checked + span:before {
	border-color: #4d4d4d;
}
#consultation input[type=radio]:checked + span:after {
	content: "";
	position: absolute;
	top: 47%;
	left: 4px;
	display: block;
	width: 8px;
	height: 8px;
	background-color: #4d4d4d;
	border-radius: 50px;
	transform: translateY(-50%);
}


/**
 *	2023/04/26
 *  /contact/
 */
#contact .icon{
	border-radius: 3px;
	margin-left: 0.5em;
	padding: 0 0.5em;
}
#contact .icon.required{
	color: #fff;
	background: #6d655b;
}
#contact .icon.any{
	color: #333;
	background: #e2d9c7;
}

#contact .image_box{
	position: relative;
	display: none;
	width: 100%;
	max-width: 250px;
	aspect-ratio: 176 / 132;
	background-color: #fff;
	border: 1px dashed #848484;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 10px auto;
}
#contact .image_box.change{
	border: 1px solid #848484;
}
#contact .image_box p{
	font-size: 16px;
	text-align: center;
}
#contact .image_box img{
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #fff;
}
#contact .image_box.change img{
	display: block;
}
#contact .image_box a{
	display: none;
	position: absolute;
	top: -5px;
	right: -5px;
	width: 30px;
	height: 30px;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	color: #fff;
	background: #333;
	border: solid 1px #fff;
	border-radius: 50%;
	font-size: 16px;
	font-weight: 900;
    font-family: monospace;
}
#contact .image_box.change a{
	display: flex;
	justify-content: center;
	align-items: center;
}
#contact .image_box.active{
	display: flex;
}
#contact .image_box input{
	display: none;
}
#contact #image_add_button{
	margin: 10px auto;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 176px;
    height: 66px;
	color: #333;
	border: solid 1px #666;
	background: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 16px;
	line-height: 1.2;
}


#contact .validation_error .confirm_hidden,
#contact .validation_error input[type="text"],
#contact .validation_error input[type="email"]{
	background: #FFDEDD;
}
#contact .error_show{
	display: none;
}
#contact .validation_error .error_show{
	display: block;
	color: #c72b51;
}


#contact form .confirm_show{
	font-size: 16px;
	padding-left: 1em;
	display: none;
}
#contact form.confirm .confirm_show{
	display: block;
}
#contact form.confirm .confirm_hidden{
	display: none;
}


#contact #prev_button{
	margin-top: 20px;
}


#contact input[type=checkbox] + span {
  display: inline-block;
  position: relative;
  padding-left: 18px;
  padding-right: 16px;
  cursor: pointer;
}
#contact input[type=checkbox] + span:before {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 14px;
  height: 14px;
  border-radius: 2px;
  display: block;
  position: absolute;
  border: 2px solid #cacaca;
  background: #fff;
  content: "";
}
#contact input[type=checkbox]:checked + span:before {
  border-color: #4d4d4d;
  background-color: #4d4d4d;
}
#contact input[type=checkbox]:checked + span:after {
  display: block;
  position: absolute;
  top: 43%;
  left: 2px;
  width: 4px;
  height: 8px;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
}
