@charset "UTF-8";
input {
  font-family: YuGothic, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

#contact .formBlock {
  position: relative;
  width: 100%;
}

#contact .formBlock .formTitle {
  font-size: 4.0rem;
  font-weight: bold;
  background-color: #FF7833;
  color: #FFF;
  text-align: center;
  padding: 1.0em;
  letter-spacing: 0.1em;
  position: relative;
  max-width: 1100px;
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formTitle {
    font-size: 2.4rem;
  }
}

#contact .formBlock .formBox {
  font-family: YuGothic, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
  font-size: 1.6rem;
  line-height: 1.5;
  background-color: #FBFBFB;
  margin: 0 auto;
  padding-top: 2em;
}

@media screen and (max-width: 991px) {
  #contact .formBlock .formBox {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox {
    padding: 1em;
    padding-bottom: 0.25em;
  }
}

#contact .formBlock .formBox p {
  font-weight: 400;
}

#contact .formBlock .formBox table.form_table {
  border-collapse: collapse;
  margin-bottom: 2em;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  table-layout: fixed;
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox table.form_table {
    table-layout: auto;
    margin-bottom: 1em;
  }
}

#contact .formBlock .formBox table.form_table th,
#contact .formBlock .formBox table.form_table td {
  border: none;
  padding: 1.0em;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox table.form_table th,
  #contact .formBlock .formBox table.form_table td {
    width: 100%;
    float: left;
    border: none;
    padding: 0.5em;
  }
}

#contact .formBlock .formBox table.form_table th {
  width: 15em;
}

@media screen and (max-width: 991px) {
  #contact .formBlock .formBox table.form_table th {
    width: 13em;
  }
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox table.form_table th {
    width: 100%;
    padding-bottom: 0;
  }
}

#contact .formBlock .formBox table.form_table .th_top {
  vertical-align: top;
  padding-top: 2.5em;
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox table.form_table .th_top {
    padding-top: 0;
  }
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox table.form_table td {
    margin-bottom: 1em;
  }
}

#contact .formBlock .formBox table.form_table td #time {
  background: #ffffcc;
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox table.form_table td #time {
    width: 50%;
  }
}

#contact .formBlock .formBox table.form_table td #time select {
  padding: 0.5em 1em;
  border: solid 1px #CCC;
  max-width: 100%;
  background: #FFFFCC;
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox table.form_table td .selectDesign02 {
    display: block;
    font-size: 16px;
    font-weight: bold;
    color: #444;
    line-height: 1.3;
    padding: 0.6em 1.4em 0.5em 0.8em;
    width: 100%;
    max-width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0;
    border: 1px solid #aaa;
    -webkit-box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.04);
            box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.04);
    border-radius: 0.5em;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff !important;
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E), -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#e5e5e5)) !important;
    background-image: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E), linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%) !important;
    background-repeat: no-repeat, repeat !important;
    background-position: right 0.7em top 50%, 0 0 !important;
    background-size: 0.65em auto, 100% !important;
  }
}

#contact .formBlock .formBox table.form_table input,
#contact .formBlock .formBox table.form_table select {
  padding: .5em 1em;
  border: solid 1px #CCC;
  width: 100%;
  background: #FFF;
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox table.form_table input,
  #contact .formBlock .formBox table.form_table select {
    width: 100%;
  }
}

#contact .formBlock .formBox table.form_table label input {
  width: 1em;
  margin-right: 0.5em;
}

#contact .formBlock .formBox table.form_table .freecoment {
  width: 100%;
}

#contact .formBlock .formBox table.form_table .checkboxTxt {
  font-weight: bold;
  padding-left: 10px;
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox table.form_table .checkboxTxt {
    font-size: 1.5rem;
  }
}

#contact .formBlock .formBox table.form_table .hissu {
  display: inline-block;
  /*background: #f00;*/
  background: #E50000;
  border-radius: 10px;
  color: #FFF;
  line-height: 1;
  font-size: 1.2rem;
  font-weight: normal;
  padding: .3em .6em;
  margin-left: .5em;
}

#contact .formBlock .formBox table.form_table p {
  margin-top: 0.5em;
}

#contact .formBlock .formBox .contact_mailadress {
  width: 15em;
  margin-bottom: 1em;
  margin-top: 0 !important;
}

#contact .formBlock .formBox .ppBlock {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 991px) {
  #contact .formBlock .formBox .ppBlock {
    padding: 1em;
  }
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox .ppBlock {
    padding: 0.5em;
  }
}

#contact .formBlock .formBox .ppBlock .ppTitle {
  font-size: 1.6rem;
  font-weight: bold;
}

#contact .formBlock .formBox .ppBlock .ppBox {
  width: 100%;
  height: 200px;
  border: 1px solid #888;
  overflow-y: scroll;
  overflow-x: hidden;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 1em;
}

#contact .formBlock .formBox .ppBlock .ppBox p {
  margin-bottom: 0.5em;
}

#contact .formBlock .formBox .btnBlock {
  width: 70%;
  margin: 3em auto;
}

@media screen and (max-width: 767px) {
  #contact .formBlock .formBox .btnBlock {
    width: 100%;
    margin: 1.5em auto;
    padding: 0;
  }
}

/*----ファイルをドラッグ＆ドロップで添付----*/
#inputFile {
  position: relative;
  padding: 10rem 0 3rem;
  text-align: center;
}

@media screen and (max-width: 991px) {
  #inputFile {
    padding: 0;
    text-align: left;
  }
}

