/*---------------------------------------------------------------------------*/
.head-txt { text-align: center; margin-bottom: 3rem; line-height: 2; }

.contact-us { position: relative; padding: 4rem 2rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 2rem; }

.contact-us:before, .contact-us:after { position: absolute; content: ''; width: 100%; height: 1px; left: 0; background: #CC0000; opacity: 0.2; }

.contact-us:before { top: 0; }

.contact-us:after { bottom: 0; }

.contact-us dt { font-size: 1.8rem; font-weight: 500; }

.contact-us dd { position: relative; padding-left: 7.5rem; margin-left: 3rem; }

.contact-us dd:after { position: absolute; content: ''; width: 4.5rem; height: 2.7rem; left: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background: url(../img/arr-sam.png) left top no-repeat; -moz-background-size: cover; background-size: cover; }

.contact-us dd a { font-size: 3.6rem; display: inline-block; font-weight: bold; vertical-align: middle; line-height: 1; }

.contact-us dd span { display: inline-block; vertical-align: middle; line-height: 1; }

.wrap-s { max-width: 104rem; margin: 0 auto; }

select { appearance: none; -webkit-appearance: none; -moz-appearance: none; background: transparent; background: url(../img/arr-slc.png) no-repeat right; background-repeat: no-repeat; background-position-x: 98%; background-position-y: 48%; }

.ipt, .slc { border: 1px solid #DCDCDC; outline: none; width: 100%; padding: 1.3rem 1rem; -moz-border-radius: 0.2rem; border-radius: 0.2rem; }

.ipt.medium, .slc.medium { width: 70%; }

.ipt.small, .slc.small { width: 35%; }

.ipt.error, .slc.error { border: 1px solid #EB0000; }

.are { min-height: 25.2rem; }

.req { color: #fff; background: #EB0000; font-size: 1.4rem; line-height: 1; -moz-border-radius: 0.2rem; border-radius: 0.2rem; display: inline-block; padding: 0.5rem; }

.btn-submit { background: #CC0000 url(../img/arr_ct_o.png) 95% center no-repeat; color: #fff; font-size: 1.8rem; font-weight: 500; text-align: center; width: 38.8rem; padding: 2.4rem 0; line-height: 1; cursor: pointer; }

.btn-submit:hover { opacity: 0.75; }

.frm-btn { text-align: center; margin: 6rem 0 0; }

.frm-ttl { margin: 6rem 0 3rem; }

.frm-ttl span { font-size: 2.4rem; font-weight: 500; display: inline-block; position: relative; padding-right: 6.6rem; line-height: 1; }

.frm-ttl span:after { position: absolute; content: ''; width: 4.6rem; height: 0.2rem; right: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background: #CC0000; }

.section-form dl { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; padding: 1.5rem 0; }

.section-form dl dt { width: 26rem; font-weight: 500; position: relative; padding-left: 5rem; }

.section-form dl dt .req { position: absolute; left: 0; }

.section-form dl dd { width: -webkit-calc(100% - 26rem); width: -moz-calc(100% - 26rem); width: calc(100% - 26rem); }

.section-form dl dd p + p { margin-top: 1.5rem; }

.section-form.section-confirm dl { border-bottom: 1px solid #DCDCDC; padding: 2.5rem 0; }

.section-form.section-confirm dl dt { padding-left: 0; }

.frm-btn .btn-f { font-size: 1.8rem; font-weight: 500; border: 2px solid #CC0000; outline: none; width: 25.2rem; padding: 2rem 0; cursor: pointer; background: #fff; color: #CC0000; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }

.frm-btn .btn-f:hover { background: #CC0000; color: #fff; }

.frm-btn .btn-f.btn-send { background: #CC0000; color: #fff; margin-left: 4rem; }

.frm-btn .btn-f.btn-send:hover { background: #fff; color: #CC0000; }

.box-error { color: #CC0000; font-weight: bold; text-align: center; margin-bottom: 6rem; }

.txt-center { text-align: center; }

@media screen and (max-width: 768px) { .head-txt { margin-bottom: 8vw; }
  .contact-us { display: block; padding: 8vw 0; margin-bottom: 5.33333vw; }
  .contact-us dt { font-size: 3.73333vw; margin-bottom: 2.66667vw; }
  .contact-us dd { position: relative; padding-left: 10.66667vw; margin-left: 0; }
  .contact-us dd:after { width: 6.13333vw; height: 3.6vw; }
  .contact-us dd a { font-size: 8.53333vw; display: inline-block; font-weight: bold; vertical-align: middle; line-height: 1; }
  .contact-us dd span { font-size: 3.2vw; }
  .ipt, .slc { padding: 4vw 2.66667vw; -moz-border-radius: 0.2rem; border-radius: 0.2rem; }
  .ipt.medium, .slc.medium { width: 100%; }
  .ipt.small, .slc.small { width: 100%; }
  .are { min-height: 40vw; }
  .req { font-size: 2.66667vw; padding: 1.33333vw; }
  .btn-submit { color: #fff; font-size: 3.73333vw; width: 100%; padding: 6.66667vw 0; }
  .frm-btn { text-align: center; margin: 16vw 0 0; }
  .frm-ttl { margin: 16vw 0 8vw; }
  .frm-ttl span { font-size: 4.53333vw; font-weight: 500; display: inline-block; position: relative; padding-right: 12vw; line-height: 1; }
  .frm-ttl span:after { width: 9.6vw; height: 0.53333vw; }
  .section-form dl { display: block; padding: 4vw 0; }
  .section-form dl dt { width: 100%; padding-left: 0; margin-bottom: 4vw; }
  .section-form dl dt .req { position: static; margin-right: 2.66667vw; }
  .section-form dl dd { width: 100%; }
  .section-form dl dd p + p { margin-top: 4vw; }
  .section-form.section-confirm dl { padding: 6.66667vw 0; }
  .frm-btn .btn-f { font-size: 3.73333vw; width: 40vw; padding: 3.33333vw 0; }
  .frm-btn .btn-f.btn-send { margin-left: 4vw; }
  .box-error { margin-bottom: 8vw; } }
