@charset "utf-8";
@import url("root.css");
/***************************************
-------------- CONTACT --------------
***************************************/


#contact .txt_box {
text-align:center;
padding: 0 0 40px 0;
}

#contact .txt_box_b {
text-align:center;
padding:40px 0;
}


#contact  .title_a{
padding: 0 0 40px 0;
}

p.subtitle {
  display: block;
  text-align: center;
  margin: 0 auto 30px;
}
p.subtitle a {
  color: var(--base-color01);
  text-decoration: underline;
}
span.must {
display: block;
width: 48px;
font-size: calc(1.8rem * 0.7 );
text-align: center;
background:#cc0000;
color: var(--base-color03);
border-radius: 4px;
margin-right: 20px;
padding: 5px;
}

section form {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
}
.mailform {
  display: flex;
  flex-wrap: wrap;
  width:960px;
  justify-content: space-between;
  align-items:stretch;
  margin:0 auto;
}

form dt {
display: flex;
flex-wrap: wrap;
align-items: center;
width: 35%;
padding:20px 30px;
background-color: var(--base-color01);
color: var(--base-color03);
font-size: 20px;
box-sizing: border-box;
border-bottom: 1px solid var(--base-color03);

}

form dd {
width: 65%;
padding:0;
text-align: left;
background-color: var(--base-color05);
padding:20px 30px;
box-sizing: border-box;
border-bottom: 1px solid var(--base-color03);

}

form dd.upload,
form dd.select {
  width: 100%;
}
form dd.check label,
form dd.upload input {
}

form dd.select select {
  background: var(--base-color03);
}

input[type="text"],
input[type="email"],
textarea {
width: 100% !important;
    padding:5px 10px;
    border: 1px solid #999999;
    box-sizing: border-box;
    vertical-align: bottom;
	background-color: #ffffff;
	font-size:16px;
height: auto !important;
}
#mailformpro select {
    padding: 5px;
    border: 1px solid #333;
    box-sizing: border-box;
}
button[type="submit"] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(80%, 400px);
    padding: 15px;
    border: none;
    background: var(--base-color01);
    color: var(--base-color03);
    text-align: center;
    margin: 30px auto 0;
    border-radius: 12px;
	font-size: 24px;

}
button[type="submit"]:hover {
  opacity: 0.8;
  cursor: pointer; 
}

#mailformpro input[type="checkbox"] {
  all: revert;
  transform: scale(1.5); /* 1.5倍に拡大 */
  -webkit-transform: scale(1.5); /* Safari対策 */
  margin-right: 8px; /* テキストとの間隔を調整 */
}
.mfp_buttons{
padding:0 0 0 0;
margin: 0 auto;
width: 100%;
text-align: center;
}
/* =======================
  PC
======================== */
@media screen and (min-width: 1200px) {}
/* =======================
  TABLET
======================== */
@media screen and (max-width:1199px) {
}
/* =======================
  SP
======================== */
@media screen and (max-width: 900px){
input[type="text"], input[type="email"], textarea {
width: 100%;
padding:5px;
border: 1px solid #999999;
box-sizing: border-box;
vertical-align: bottom;
background-color: #ffffff;
font-size: 16px;
}


.mailform {
width: 100%;
margin-bottom:0;
}
form dt {
margin-bottom: 5px;
padding: 5px;
font-size:18px;
width: 90%;
}

form dt,form dd {
width: 100%;
padding:15px;
}

.mfp_buttons {
padding: 0 0 40px 0;
width: 100%;
font-size: 20px;
}





}




#contact .row{
width: 100%;
margin: 0 auto;
}

#contact .col_03{
width:32%;
margin: 0 2% 0 0;
background-color:var(--base-color01);
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
#contact .col_03:nth-child(4){
margin: 0;
}


#contact .col_03 a{
color:var(--base-color03);
padding: 15px 0;
}

#contact .col_03 span{
color:var(--base-color03);
font-size: 12px;
font-weight: 700;
}



.mailform label{font-size: 18px;padding: 0 10px 10px 0;}
@media screen and (max-width:900px){
#contact .box{
width:90%;
margin:0 auto;
padding: 50px 0 100px 0;
border-top:1px solid #C9C9C9;
}

#contact .row{
width: 100%;
margin: 0 auto;
}

#contact .col_03{
width:100%;
margin:0 auto 5px;
background-color:var(--base-color01);
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
#contact .col_03:nth-child(4){
margin:0 auto;
}


#contact .col_03 a{
color:var(--base-color03);
padding: 5px 0;
font-size: 18px;
}

#contact .col_03 span{
color:var(--base-color03);
font-size: 12px;
font-weight: 700;
}


label{font-size: 16px;}

#mailformpro input[type="checkbox"] {
  all: revert;
  transform: scale(1.2); /* 1.5倍に拡大 */
  -webkit-transform: scale(1.2); /* Safari対策 */
  margin-right: 8px; /* テキストとの間隔を調整 */
}
}



button[type="submit"] {
    width: 40%;
    border-radius: 50px;
    color: var(--base-color03);
    background: var(--base-gd);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 30px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.3s ease;
	margin: 0 auto;
}

@media screen and (max-width:900px){
button[type="submit"] {
    width: 100%;
    border-radius: 50px;
    color: var(--base-color03);
    background: var(--base-gd);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 30px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.3s ease;
	margin: 0 auto;
	font-size: 16px;
}

#contact {
width: 90%;
margin: 0 auto;
}

#contact .txt_box_b {
text-align:center;
padding:20px 0;
}
}