/****** スタイルのリセット ******/
:root {
  /* ヘッダー */
  --headerbasecolor: #1DE9B6;
  --headerassortcolor: #FF3C00;
  --headerfontcolor: #FFFFFF;

  /* 見出し */
  --basecolor: #1DE9B6;
  --assortcolor: #FF3C00;
  --lightcolor: #1DE9B61a;
  --darkcolor: #00BFA5;
  --ttlfontcolor: #FFFFFF;
  --ttlfontcolor02: #101010;

  --fontcolor: #FFFFFF;
  --fontcolor02: #101010;
  --opacitylight: #64FFDA4d;

  /* ボタン */
  --btnbasecolor: #1DE9B6;
  --btnopacitybase: #00BFA526;
  --btnassortcolor: #FF3C00;
  --btnlightcolor: #64FFDA;
  --btndarkcolor: #00BFA5;
  --btnfontcolor: #FFFFFF;
  --padding: 20px 15px;

  /* 背景 */
  --bodycolor: #64FFDA;

  /* 必須アイコン */
  --reqiedcolor: #1DE9B6;

  /* ラジオボタン */
  --radiocolor: #1DE9B6;
  --radiotxtcolor: #FFFFFF;

  /* 受付停止 */
  --stopcolor: #1DE9B6;
}
body {
  line-height: 1.8;
}
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
  padding: 0;
}
.form-box {
  padding: 45px 15px;
}
br {height: 0;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
  font-weight: bold;
  color: #121212;
  margin: 0 0 30px 0;
}


/* (ヘッダー) */
.form-top {
  border-radius: 0;
}
/* プレビューの文字 */
.text-danger {
  display: none;
}
.form-top .form-top-left h3 {
  width: 100%;
}
/* 鉛筆マーク削除 */
.form-top .form-top-right {
  display: none;
}

/* (ヘッダー以下) */
.form-bottom {
  padding: 45px;
  background: #FDFDFD;
}

/* (中見出しと画像の間のスペースを削除) */
.col-sm-12 .description-md-title + br {display: none;}

/* (中見出し) */
.container .description-md-title {
  font-size: 24px;
  margin: 0 0 20px 0;
  padding: 0 0 10px 0;
  display: block;
  color: #121212;
  background: none;
  box-shadow: none;
  position: relative;
}
/* (小見出し) */
.container .description-title {
  font-size: 20px;
  margin: 0 0 20px 0;
  padding: 0 0 10px 0;
  position: relative;
}

/* (本文) */
p {
  margin: 0 0 45px 0;
}

/* (画像) */
.description-image {
  margin: 0 0 15px 0;
}

/* (ボタン) */
.col-xs-4 {display: none;}
.col-md-8 {
  width: 100%;
  text-align: center;
}
.form-editor > br {
  display: none;
}
.form-bottom .row {
  padding-top: 15px;
  margin-bottom: 30px;
}
form .form-bottom button.btn {
  border-radius: 60px;
  font-size: 24px;
  font-weight: bold;
  line-height: 80px;
  display: inline-block;
  width: initial;
  min-width: 420px;
  padding: 0 20px;
  border: none;
  position: relative;
  background: var(--btnbasecolor);
  color:var(--btnfontcolor);
}
form .form-bottom button.btn:active {
  background: var(--btnbasecolor);
}
form .form-bottom button.btn:hover, form .form-bottom button.btn:focus {
  outline: none;
}


/* (フォームの補足テキスト) */
.help-block {
  line-height: 1.5;
  font-weight: normal;
}

/* (ラジオボタン、チェックボックスの色) */
.checkbox input[type=checkbox]:checked:after,.checkbox-inline input[type=checkbox]:checked:after,input[type=checkbox]:checked:after {
  background-color: var(--radiocolor);
  border-color: var(--radiocolor);
}
.checkbox input[type=checkbox]:focus:after,.checkbox-inline input[type=checkbox]:focus:after,input[type=checkbox]:focus:after, .radio input[type=radio]:checked:after,.radio-inline input[type=radio]:checked:after,input[type=radio]:checked:after {
  border-color: var(--radiocolor);
}
.radio input[type=radio]:before,.radio-inline input[type=radio]:before,input[type=radio]:before {
  background-color: var(--radiocolor);
}

/* (チェックボックス、ラジオボタン選択時の色) */
.has-success .checkbox, .has-success .checkbox-inline, .has-success.checkbox-inline label, .has-success.checkbox label, .has-success .control-label, .has-success .help-block, .has-success .radio, .has-success .radio-inline, .has-success.radio-inline label, .has-success.radio label {
  color: #121212;
}
/* (必須アイコン) */
.label-danger {
  background: var(--reqiedcolor);
  color: #FFFFFF;
}
/* (入力エラー時) */
.has-error .form-control {
  border-color: #ff0000;
}
.help-block.help-error {
  color: #ff0000;
}
/* (受付停止) */
#admin_tips {
  color: #FFFFFF;
  background: var(--stopcolor);
}

