@charset "utf-8";

/* ---------------------------------------------------
   File: contact.css
   Version: 1.0.0
   Update: 2025-05-20
   Author: https://flowlab.co.jp

   (c)2007-2025 Flowlab inc. All Rights Reserved.
--------------------------------------------------- */



/* =======================================================================================================================

   WIDE DESKTOP LAYOUT

======================================================================================================================= */

/* ====================================================
		Contents
==================================================== */
/* -------------------------------
		Layout
------------------------------- */
#contents article {
  max-width: 1100px;
  padding-top: 140px;
  margin: 0 auto;
}




/* ====================================================
		Tel
==================================================== */
/* -------------------------------
		Layout
------------------------------- */
#tel {
  padding-top: 90px!important;
}

/* -------------------------------
		Title
------------------------------- */
#tel h2 {
  padding-bottom: 20px!important;
}

/* -------------------------------
		Number
------------------------------- */
#tel .number a {
  color: #109519;
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-size: 6rem;
  font-weight: 500;
  line-height: 1.4;
}

/* -------------------------------
		Time
------------------------------- */
#tel section {
  font-size: 1.4rem;
  justify-content: flex-start;
}

/* Title */
#tel section h3 {
  font-weight: 500;
  padding-right: 1em;
}




/* ====================================================
		Mail Form
==================================================== */
/* -------------------------------
		Title
------------------------------- */
#form h2 {
  padding-bottom: 30px!important;
}

/* -------------------------------
		Text
------------------------------- */
#form p {
  line-height: 2.2;
  letter-spacing: .02em;
  padding-bottom: 30px;
}




/* ====================================================
		MailFormPro CSS - Reset
==================================================== */
form#mailformpro dl dt,
form#mailformpro dl dd {
  float: none;
  margin: 0;
  padding: 0;
  border: none;
  text-align: left;
  clear: both;
}
.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password {
  box-shadow: none;
  margin: 0;
}
.mfp_element_all {
  max-width: 100%;
}
div.mfp_ok {
	display: none!important;
}
div.mfp_err {
  background: none;
  color: #e30012;
  padding: 0;
}
form#mailformpro label {
  margin: 0;
}
form#mailformpro label.mfp_checked {
  border: none;
  background: none!important;
  box-shadow: none;
}
form#mailformpro label.mfp_not_checked {
  border: none;
}

/* -------------------------------
		Icon - Must
------------------------------- */
form#mailformpro dl dt .must {
	display: inline-block;
  border: none;
  text-shadow: none;
  float: none;
  box-shadow: none;
  background-image: none;
}

/* -------------------------------
		Label
------------------------------- */
form#mailformpro dt label {
  white-space: normal;
}

/* -------------------------------
		Input
------------------------------- */
form#mailformpro textarea,
form#mailformpro input[type="tel"],
form#mailformpro input[type="email"], 
form#mailformpro input[type="text"],
form#mailformpro input[type="radio"],
form#mailformpro input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  border: none;
}
form#mailformpro .radio_button input[type="radio"],
form#mailformpro .label-agree input[type="checkbox"] {
	padding: 0;
	background: none;
	border-radius: 0;
	outline: none;
}
form#mailformpro .radio_button label,
form#mailformpro .label-agree label {
	font-weight: normal;
  line-height: 1.6;
	position: relative;
	display: block;
	word-break: break-all;
  white-space: normal;
	cursor: pointer;
}

/* -------------------------------
		Submit Button
------------------------------- */
form#mailformpro #submitButtonBox #submitButton {
  width: auto;
  color: #fff;
  background: #333;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  display: inline-block;
  transition: all .3s;
  position: relative;
}
form#mailformpro #submitButtonBox #submitButton[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}




/* ====================================================
		Form
==================================================== */
/* -------------------------------
		Layout
------------------------------- */
#form {
}

/* -------------------------------
		Dl Layout
------------------------------- */
form#mailformpro dl {
  align-items: center;
  align-content: stretch;
  border-bottom: 1px solid #e4e4e4;
}
form#mailformpro dl dt,
form#mailformpro dl dd {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.6;
}
form#mailformpro dl dt {
  width: 25%;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 34px 0;
}
form#mailformpro dl dd {
  width: 75%;
  position: relative;
}

/* Border Line */
form#mailformpro dl dd::after {
  content: '';
  width: calc(100% + 34%);
  height: 1px;
  background: #e4e4e4;
  position: absolute;
  top: 0;
  left: -34%;
}

/* -------------------------------
		Icon - Must
------------------------------- */
form#mailformpro dl dt .must {
  color: #109519;
  font-size: 1.2rem;
  line-height: 2.2;
  background-color: #fff!important;
  position: relative;
  padding: 0 10px;
}
form#mailformpro dl dt .must::before,
form#mailformpro dl dt .must::after {
  font-size: 1.6rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