#drop_area {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 3rem 0 0;
  border: 2px dashed #494949;
  background: rgba(22, 165, 191, 0);
  -webkit-transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  transition: all 0.25s cubic-bezier(0.21, 0.51, 0.51, 1);
  text-align: center;
}

#uploadFile {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  display: block;
  width: 14em;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

#inputFileWrap {
  position: relative;
  display: inline-block;
}

#btnInputFile,
#btnChangeFile {
  display: table;
  width: 14em;
}

@media screen and (max-width: 991px) {
  #btnInputFile,
  #btnChangeFile {
    text-align: center;
    width: 11em;
  }
}

#btnChangeFile {
  display: none;
}

#btnInputFile span,
#btnChangeFile span {
  position: relative;
  z-index: 2;
  display: table-cell;
  width: 14em;
  height: 3em;
  border-radius: 6px;
  background: #333;
  text-decoration: none;
  color: #fff;
  font-size: 2.0rem;
  line-height: 1;
  font-weight: bold;
  vertical-align: middle;
}

@media screen and (max-width: 991px) {
  #btnInputFile span,
  #btnChangeFile span {
    font-size: 1.5rem;
    width: 11em;
    height: 2.5em;
  }
}

#upFileWrap.selected #btnInputFile {
  display: none;
}

#upFileWrap.selected #btnChangeFile {
  display: table;
}

#file_info {
  width: 70%;
  margin: 0 auto;
  font-size: 1.5rem;
}

@media screen and (max-width: 991px) {
  #file_info {
    width: 100%;
  }
}

/*スマホ フォーム入力時の拡大解除*/
@media screen and (max-width: 991px) {
  .required input[type=email] {
    font-size: 16px;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@media screen and (max-width: 991px) {
  input[type=text] {
    font-size: 16px;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

/*--validation--------------------------------------*/
#contact table td input {
  background: #FFFFCC;
}

#contact table td .err {
  background: #FDC7C8;
}

#contact table td .err input {
  background: #FDC7C8;
}

#contact table td .after.err {
  border-color: #FDC7C8;
  background: #fff !important;
}

#contact table td .after.err input {
  border-color: #FDC7C8;
  background: #fff !important;
}

#contact input.place::-webkit-input-placeholder,
#contact input.place:-ms-input-placeholder,
#contact input.place::-moz-placeholder {
  color: #CCC;
}

#contact .errMsg {
  margin-left: 1em;
  padding-bottom: 1px;
  display: block;
  line-height: 1.4;
  text-indent: -.9em;
}

#contact .formError {
  padding-bottom: 13px;
  display: block;
  /*	margin-left: 220px;*/
}

#contact #err_campselect {
  margin-left: 0px;
}

#contact #err_time {
  margin-left: 80px;
}

#contact .fixed {
  padding-bottom: 0;
}

#contact .formError .formErrorClose {
  border: solid #252525 2px;
  border-radius: 9px 9px 9px 9px;
  -moz-border-radius: 9px 9px 9px 9px;
  -webkit-border-radius: 9px 9px 9px 9px;
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  top: -4px;
  right: -4px;
  color: #efefef;
  background: #333;
  font-weight: bold;
  text-align: center;
  line-height: middle;
  cursor: pointer;
  box-shadow: 1px -1px 3px #888;
  -moz-box-shadow: 1px -1px 3px #888;
  -webkit-box-shadow: 1px -1px 3px #888;
  _z-index: 2;
}

#contact .formError .formErrorClose:hover {
  background: #666;
}

#contact .fixed .formErrorClose {
  display: none;
}

#contact .formError .formErrorContent {
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  padding: 6px 10px;
  width: 220px;
  position: relative;
  color: #fff;
  background: #ff0000;
  font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, Helvetica, "ヒラギノ丸ゴ Pro W4", HiraMaruPro-W4, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, sans-serif;
  font-size: 11px;
  box-shadow: 0px 0px 6px #888;
  -moz-box-shadow: 0px 0px 6px #888;
  -webkit-box-shadow: 0px 0px 6px #888;
  _z-index: 1;
}

#contact p.checkboxTxt .formError .formErrorContent {
  border-radius: 3px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  padding: 6px 10px;
  width: 260px !important;
  position: absolute;
  top: -25px;
  left: 25px;
  color: #fff;
  background: #ff0000;
  font-family: "Lucida Sans Unicode", "Lucida Grande", Arial, Helvetica, "ヒラギノ丸ゴ Pro W4", HiraMaruPro-W4, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, sans-serif;
  font-size: 11px;
  box-shadow: 0px 0px 6px #888;
  -moz-box-shadow: 0px 0px 6px #888;
  -webkit-box-shadow: 0px 0px 6px #888;
  _z-index: 1;
}

#contact .fixed .formErrorContent {
  margin-top: .5em;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  background: #f60;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}

#contact .fadeOut {
  opacity: .2;
  filter: alpha(opacity=20);
}

.grecaptcha-badge {
  visibility: hidden;
}

/* CSS Document */
/* layout //common
-----------------------------------------------------------------------*/
html {
  font-size: 10px;
  width: 100%;
  margin: 0;
  padding: 0;
}

