body {background: none;}
.container {
 max-width: 1260px;
 margin: 0 auto;
 padding: 0;
 border: none;
 background: #fff;
}
.content {
 /* box-shadow: 0px 0px 15px -5px rgba(0,0,0,0.2);*/
}
.content-form {}
.content-confirmation {}

.form-page { padding-bottom: 30px; }
.form-page-1 {}


.message-block,
.message-block-error {
 margin: auto;
 padding: 50px;
 border: none;
 border-radius: 0;
}
.message-block-error span {
 font-size: 1.8rem;
 font-weight: bold;
}
.message-block-error ul {
 margin-top: 12px;
}
.message-block-error ul li {}
.message-block-error ul li + li{
 margin-top: 8px;
}
.message-block-confirmation {
 font-size: 1.8rem;
 font-weight: bold;
}


@media (max-width:980px) {
.message-block,
.message-block-error {
  padding-left: 2.666666%;
  padding-right: 2.666666%;
 }
}



/* 各フォームパーツ：汎用 ------------------------------------------------------------ */
.form-column {
 display: block;
 max-width: 800px;
 margin: 0 auto;
}
@media (max-width:980px) {
 .form-column {
  padding-left: 2.666666%;
  padding-right: 2.666666%;
 }
}



.form-column > fieldset {
 border: none;
}

