@charset "utf-8";
@import url("root.css");
/***************************************
-------------- CONTACT --------------
***************************************/
#form form .mailform dd.radio label{
	padding-right: 20px !important;
	}

.thanks_mess{
	display: block;
	width: 94% !important;
	margin: 0 auto 50px;
}

.thanks_mess h4{
	display: block;
	width: 100% !important;
	margin: 0 auto 20px;
	text-align: center !important;
	border-bottom: 1px solid var(--base-color02);
	padding-bottom: 10px !important;
}

p.subtitle {
  display: block;
  text-align: center;
  margin: 0 auto var(--sp-container_space);
}

span.must {
  display: block;
  width: 48px;
  font-size: calc(var(--sp-fontsize_p) * 0.7 );
  text-align: center;
  background: var(--sub-color01);
  color: var(--base-color03);
  border-radius: 4px;
  margin-right: 10px;
	position: absolute;
	left: 0px;
	
}

section form {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
}
.mailform {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  padding-bottom: var(--sp-space);
	 padding-top: var(--sp-space);
	border-top: 1px solid #CCC;
}
form dl{
	
	padding-left: 15px;
	padding-right: 15px;
	
}

form dl:nth-child(even){
	background-color: var(--base-bgcolor03);
}


form dt {
  display: flex;
  flex-wrap: wrap;
 
	justify-content: flex-end;
  width: 25%;
	padding-top: 4px;
  padding-bottom: 5px;
  font-size: var(--sp-fontsize_p);
	position: relative;
}
form dd {
  width: 75%;
	padding-left: 15px;

  font-size: var(--sp-fontsize_p);
}
form dd.textarea,
form dd.upload,
form dd.select {
  width: 100% !important;
  
}

.mailform .mfp textarea{width: 100% !important;}

form dd.check {
	padding-top: 4px;
}
form dd.check label,
form dd.upload input {
  font-size: var(--sp-fontsize_p);
	
}

form dd.select select {

}

input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #333;
    font-size: var(--sp-fontsize_p);
    box-sizing: border-box;
    vertical-align: bottom;
	background: var(--base-color03);
}
#mailformpro select {
    padding: 8px;
    border: 1px solid #333;
    font-size: 1rem;
    box-sizing: border-box;
	background: var(--base-color03);
}
#mailformpro select::after{
	content: "▼"
}


button[type="submit"] {
 font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック", "Yu Gothic", sans-serif;
font-weight: bold;	
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(75%, 400px);
    padding: 15px;
    border: none;
    background: var(--base-color01);
    color: var(--base-color03);
    text-align: center;
    margin: 5rem auto 2rem;
    font-size: 1.125rem;
    border-radius: 12px;
}
button[type="submit"]:hover {
  /*opacity: 0.8;*/
  cursor: pointer; 
	background: var(--pway-color02);

}

#mailformpro input[type="checkbox"],
#mailformpro input[type="radio"]{
  all: revert;
}

#recruit_form .mailform input[type="radio"]{
	margin-top: .5rem;
}
#mailformpro input[type="checkbox"],
#mailformpro input[type="radio"]{
 transform: scale(1.5);
  margin: 0 .5rem 0 1rem;
}

.sp1 {
	padding: 3px 0 0 0;
	display:block;
}

.sp2 li {
	margin: 0 0 10px 0;
	padding: 0px;
}
.fbox {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	max-width: 360px;
}

.fbox li {
	width: 48%;
}
.fbox li:nth-child(2) {
	margin-left: 2%
}
.mailform a {
	text-decoration: underline;
	color: var(--base-color01);
}

.fw300 {
	max-width: 300px;
}
.addr_box li:not(:last-child){
	margin-bottom: 10px;
	
}
.fbox2 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.fbox2 li {
	width: 48%;
}
.fbox2 li:nth-child(1) {
	width: 10%;
	max-width: 100px;
	min-width: 80px;
	
}
.fbox2 li:nth-child(2) {
	width: 78%;
	margin-left: 2%
}
/* =======================
  PC
======================== */
@media screen and (min-width: 1200px) {}
/* =======================
  TABLET
======================== */
@media screen and (max-width:1199px) {
}


@media screen and (max-width:899px) {
.mailform {
  display: flex;
  flex-wrap: wrap;
	flex-direction: column;
  width: 100%;
  justify-content: space-between;
  padding-bottom: var(--sp-space);
	 padding-top: var(--sp-space);
	border-top: 1px solid #CCC;
}
	
span.must {
  display: block;
  width: 48px;
  font-size: calc(var(--sp-fontsize_p) * 0.7 );
  text-align: center;
  background: var(--sub-color01);
  color: var(--base-color03);
  border-radius: 4px;
  margin-right: 10px;
	position: static;
	left: 0px;
	
}
	
form dt {
  display: flex;
  flex-wrap: wrap;
 
	justify-content: flex-start;
  width: 100%;
	padding-top: 4px;
  padding-bottom: 5px;
  font-size: var(--sp-fontsize_p);
	position: relative;
}
form dd {
  width:100%;
	padding-left: 0px;

  font-size: var(--sp-fontsize_p);
}
}
/* =======================
  SP
======================== */
@media screen and (max-width: 599px) {
  .mailform {
    flex-wrap: wrap;
  }
  form dt {
    margin-bottom: 5px;
  }
  form dt,form dd {
    width: 100%;
  }
	
.fbox {
	flex-direction: column;
	max-width: 100%;;
}

.fbox li {
	width: 100%;
}
.fbox li:nth-child(2) {
	margin-left: 0;
	margin-top: 10px;
}


.fbox2 {
	flex-direction: column;
	align-items: flex-start;
}


.fbox2 li:nth-child(1) {
	width: 100%;
	max-width: 100px;
	min-width: 80px;
	
}
.fbox2 li:nth-child(2) {
	width: 100%;
	margin-top: 0px;
	margin-left: 0;
}
.fw300 {
	max-width: 100%;
}
}