body {
  width: 100%;
  margin: 0;
  padding: 0;
  color: #000 !important;
  font-size: 1.8rem;
  line-height: 1.6;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (max-width: 991px) {
  body {
    font-size: 1.6rem;
  }
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
td {
  margin: 0;
  padding: 0;
  list-style: none;
}

img {
  border: 0;
  vertical-align: bottom;
  width: 100%;
}

h1,
h2,
h3,
h4,
h5 {
  font-size: 0;
  line-height: 0;
}

p {
  text-align: justify;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a[href*="tel:"] {
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  a[href*="tel:"] {
    pointer-events: initial;
  }
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* Micro clearfix */
.cf {
  zoom: 1;
}

.cf:before {
  content: "";
  display: table;
}

.cf:after {
  content: "";
  display: table;
  clear: both;
}

.right {
  text-align: right;
}

.mt10 {
  margin-top: 10px !important;
}

.mr30 {
  margin-right: 30px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.pc {
  display: block !important;
}

@media screen and (max-width: 991px) {
  .pc {
    display: none !important;
  }
}

.tb {
  display: none !important;
}

@media screen and (max-width: 991px) {
  .tb {
    display: block !important;
  }
}

@media screen and (max-width: 767px) {
  .tb {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc-tb {
    display: none !important;
  }
}

.sp {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .sp {
    display: block !important;
  }
}

.notoSans {
  font-family: 'Noto Sans JP', sans-serif;
}

.notoSerif {
  font-family: 'Noto Serif JP', serif;
}

.oswald {
  font-family: 'Oswald', sans-serif;
}

/* layout //warp
-----------------------------------------------------------------------*/
#wrap {
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0 auto;
  overflow: hidden;
}

/* layout //header
-----------------------------------------------------------------------*/
#header {
  position: fixed;
  z-index: 999;
  width: 100%;
  background-color: #FFF;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 1px solid #EEE;
}

#header .header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 991px) {
  #header .header_inner {
    padding: 0.5em;
  }
}

#header .hd_logo img {
  width: 150px;
}

@media screen and (max-width: 767px) {
  #header .hd_logo img {
    width: 110px;
  }
}

#header .leftBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

#header .rightBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  padding: 0.5em 0;
}

@media screen and (max-width: 991px) {
  #header .rightBox {
    width: 80%;
    padding: 0;
  }
}

#header .rightBox .hd_infoBox {
  margin-right: 2.0rem;
}

#header .rightBox .hd_infoBox .hd_tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  font-size: 3.0rem;
  font-weight: 800;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 991px) {
  #header .rightBox .hd_infoBox .hd_tel {
    font-size: 2.8rem;
  }
}

#header .rightBox .hd_infoBox .hd_tel a {
  color: #000;
}

#header .rightBox .hd_infoBox .hd_tel .zmdi {
  margin-right: 0.2em;
  color: #FF7833;
}

#header .rightBox .hd_infoBox .opentime {
  font-size: 1.4rem;
  font-weight: 400;
  text-align: right;
  line-height: 1;
  margin-top: 0.2em;
}

@media screen and (max-width: 991px) {
  #header .rightBox .hd_infoBox .opentime {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  #header .rightBox .hd_infoBox .hd_tel,
  #header .rightBox .hd_infoBox .opentime {
    display: none;
  }
}

#header .rightBox .hd_contactBox,
#header .rightBox .hd_lineBox {
  width: 150px;
  margin-right: 1.0rem;
}

#header .rightBox .hd_instaBox {
  width: 50px;
}

@media screen and (max-width: 991px) {
  #header .rightBox .hd_lineBox,
  #header .rightBox .hd_contactBox,
  #header .rightBox .hd_instaBox {
    width: 8%;
  }
}

@media screen and (max-width: 767px) {
  #header .rightBox .hd_infoBox,
  #header .rightBox .hd_lineBox,
  #header .rightBox .hd_contactBox,
  #header .rightBox .hd_instaBox {
    width: 15%;
  }
}

@media screen and (max-width: 767px) {
  #header .rightBox .hd_infoBox,
  #header .rightBox .hd_lineBox,
  #header .rightBox .hd_contactBox {
    margin-right: 0.5rem;
  }
}

/* keyvBlock //
-----------------------------------------------------------------------*/
#keyv .keybBlock {
  width: 100%;
  position: relative;
  background: url("../images/keyvBg_pc.webp") center top no-repeat;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  #keyv .keybBlock {
    background: url("../images/keyvBg_sp.webp") center top no-repeat;
    background-size: cover;
  }
}

#keyv .keybBlock .keyBlock_inner {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

#keyv .keybBlock .keyvBtmBox {
  background-color: rgba(255, 255, 255, 0.5);
  padding: 1.0em;
}

@media screen and (max-width: 767px) {
  #keyv .keybBlock .keyvBtmBox {
    padding: 0.5em 0;
  }
}

#keyv .keybBlock .keyvBtmBox_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 1100px;
}

@media screen and (max-width: 767px) {
  #keyv .keybBlock .keyvBtmBox_inner {
    display: block;
  }
}

#keyv .keybBlock .keyvBtmBox_inner figure {
  width: 280px;
  margin-right: 1.5em;
}

@media screen and (max-width: 991px) {
  #keyv .keybBlock .keyvBtmBox_inner figure {
    width: 33%;
    margin-right: 0.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (max-width: 767px) {
  #keyv .keybBlock .keyvBtmBox_inner figure {
    width: 100%;
    margin-bottom: 0.5em;
    padding-right: 1em;
  }
  #keyv .keybBlock .keyvBtmBox_inner figure img {
    width: 70%;
    margin: 0 auto;
  }
}

#keyv .keybBlock .keyvBtmBox_inner p {
  position: relative;
  padding: 0.5em 0;
  padding-left: 6em;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (max-width: 991px) {
  #keyv .keybBlock .keyvBtmBox_inner p {
    padding: 0;
    padding-left: 5em;
    line-height: 1.4;
  }
}

@media screen and (max-width: 767px) {
  #keyv .keybBlock .keyvBtmBox_inner p {
    padding: 0 1em;
    font-size: 1.3rem;
  }
}

