@charset "utf-8";
/*======================
 STYLE CSS  2018.04.13
 higashimae shuji
=======================*/

#body {
 padding: 0 !important;
 background: #f7f7f7;
}
/*--------------------------------------------------------------------------
 Header
---------------------------------------------------------------------------*/
#header {
 width: 100%;
 height: 70px;
 z-index: 1;
 position: relative;
 background: #FFF;
}
#header h1 {
 width: 50px;
 margin: 0 auto;
 position: absolute;
 line-height: 0;
 top: 50%;
 left: 0;
 right: 0;
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
 text-align: center;
}
#header h1 a {
 display: block;
 line-height: 0;
}
h2 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 25px;
  font-family: dejarip, sans-serif;
  font-weight: 800;
  font-style: normal;
  letter-spacing: 0.1em;
}
h2 + p {
  text-align: center;
  font-size: 15px;
  line-height: 2em;
}
@media screen and (max-width: 640px) {
 #header { height: 60px;}
 #header h1 { width: 178px;}
 .title {
  margin: 0 auto 15px;
  padding-bottom: 15px;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.05;
  font-family: 'Catamaran', sans-serif;
  font-size: 20px;
  font-weight: 800;
  position: relative;
 }
 .title::after {
  content: "";
  width: 30px;
  height: 1px;
  display: block;
  background: #231815;
  position: absolute;
  bottom: 0;
  left: 50%;
   -webkit-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
   transform: translateX(-50%);
 }
 .title + p,
 h2 + p {
  margin-bottom: 25px;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 12px;
 }
}

#inquiry-inner { margin: 70px auto;}

