@charset "UTF-8";

#form_wrap {
	width:100%;
	margin:0 auto ;
}

/*-------------------------------
	form
-------------------------------*/

.form_list {
	display: -webkit-box;
	display: flex;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	margin:0 auto 70px;
}

.form_list dt,
.form_list dd {
	position:relative;
}

.form_list dt {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	width:260px;
	padding:1.5em 0.5em 1.5em 1.5em;
	font-size:1.8rem;
	line-height:1.5;
	font-weight:bold;
}

.form_list dt.ali_st {
	align-items: flex-start;
}

.form_list dd {
	width:calc(100% - 260px);
	padding:1.5em 1.5em;
	font-size:1.8rem;
	line-height:1.5;
}

.form_list dt:nth-of-type(odd),
.form_list dd:nth-of-type(odd) {
	background:#f7f7f7;
}


/* スマホ時の装飾を削除 */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
button,
input[type="submit"],
textarea  {
	border-radius: 0;
	border:none;
	-webkit-appearance: none;
}


input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"] {
	background:#fff;
	width:100%;
	font-size:1.6rem;
	line-height:1.5;
	height: 2.8125em;
	padding:0 1em;
	border-radius: 1rem;
	border:1px solid #604d32;
	font-weight: 400;
}

input[type="date"] {
	text-align: left;
	margin-bottom:2rem;
	max-width:240px;
}

@-moz-document url-prefix() {
  /* Firefoxのみに適用 */
input[type="text"],
input[type="email"],
input[type="tel"] {
	padding:0.65em 1em 0.65em;
}
}

/*-------------------------------
	radio checkbox
-------------------------------*/
/*
input[type="radio"],
input[type="checkbox"] {
    display: none;
}*/

input[type="radio"] + span,
input[type="checkbox"] + span {
    padding-left: 2em;
    position: relative;
	display: inline-block;
}

input[type="radio"] + span::before {
	content: "";
    display: block;
	width:22px;
	height:22px;
	border: 1px solid #604d32;
	background:#fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    border-radius: 50%;
	box-sizing: border-box;
}

input[type="radio"]:checked + span::before {
	content: "";
	border: 1px solid #5ea4ff;
	background:#5ea4ff;
}

input[type="radio"]:checked + span::after {
    content: "";
    display: block;
	width:10px;
	height:10px;
	background: #fff;
    position: absolute;
    top: 0;
    left: 6px;
    bottom: 0;
    margin: auto 0;
	border-radius:50%;
	box-sizing: border-box;
}

input[type="checkbox"] + span::before {
	content: "";
    display: block;
	width:22px;
	height:22px;
	border: 1px solid #282828;
	background:#fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    border-radius: 0%;
	box-sizing: border-box;
}

input[type="checkbox"] + span::after {
	content: "";
	display: block;
	width:6px;
	height:10px;
	border-right:2px solid #C3C3C3;
	border-bottom:2px solid #C3C3C3;
	position:absolute;
	left:7px;
	top:4px;
	transform:rotate(45deg);
}

input[type="checkbox"]:checked + span::after {
	border-color:#5ea4ff;
}

.radio_wrap:not(:last-of-type),
.check_wrap:not(:last-of-type) {
	margin-bottom:0.5em;
}

/*-------------------------------
	select
-------------------------------*/

.sele_wrap {
    width: 100%;
	height: 2.8125em;
    margin: 0;
    position: relative;
    border: 1px solid #604d32;
	border-radius:1rem;
	line-height:1.5;
	background:#fff;
}

.sele_wrap::before {
    position: absolute;
    top: 0.24rem;
	bottom:0;
	margin:auto 0;
    right: 2rem;
    width: 1.5rem;
    height: 0.8rem;
    content: "";
    display: block;
    background: url(../images/arrow_select.svg) no-repeat center / contain;
    pointer-events: none;
}

.form_list select {
	width: 100%;
	height:100%;
    padding-right: 1em;
    cursor: pointer;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 0.6em 1em;
	font-size: 1.6rem;
}

select::-ms-expand { /* select要素のデザインを無効にする（IE用） */
display: none;
}

/*-------------------------------
	text area
-------------------------------*/

textarea {
	resize: vertical;
	background:#fff;
	width:100%!important;
	font-size:1.6rem;
	line-height:2;
	height:320px!important;
    overflow: auto;
    padding: 1em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
	border-radius: 1rem;
	border:1px solid #604d32;
}

/*-------------------------------
	privacy check
-------------------------------*/

.privacy_check input[type="checkbox"] + span::before {
	content: "";
    display: block;
    width: 30px;
    height: 30px;
	background:#fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
	border-radius:0px;
	border:1px solid #604d32;
}


.privacy_check input[type="checkbox"] + span::after {
	content: "";
	display: block;
	width:10px;
	height:14px;
	border-right:2px solid #C3C3C3;
	border-bottom:2px solid #C3C3C3;
	position:absolute;
	left:10px;
	top:8px;
	transform:rotate(45deg);
}