#keyv .keybBlock .keyvBtmBox_inner p:before {
  content: "";
  background: url("../images/keyv_first_pc.svg") top left no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4em;
}

@media screen and (max-width: 991px) {
  #keyv .keybBlock .keyvBtmBox_inner p:before {
    background: url("../images/keyv_first_sp.svg") top left no-repeat;
    background-size: contain;
    top: 50%;
    left: 0.4em;
    height: 6em;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
}

@media screen and (max-width: 767px) {
  #keyv .keybBlock .keyvBtmBox_inner p:before {
    display: none;
    /* content: "";
            background: url("../images/keyv_first_pc.svg") top left no-repeat;
            background-size: contain;
            top: -3em;
            left: 1.5em;
            width: 100%;
            height: 5em;*/
  }
}

/* common 
-----------------------------------------------------------------------*/
.inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 991px) {
  .inner {
    padding: 0 2em;
  }
}

@media screen and (max-width: 767px) {
  .inner {
    padding: 0;
  }
}

section, .btnBlock, .arrowBlock {
  margin: 5em auto;
}

@media screen and (max-width: 767px) {
  section, .btnBlock, .arrowBlock {
    margin: 2em auto;
  }
}

.section_inner {
  padding: 40px 50px 50px;
}

@media screen and (max-width: 991px) {
  .section_inner {
    padding: 2em;
  }
}

@media screen and (max-width: 991px) {
  .section_inner {
    padding: 1em;
  }
}

.textRed {
  color: #FB5050;
}

.font-big {
  font-size: 1.2em;
  margin: 0 0.25em;
}

.flexBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.bl-bg {
  background-image: linear-gradient(-45deg, #DDF6F2 25%, #BDE5DD 25%, #BDE5DD 50%, #DDF6F2 50%, #DDF6F2 75%, #BDE5DD 75%, #BDE5DD);
  background-size: 12px 12px;
}

h3 {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

@media screen and (max-width: 991px) {
  #voiceBlock .h3-bl, #QABlock .h3-bl {
    width: 70%;
  }
}

@media screen and (max-width: 767px) {
  #voiceBlock .h3-bl, #QABlock .h3-bl {
    width: 100%;
  }
}

/* btnBlock 
-----------------------------------------------------------------------*/
.btnBlock {
  width: 100%;
  max-width: 1000px;
}

@media screen and (max-width: 991px) {
  .btnBlock {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .btnBlock {
    padding: 0 1em;
  }
}

.btnBlock .min3_Estimate {
  width: 80%;
  max-width: 800px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .btnBlock .min3_Estimate {
    width: 90%;
  }
}

.btnBlock .btnBox {
  margin-top: 0.5em;
}

/* arrowBlock 
-----------------------------------------------------------------------*/
.arrowBlock {
  width: 100%;
}

.arrowBlock .arrow_inner {
  background: url("../images/arrowBg.svg") top center no-repeat;
  background-size: contain;
  height: 210px;
  position: relative;
}

@media screen and (max-width: 991px) {
  .arrowBlock .arrow_inner {
    height: 160px;
  }
}

@media screen and (max-width: 767px) {
  .arrowBlock .arrow_inner {
    height: 80px;
  }
}

.arrowBlock p {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .arrowBlock p {
    width: 80%;
  }
}

.arrowBlock .arrow_p1 {
  width: 60%;
  top: 40%;
}

.arrowBlock .arrow_p2 {
  width: 80%;
  top: 40%;
}

@media screen and (max-width: 991px) {
  .arrowBlock .arrow_p2 {
    width: 60%;
  }
}

.arrowBlock .arrow_p3 {
  width: 60%;
  top: 45%;
}

.arrowBlock .arrow_p4 {
  width: 80%;
  top: 30%;
}

@media screen and (max-width: 991px) {
  .arrowBlock .arrow_p4 {
    top: 25%;
  }
}

/* troubleBlock 
-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  #troubleBlock .trbl_img_pc {
    display: none;
  }
}

#troubleBlock .flexBox {
  margin-top: 2em;
}

@media screen and (max-width: 767px) {
  #troubleBlock .flexBox {
    display: block;
    margin-top: 1em;
  }
}

#troubleBlock .flexBox .trbl_contentBox {
  background-color: #FFF;
  padding: 1em;
  font-size: 2.0rem;
  padding-top: 8em;
  border-radius: 15px;
  width: 32%;
  position: relative;
}

@media screen and (max-width: 991px) {
  #troubleBlock .flexBox .trbl_contentBox {
    padding-top: 7em;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  #troubleBlock .flexBox .trbl_contentBox {
    width: 100%;
    margin-bottom: 1em;
    padding-top: 6.0em;
  }
  #troubleBlock .flexBox .trbl_contentBox:last-child {
    margin-bottom: 0;
  }
}

#troubleBlock .flexBox .trbl_contentBox p {
  position: absolute;
  width: 105%;
  top: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  #troubleBlock .flexBox .trbl_contentBox p {
    width: 90%;
    top: 0.5em;
  }
}

#troubleBlock .flexBox .trbl_contentBox li {
  padding-left: 2em;
  text-indent: -1em;
  line-height: 1.5;
  margin-bottom: 0.5em;
}

@media screen and (max-width: 991px) {
  #troubleBlock .flexBox .trbl_contentBox li {
    padding-left: 1em;
  }
  #troubleBlock .flexBox .trbl_contentBox li:last-child {
    margin-bottom: 0;
  }
}

#troubleBlock .flexBox .trbl_contentBox li:before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  display: inline-block;
  background-color: #000;
  border-radius: 50%;
  position: relative;
  top: -1px;
  margin-right: 0.5em;
}

/* solutionBlock 
-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  #solutionBlock {
    padding: 0 1em;
  }
}

@media screen and (max-width: 767px) {
  #solutionBlock .section_inner {
    padding: 0;
  }
}

/* reasonBlock 
-----------------------------------------------------------------------*/
#reasonBlock {
  background: url("../images/6reasonBg.png") top center no-repeat;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  #reasonBlock {
    margin: 0 auto;
  }
}

