@charset "utf-8";

#form_wrap {
  width: 100%;
  position: relative;
}
input,
textarea,
select {
  border: 0;
  padding: 5px 7px;
  color: #333;
  border: solid 1px #ccc;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

input:focus,
textarea:focus,
select:focus {
  border: solid 1px #ed1c21;
}

input[type="file"] {
  border: none;
  padding-left: 0;
}
table#table_address td,
table#table_address th {
  border: none;
}

/*form pageContact,Enquete common*/
/*-----------------------------------------------------------------------*/
#submit_button {
  clear: both;
  text-align: center;
  margin: 40px 0 0;
  text-transform: uppercase;
  font-weight: bold;
  color: #333;
}

#submit_button input {
  width: 180px;
  border: solid 1px #ed1c21;
  padding: 10px 0;
  cursor: pointer;
  font-size: 120%;
}
#submit_button input:hover {
  background-color: #ed1c21;
  color: #fff;
}

@media only screen and (max-width: 690px) {
  #submit_button input {
    width: 140px;
  }
}
/*form pageContact*/
/*-----------------------------------------------------------------------*/

#form_contact_main {
  overflow: auto;
}

#form_wrap {
  width: 100%;
  margin-bottom: 30px;
}

#form_contact_main dl {
  width: 100%;
  border-top: 1px dotted #ddd;
  line-height: 220%;
  float: left;
  float: none;
}
#form_contact_main dl::after {
  display: block;
  content: "";
  height: 0;
  clear: both;
}
#form_contact_main dl:first-child {
  border-top: none;
}
#form_contact_main dt {
  width: 25%;
  float: left;
  padding: 30px 10px;
}
#form_contact_main dt span {
  font-weight: bold;
  color: #ff0000;
}
#form_contact_main dd {
  padding: 30px 10px;
  width: 75%;
  float: left;
}
#form_contact_main dd p {
  margin-bottom: 0;
}
#privacy_txt {
  margin-left: 25%;
  padding-left: 10px;
  margin-top: -10px;
}
#form_contact_main a {
  color: #ed1c21;
  text-decoration: underline;
}
#form_contact_main a:hover {
  color: #ed1c21;
  text-decoration: underline;
}

/*form pageEnquete*/
/*-----------------------------------------------------------------------*/

#basic_information {
  border-bottom: 1px solid #adadad;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1.4;
  margin-bottom: 25px;
  padding-bottom: 10px;
}

#form_enquetet_main {
  overflow: auto;
  margin-top: 30px;
}

#enquete_intro {
  border-bottom: 1px solid #adadad;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 1.4;
  margin-bottom: 25px;
  padding-bottom: 10px;
}

#form_enquetet_main dl {
  width: 100%;
  border-top: 1px dotted #ddd;
  /*background-color:#f5f5f5;*/
  line-height: 220%;
  float: left;
}
#form_enquetet_main dl:nth-child(2) {
  border-top: none;
}
#form_enquetet_main dl.privacy {
  margin-top: 30px;
  border-bottom: none;
}

#form_enquetet_main dt {
  float: left;
  padding: 30px 10px;
  width: 30%;
}
#form_enquetet_main dt span {
  color: #ed1c21;
}
#form_enquetet_main dd {
  float: left;
  padding: 30px 10px;
  width: 70%;
}

@media only screen and (min-width: 691px) {
  #form_contact_main dl:last-of-type {
    float: none;
  }
  #form_contact_main dl:last-of-type dt,
  #form_contact_main dl:last-of-type dd {
    padding-bottom: 0;
  }
}

/*form utility*/
/*-----------------------------------------------------------------------*/
.example_text {
  margin-top: 5px;
  line-height: 100%;
  font-size: 90%;
  color: #999999;
}

#family_name,
#first_name,
#family_name_yomi,
#first_name_yomi {
  width: 120px;
  margin-right: 20px;
}

#zip01,
#zip02 {
  width: 60px;
}

#female {
  margin-left: 20px;
}

#table_address td {
  padding: 3px 0 3px 0;
}
span.break {
  padding-left: 15px;
}

.width_cs {
  width: 100%;
}
.width_cm {
  width: 100%;
}
.width_cl {
  width: 100%;
}
.width_es {
  width: 100%;
}
.width_em {
  width: 100%;
}
.width_el {
  width: 100%;
}
.height_s {
  height: 50px;
}
.height_m {
  height: 100px;
}
.height_l {
  height: 150px;
}

/*setting*/
/*-----------------------------------------------------------------------*/

.keywords_box {
  margin-bottom: 5px;
  margin-right: 6px;
  float: left;
}

/*----エラー項目部分のハイライト----*/
.dcms_error_area {
  background: #ffd7d7;
  position: relative;
}
p.error_text {
  display: none;
}
.dcms_error_area p.error_text {
  display: block;
  width: auto;
  /*float: left;*/
}

.dcms_error_area p.error_text span {
  background: #ff6666;
  display: inline-block;
  padding: 7px;
}