@media screen and (max-width: 1200px) {#inquiry-inner { margin: 80px auto 0;}}
#inquiry-inner .holiday {
  margin: 10px auto 0;
  text-align: center;
  line-height: 2;
  padding: 5px;
  box-sizing: border-box;
}
#inquiry-inner .holiday p {
  color: #F44522;
  font-size: 14px;
}
@media screen and (max-width: 640px) {
  #inquiry-inner .holiday {
    margin: 0;
    text-align: left;
  }
  #inquiry-inner .holiday p {
    font-size: 12px;
  }
}
/*--------------------------------------------------------------------------
 #Form
---------------------------------------------------------------------------*/
input, button, textarea, select {
 margin: 0;
 padding: 0;
 background: none;
 border: none;
 border-radius: 0;
 outline: none;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 color: #3D3D3D;
 font-size: 16px;
 -webkit-transition: all .3s;
    -moz-transition: all .3s;
     -ms-transition: all .3s;
      -o-transition: all .3s;
         transition: all .3s;
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}
input[type="radio"] { display: none;}
input[type="checkbox"] { display: none;}
#Form {
 max-width: 1200px;
 margin: 0 auto;
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}
#Form .lead {}
#Form .tel { line-height: 0;}
#Form .tel a { display: block;}
#Form .tel img {
 width: 100%;
 height: auto;
}
#Form .tel.sp {
 display: none;
}
#Form .form_area {
 margin-top: 60px;
}
#Form .form_area::before {
 display: none;
 /* content: '';
 padding-top: 10%;
 display: block; */
}
#Form .form-wrap,
#Form .thanks-wrap {
 margin-top: 50px;
 background: #FFF;
}
#Form .form-wrap *,
#Form .thanks-wrap * {}
#Form .form-wrap h3 {
 text-align: center;
 line-height: 3;
 font-family: dejarip, sans-serif;
 font-weight: 800;
 font-size: 25px;
 font-size: 20px;
 letter-spacing: 0.1em;
}
#Form .form-wrap dl {
 width: 100%;
 display: table;
 table-layout: fixed;
 position: relative;
}
#Form .form-wrap dl dt,
#Form .form-wrap dl dd {
 display: table-cell;
 vertical-align: top;
 font-size: 16px;
 border-top: 1px solid #DFDFDF;
}
#Form .form-wrap dl dt {
 width: 30%;
 padding: 30px 4% 20px 4%;
 letter-spacing: 0.075em;
 line-height: 1.6;
 font-weight: bold;
}
#Form .step02 .form-wrap dl dt { padding: 20px 4%;}
#Form .form-wrap dl .tag {
 position: relative;
 margin-right: 10px;
 padding: 2px 5px;
 font-size: 11px;
 font-style: normal;
}
#Form .form-wrap dl .tag.required {
 color: #FFF;
 background: #F44522;
 top: -2px;
}
#Form .form-wrap dl .tag.ex {
 background: #DFDFDF;
 top: -1px;
}
#Form .form-wrap dl dd {
 width: 70%;
 padding: 20px 4% 20px 0;
 vertical-align: middle;
}
#Form .form-wrap dl dd .form-text {
 margin-top: 10px;
 display: block;
 line-height: 1.5;
 font-size: 13px;
}
#Form .form-wrap dl dd input.text {
 width: 325px;
 height: 40px;
 padding: 0 1em;
 line-height: 18px;
 border: 1px solid #DFDFDF;
 -webkit-border-radius: 5px;
         border-radius: 5px;
}
#Form .form-wrap dl dd input.text.code { max-width: 7em;}
#Form .form-wrap dl dd input.text.postal { width: 100%;}
#Form .form-wrap dl dd input.mt { margin-top: 15px;}
#Form .form-wrap dl dd input.text:focus {
 -moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
 -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
 box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
}
#Form .form-wrap dl dd .check,
#Form .form-wrap dl dd .radio {
 width: 33.3333%;
 float: left;
 padding-bottom: 20px;
 position: relative;
}
#Form .form-wrap dl dd .check label,
#Form .form-wrap dl dd .radio label
 {
 padding-left: 36px;
 font-size: 13px;
 position: relative;
 cursor: pointer;
}
.checkbox {
 -webkit-transition: background-color 0.2s linear;
 transition: background-color 0.2s linear;
 position: relative;
 display: inline-block;
 vertical-align: middle;
 cursor: pointer;
}
.checkbox:hover::after,
#Form .form-wrap dl dd .radio label:hover::before {
 border-color: #231815;
}
.checkbox::after {
 -webkit-transition: border-color 0.2s linear;
 transition: border-color 0.2s linear;
 position: absolute;
 top: 50%;
 left: 0;
 display: block;
 margin-top: -11px;
 width: 20px;
 height: 20px;
 border: 1px solid #dfdfdf;
 border-radius: 5px;
 content: '';
}
.checkbox::before {
 -webkit-transition: opacity 0.2s linear;
 transition: opacity 0.2s linear;
 position: absolute;
 top: 50%;
 left: 8px;
 display: block;
 margin-top: -7px;
 width: 5px;
 height: 9px;
 border-right: 2px solid #231815;
 border-bottom: 2px solid #231815;
 content: '';
 opacity: 0;
 -webkit-transform: rotate(45deg);
 -ms-transform: rotate(45deg);
 transform: rotate(45deg);
}
input[type=checkbox]:checked + .checkbox::before {
 opacity: 1;
}
#Form .form-wrap dl dd .radio label::before {
 position: absolute;
 content: '';
 top: 50%;
 left: 0;
 width: 22px;
 height: 22px;
 margin-top: -12px;
 border: 1px solid #DFDFDF;
 border-radius: 100%;
 -webkit-transition: border-color 0.2s linear;
 transition: border-color 0.2s linear;
}
input[type=radio]:checked + label::after {
 position: absolute;
 content: '';
 top: 50%;
 left: 7px;
 width: 10px;
 height: 10px;
 margin-top: -5px;
 background: #3d3d3d;
 border-radius: 100%;
}
#Form .form-wrap dl dd .select {
 width: 325px;
 height: 40px;
 padding: 0 1em;
 position: relative;
 display: inline-block;
 font-size: inherit;
 border: 1px solid #dfdfdf;
 border-radius: 5px;
 background: #fff;
}

#Form .form-wrap dl dd .select::before {
 content: "";
 position: absolute;
 top: 50%;
 right: 10px;
 display: block;
 width: 0;
 height: 0;
 margin: -2px 0 0 0;
 border: 5px solid transparent;
 border-top: 7px solid #231815;
}

#Form .form-wrap dl dd .select select {
 width: 95%;
 line-height: 40px;
 cursor: pointer;
 position: relative;
 -webkit-appearance: none;
 appearance: none;
 display: block;
 color: #231815;
 font-size: 14px;
 border: none;
 border-radius: 5px;
 background: transparent;
}
#Form .form-wrap dl dd .select.dm select { width: 60px;}
#Form .form-wrap dl dd .select.yy select { width: 100px;}
::-ms-expand {
 display: none;
}

