@charset "utf-8";

/* **************************************************

  main

************************************************** */
@media screen and (min-width:960px) {
#footer { border-top: 1px solid #ddd; }
}



/* **************************************************

  main

************************************************** */
@media screen and (max-width:599px) {
#main .image .background {
  background: url(/contact/images/main_img_01@sp.jpg) no-repeat center center;
  background-size: cover;
}
}

@media screen and (min-width:600px) {
#main .image .background {
  background: url(/contact/images/main_img_01.jpg) no-repeat center center;
  background-size: cover;
}
}



/* **************************************************

  form

************************************************** */
#form { padding: 50px 0 60px; }
#form .wrap { padding: 0 20px; }
#form .txt1 {
  font-size: 1.3rem;
  line-height: 2.461538461538462;
}
#form .container-800 { margin-top: 45px; }
#form .item { margin-top: 30px; }
#form .item .subtitle { letter-spacing: -0.4em; }
#form .item .subtitle > * {
  line-height: 25px;
  display: inline-block;
  letter-spacing: 0.06em;
  vertical-align: top;
}
#form .item .subtitle .txt {
  font-size: 1.6rem;
  font-weight: 700;
}
#form .item .subtitle .required {
  font-size: 1.4rem;
  color: #fff;
  background: #f59fbe;
  margin-left: 1em;
  padding: 0 10px;
}
#form .item .form { margin-top: 10px; }
#form .error {
  font-size: 1.4rem;
  color: #ea524e;
  margin-top: 0.25em;
}
#form .agree {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 50px;
  background: #fef5f8;
  padding: 20px 30px;
}
#form .agree p { line-height: 20px; }
#form .agree p .required {
  line-height: 25px;
  color: #fff;
  background: #f59fbe;
  display: inline-block;
  margin-top: 10px;
  padding: 0 10px;
}
#form .btn1 { margin-top: 60px; }
#form .btn1 button {
  font-size: 2.6rem;
  color: #fff;
  line-height: 80px;
  background: #f59bbb;
  text-align: center;
  display: block;
  width: 100%;
  box-sizing: border-box;
  outline: none;
  border: none;
}
#form .notes { margin-top: 75px; }
#form .notes .subhead { font-weight: 700; }
#form .notes p {
  line-height: 2.285714285714286;
  margin-top: 1em;
}

@media screen and (min-width:600px) {
#form .wrap { padding: 0 40px; }
#form .agree p .required { margin: 0 0 0 1em; }
#form .agree p.custom-checkbox input[type="checkbox"] + label:after { top: 2px !important; }
}

@media screen and (min-width:960px) {
#form { padding: 120px 0 100px; }
#form .wrap { padding: 0 80px; }
#form .txt1 { line-height: 2.714285714285714; }
#form .container-800 { margin-top: 65px; }
#form .item { margin-top: 35px; }
#form .btn1 button {
  line-height: 100px;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}
#form .btn1 button:hover { opacity: 0.5; }
#form .notes p { line-height: 2.714285714285714; }
}



/* **************************************************

  form item

************************************************** */
/* ==============================
  textbox
============================== */
.input-text {
  font-size: 1.4rem;
  background: #fff;
  box-sizing: border-box;
  letter-spacing: 0.1em;
  width: 100%;
  padding: 1rem;
  border: solid 1px #ddd;
  outline: none;
  resize: none;
}
.input-text.error-data { background: #f9eaf2; }
textarea.input-text { height: 10em; }


/* ==============================
  checkbox
============================== */
.custom-checkbox {
  display: inline-block;
  text-align: left;
  position: relative;
}
.custom-checkbox input[type="checkbox"] {
  width: 100%;
  height: 100%;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  cursor: pointer;
  -webkit-appearance: none;
}
.custom-checkbox input[type="checkbox"] + label {
  color: #8995a3;
  line-height: 20px;
  display: block;
  padding-left: 34px;
}
.custom-checkbox input[type="checkbox"] + label:after {
  /* background: #fff url(/common/images/checkbox.png) no-repeat left top;
  background-size: 100% auto; */
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
}
.custom-checkbox input[type="checkbox"]:checked + label:after { background-position: left bottom; }


/* ==============================
  selectbox
============================== */
.custom-selectbox select,
.custom-selectbox .inner { width: 100%; }
.custom-selectbox { position: relative; }
.custom-selectbox select {
  line-height: 50px;
  height: 50px;
  opacity: 0;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
}
.custom-selectbox .inner {
  background: #fff;
  height: 50px;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 0;
  border: solid 1px #ddd;
}
.custom-selectbox.error-data .inner { background: #f9eaf2; }
.custom-selectbox .inner .value {
  line-height: 48px;
  display: block;
  white-space: nowrap;
  box-sizing: border-box;
  width: 100%;
  padding: 0 55px 0 1rem;
  position: relative;
}
.custom-selectbox .inner .value:after {
  /* background: url(/common/images/selectbox_arr.png) no-repeat right center;
  background-size: 55px auto; */
  display: block;
  content: "";
  width: 55px;
  height: 50px;
  position: absolute;
  top: 50%;
  right: 0px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}



/* **************************************************

  thanks

************************************************** */
#thanks {
  text-align: center;
  padding: 70px 0 60px;
}
#thanks .title {
  font-size: 2.4rem;
  line-height: 1.583333333333333;
  color: #e098c0;
}
#thanks .txt1 {
  font-size: 1.3rem;
  margin-top: 1em;
}
#thanks .btn1 { margin-top: 60px; }

@media screen and (min-width:960px) {
#thanks { padding: 160px 0 180px; }
#thanks .title { font-size: 3.4rem; }
#thanks .txt1 { font-size: 1.4rem; }
#thanks .btn1 { margin-top: 70px; }
#thanks .btn1 .btn-border-updown { min-width: 280px; }
}