#reasonBlock .reasonList {
  margin-top: 1em;
  font-weight: 800;
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList {
    margin-top: 2em;
  }
}

#reasonBlock .reasonList li {
  margin-bottom: 1.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#reasonBlock .reasonList li:last-child {
  margin-bottom: 0;
}

#reasonBlock .reasonList li .list-no {
  border-left: 13rem solid transparent;
  border-bottom: 13rem solid rgba(255, 255, 255, 0.8);
  height: 0;
  width: 0;
}

@media screen and (max-width: 991px) {
  #reasonBlock .reasonList li .list-no {
    border-left: 10rem solid transparent;
    border-bottom: 10rem solid rgba(255, 255, 255, 0.8);
  }
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList li .list-no {
    display: none;
  }
}

#reasonBlock .reasonList li .no1, #reasonBlock .reasonList li .no2, #reasonBlock .reasonList li .no3, #reasonBlock .reasonList li .no4, #reasonBlock .reasonList li .no5, #reasonBlock .reasonList li .no6 {
  position: relative;
}

#reasonBlock .reasonList li .no1:after, #reasonBlock .reasonList li .no2:after, #reasonBlock .reasonList li .no3:after, #reasonBlock .reasonList li .no4:after, #reasonBlock .reasonList li .no5:after, #reasonBlock .reasonList li .no6:after {
  content: '';
  position: absolute;
  top: 0em;
  left: -6em;
  width: 6em;
  height: 6em;
}

@media screen and (max-width: 991px) {
  #reasonBlock .reasonList li .no1:after, #reasonBlock .reasonList li .no2:after, #reasonBlock .reasonList li .no3:after, #reasonBlock .reasonList li .no4:after, #reasonBlock .reasonList li .no5:after, #reasonBlock .reasonList li .no6:after {
    top: -0.5em;
  }
}

#reasonBlock .reasonList li .no1:after {
  background: url(../images/no-01.svg) top center no-repeat;
  background-size: contain;
}

#reasonBlock .reasonList li .no2:after {
  background: url(../images/no-02.svg) top center no-repeat;
  background-size: contain;
}

#reasonBlock .reasonList li .no3:after {
  background: url(../images/no-03.svg) top center no-repeat;
  background-size: contain;
}

#reasonBlock .reasonList li .no4:after {
  background: url(../images/no-04.svg) top center no-repeat;
  background-size: contain;
}

#reasonBlock .reasonList li .no5:after {
  background: url(../images/no-05.svg) top center no-repeat;
  background-size: contain;
}

#reasonBlock .reasonList li .no6:after {
  background: url(../images/no-06.svg) top center no-repeat;
  background-size: contain;
}

#reasonBlock .reasonList li .list-txt {
  background-color: rgba(255, 255, 255, 0.8);
  height: 13rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2.3rem;
  line-height: 1.3;
  padding: 0 1.0em;
  font-family: 'Hiragino Sans', 'メイリオ', sans-serif;
}

@media screen and (max-width: 991px) {
  #reasonBlock .reasonList li .list-txt {
    height: 10rem;
    font-size: 1.8rem;
    line-height: 1.4;
  }
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList li .list-txt {
    font-size: 1.6rem;
    height: auto;
    padding: 0.5em 1em;
    padding-top: 1.5em;
    margin-top: 0.5em;
  }
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList li .sp-no1, #reasonBlock .reasonList li .sp-no2, #reasonBlock .reasonList li .sp-no3, #reasonBlock .reasonList li .sp-no4, #reasonBlock .reasonList li .sp-no5, #reasonBlock .reasonList li .sp-no6 {
    position: relative;
  }
  #reasonBlock .reasonList li .sp-no1:after, #reasonBlock .reasonList li .sp-no2:after, #reasonBlock .reasonList li .sp-no3:after, #reasonBlock .reasonList li .sp-no4:after, #reasonBlock .reasonList li .sp-no5:after, #reasonBlock .reasonList li .sp-no6:after {
    content: '';
    position: absolute;
    top: -1.75em;
    left: 0;
    width: 3em;
    height: 3em;
  }
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList li .sp-no1:after {
    background: url(../images/no-01.svg) top center no-repeat;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList li .sp-no2:after {
    background: url(../images/no-02.svg) top center no-repeat;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList li .sp-no3:after {
    background: url(../images/no-03.svg) top center no-repeat;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList li .sp-no4:after {
    background: url(../images/no-04.svg) top center no-repeat;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList li .sp-no5:after {
    background: url(../images/no-05.svg) top center no-repeat;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  #reasonBlock .reasonList li .sp-no6:after {
    background: url(../images/no-06.svg) top center no-repeat;
    background-size: contain;
  }
}

/* floorcoatingBlock
-----------------------------------------------------------------------*/
#floorcoatingBlock {
  background: url("../images/mokumeBg.png") top center repeat-y;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  #floorcoatingBlock {
    margin: 0 auto;
  }
}

#floorcoatingBlock h4 {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 1em;
}