#Form .form-wrap dl dd .textarea {
 width: 100%;
 height: 200px;
 padding: 8px 1em;
 line-height: 1.8;
 border: 1px solid #DFDFDF;
 -webkit-border-radius: 7px;
         border-radius: 7px;
}
#Form .form-wrap dl dd .textarea:focus {
 -moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
 -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
 box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
}
#Form .form-wrap .message_box {
 padding: 100px 0;
 line-height: 2;
 text-align: center;
 color: #F44522;
 font-size: 16px;
 border-top: 1px solid #DFDFDF;
}
#Form .form-wrap .btn-box {
 padding: 40px 0;
 text-align: center;
 border-top: 1px solid #DFDFDF;
}
#Form .form-wrap .btn-box .btn {
 width: 340px;
 letter-spacing: 0.1em;
 line-height: 60px;
 color: #FFF;
 font-size: 16px;
 font-weight: 400;
 background: #231815;
 cursor: pointer;
 border: 1px solid #231815;
 -webkit-border-radius: 30px;
         border-radius: 30px;
}
#Form .form-wrap .btn-box .btn:hover {
 background: #231815;
 border: 1px solid #231815;
 opacity: 1;
}
#Form .form-wrap .btn-box .btn.back {
 color: #231815;
 background: #FFF;
 border: 1px solid #231815;
}
#Form .form-wrap .btn-box .btn.first {
 width: 140px;
 margin-right: 40px;
}
#Form .form-wrap .btn-box .btn.back:hover {
 color: #FFF;
 background: #3D3D3D;
 border: 1px solid #3D3D3D;
}
#Form .thanks-wrap {
 padding: 40px 5%;
}
#Form .thanks-wrap h3 {
 text-align: center;
 padding-bottom: 20px;
 margin-bottom: 20px;
 font-size: 20px;
 font-weight: bold;
 border-bottom: 1px solid #DFDFDF;
}
#Form .thanks-wrap p {
 text-align: center;
 line-height: 2.4em;
 font-size: 14px;
}
#Form .thanks-wrap .note {
 margin-top: 30px;
 padding: 25px;
 text-align: left;
 border: 1px solid #111;
 background: #f7f7f7;
}
#Form .thanks-wrap .note span {
 display: block;
 text-align: center;
 font-weight: bold;
}
#Form .thanks-wrap .note ul {}
#Form .thanks-wrap .note ul li {
 margin-top: 1em;
 font-size: 14px;
 line-height: 2em;
 letter-spacing: 0.05em;
}
#Form .thanks-wrap .back_btn {
 margin: 60px auto 0;
 text-align: center;
}
#Form .thanks-wrap .back_btn a {
 width: 340px;
 margin: auto;
 display: block;
 letter-spacing: 0.1em;
 line-height: 60px;
 color: #FFF;
 font-size: 16px;
 font-weight: 400;
 background: #231815;
 cursor: pointer;
 border: 1px solid #231815;
 -webkit-border-radius: 30px;
         border-radius: 30px;