form#mailformpro dl dt .must::before {
  content: '（';
  left: -10px;
}
form#mailformpro dl dt .must::after {
  content: '）';
  right: -10px;
}

/* -------------------------------
		Input
------------------------------- */
form#mailformpro textarea,
form#mailformpro input[type="tel"],
form#mailformpro input[type="email"], 
form#mailformpro input[type="text"],
form#mailformpro input[type="radio"],
form#mailformpro input[type="checkbox"] {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
form#mailformpro textarea,
form#mailformpro input[type="tel"],
form#mailformpro input[type="email"], 
form#mailformpro input[type="text"] {
  width: 100%;
  font-size: 1.6rem;
  letter-spacing: 0.07em;
  background: rgba(68, 147, 49, .03);
  padding: 35px;
}
form#mailformpro input::placeholder,
form#mailformpro textarea::placeholder {
  color: #333;
  opacity: .15;
}

/* -------------------------------
		Radio button
------------------------------- */
form#mailformpro .radio_button ul {
  width: 100%;
}
form#mailformpro .radio_button ul li {
  width: 100%;
  background: rgba(68, 147, 49, .03);
}
form#mailformpro .radio_button ul li:not(:last-child) {
  border-bottom: 1px solid #e4e4e4;
}
form#mailformpro .radio_button ul li:first-child {
  display: none;
}
form#mailformpro .radio_button label {
  padding: 35px;
}
form#mailformpro .radio_button label input[type="radio"] + span {
  position: relative;
  padding: 0 0 0 40px;
}
form#mailformpro .radio_button.method ul li input[type="radio"] + span {
  padding-right: 30px;
}
form#mailformpro .radio_button li label span,
form#mailformpro .label-agree label span {
	display: block;
}
form#mailformpro .radio_button li label input[type="radio"] {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

/* Check Icon */
form#mailformpro .radio_button li label input[type="radio"] + span::before,
form#mailformpro .radio_button li label input[type="radio"] + span::after {
  content: '';
	position: absolute;
  box-sizing: border-box;
	top: 50%;
	left: 0;
	display: inline-block;
  transform: translateY(-50%);
}
form#mailformpro .radio_button li label input[type="radio"] + span::before {
  width: 30px;
  height: 30px;
  border: 1px solid #e4e4e4;
  border-radius: 30px;
  background: #fff;
  opacity: 1;
	z-index: 0;
}
form#mailformpro .radio_button li label input[type="radio"] + span::after {
  width: 14px;
  height: 14px;
	background: #109519;
  border-radius: 30px;
  transition: all 0.3s ease-in-out;
  left: 8px;
  opacity: 0;
}

/* Checked */
form#mailformpro .radio_button li label input[type="radio"]:checked + span::after {
  opacity: 1;
}

/* -------------------------------
		Text Area
------------------------------- */
form#mailformpro textarea {
  width: 100%!important;
	min-height: 300px;
	resize: vertical;
  display: block;
}

/* -------------------------------
		Agree
------------------------------- */
form#mailformpro .agree {
  width: 100%;
  font-size: 1.4rem;
  text-align: center;
  padding: 70px 0 40px;
}
form#mailformpro .agree a {
  color: #109519;
  border-bottom: 1px solid #109519;
  transition: .3s;
}
form#mailformpro .agree a:hover {
  border-bottom: 1px solid #fff;
  opacity: 1;
}

/* -------------------------------
		Submit
------------------------------- */
form#mailformpro #submitButtonBox {
  display: block;
  margin: 0 auto;
  text-align: center;
}
form#mailformpro #submitButtonBox #submitButton {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .08em;
  background: #109519;
  border-radius: 100px;
  padding: 30px 140px;
  cursor: pointer;
}

.mfp_element_submit {
  text-shadow: none;
}
.mfp_element_submit:hover {
  box-shadow: none;
}

/* -------------------------------
		Privacy Policy
------------------------------- */
#privacy {
  padding-top: 60px;
}
#privacy dl {
  border-bottom: 1px solid rgb(51,51,51,.1);
  display: flex;
  flex-wrap: wrap;
}
#privacy dl dt,
#privacy dl dd {
  border-top: 1px solid rgb(51,51,51,.1);
  padding: 40px 0;
}

/* Title */
#privacy dl dt {
  width: calc(25% - 5%);
  padding-right: 5%;
}

/* Detail */
#privacy dl dd {
  width: 75%;
}