#floorcoatingBlock .flctBox1 {
  margin-bottom: 4em;
  padding-top: 7em;
  position: relative;
}

@media screen and (max-width: 767px) {
  #floorcoatingBlock .flctBox1 {
    margin-bottom: 2em;
    padding-top: 4em;
  }
}

#floorcoatingBlock .flctBox1 h4 {
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  #floorcoatingBlock .flctBox1 h4 {
    top: 2rem;
  }
}

#floorcoatingBlock .flctBox1 .flctContent {
  background-color: #FFF;
  border-radius: 15px;
  padding: 5em 5em 3em;
}

@media screen and (max-width: 991px) {
  #floorcoatingBlock .flctBox1 .flctContent {
    padding: 3em 2em 1em;
  }
}

@media screen and (max-width: 767px) {
  #floorcoatingBlock .flctBox1 .flctContent {
    padding: 2em 1em 0.5em;
  }
}

#floorcoatingBlock .flctBox1 .flexBox {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 700px;
  margin: 0 auto;
}

@media screen and (max-width: 991px) {
  #floorcoatingBlock .flctBox1 .flexBox {
    width: 100%;
  }
}

#floorcoatingBlock .flctBox1 .flexBox li {
  background: url("../images/listBg.svg") top center no-repeat;
  background-size: cover;
  width: 10em;
  padding: 0.5em;
  font-size: 2.2rem;
  font-weight: 800;
  color: #642200;
  text-align: center;
  margin: 0.5em 0;
}

@media screen and (max-width: 991px) {
  #floorcoatingBlock .flctBox1 .flexBox li {
    width: 30%;
    padding: 0.25em 0.5em;
  }
}

@media screen and (max-width: 767px) {
  #floorcoatingBlock .flctBox1 .flexBox li {
    width: 48%;
    font-size: 1.8rem;
    padding: 0.25em 0.5em;
  }
}

#floorcoatingBlock .flctBox2 h4 {
  width: 100%;
  max-width: 900px;
}

#floorcoatingBlock .flctBox2 ul {
  width: 600px;
  margin: 1em auto;
}

@media screen and (max-width: 991px) {
  #floorcoatingBlock .flctBox2 ul {
    width: 100%;
    margin: 0 auto 0.5em;
  }
}

#floorcoatingBlock .flctBox2 ul li {
  margin-bottom: 0.25em;
}

#floorcoatingBlock .flctBox2 ul li:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 991px) {
  #floorcoatingBlock .flctBox2 ul li {
    width: 80%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 991px) {
  #floorcoatingBlock .flctBox2 ul li {
    width: 100%;
  }
}

/* specialpriceBlock
-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  #specialpriceBlock {
    margin: 0 auto;
    position: relative;
  }
}

#specialpriceBlock .specialBox {
  background: url("../images/mokumeBg.png") top center repeat-y;
  background-size: cover;
}

#specialpriceBlock h3 {
  width: 100%;
  max-width: 1000px;
}

@media screen and (max-width: 767px) {
  #specialpriceBlock h3 {
    position: absolute;
    top: 2rem;
    padding: 0 1rem;
  }
}

#specialpriceBlock .specialf-ttl {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

@media screen and (max-width: 991px) {
  #specialpriceBlock .specialf-ttl {
    width: 70%;
    margin-top: 1.0em;
  }
}

@media screen and (max-width: 767px) {
  #specialpriceBlock .specialf-ttl {
    width: 80%;
    margin-top: 10rem;
  }
}

#specialpriceBlock p {
  font-size: 3.1rem;
  font-weight: 800;
  text-align: center;
  color: #E95613;
  margin: 0.5em auto;
}

@media screen and (max-width: 991px) {
  #specialpriceBlock p {
    font-size: 2.5rem;
    margin: 0 auto;
    margin-bottom: 0.5em;
  }
}

@media screen and (max-width: 767px) {
  #specialpriceBlock p {
    font-size: 1.8rem;
  }
}

#specialpriceBlock .p-plus {
  font-size: 5.0rem;
  margin: 0.25em auto;
}

@media screen and (max-width: 991px) {
  #specialpriceBlock .p-plus {
    font-size: 4.0rem;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  #specialpriceBlock .p-plus {
    font-size: 3.0rem;
  }
}

#specialpriceBlock .flexBox {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  #specialpriceBlock .flexBox {
    display: block;
  }
}

#specialpriceBlock .plan-1, #specialpriceBlock .plan-2 {
  width: 49%;
}

@media screen and (max-width: 767px) {
  #specialpriceBlock .plan-1, #specialpriceBlock .plan-2 {
    width: 95%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  #specialpriceBlock .plan-1 {
    margin-bottom: 1.0em;
  }
}

/* exampleBlock
-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  #exampleBlock {
    margin: 0 auto;
  }
}

#exampleBlock .ex_boldtxt {
  font-size: 3.5rem;
  text-align: center;
  font-weight: 800;
  margin: 1em auto;
  position: relative;
}

@media screen and (max-width: 991px) {
  #exampleBlock .ex_boldtxt {
    font-size: 2.0rem;
  }
}

#exampleBlock .ex_boldtxt:before {
  content: '';
  background: url("../images/example_lady.svg") top left no-repeat;
  background-size: contain;
  position: absolute;
  top: -0.5em;
  left: 0.5em;
  width: 100%;
  height: 160px;
}

@media screen and (max-width: 991px) {
  #exampleBlock .ex_boldtxt:before {
    top: -1.0em;
    left: 0.5em;
    width: 100%;
    height: 6em;
  }
}

@media screen and (max-width: 767px) {
  #exampleBlock .ex_boldtxt:before {
    display: none;
  }
}

#exampleBlock .ex_boldtxt:after {
  content: '';
  background: url("../images/example_man.svg") top right no-repeat;
  background-size: contain;
  position: absolute;
  top: -0.5em;
  right: 0.5em;
  width: 100%;
  height: 160px;
}

@media screen and (max-width: 991px) {
  #exampleBlock .ex_boldtxt:after {
    top: -1.0em;
    right: 0.5em;
    width: 100%;
    height: 6em;
  }
}

@media screen and (max-width: 767px) {
  #exampleBlock .ex_boldtxt:after {
    display: none;
  }
}

#exampleBlock .ex_subttl {
  margin: 0 auto;
  text-align: center;
  margin-bottom: -0.5em;
}

#exampleBlock .ex_subttl span {
  padding: 0.25em 2em;
  border-radius: 1em;
  background-color: #036DB7;
  color: #FFF;
  font-weight: 800;
  font-size: 2.0rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 991px) {
  #exampleBlock .ex_subttl span {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  #exampleBlock .ex_subttl span {
    font-size: 1.4rem;
  }
}

#exampleBlock .ex_content {
  background-color: #FFF;
  padding: 1em;
  padding-top: 1.5em;
}

#exampleBlock .ex_content .glassBox, #exampleBlock .ex_content .uvBox {
  width: 49%;
}

@media screen and (max-width: 767px) {
  #exampleBlock .ex_content .glassBox, #exampleBlock .ex_content .uvBox {
    width: 100%;
    margin-bottom: 0.5em;
  }
}

@media screen and (max-width: 767px) {
  #exampleBlock .flexBox {
    display: block;
  }
}

/* voiceBlockBlock
-----------------------------------------------------------------------*/
#voiceBlock h3 {
  position: relative;
  max-width: 700px;
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  #voiceBlock h3 {
    margin-bottom: 1rem;
  }
}

