/* ----------------- contact ------------------ */
#fv{
  background:url(../img/fv-contact.jpg) center center no-repeat;
  background-size: cover;
  width: 100%;
  height: 230px;
  text-align: center;
  position: relative;
  overflow: visible;
  margin-bottom: 100px;
  margin-top: 68px;
}
#fv::before{
  content: "";
  background: #e6e8ec url(../img/bg-tri1.svg) bottom right no-repeat;
  background-size: auto;
  position: absolute;
  width: 100%;
  height: 230px;
  top: 46px;
  left: 0;
  z-index: -1;
}
#fv::after{
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  border-top: 0px solid transparent;
  border-left: 42px solid #fff;
  border-right: 0px solid transparent;
  border-bottom: 65px solid transparent;
}
#fv img{
  position: absolute;
  top: 100px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
}
#fv h1::before,
#fv h1::after{
  content: "";
  width: 1px;
  left: 50vw;
  position: absolute;
}
#fv h1::before{
  background: #fff;
  height: 150px;
  top: 150px;
}
#fv h1::after{
  background: #002a66;
  height: 70px;
  top: 230px;
}

.catch {
  text-align: center;
  width: 90vw;
  margin: 0 auto 50px;
}
#japan_content{
  display: block;
}

.cform,
.tabs {
  width: 90vw;
  max-width: 800px;
  margin: 0 auto 20px;
  text-align: left;
}
.cform{
  margin: 10px auto 100px;
  text-align: center;
}
.cform img {
    margin: 100px 0 50px;
}
.inner-efo-default-theme {
    width: 100%!important;
}
.inner-efo-default-theme fieldset {
    border: none!important;
}
.inner-efo-default-theme legend {
    display: none!important;
}
.inner-efo-default-theme fieldset {
    padding: 0!important;
}
.ttl-item {
    margin-bottom: 2px;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: left;
}
.bl-item{
    text-align: left;
}
.inner-efo-default-theme .font-size-m {
    font-size: 1.6rem!important;
    text-align: left;
}
.tab{
  display: inline-block;
  vertical-align: middle;
  padding: 2px 10px 2px 5px;
  margin-right: 7px;
  background: #e6e8ec;
  border: 1px solid #e6e8ec;
  border-radius: 7px;
}
.tab input[type='radio']{
  margin: 0 7px 0 2px;
  cursor: pointer;
}

.tab_content {
    display: none;
    clear: both;
    overflow: hidden;
}
.tab_content label {
  padding: 0;
}
.bl-item input[type='text'],
.bl-item input[type='tel'],
.bl-item input[type='email'],
.inner-efo-default-theme .select select,
.bl-item textarea{
  background: #e6e8ec;
  border: 1px solid #e6e8ec;
  border-radius: 7px;
}
.inner-efo-default-theme input:not(:disabled):hover, .inner-efo-default-theme textarea:not(:disabled):hover,
.inner-efo-default-theme .select select:not(:disabled):hover{
  border: 1px solid #e6e8ec;
}

.confirm .bl-item input[type='text'],
.confirm .bl-item input[type='tel'],
.confirm .bl-item input[type='email'],
.confirm.inner-efo-default-theme .select select,
.confirm .bl-item textarea,
.inner-efo-default-theme input:disabled, .inner-efo-default-theme textarea:disabled,
.inner-efo-default-theme .select select:disabled{
  color: #777;
  background: #e6e8ec;
  cursor: default;
}
.required-icon,
.inner-efo-default-theme .required-icon{
  color: #fff;
  background: #e60012;
  font-size: 1.2rem;
  line-height: 2rem;
  border-radius: 12px;
  padding: 1px 6px;
  margin: -2px 0 0 4px;
  display: inline-block;
  vertical-align: middle;
}
.inner-efo-default-theme .select-s select, .inner-efo-default-theme select.select-s {
    height: 40px!important;
    font-size: 1.6rem!important;
}
.inner-efo-default-theme .input-s {
    height: 40px!important;
    font-size: 1.6rem!important;
}
.inner-efo-default-theme input, .inner-efo-default-theme textarea {
    font-size: 1.6rem;
}
.inner-efo-default-theme .button-primary.button-border {
  color: #fff;
  background: #4b93ce;
  border: 1px solid #4b93ce;
  font-size: 2rem;
  width: 240px;
  height: auto;
  padding: 15px 0;
  margin: 40px auto;
  border-radius: 12px;
}
.inner-efo-default-theme .button-primary.btn-cancel {
  color: #555;
  background: #e7e8ec;
  font-size: 1.8rem;
  border: 1px solid #aaa;
}
/* ---------------------------------------------------------------------------------------- */
@media screen and (max-width: 1200px){
}
/* ---------------------------------------------------------------------------------------- */
@media screen and (max-width: 1000px){
  #fv{
    margin-top: 80px;
    margin-bottom: 140px;
  }
  .catch {
    text-align: left;
  }
}
/* ---------------------------------------------------------------------------------------- */
@media screen and (max-width: 700px){

  .inner-efo-default-theme .select-s select, .inner-efo-default-theme select.select-s {
      height: 55px!important;
      font-size: 2rem!important;
  }
  .inner-efo-default-theme .input-s {
      height: 55px!important;
      font-size: 2rem!important;
  }
  .tab,
  .ttl-item,
  .inner-efo-default-theme .font-size-m,
  .inner-efo-default-theme input, .inner-efo-default-theme textarea {
      font-size: 2rem!important;
  }
}