.form-column .label {
  position: relative;
/*  padding-left: 20px; */
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
/*
.form-column .label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 4px;
  height: 30%;
  background-color: #003078;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
}
*/
@media (max-width:980px) {
 .form-column .label {
  font-size: 16px
 }
}

.form-column label + input,
.form-column label + textarea {
 display: block;
 width: 100%;
 margin-top: 10px;
}
.form-column + .form-column {
  margin-top: 30px
}


/* 各フォームパーツ：見出し ------------------------------------------------------------ */
.form-column-heading ~ .form-column-heading {
  margin-top: 60px
}
.form-column-heading {
  margin-bottom: 0;
}
.form-column-heading h2 {
  position: relative;
  margin-bottom: 0;
  padding-left: 20px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.form-column-heading h2::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 4px;
  height: 70%;
  background-color: #003078;
  transform: translateY(-50%);
}


@media (max-width:980px) {
  .form-column-heading h2 {
    font-size: 16px
  }
}



/* 各フォームパーツ：必須アイコン ------------------------------------------------------------ */
.badge-required {
 display:inline-block;
 margin-left: 0;
 color: #ed3514;
 font-size: 1.4rem;
 font-weight: normal;
}
.badge-required::before {
 content: "※";
}
/*.badge-required::after {
  content: "（Required）";
  display: inline-block;
}*/


/* 各フォームパーツ：種類別 ------------------------------------------------------------ */
.form-column-text {}
.form-column-checkbox {}
.form-column-email {}
.form-column-tel {}

.form-column-email label,
.form-column-tel label,
.form-column-text label,
.form-column-zip-code-jp label {
  font-size: 15px;
  margin: 0;
  max-width: 100%;
  min-width: 50px;
  padding-right: 16px;
/*  white-space: nowrap*/
}
.form-column-email input,
.form-column-tel input,
.form-column-text input,
.form-column-zip-code-jp input {
  -webkit-appearance: none;
  appearance: none;
  background-color: #eff2f7;
  width: 100%;
  max-width: 100%;
  min-height: 40px;
  border-width: 1px;
  border-style: solid;
  border-color: initial;
  -o-border-image: initial;
     border-image: initial;
  border-radius: 4px;
  outline: 0;
  padding: 8px 16px;
}
.form-column-email label {
  min-width: 105px
}
.form-column-textarea label {
  font-size: 15px;
  margin: 0;
  margin-bottom: 5px;
  max-width: 100%;
  min-width: 50px;
  padding-right: 16px;
/*  white-space: nowrap*/
}
.form-column-textarea textarea {
  -webkit-appearance: none;
          appearance: none;
  background-color: #eff2f7;
  height: 130px;
  width: 100%;
  border-width: 1px;
  border-style: solid;
  border-color: initial;
  -o-border-image: initial;
     border-image: initial;
  border-radius: 4px;
  outline: 0;
  padding: 8px 16px
}
.form-column-prefecture-jp {
  align-items: baseline;
  display: flex
}
.form-column-prefecture-jp label {
  min-width: 80px
}
.form-column-select select,
.form-column-prefecture-jp select {
/*
 -webkit-appearance: none;
         appearance: none;
*/
 height: 40px;
 padding: 0 40px 0 8px;
 border-radius: 5px;
 border-width: 1px;
 border-style: solid;
 border-color: #707070;
 background: #ffffff;
}
/*
.form-column-prefecture-jp select::before {
 position: absolute;
 content: "";
 top: 8px;
 right: 10px;
 width: 30px;
 height: 30px;
 background-image: url(https://www.bbs.co.jp/images/common/ico_pulldown_arrow_open.svg);
 background-repeat: no-repeat;
 background-size: 100%;
}
*/

* + .preview-block {
 margin-top: 10px;
}
.preview-block {
  width: 100%;
  max-width: 100%;
  min-height: 40px;
  padding: 8px 16px;
  background-color: #eff2f7;
  border-radius: 4px;
  border-width: 1px;
  border-style: solid;
  border-color: #707070;
}


/* 住所セット ------------------------------------------------------------ */
.form-column-zip-code-autofill {}
.form-column-zip-code-autofill fieldset {
 padding: 0;
}
.form-column-zip-code-jp {}
.form-column-zip-code-jp .label {min-width: 100px;}
.form-column-zip-code-jp .label::before {}
.form-column-zip-code-jp .input-group {}

.form-column-prefecture-jp {}
.form-column-prefecture-jp .label {min-width: 100px;}
.form-column-prefecture-jp .label::before {}
.form-column-prefecture-jp .input-group {}

.form-column[data-column="住所"] {}
.form-column[data-column="住所"] .label {min-width: 100px;}
.form-column[data-column="住所"] .label::before {}
.form-column[data-column="住所"] .input-group {}





/* 各フォームパーツ個別指定 ------------------------------------------------------------ */
div[data-column="お問い合わせタイトル"] .preview-block {
 display: none;
}
div[data-column="個人情報お取り扱いに関する項目"] {
 max-width: 100%;
 background: #F0F2F6;
 padding: 50px;
}
div[data-column="個人情報お取り扱いに関する項目"] fieldset {
 display: flex;
 flex-direction: column;
}
div[data-column="個人情報お取り扱いに関する項目"] .label {
 order: 1;
}
div[data-column="個人情報お取り扱いに関する項目"] .input-group,
div[data-column="個人情報お取り扱いに関する項目"] .preview-block {
 order: 3;
}
div[data-column="個人情報お取り扱いに関する項目"] .preview-block,
div[data-column="個人情報お取り扱いに関する項目"] .input-group .option {
 display: inline-block;
 margin-top: 16px;
 padding: 8px 16px;
 border: 1px solid #000;
 border-radius: 5px;
 background: #ffffff;
 font-size: 1.6rem;
}
div[data-column="個人情報お取り扱いに関する項目"] .description-block {
 order: 2;
 line-height: 2.0;
 color: #333333;
}
@media (max-width:980px) {
 div[data-column="個人情報お取り扱いに関する項目"] {
  padding-left: 2.666666%;
  padding-right: 2.666666%;
 }
}



.form-column-heading[data-column*="ご回答者情報"] h2 {
  font-size: 1.8rem;
}
.form-column-heading[data-column*="ご回答者情報"] h2::before {
  width: 10px;
  height: 10px;
}

.form-column.form-column-zip-code-jp,
.form-column.form-column-prefecture-jp,
.form-column[data-column="住所"],
.form-column[data-column="セイ"],
.form-column[data-column="メイ"] {
 display: flex;
 align-items: center;
 margin-top: 15px;
}
.form-column-zip-code-jp .label,
.form-column-prefecture-jp .label,
.form-column[data-column="住所"] .label,
.form-column[data-column="セイ"] .label,
.form-column[data-column="メイ"] .label {
 width: auto;
 padding-left: 0;
 font-size: 1.6rem;
 font-weight: 400;
}
.form-column-zip-code-jp .label::before,
.form-column-prefecture-jp .label::before,
.form-column[data-column="住所"] .label::before,
.form-column[data-column="セイ"] .label::before,
.form-column[data-column="メイ"] .label::before {
 content: none;
}

.form-column[data-column="郵便番号"] .label .badge::before {
 content: "（Postal code）";
}




/* 送信ボタン他 ------------------------------------------------------------ */
.button-group {
 max-width: 800px;
 margin: auto;
 padding-bottom: 30px;
 text-align: center;
}

.button-group .button {
  -webkit-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #242424;
  border-radius: 6px;
  color: #242424;
  cursor: pointer;
  font-size: 1.6rem;
  height: 50px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 30px 0 0 0;
  position: relative;
  text-decoration: none;
  -webkit-transition: all .3s cubic-bezier(.23, 1, .32, 1);
  transition: all .3s cubic-bezier(.23, 1, .32, 1);
  width: 260px
}
.button-group .button + .button {
 margin-left: 30px;
}

.button-group .button-confirm {}
.button-group .button-back {}
.button-group .button-submit {}


.button-group .button-confirm::after,
.button-group .button-back::after,
.button-group .button-submit::after {
  content: "";
  position: absolute;
  display: block;
  width: 12px;
  height: 5px;
  top: 50%;
  right: 10px;
  background-image: url(https://www.bbs.co.jp/images/common/ico_btn_arrow_next.svg);
  background-size: cover;
  transform: translateY(-50%);
}
.button-group .button-confirm:hover.
.button-group .button-back:hover.
.button-group .button-submit:hover {
  border: 1px solid #003078;
  background-color: #003078;
  color: #fff
}
.button-group .button-confirm:hover::after,
.button-group .button-back:hover::after,
.button-group .button-submit:hover::after {
  background-image: url(https://www.bbs.co.jp/images/common/ico_btn_arrow_next_white.svg)
}


.button-group .button-back::after {
 left: 12px;
 right: auto;
 transform: scale(-1,1) translateY(-50%);
}

.form-column-recaptcha div {
 margin-left: auto;
}



@media (max-width:980px) {
 .button-group {
  display: flex;
  flex-direction: column;
  padding-left: 2.666666%;
  padding-right: 2.666666%;
  text-align: center;
 }
 .button-group .button {
  width: 100%;
 }
 .button-group .button + .button {
  margin-left: 0;
 }
 .form-column-recaptcha div {
  margin: auto;
 }
}