/* =======================================================================================================================

   TABLET

======================================================================================================================= */
@media screen and (min-width: 897px) and (max-width: 1299px) {
  
  /* ====================================================
      Contents
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #contents article {
    width: 88%;
    padding: 140px 0 0;
  }
  #contents .title {
    padding-left: 0;
  }
  
  
}







/* =======================================================================================================================

   MOBILE

======================================================================================================================= */
@media screen and (max-width: 896px) {

  /* ====================================================
      Common
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #contents article {
    width: calc(100% - 40px);
    padding-top: 60px;
  }
  
  
  
  
  /* ====================================================
      Tel
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #tel {
    padding-top: 60px!important;
  }
  
  /* -------------------------------
      Title
  ------------------------------- */
  #tel h2 {
    padding-bottom: 10px!important;
  }
  
  /* -------------------------------
      Number
  ------------------------------- */
  #tel .number a {
    font-size: 3rem;
  }

  /* -------------------------------
      Time
  ------------------------------- */
  #tel section {
    font-size: 1.2rem;
    letter-spacing: 0;
    display: block;
  }

  /* Title */
  #tel section h3 {
    width: 100%;
  }
  
  
  
  
  /* ====================================================
      Mail Form
  ==================================================== */
  /* -------------------------------
      Title
  ------------------------------- */
  #form h2 {
    padding-bottom: 20px!important;
  }

  /* -------------------------------
      Text
  ------------------------------- */
  #form p {
    line-height: 2;
    letter-spacing: 0;
    padding-bottom: 15px;
  }
  
  
    
  
  /* ====================================================
      Form
  ==================================================== */
  /* -------------------------------
      Layout
  ------------------------------- */
  #form {
    padding-bottom: 90px!important;
  }

  /* -------------------------------
      Dl Layout
  ------------------------------- */
  form#mailformpro dl {
    border-bottom: none;
    margin-bottom: 0;
  }
  form#mailformpro dl dt,
  form#mailformpro dl dd {
    width: 100%!important;
    font-size: 1.3rem;
  }
  form#mailformpro dl dt {
    padding: 0 0 5px;
  }
  form#mailformpro dl dd {
    padding-bottom: 15px;
  }
  
  /* Border Line */
  form#mailformpro dl dd::after {
    content: none;
  }
    
  /* -------------------------------
      Icon - Must
  ------------------------------- */
  form#mailformpro dl dt .must {
    font-size: 0.9rem;
    margin: 0 0 0 10px;
  }
  form#mailformpro dl dt .must::before,
  form#mailformpro dl dt .must::after {
    font-size: 1.4rem;
  }
  form#mailformpro dl dt .must::before {
    left: -8px;
  }
  form#mailformpro dl dt .must::after {
    right: -8px;
  }
  
  /* -------------------------------
      Input
  ------------------------------- */
  form#mailformpro textarea,
  form#mailformpro input[type="tel"],
  form#mailformpro input[type="email"], 
  form#mailformpro input[type="text"] {
    width: 100%;
    font-size: 1.3rem;
    letter-spacing: 0;
    padding: 15px;
  }
  
  /* -------------------------------
      Radio button
  ------------------------------- */
  form#mailformpro .radio_button ul li {
    width: 100%;
    line-height: 1;
  }
  form#mailformpro .radio_button ul li:not(:last-child) {
    border-bottom: 2px solid #fff;
  }
  form#mailformpro .radio_button label {
    padding: 15px;
  }
  form#mailformpro .radio_button label input[type="radio"] + span {
    padding: 0 0 0 30px;
  }
  
  /* Check Icon */
  form#mailformpro .radio_button li label input[type="radio"] + span::before {
    width: 20px;
    height: 20px;
  }
  form#mailformpro .radio_button li label input[type="radio"] + span::after {
    width: 10px;
    height: 10px;
    left: 5px;
  }
  
  /* -------------------------------
      Agree
  ------------------------------- */
  form#mailformpro .agree {
    font-size: 1.2rem;
    padding: 20px 0 30px;
  }
  
  /* -------------------------------
      Submit
  ------------------------------- */
  form#mailformpro #submitButtonBox #submitButton {
    width: 100%;
    font-size: 1.4rem;
    padding: 15px 0;
    display: block;
  }
  
  /* -------------------------------
      Privacy Policy
  ------------------------------- */
  #privacy dl {
    display: block;
  }
  #privacy dl dt,
  #privacy dl dd {
    width: 100%;
    letter-spacing: 0;
  }
  
  /* Title */
  #privacy dl dt {
    font-weight: 500;
    padding: 20px 0 0;
  }
  
  /* Detail */
  #privacy dl dd {
    font-size: 1.2rem;
    border-top: none;
    padding: 10px 0 20px;
  }
  

}