@media screen and (max-width:767px) {
  /* (共通) */
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
    padding: 0;
  }
  .container {padding: 0;}
  .row {margin: 0;}
  .form-bottom {
    padding: 25px;
  }

  /* (中見出し) */
  .container .description-md-title {
    font-size: 18px;
  }

  /* (小見出し) */
  .container .description-title {
    font-size: 18px;
  }

  /* (ファイル添付) */
  input[type=file] {
    width: 100%;
    line-height: 30px;
    position:relative;
    background: transparent;
    color: transparent;
  }
  input[type=file]::after {
    content: 'ファイルを選択';
    line-height: 30px;
    position: absolute;
    top: 0;
    left: 0;
    background: #eeeeee;
    color:#121212;
    box-shadow: 0 0 0 1px #999999 inset;
    width: 128px;
    text-align: center;
    border-radius: 3px;
    cursor: pointer;
  }
  /* (ボタン) */
  form .form-bottom button.btn {
    min-width: initial;
    width: 100%;
    padding: 0 20px;
    font-size: 18px;
    line-height: 60px;
  }
}

/****** ヘッダー画像あり - 枠入りテキスト - ベタ塗り ******/
:root {
 --headerbasecolor: rgba(44,44,52,0.7);
  --headerassortcolor: #FF3C00;
  --headerfontcolor: #FFFFFF;
}
.form-top {
  max-width: 100%;
  background-position: center center;
  padding: 45px;
}
/* (ヘッダーテキスト) */
.form-top .form-top-left {
  margin: 0 auto;
  padding: 30px 40px;
  position: relative;
  text-align: left;
  background: var(--headerbasecolor);
}
.form-top .form-top-left::after {
  content: '';
  display: block;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #FFFFFF;
  position: absolute;
  left: 5px;
  top: 5px;
  pointer-events: none;
}
.form-top .form-top-left h3 {
  width: 100%;
  font-size: 38px;
  color: var(--headerfontcolor);
  margin: 0;
}
.form-top .form-top-left p {
  margin: 15px 0 0 0;
  color: var(--headerfontcolor);
}
@media screen and (max-width:767px) {
  /* (ヘッダー画像) */
  .form-top {
    padding: 30px 25px;
  }
  /* (ヘッダーテキスト) */
  .form-top .form-top-left h3 {
    font-size: 24px;
  }
}

/****** 中見出し22 ******/
:root {
  --basecolor: #1DE9B6;
  --darkcolor: #00BFA5;
  --ttlfontcolor: #FFFFFF;
  --opacitylight: #64FFDA4d;
}
.container .description-md-title {
  padding: var(--padding);
  background: var(--basecolor);
  background-image: linear-gradient(-45deg, transparent 25%, var(--opacitylight) 25%, var(--opacitylight) 50%, transparent 50%, transparent 75%, var(--opacitylight) 75%, var(--opacitylight));
  background-size: 15px 15px;
  color: var(--ttlfontcolor);
}
.container .description-md-title:before, .container .description-md-title:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 3px;
  background: var(--darkcolor);
}
.container .description-md-title:before {
  top: 3px;
  left: 0;
}
.container .description-md-title:after {
  bottom: 3px;
  left: 0;
}

/****** 小見出し11 ******/
:root {
  --basecolor: #1DE9B6;
}
.container .description-title {
  padding: var(--padding);
}
.container .description-title:before, .container .description-title:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  background-image: repeating-linear-gradient(90deg, var(--basecolor) 0, var(--basecolor) 2px, transparent 2px, transparent 4px);
  background-size: 4px 6px;
  background-repeat: repeat-x;
  background-position: center bottom;
}
.container .description-title:before {
  top: 0;
}
.container .description-title:after {
  bottom: 0;
}

/****** ボタン09 ******/
:root {
  --btnbasecolor: #1DE9B6;
  --btndarkcolor: #00BFA5;
  --btnfontcolor: #FFFFFF;
}
form .form-bottom button.btn {
  background: linear-gradient(0deg, var(--btndarkcolor) 15%, var(--btnbasecolor) 100%);
  border: 3px solid var(--btndarkcolor);
  transition: .4s;
  box-shadow: 0 1px 3px #00BFA54d;
}
form .form-bottom button.btn:active {
  background: linear-gradient(0deg, var(--btndarkcolor) 15%, var(--btnbasecolor) 100%);
  border: 3px solid var(--btndarkcolor);
}
form .form-bottom button.btn:hover {
  background: linear-gradient(0deg, var(--btndarkcolor) 15%, var(--btnbasecolor) 100%);
  opacity: 0.7;
}


/****** 中見出し - 背景を画像に ******/
.container .description-md-title {
  background: url(https://wordrobe.tokyo/wp-content/themes/lstep/temp/sample/header02.png) no-repeat center center;
}

/****** 左右の余白あり ******/
@media screen and (max-width:767px) {
  .form-top {
    padding: 30px 15px;
  }
  .form-bottom {
    margin: 30px 15px;
  }
}

/****** 背景色で区切る（薄い色） ******/
:root {
  --lightcolor: #FF3D001a;
}
.col-sm-12 {
  padding: 30px;
  background: var(--lightcolor);
  margin: 0 0 30px 0;
}
.col-sm-12 p {
  margin: 0;
}
@media screen and (max-width:767px) {
  .col-sm-12 {
    padding: 20px;
  }
}