#voiceBlock h3:before {
  content: '';
  background: url("../images/voice_family.svg") top left no-repeat;
  background-size: contain;
  position: absolute;
  top: 1.5rem;
  left: -17rem;
  width: 100%;
  height: 160px;
}

@media screen and (max-width: 991px) {
  #voiceBlock h3:before {
    top: 1.5rem;
    left: -11rem;
    width: 100%;
    height: 10rem;
  }
}

@media screen and (max-width: 767px) {
  #voiceBlock h3:before {
    display: none;
  }
}

#voiceBlock h3:after {
  content: '';
  background: url("../images/voice_senior.svg") top right no-repeat;
  background-size: contain;
  position: absolute;
  top: 1.5rem;
  right: -17rem;
  width: 100%;
  height: 160px;
}

@media screen and (max-width: 991px) {
  #voiceBlock h3:after {
    top: 1.5rem;
    right: -11rem;
    width: 100%;
    height: 10rem;
  }
}

@media screen and (max-width: 767px) {
  #voiceBlock h3:after {
    display: none;
  }
}

#voiceBlock .flexBox {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#voiceBlock .flexBox figure {
  width: 48%;
  margin-top: 2em;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  #voiceBlock .flexBox figure {
    width: 49%;
    margin-top: 0.5em;
  }
}

/* coatingBnBlockBlock
-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  #coatingBnBlock {
    margin-top: -1em;
  }
}

#coatingBnBlock figure {
  margin-bottom: 2em;
}

#coatingBnBlock figure:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  #coatingBnBlock figure {
    margin-bottom: 0.5em;
  }
}

/* anshinBlock
-----------------------------------------------------------------------*/
#anshinBlock {
  background: url("../images/mokumeBg.png") top center repeat-y;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  #anshinBlock {
    margin: 0 auto;
  }
}

#anshinBlock .anshinBox {
  background-color: #FFF;
  border-radius: 15px;
  padding: 4em;
  padding-bottom: 2em;
  margin-top: 1em;
}

@media screen and (max-width: 991px) {
  #anshinBlock .anshinBox {
    padding: 3em;
  }
}

@media screen and (max-width: 767px) {
  #anshinBlock .anshinBox {
    padding: 1em;
    padding-top: 1.5em;
  }
}

#anshinBlock h5 {
  font-size: 4.0rem;
  color: #036EB6;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 0.5em;
  padding-left: 1.5em;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'メイリオ', 'Meiryo', sans-serif;
}

@media screen and (max-width: 991px) {
  #anshinBlock h5 {
    font-size: 3.0rem;
  }
}

@media screen and (max-width: 991px) {
  #anshinBlock h5 {
    font-size: 2.0rem;
  }
}

#anshinBlock .anshinTtl-1, #anshinBlock .anshinTtl-2, #anshinBlock .anshinTtl-3 {
  position: relative;
}

#anshinBlock .anshinTtl-1:after, #anshinBlock .anshinTtl-2:after, #anshinBlock .anshinTtl-3:after {
  content: '';
  position: absolute;
  top: -0.5em;
  left: -0.75em;
  width: 2em;
  height: 2em;
}

@media screen and (max-width: 767px) {
  #anshinBlock .anshinTtl-1:after, #anshinBlock .anshinTtl-2:after, #anshinBlock .anshinTtl-3:after {
    top: -0.25em;
    left: -0.25em;
    width: 1.5em;
    height: 1.5em;
  }
}

#anshinBlock .anshinTtl-1:after {
  background: url(../images/anshin-01.svg) top left no-repeat;
  background-size: contain;
}

#anshinBlock .anshinTtl-2:after {
  background: url(../images/anshin-02.svg) top left no-repeat;
  background-size: contain;
}