text-decoration: none;
}
#Form .thanks-wrap .back_btn a:hover {
 background: #3D3D3D;
 border: 1px solid #3D3D3D;
}
.page-up { background:#F8F5E7;}

@media screen and (max-width: 980px) {
 #header { border-bottom: none;}
 #inquiry-inner { width: 90%; margin: 30px 5% 0;}

 #Form {}
 #Form .form_area { margin-top: 30px;}
 #Form .form_area::before { padding-top: 14.0625%;}
 #Form .form_area.step01::before {
  background: url(../img/flow_sp.png) center 0 no-repeat;
  -webkit-background-size: cover;
       -o-background-size: cover;
          background-size: cover;
 }
 #Form .form_area.step02::before {
  background: url(../img/flow_sp.png) center 50% no-repeat;
  -webkit-background-size: cover;
       -o-background-size: cover;
          background-size: cover;
 }
 #Form .form_area.step03::before {
  background: url(../img/flow_sp.png) center 100% no-repeat;
  -webkit-background-size: cover;
       -o-background-size: cover;
          background-size: cover;
 }
 #Form .form-wrap,
 #Form .thanks-wrap { margin-top: 20px;}
 #Form .form-wrap h3 { font-size: 16px;}
 #Form .form-wrap dl {
  display: block;
  border-top: 1px dotted #DFDFDF;
 }
 #Form .form-wrap dl dt,
 #Form .form-wrap dl dd {
  font-size: 12px;
  display: block;
  border: none;
 }
 #Form .form-wrap dl .tag {
  margin-right: 7px;
  font-size: 8px;
 }
 #Form .form-wrap dl dt {
  width: 100%;
  padding: 15px 4% 7px !important;
 }
 #Form .form-wrap dl dd {
  width: 100%;
  padding: 0 4% 15px;
 }
 #Form .form-wrap dl dd .form-text {
   margin-top: 8px;
   font-size: 9px;
  }
 #Form .form-wrap dl dd input.text {
  width: 100%;
  height: 35px;
  line-height: 35px;
 }
 #Form .form-wrap dl dd .textarea {
  width: 100%;
  height: 125px;
 }
 #Form .form-wrap dl dd .select {
  width: 100%;
  height: 35px;
  line-height: 35px;
 }
 #Form .form-wrap .btn-box { padding: 30px 0;}
 #Form .form-wrap dl dd .check,
 #Form .form-wrap dl dd .radio { width: 50%;}
 #Form .form-wrap dl dd .check label,
 #Form .form-wrap dl dd .radio label {
  padding-left: 28px;
  font-size: 12px;
 }
 .checkbox::after {
  margin-top: -9px;
  width: 16px;
  height: 16px;
 }
 .checkbox::before {
  left: 7px;
  margin-top: -6px;
  width: 3px;
  height: 7px;
 }
 #Form .form-wrap dl dd .radio label::before {
  width: 18px;
  height: 18px;
  margin-top: -10px;
 }
 input[type="radio"]:checked + label::after {
  left: 6px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
 }
 #Form .form-wrap dl dd .select select {
  width: 87%;
  margin-left: -10%;
  height: 35px;
  line-height: 35px;
  font-size: 16px;
  transform: scale(0.75);
 }
 #Form .form-wrap dl dd .select.dm select { width: 52px;}
 #Form .form-wrap dl dd .select.yy select { width: 68px;}
 #Form .form-wrap .message_box {
  padding: 30px 0;
  font-size: 12px;
 }
 #Form .form-wrap .btn-box { padding: 20px 0;}
 #Form .form-wrap .btn-box .btn {
  width: 90%;
  line-height: 50px;
  font-size: 12px;
  -webkit-border-radius: 25px;
          border-radius: 25px;
 }
 #Form .form-wrap .btn-box.cf .first {
  width: 73px;
  margin-right: 5px;
 }
 #Form .thanks-wrap {
  padding: 30px 5%;
 }
 #Form .thanks-wrap h3 {
  margin-bottom: 12px;
  padding-bottom: 12px;
  letter-spacing: 0;
  font-size: 14px;
 }
 #Form .thanks-wrap p {
  text-align: left;
  font-size: 12px;
}
 #Form .thanks-wrap p br { display: none;}
 #Form .thanks-wrap .note {
  padding: 3%;
  font-size: 12px;
 }
 #Form .thanks-wrap .note ul li { font-size: 12px;}
 #Form .thanks-wrap .note span { font-size: 12px;}
 #Form .thanks-wrap .back_btn {
  margin-top: 40px;
 }
 #Form .thanks-wrap .back_btn a {
  width: 100%;
  line-height: 50px;
  font-size: 12px;
  -webkit-border-radius: 25px;
          border-radius: 25px;
 }
}

/*--------------------------------------------------------------------------
 Footer
---------------------------------------------------------------------------*/
#footer {
 margin-top: 150px;
 padding: 30px 0;
 background: #231815;
}
#footer .inner {
 width: 90%;
 max-width: 1440px;
 margin: 0 auto;
 position: relative;
}
#footer h2 {
 width: 218px;
 line-height: 0;
 opacity: 0.5;
}
#footer h2 + p {
 margin: 25px 0 0 0;
 text-align: left;
 letter-spacing: 0.12em;
 line-height: 2.2;
 color: #fff;
 font-size: 13px;
 opacity: 0.5;
}
#footer address {
 color: #FFF;
 font-family: 'Catamaran', sans-serif;
 font-size: 11px;
 font-style: normal;
 opacity: 0.5;
 position: absolute;
 top: 50%;
 right: 0;
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
}

@media screen and (max-width: 640px) {
 #footer {
  margin-top: 80px;
  padding: 30px 0 20px;
  background: #231815;
 }
 #footer.mt0 { margin-top: 0;}
 #footer .inner {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  position: relative;
 }
 #footer h2 {
  width: 170px;
  margin: 0 auto;
  line-height: 0;
  opacity: 0.5;
  padding-bottom: 20px;
 }
 #footer h2 + p {
  margin: 20px 0;
  padding-top: 16px;
  text-align: center;
  letter-spacing: 0.2em;
  line-height: 2.2;
  color: #fff;
  font-size: 10px;
  opacity: 0.5;
  border-top: 1px solid #918B8A;
 }
 #footer address {
  color: #FFF;
  font-family: 'Catamaran', sans-serif;
  font-size: 9px;
  font-style: normal;
  opacity: 0.5;
  position: static;
 }
}