/*----エラーテキストの吹き出し装飾用----*/
#contact-form .dcms_error_area p.error_text {
  margin-top: 5px;
  color: #fff;
  position: relative;
  /*アニメーションをつける場合*/
  -webkit-animation: dcms_fadein_up 0.8s 1;
  -moz-animation: dcms_fadein_up 0.8s 1;
  -ms-animation: dcms_fadein_up 0.8s 1;
  -o-animation: dcms_fadein_up 0.8s 1;
  animation: dcms_fadein_up 0.8s 1;
}
#contact-form .dcms_error_area p.error_text:before {
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  text-align: left;
  top: -10px;
  left: 10px;
  border: 5px solid transparent;
  border-bottom: 5px solid #ff6666;
  /*アニメーションをつける場合*/
  -webkit-animation: dcms_fadein_up 0.8s 1;
  -moz-animation: dcms_fadein_up 0.8s 1;
  -ms-animation: dcms_fadein_up 0.8s 1;
  -o-animation: dcms_fadein_up 0.8s 1;
  animation: dcms_fadein_up 0.8s 1;
}

/*アニメーションを設定する*/
@-webkit-keyframes dcms_fadein_up {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes dcms_fadein_up {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes dcms_fadein_up {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes dcms_fadein_up {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* screens smaller than 600---------------------------------------------------------- */
@media only screen and (max-width: 690px) {
  #form_contact_main dl,
  #form_enquetet_main dl {
    border-top: none;
    margin-bottom: 15px;
    line-height: 1.6;
  }
  #form_contact_main dt,
  #form_contact_main dd,
  #form_enquetet_main dt,
  #form_enquetet_main dd {
    width: 100%;
    float: none;
    padding: 5px 0;
  }
  #form_contact_main dt {
    padding: 0 0 0 8px;
    border-left: 7px #ed1c21 solid;
    line-height: 1;
    margin-bottom: 15px;
    margin-top: 10px;
    font-size: 16px;
  }
  #form_contact_main dd,
  #form_contact_main dt dd {
    font-size: 16px;
  }
  #privacy_txt {
    margin-left: 0;
    padding-left: 0;
    font-size: 16px;
  }
  #submit_button {
    margin: 30px 0 0;
  }
  #table_address td {
    display: block;
  }
  span.break {
    display: block;
    padding-left: 0;
  }
  input {
    width: 100%;
  }
  input[type="radio"],
  input[type="checkbox"] {
    width: 20px;
  }
}

.slick-slide {
  height: auto !important;
}

.privacy {
  padding-left: calc(30% + 10px);
}
@media only screen and (max-width: 690px) {
  .privacy {
    padding-left: 0;
  }
}

#form_contact_main dl:last-child dt,
#form_contact_main dl:last-child dd {
  padding-bottom: 0;
}
#privacy_txt a {
  color: #ca062b;
}
@media only screen and (max-width: 690px) {
  #form_contact_main dl:last-child {
    margin-bottom: 0;
  }
}

.formflow {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.formflow li {
  min-width: 280px;
  text-align: center;
  font-size: 16px;
  position: relative;
  list-style: none;
  margin-left: 40px;
}
.formflow li + li::before {
  position: absolute;
  left: -28px;
  top: calc(50% - 5px);
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #333333;
  border-right: 2px solid #333333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.formflow li:first-child {
  margin-left: 0;
}
.formflow li a {
  display: block;
  padding: 10px;
  cursor: pointer;
}
.formflow li.prev,
.formflow li.prev a {
  color: #333333;
}
.formflow.last li.prev {
  padding: 10px;
}
.formflow li.age {
  color: #ffffff;
  padding: 10px;
}
.formflow li.next {
  color: #ffffff;
  padding: 10px;
}

@media only screen and (max-width: 979px) {
  .width_cs {
    width: 100%;
  }
  .width_cm {
    width: 100%;
  }
  .email_input {
    width: 100%;
  }
  .formflow li {
    min-width: 180px;
  }
}

@media only screen and (max-width: 690px) {
  .formflow li {
    min-width: 80px;
    font-size: 13px;
    margin-left: 20px;
  }
  .formflow li + li::before {
    left: -17px;
    top: calc(50% - 4px);
    width: 8px;
    height: 8px;
  }
}

input.family_name,
input.first_name {
  width: 40%;
}
input.family_name {
  margin-right: 10px;
}

@media only screen and (max-width: 690px) {
  input.family_name,
  input.first_name {
    width: 100%;
    display: block;
  }
  input.family_name {
    margin-bottom: 5px;
  }
}

.inp_col2 {
  width: 40%;
}

@media only screen and (max-width: 690px) {
  .inp_col2 {
    width: 100%;
  }
}

.privacy_inline_anchor {
  position: relative;
  top: -40px;
}

.privacy_inline {
  height: 300px;
  overflow: auto;
  padding: 30px;
  border: solid 1px #ccc;
  border-radius: 0.25rem;
  margin-top: 50px;
}
@media only screen and (max-width: 690px) {
  .privacy_inline {
    padding: 20px;
  }
}

.privacy_inline_in {
  counter-reset: section;
}

.privacy_inline_in > .privacy_inline__title {
  position: relative;
  padding-left: 1.5em;
}

.privacy_inline_in > .privacy_inline__title::before {
  position: absolute;
  counter-increment: section;
  content: counter(section) ". ";
  font-weight: bold;
  top: 0;
  left: 0;
}