#anshinBlock .anshinTtl-3:after {
  background: url(../images/anshin-03.svg) top left no-repeat;
  background-size: contain;
  top: 0em;
}

#anshinBlock .anshinTtl-3-sub {
  margin-bottom: 0;
}

#anshinBlock article {
  margin-bottom: 4em;
}

@media screen and (max-width: 767px) {
  #anshinBlock article {
    margin-bottom: 2em;
  }
}

#anshinBlock article:last-child {
  margin-bottom: 0;
}

#anshinBlock article p {
  width: 100%;
  margin: 2.0em auto;
}

@media screen and (max-width: 767px) {
  #anshinBlock article p {
    margin: 1.0em auto;
    margin-top: 0;
  }
}

#anshinBlock .siaaBox {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  #anshinBlock .siaaBox {
    margin-bottom: 1em;
  }
}

#anshinBlock .siaaBox figure {
  width: 25%;
}

/* exampleBlock
-----------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  #QABlock {
    margin: 0 auto;
  }
}

#QABlock h3 {
  position: relative;
  max-width: 700px;
}

#QABlock h3:before {
  content: '';
  background: url("../images/QA_ledy.svg") top left no-repeat;
  background-size: contain;
  position: absolute;
  top: -1.5rem;
  left: -17rem;
  width: 100%;
  height: 160px;
}

@media screen and (max-width: 991px) {
  #QABlock h3:before {
    top: 0;
    left: -11rem;
    width: 100%;
    height: 10rem;
  }
}

@media screen and (max-width: 767px) {
  #QABlock h3:before {
    display: none;
  }
}

#QABlock h3:after {
  content: '';
  background: url("../images/QA_man.svg") top right no-repeat;
  background-size: contain;
  position: absolute;
  top: -1.5rem;
  right: -17rem;
  width: 100%;
  height: 160px;
}

@media screen and (max-width: 991px) {
  #QABlock h3:after {
    top: 0;
    right: -11rem;
    width: 100%;
    height: 10rem;
  }
}

@media screen and (max-width: 767px) {
  #QABlock h3:after {
    display: none;
  }
}

#QABlock p {
  font-weight: 700;
  line-height: 1.7;
}

@media screen and (max-width: 991px) {
  #QABlock p {
    font-weight: 400;
  }
}

#QABlock .QABox {
  margin-top: 1em;
  background-color: #FFF;
  padding: 2em;
}

@media screen and (max-width: 767px) {
  #QABlock .QABox {
    padding: 0em;
  }
}

#QABlock .QABox dl {
  margin-bottom: 3em;
}

#QABlock .QABox dl:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  #QABlock .QABox dl {
    margin-bottom: 1em;
  }
}

#QABlock .QABox dt {
  background-color: #036DB7;
  padding: 0.25em 1.0em;
  color: #FFF;
  font-size: 2.5rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 991px) {
  #QABlock .QABox dt {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  #QABlock .QABox dt {
    font-size: 1.8rem;
    padding-left: 2.8rem;
    text-indent: -1.8rem;
  }
}

#QABlock .QABox dd {
  padding: 1em 2em;
}

@media screen and (max-width: 767px) {
  #QABlock .QABox dd {
    padding: 1em;
  }
}

.info-txt {
  font-size: 1.4rem;
  margin: 0 auto;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .info-txt {
    margin-bottom: 0;
  }
}

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

.info-txt .freecall {
  display: inline-block;
  width: 1.5em;
  line-height: 1;
}

.info-txt a {
  color: #000;
}

/* footer
-----------------------------------------------------------------------*/
#footer {
  padding: 1em 0;
  width: 100%;
  margin: 0;
  background: #FF7833;
}

#footer p {
  font-size: 1.4rem;
  text-align: center;
  color: #ffffff;
  line-height: 1.5;
  font-style: normal;
}

#footer .text_recapcha {
  font-size: 1rem;
  margin-top: 0.5em;
}

@media screen and (max-width: 767px) {
  #footer .text_recapcha {
    margin-top: 1em;
    line-height: 1.2;
  }
}

#footer .text_recapcha a {
  color: #fff;
}

/* layout //pagetop
----------------------------------------------------------------------
#pagetop {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  text-align: center;
  z-index: 99;

  a {
    display: block;
    color: #333333;
    transition: all 1s;

    &:hover {
      transform: translateY(-8px);
    }
  }
}

/* アニメーション
-----------------------------------------------------------------------*/
.zoom {
  display: block;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}

.zoom:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}

/* フォームエラー位置調整
--------------------------------------------------------------------
.formError .formErrorContent {
  margin-left: 0px;
}
--*/
/* datetimepicker overwrite
-----------------------------------------------------------------------*/
.xdsoft_datetimepicker {
  font-family: YuGothic, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

.xdsoft_datetimepicker .xdsoft_calendar th {
  color: #333333 !important;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box > div > div {
  color: #333333 !important;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
  color: #333333 !important;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div {
  color: #333333 !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td,
.xdsoft_datetimepicker .xdsoft_calendar th {
  color: #333333 !important;
}

.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
  color: #333333 !important;
}

.xdsoft_datetimepicker .xdsoft_calendar td,
.xdsoft_datetimepicker .xdsoft_calendar th {
  color: #333333 !important;
}
/*# sourceMappingURL=style.css.map */






/* 編集用 */
@media screen and (min-width: 992px){
  .sp_on{
    display: none;
  }
}

@media screen and (max-width: 991px){
  .sp_off{
    display: none;
  }

  .sp_on{
    display: initial;
  }
}