.privacy_check input[type="checkbox"]:checked + span::after {
	border-color:#fff;
}

.privacy_check input[type="checkbox"]:checked + span::before {
	background:#5ea4ff;
	border-color:#5ea4ff;
}

.privacy_check input[type="checkbox"] + span {
	padding-left:2.25em;
}

.privacy_check span,
.privacy_check a {
	font-size:2rem;
}

.privacy_check .kome_wrap {
	margin-top:1.5rem;
}

/*-------------------------------
	submit
-------------------------------*/

.submit_wrap {
	margin:4em 0 0 0;
}

.submit_wrap button {
	transition:all .3s;
	text-align:left;
	cursor:pointer;
}

/*-------------------------------
	req
-------------------------------*/

.req {
	position:relative;
	margin-right:0.75em;
	display: inline-block;
	padding:0em 0.7em;
	color:#fff;
	background:#E82727;
	text-align:center;
	font-size:1.4rem;
	font-weight:bold;
	letter-spacing: 0.1em;
	border-radius:5px;
}

input::placeholder,
textarea::placeholder {
	font-weight: 400;
	color: #9B9B9B;
	font-size:1.6rem;
	line-height:1.5;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-textarea-placeholder {
	font-weight: 400;
	color: #9B9B9B;
	font-size:1.6rem;
	line-height:1.5;
  }

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-textarea-placeholder {
	font-weight: 400;
	color: #9B9B9B;
	font-size:1.6rem;
	line-height:1.5;
}

/*-------------------------------
	responsive
-------------------------------*/

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


.form_list dt {
	width:200px;
	font-size:1.6rem;
	flex-wrap:wrap;
}

.form_list dd {
	width:calc(100% - 200px);
	font-size:1.6rem;
}


} /* end 740px */

/*-------------------------------
	ver sp
-------------------------------*/

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

/*-------------------------------
	form
-------------------------------*/

.form_list {
	margin:0 auto 4rem;
}

.form_list dt {
	width:100%;
	font-size:clamp(16px,1.6rem,24px);
	flex-wrap:wrap;
	padding:1.5em 1em 1.5em 1em;
	background:#f7f7f7;
}

.form_list dt.ali_st {
	align-items: flex-start;
}

.form_list dd {
	width:100%;
	font-size:clamp(16px,1.6rem,24px);
	padding:1.5em 1em;
}

.form_list dd:nth-of-type(odd) {
	background:#fff;
}


input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"] {
	font-size:clamp(16px,1.6rem,24px);
	border-width:0.1rem;
	border-radius:0.5rem;
}

input[type="date"] {
	max-width:100%;
}

/*-------------------------------
	radio checkbox
-------------------------------*/

input[type="radio"] + span::before {
	width:2.2rem;
	height:2.2rem;
	border-width:0.1rem;
}

input[type="radio"]:checked + span::before {
	border-width:0.1rem;
}

input[type="radio"]:checked + span::after {
	width:1rem;
	height:1rem;
    left: 0.6rem;
}

input[type="checkbox"] + span::before {
	width:2.2rem;
	height:2.2rem;
	border-width:0.1rem;
}

input[type="checkbox"] + span::after {
	width:0.6rem;
	height:1rem;
	border-width:0.2rem;
	left:0.7rem;
	top:0.4rem;
}

/*-------------------------------
	select
-------------------------------*/

.sele_wrap {
    border-width:0.1rem;
	border-radius:0.5rem;
	font-size:clamp(16px,1.6rem,24px);
}

.form_list select {
	font-size:clamp(16px,1.6rem,24px);
}

/*-------------------------------
	text area
-------------------------------*/

textarea {
	font-size:clamp(16px,1.6rem,24px);
	height:20rem;
    padding: 1em;
    border-radius: 0.5rem;
	border-width:0.1rem;
}

/*-------------------------------
	privacy check
-------------------------------*/

.privacy_check input[type="checkbox"] + span::before {
    width: 2.7rem;
    height:  2.7rem;
	border-width:0.1rem;
}

.privacy_check input[type="checkbox"] + span::after {
	width:0.9rem;
	height:1.26rem;
	border-width:0.2rem;
	left:0.9rem;
	top:0.72rem;
}

.privacy_check input[type="checkbox"] + span {
	padding-left:2.5em;
}

.privacy_check span,
.privacy_check a {
	font-size:clamp(16px,1.8rem,27px);
}

/*-------------------------------
	submit
-------------------------------*/

.submit_wrap {
	margin:3rem 0 0 0;
}

/*-------------------------------
	req
-------------------------------*/

.req {
	font-size:clamp(14px,1.4rem,21px);
	border-radius:0.5rem;
}

input::placeholder,
textarea::placeholder {
	font-size:clamp(16px,1.6rem,24px);
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-textarea-placeholder {
	font-size:clamp(16px,1.6rem,24px);
}

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-textarea-placeholder {
	font-size:clamp(16px,1.6rem,24px);
}

} /* end 599px */


