@charset "UTF-8";

/**
 * layer.css
 *
 * #common
 * #header
 * #footer
 * #company............会社概要
 * #privacy............プライバシーポリシー
 * #contact............お問い合わせ
 * #columns
 * #link............リンクについて
*/

/* ==========================================================================
   #common
   ========================================================================== */

.common-layer-wrap {
  margin-top: 25px;
  margin-top: 6.66666665vw;
  padding: 10px;
  padding: 2.66666666vw;
  background-color: #93c6f5;
}

.common-layer-body {
  position: relative;
  padding: 20px;
  padding: 5.33333332vw;
  background-color: #fff;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.page-ttl {
  font-size: 1px;
  line-height: 1;
}

.page-ttl02 {
  padding: 5.3333333333vw 6.6666666667vw;
  font-size: 5.0666666667vw;
  font-weight: bold;
  line-height: 1;
  background: #fafafa;
  background: linear-gradient(to bottom,  #fafafa 0%,#fafafa 0%,#e3e2e2 100%);
  border-radius: 1.3333333333vw 1.3333333333vw 0 0;
  text-shadow: 0px 1px 1px #fff, 0px 1px 1px #fff, 1px 1px 1px #fff, 1px 0px 1px #fff, 1px 0px 1px #fff, 1px -1px 1px #fff, 1px -1px 1px #fff, 0px -1px 1px #fff, -1px -1px 1px #fff, -1px -1px 1px #fff, -1px -1px 1px #fff, -1px 0px 1px #fff, -1px 1px 1px #fff, -1px 1px 1px #fff;
}

.common-txt {
  margin-bottom: 27px;
  margin-bottom: 7.199999982vw;
  font-size: 14px;
  font-size: 3.733333324vw;
  line-height: 1.9;
}

.common-txt:last-of-type { margin-bottom: 0; }

/* パンくず
   ----------------------------------------------------------------- */

.breadcrumb {
  overflow: hidden;
  padding: 14px 15px 15px;
  padding: 3.733333324vw 3.99999999vw 3.99999999vw;
  color: #333;
  font-size: 12px;
  font-size: 3.199999992vw;
  line-height: 1;
  background-color: #eff7fe;
  border-top: 1px solid #93c6f5;
}

.home { color: #3b52a6; }

.breadcrumb-item { float: left; }

.breadcrumb-item {
  position: relative;
  margin-right: 4px;
  margin-right: 1.066666664vw;
  padding-right: 12px;
  padding-right: 3.199999992vw;
}

.breadcrumb-item:before {
  content: ">";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  vertical-align: middle;
}

.breadcrumb-item:last-child:before {
  content: "";
  position: absolute;
  vertical-align: middle;
}

.breadcrumb-item a { text-decoration: none; }



/* ==========================================================================
   Layout
   ========================================================================== */
.l-content { padding: 0 0 9.375%; }

.l-common-bg {
  background: #fff;
  /*border-radius: 5px;*/
}


/* ==========================================================================
   #company
   ========================================================================== */

.company-body {
  padding-bottom: 8vw;
}

/* #企業概要テーブル
   ----------------------------------------------------------------- */

.company-table-wrap { padding: 25px 20px 30px; }

.company-table {
  width: 100%;
  color: #111;
  font-size: 12px;
  font-size: 3.199999992vw;
  line-height: 1.58333333;
  border-collapse: collapse;
}

.company-table th,
.company-table td {
  padding: 16px 20px;
  padding: 4.266666656vw 5.33333332vw;
  border: 1px solid #93c6f5;
}

.company-table th {
  width: 90px;
  width: 23.99999994vw;
  color: #145590;
  font-weight: normal;
  text-align: left;
  background-color: #e4f0fb;
}

.company-person {
  position: absolute;
  bottom: 0;
  right: 15px;
  right: 3.99999999vw;
  width: 158px;
  width: 42.13333323vw;
  height: 150px;
  height: 39.9999999vw;
}

/* ==========================================================================
   #privacy　プライバシーポリシー・利用規約　共通
   ========================================================================== */
/* 404,link,notice,partnerでも使われている
----------------------- */
.privacy {
  margin-bottom: 7.99999998vw;
}

.privacy-body .common-txt:last-of-type {
  margin-bottom: 2.399999994vw;
}


/* タイトル
----------------------- */
.common-headline02 {
  position: relative;
  margin: 9.3333333333vw -1.33333333vw 5.3333333333vw;
  padding: 2.933333326vw 5.866666652vw 3.466666658vw;
  color: #333;
  font-weight: bold;
  font-size: 3.99999999vw;
  line-height: 1.7;
  background-color: #eff7fe;
  border-radius: 4px;
}

.common-headline03 {
  margin: 9.3333333333vw 0 5.3333333333vw;
  font-size: 3.733333324vw;
  line-height: 1.9;
  font-weight: bold;
}

/* シンプルな黒丸リスト
----------------------- */
.layer-list01 {
  list-style: none;
  margin: 6.6666666667vw 0 9.3333333333vw; 
  padding: 0;
  text-indent: 0;
}

.layer-list01 li {
  position: relative;
  padding-left: 4.2666666667vw;
  font-size: 3.733333324vw;
  line-height: 1.9;
}

.layer-list01 li+li {
  margin-top: 1.6vw;
}

.layer-list01 li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}


/* シンプルな数字リスト
----------------------- */
.layer-list02 {
  list-style: none;
  counter-reset: item;
  margin: 6.6666666667vw 0 9.3333333333vw; 
  padding: 0;
  text-indent: 0;
}

.layer-list02 li {
  position: relative;
  font-size: 3.733333324vw;
  line-height: 1.9;
}

.layer-list02 li+li {
  margin-top: 1.6vw;
}

.layer-list02 li:before {
  counter-increment: item;
  content: counter(item)'. ';
}

/* （ ）の数字リスト
----------------------- */
.layer-list03 {
  list-style: none;
  margin: 6.6666666667vw 0 9.3333333333vw 6.9333333333vw;
  padding: 0;
  counter-reset: item;
}

.layer-list03 li {
  position: relative;
  font-size: 3.733333324vw;
  line-height: 1.9;
}

.layer-list03 li:before {
  counter-increment: item;
  content: '（'counter(item)'）';
  position: absolute;
  top: 0;
  left: -8.8vw;
}

.layer-list03 li+li {
  margin-top: 5.3333333333vw;
}



/* リスト（丸数字は直書き）
----------------------- */
.layer-list04 {
  list-style: none;
  margin: 6.6666666667vw 0 9.3333333333vw 4vw;
  padding: 0;
}

.layer-list04 li {
  position: relative;
  font-size: 3.733333324vw;
  line-height: 1.9;
  text-indent: -1em;
}

.layer-list04 li:before {
  content: none;
}

.layer-list04 li+li {
  margin-top: 5.3333333333vw;
}



/* ==========================================================================
   #contact
   ========================================================================== */

/* #input
   ----------------------------------------------------------------- */
/* タイトル
----------------------- */

.contact-ttl-wrap {
  padding: 7px 14px 0 25px;
  padding: 1.866666662vw 3.733333324vw 0 6.66666665vw;
  border-top: 1px solid #93c6f5;
}

/* 入力欄
----------------------- */
.contact-wrap { background-color: #eff7fe; }

.form-table {
  width: 100%;
  margin-bottom: 35px;
  margin-bottom: 7.99999998vw;
  border-collapse: collapse;
}

.form-table-ttl,
.form-table-content {
  display:block;
  float:left;
  clear:both;
  width: 100%;
  word-break: break-all;
  word-wrap: break-word;
}

.form-table-ttl {
  padding: 20px 20px 15px;
  padding: 5.33333332vw 5.33333332vw 3.99999999vw;
  font-size: 15px;
  font-size: 3.99999999vw;
  line-height: 1;
  font-weight: normal;
  text-align: left;
}

.form-table-ttl-detail {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: middle;
}

/*必須*/
.ico-required {
  display: inline-block;
  letter-spacing: normal;
  padding: 3px 5px;
  padding: 0.799999998vw 1.33333333vw;
  margin-right: 10px;
  margin-right: 2.66666666vw;
  color: #333;
  font-size: 12px;
  font-size: 3.199999992vw;
  vertical-align: middle;
  border-radius: 2px;
  background-color: #fdda17;
}

/*任意*/
.ico-any {
  display: inline-block;
  letter-spacing: normal;
  padding: 2px 4px;
  padding: 0.533333332vw 1.066666664vw;
  margin-right: 10px;
  margin-right: 2.66666666vw;
  font-size: 12px;
  font-size: 3.199999992vw;
  color: #6eabe4;
  vertical-align: middle;
  background-color: #f1f6ff;
  border-radius: 2px;
  border: 1px solid #6eabe4;
}


/* 詳細
----------------------- */
.form-table-content {
  padding: 0 20px 5px;
  padding: 0 5.33333332vw 1.33333333vw;
  line-height: 1;
  color: #111;
  font-weight: normal;
}


.form-input01 {
  -webkit-appearance: none;
  width: 100%;
  height: 46px;
  height: 12.26666664vw;
  resize: none;
  padding: 16px;
  padding: 4.266666656vw;
  vertical-align : middle;
  font-size: 14px;
  font-size: 3.733333324vw;
  line-height: 1;
  border: 1px #a4b4d0 solid;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 0px 1000px #ffeae3 inset;
  box-shadow: 0 0 0px 1000px #ffeae3 inset;
}

.form-input02 {
  -webkit-appearance: none;
  width: 100%;
  height: 100px;
  height: 26.6666666vw;
  resize: none;
  overflow: auto;
  padding: 13px 16px;
  padding: 3.466666658vw 4.266666656vw;
  vertical-align: middle;
  font-size: 14px;
  font-size: 3.733333324vw;
  line-height: 1.4285;
  border: 1px #a4b4d0 solid;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 0px 1000px #ffeae3 inset;
  box-shadow: 0 0 0px 1000px #ffeae3 inset;
}

/*記入例*/
.form-input01::-webkit-input-placeholder {
  padding-top: 3px;
  padding-top: 0.799999998vw;
  color: #999;
  opacity: 1;
}

.form-input02::-webkit-input-placeholder {
  color: #999;
  opacity: 1;
}

/*プルダウン*/
.form-info-input {
  position: relative;
  width: 100%;
  resize: none;
  color: #222;
  font-size: 14px;
  font-size: 3.733333324vw;
  padding: 14px 20px;
  padding: 3.733333324vw 5.33333332vw;
  line-height: 1;
  -webkit-appearance: none;
  background: linear-gradient(#fff, #d6d6d6);
  background-color: #d6d6d6\9;
  border: 1px #a4b4d0 solid;
  border-radius: 2px;
}

.form-select-arrow {
  position: relative;
}

.form-select-arrow:before {
  position: absolute;
  top: 50%;
  right: 40px;
  right: 10.66666664vw;
  z-index: 10;
  content: "";
  width: 0;
  height: 0;
  margin-top: -3px;
  margin-top: -0.799999998vw;
  border-style: solid;
  border-width: 5px;
  border-color: #3a7ae3 transparent transparent transparent;
}


/* ボタン
----------------------- */
.form-input-btn {
  margin: 0 20px;
  margin: 0 5.33333332vw;
}

.form-input-btn-inner {
  padding: 28px 0;
  padding: 7.466666648vw 0;
  font-size: 15px;
  font-size: 3.99999999vw;
  line-height: 1;
  color: #fff;
  text-align: center;
  border-radius: 3px;
  -webkit-appearance: none;
  background-color: #e95858;
}

.form-submit-btn {
  width: 100%;
  border: none;
}

/* 未入力箇所があるときのボタン */
.form-input-btn-inner.not-yet {
  background-color: #c1c1c1;
  cursor: default;
}

/*TransmitMailによるエラーメッセージ*/
.error {
  position: relative;
  margin-top: 5px;
  margin-top: 1.33333333vw;
  padding-left: 10px;
  padding-left: 2.66666666vw;
  color: #d56725;
  font-size: 11px;
  font-size: 2.933333326vw;
}

.error:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

/* テキスト */
.contact-cap {
  padding: 20px 0 35px;
  padding: 5.33333332vw 0 9.33333331vw;
  text-align: center;
  font-size: 15px;
  font-size: 3.99999999vw;
  line-height: 1.333;
}

/* 確認ページ
   ----------------------------------------------------------------- */
.confirm-cap {
  padding: 20px 20px 0;
  padding: 5.33333332vw 5.33333332vw 0;
  font-size: 15px;
  font-size: 3.99999999vw;
  line-height: 1.333;
}

.confirm-cap-sub {
  font-size: 12px;
  font-size: 3.199999992vw;
}

/*戻るボタン*/
.confirm-back-btn {
  margin: 20px 0 30px;
  margin: 5.33333332vw 0 7.99999998vw;
}

.confirm-back-btn-inner {
  display: block;
  width: 120px;
  width: 31.99999992vw;
  margin: 0 auto;
  padding: 10px 0;
  padding: 2.66666666vw 0;
  font-size: 14px;
  font-size: 3.733333324vw;
  line-height: 1;
  color: #3a7ae3;
  text-align: center;
  text-decoration: underline;
  -webkit-appearance: none;
  cursor: default;
  border:none;
  background-color: #fff;
}

/* 完了・エラーページ
   ----------------------------------------------------------------- */
.contact-common-wrap {
  padding: 15px 20px;
  padding: 3.99999999vw 5.33333332vw;
  color: #333;
  border-top: 1px solid #93c6f5;
}

.contact-headline {
  margin-bottom: 15px;
  margin-bottom: 3.99999999vw;
  font-size: 15px;
  font-size: 3.99999999vw;
  line-height: 1.333;
}

.contact-txt {
  margin-bottom: 30px;
  margin-bottom: 7.99999998vw;
  font-size: 14px;
  font-size: 3.733333324vw;
  line-height: 1.333;
}

.contact-link {
  display: block;
  margin-bottom: 15px;
  margin-bottom: 3.99999999vw;
  padding: 10px 20px;
  padding: 2.66666666vw 5.33333332vw;
  color: #333;
  font-size: 14px;
  font-size: 3.733333324vw;
  text-align: center;
  text-decoration: none;
  background-color: #eff7fe;
  border-radius: 4px;
}

.contact-tel { color: #3a7ae3; }



/* exValidation(リアルタイムのチェック)の警告 */
.errMsg {
  display: block;
  width: 100%;
  color: #d56725;
  font-size: 11px;
  font-size: 2.933333326vw;
  line-height: 1.2;
}

.formError.userformError{
  position: relative !important;
  top: auto !important;
  left: auto !important;
  padding: 0 !important;
  margin-top: 8px !important;
}


/* ==========================================================================
   #columns
   ========================================================================== */
/* # コラム一覧
   ----------------------------------------------------------------- */
.column {
  margin-bottom: 8vw;
}

.column .knowledge-item-img {
  display: none;
}

.column .knowledge-item-txt {
  padding-left: 0;
}

.column .knowledge {
  padding: 6.1333333333vw 4vw 4vw;
}

.column .knowledge-ttl {
  margin-bottom: 5.3333333333vw;
  color: #0b5acf;
  background-color: #eff7fe;
}


/* # コラム
   ----------------------------------------------------------------- */
.l-column {
  padding: 15px 15px 20px;
  padding: 4.6875vw 4.6875vw 6.25vw;
  font-size: 16px;
  font-size: 5vw;
}

.l-column p {
  margin: 0 5px 22px;
  margin: 0 1.5625vw 6.875vw;
  line-height: 1.615;
  word-break: break-all;
}

/*タイトルh2*/
.column-headline01 {
  padding: 12px 20px;
  padding: 3.75vw 6.25vw;
  font-size: 20px;
  font-size: 6.25vw;
  line-height: 1.313;
  color: #25bbb2;
  font-weight: bold;
  border-bottom: 1px solid #e8edf4;
}

/*タイトルh3*/
.l-column h3 {
  margin: 26px 0 16px;
  margin: 8.125vw 0 5vw;
  padding: 9px 13px;
  padding: 2.8125vw 4.0625vw;
  font-size: 22px;
  font-size: 6.875vw;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
  background: #72b7f6;
  border-radius: 5px;
}

/*タイトルh4*/
.l-column h4 {
  margin: 26px 0 16px;
  margin: 8.125vw 0 5vw;
  padding: 9px 13px;
  padding: 2.8125vw 4.0625vw;
  font-size: 20px;
  font-size: 6.25vw;
  font-weight: bold;
  line-height: 1.2;
  color: #333;
  background: #eff7fe;
  border-radius: 5px;
}

/*タイトルh5*/
.l-column h5 {
  margin: 26px 0 16px;
  margin: 8.125vw 0 5vw;
  padding: 4px 6px;
  padding: 1.25vw 1.875vw;
  color: #25bbb2;
  font-size: 18px;
  font-size: 5.625vw;
  border-bottom: 1px solid #25bbb2;
  border-bottom: 0.3125vw solid #25bbb2;
}

/*タイトルh6*/
.l-column h6 {
  margin: 16px 6px 16px;
  margin: 5vw 1.875vw 5vw;
  font-size: 18px;
  font-size: 5.625vw;
  color: #366dc0;
}

/*コラム内リンク*/
.l-column a {
  color: #03c;
  text-decoration: underline;
}

/* リスト
   ----------------------------------------- */
/*コラムリスト見出しなし*/
.l-column .list {
  margin: 26px 5px 16px;
  margin: 8.125vw 1.5625vw 5vw;
  font-size: 16px;
  font-size: 5vw
}

.l-column .list li {
  position: relative;
  padding-left: 16px;
  padding-left: 5vw;
  margin-bottom: 6px;
  margin-bottom: 1.875vw;
}

.l-column .list li:after {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  width: 14px;
  width: 4.375vw;
  height: 14px;
  height: 4.375vw;
}

/*コラムリスト見出しあり*/
.l-column .list-ttl {
  margin: 26px 5px 16px;
  margin: 8.125vw 1.5625vw 5vw;
  font-weight: bold;
  line-height: 1;
  color: #25bbb2;
}

.l-column .list-ttl + ul {
  margin: 0 5px 26px;
  margin: 0 1.5625vw 8.125vw;
  font-size: 16px;
  font-size: 5vw
}

.l-column .list-ttl + ul li {
  position: relative;
  padding-left: 16px;
  padding-left: 5vw;
  margin-bottom: 6px;
  margin-bottom: 1.875vw;
}

.l-column .list-ttl + ul li:after {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  color: #25bbb2;
  width: 14px;
  width: 4.375vw;
  height: 14px;
  height: 4.375vw;
}

/*数字のリスト*/
.number-list {
  margin: 26px 5px 16px;
  margin: 8.125vw 1.5625vw 5vw;
  font-size: 16px;
  font-size: 5vw
}

ul.number-list li {
  padding-left: 0;
  margin-bottom: 6px;
  margin-bottom: 1.875vw;
  position: static;
}

ul.number-list li:after {
  display: none;
}

/*緑*/
.txt-strong01 {
  color: #25bbb2;
  font-weight: bold;
}

/*赤*/
.txt-strong02 {
  color: #e95858;
  font-weight: bold;
}

/*青*/
.txt-strong03 {
  color: #25bbb2;
  font-weight: bold;
}

/*赤 大文字*/
.txt-strong04 {
  font-size: 16px;
  font-size: 5vw;
  color: #e95858;
  font-weight: bold;
}

/*画像 100%表示*/
.l-column .w100 {
  width: 100%;
  height: auto;
}

/* 目次
   ----------------------------------------- */
.l-column .outline {
  margin-bottom: 30px;
  margin-bottom: 9.375vw;
  padding: 15px 15px;
  padding: 4.6875vw 4.6875vw;
  background-color: #fefbcd;
  border-radius: 5px;

}
.l-column .outline-ttl {
  margin-bottom: 16px;
  margin-bottom:  5vw;
  padding: 0 0 15px 5px;
  padding: 0 0 4.6875vw 1.5625vw;
  font-size: 16px;
  font-size: 5vw;
  font-weight: bold;
  line-height: 1;
  color: #25bbb2;
  border-bottom: 1px solid #25bbb2;
}

.l-column .outline-list {
  margin-bottom: 16px;
  margin-bottom:  5vw;
}

.l-column .outline-item {
  position: relative;
  margin-bottom: 17px;
  margin-bottom: 5.3125vw;
  padding-left: 21px;
  padding-left: 6.5625vw;
  font-size: 16px;
  font-size: 5vw;
  line-height: 1.333333333333333;
}

.l-column .outline-item:after {
  content: "";
  position: absolute;
  top: 5px;
  top: 1.5625vw;
  left: 5px;
  left: 1.5625vw;
  border-style: solid;
  border-width: 10px 6px 10px 6px;
  border-width: 3.125vw 1.875vw 3.125vw 1.875vw;
  border-color: #25bbb2 transparent transparent transparent;
}

.l-column .outline-item-nested {
  position: relative;
  margin-bottom: 10px;
  margin-bottom: 3.125vw;
  padding-left: 26px;
  padding-left: 8.125vw;
  font-size: 14px;
  font-size: 4.375vw;
  line-height: 1.307692307692308;
}

.l-column .outline-item-nested:after {
  content: "-";
  position: absolute;
  top: 0;
  left: 17px;
  left: 5.3125vw;
}

.l-column .outline-item a,
.l-column .outline-item-nested a {
  color: #333;
  text-decoration: underline;
}
/* ミニコラム
   ----------------------------------------- */
.l-column .mini-column-block {
  position: relative;
  margin: 26px 0 16px;
  border-radius: 5px;
  border: 2px solid #ffd739;
  border: 0.625vw solid #ffd739;
  background-color: #fffadb;
}

.l-column .mini-column-ttl {
  position: relative;
  padding: 12px 8px 10px 56px;
  padding: 3.75vw 2.5vw 3.125vw 17.5vw;
  margin: 0 10px;
  margin: 0 3.125vw;
  font-size: 20px;
  font-size: 6.25vw;
  font-weight: bold;
  line-height: 1.286;
  border-bottom: 1px solid #ffd739;
  border-bottom: 0.3125vw solid #ffd739;
}

.l-column .mini-column-ttl:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 5px;
  left: 1.5625vw;
  width: 35px;
  height: 67px;
  width: 10.9375vw;
  height: 20.9375vw;
  background: url(/images/columns/mini_columns/img_point_sp.png) no-repeat;
  background-size: 35px 67px;
  background-size: 10.9375vw 20.9375vw;
}

.l-column .mini-column-body {
  padding: 12px 15px;
  padding: 3.75vw 4.6875vw;
}

.l-column .mini-column-body p:last-child {
  margin-bottom: 0;
}


/* 吹き出し（あらのすけ）
----------------------- */
.l-column .balloon {
  padding-left: 86px;
  min-height: 100px;
}

/* 表情01 通常 */
.l-column .balloon.balloon-01 {
  background: url("/images/columns/img_chara_basic.png?v2") left 10px no-repeat;
  -webkit-background-size: 80px auto;
  background-size: 80px auto;
}

/* 表情02 笑顔ポイント */
.l-column .balloon.balloon-02 {
  background: url("/images/columns/img_chara_point.png") left 10px no-repeat;
  -webkit-background-size: 80px auto;
  background-size: 80px auto;
}

/* 表情03 危険ポイント */
.l-column .balloon.balloon-03 {
  background: url("/images/columns/img_chara_caution.png") left 10px no-repeat;
  -webkit-background-size: 80px auto;
  background-size: 80px auto;
}

/* 表情04 笑顔 */
.l-column .balloon.balloon-04 {
  background: url("/images/columns/img_chara_smile.png") left 10px no-repeat;
  -webkit-background-size: 80px auto;
  background-size: 80px auto;
}

/* 表情05 困り顔 */
.l-column .balloon.balloon-05 {
  background: url("/images/columns/img_chara_trouble.png") left 10px no-repeat;
  -webkit-background-size: 75px auto;
  background-size: 75px auto;
}

.l-column .balloon p {
  position: relative;
  padding: 12px 13px;
  padding: 3.75vw 4.0625vw;
  font-size: 14px;
  font-size: 4.375vw;
  line-height: 1.5;
  border: 2px solid #336dc2;
  border-radius: 8px;
  background-color: #fff;
}

.l-column .balloon p:after, .l-column .balloon p:before {
  right: 100%;
  top: 25px;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.l-column .balloon p:after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: #ffffff;
  border-width: 10px;
  margin-top: -9px;
}
.l-column .balloon p:before {
  border-color: rgba(51, 109, 194, 0);
  border-right-color: #336dc2;
  border-width: 13px;
  margin-top: -12px;
}


/* 吹き出し（あらのすけ以外）
----------------------- */
.l-column .balloon-other {
  display: table;
  width: 100%;
}

.l-column .balloon-thumb {
  display: table-cell;
  vertical-align: top;
  width: 90px;
  padding-right: 15px;
}

.l-column .balloon-comment {
  display: table-cell;
  vertical-align: top;
  position: relative;
  padding: 12px 13px;
  padding: 3.75vw 4.0625vw;
  font-size: 14px;
  font-size: 4.375vw;
  border: 2px solid #336dc2;
  border-radius: 8px;
  background-color: #fff;
}

.l-column .balloon-comment p {
  margin: 0;
  line-height: 1.5;
}

.l-column .balloon-comment p + p {
  margin-top: 14px;
}

.l-column .balloon-comment:after, .l-column .balloon-comment:before {
  content: " ";
  position: absolute;
  right: 100%;
  top: 25px;
  border: solid transparent;
  height: 0;
  width: 0;
  pointer-events: none;
}

.l-column .balloon-comment:after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: #ffffff;
  border-width: 10px;
  margin-top: -9px;
}

.l-column .balloon-comment:before {
  border-color: rgba(51, 109, 194, 0);
  border-right-color: #336dc2;
  border-width: 13px;
  margin-top: -12px;
}

/* エアコンバナー
----------------------- */
/*PCのバナーは削除*/
.banner-aircon-pc { display: none; }

/* spだけ表示
----------------------- */
.l-column .tel-pc {
  display: none;
}

.l-column .price {
  font-size: 36px;
  font-size: 9.599999976vw;
  font-weight: bold;
  color: #3bb22e;
}

/* コラムテーブル
----------------------- */
.column-table {
  margin-bottom: 28px;
  width: 100%;
  font-size: 16px;
  font-size: 5vw;
  border: 1px solid #e8edf4;
  border-bottom: none;
  font-size: 14px;
}

.column-item-ttl {
  width: 120px;
  padding: 29px 10px 28px;
  color: #366dc0;
  font-weight: bold;
  line-height: 1.333;
  font-size: 16px;
  font-size: 5vw;
  text-align: center;
  border: 1px solid #e8edf4;
}

.column-item {
  padding: 29px 29px 28px;
  line-height: 1.333;
  font-size: 16px;
  font-size: 5vw;
  text-align: center;
  border: 1px solid #e8edf4;
}


/* table 色あり版 */
.column-table02 {
  margin-bottom: 28px;
  margin-bottom: 7.466666648vw;
  border: 1px solid #c8d3e2;
  border-bottom: none;
  font-size: 16px;
  font-size: 4.266666656vw;
  /*white-space: nowrap;*/
}

.column-item-ttl02 {
  width: 120px;
  padding: 29px 10px 28px;
  color: #366dc0;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  border: 1px solid #c8d3e2;
  background-color: #e8edf4;
}

.column-item02 {
  padding: 29px 29px 28px;
  line-height: 1.4;
  border: 1px solid #c8d3e2;
}

/* 横scroll用CSS */
.column-table-block{
overflow: auto;　　　　/*tableをスクロールさせる*/
white-space: nowrap;　　/*tableのセル内にある文字の折り返しを禁止*/
}
.column-table-block::-webkit-scrollbar{　　/*tableにスクロールバーを追加*/
 height: 5px;
}
.column-table-block::-webkit-scrollbar-track{　　/*tableにスクロールバーを追加*/
 background: #F1F1F1;
}
.column-table-block::-webkit-scrollbar-thumb {　　/*tableにスクロールバーを追加*/
 background: #BCBCBC;
}


/* 業者インタビュー
----------------------- */
.column-voice {
  padding: 15px 20px;
  padding: 4.6875vw 6.25vw;
  font-size: 15px;
  font-size: 4.6875vw;
  line-height: 1.5;
  border-radius: 15px;
  background-color: #fff;
  border: 3px solid #e1e8ed;
}

/* 商品紹介
----------------------- */
.column-shop {
  margin: 0 10px 30px;
  margin: 0 2.6666666667vw 8vw;
  padding: 20px;
  padding: 5.3333333333vw;
  line-height: 1;
  background-color: #f6f6f6;
  border: 2px solid #e1e5ea;
  border-radius: 2px;
}

.column-shop a {
  display: block;
  padding: 10px 0;
  padding: 2.6666666667vw 0;
  text-align: center;
  background-color: #fff;
}

.column-shop a img {
  vertical-align: top;
}

.column-shop .column-shop-info {
  padding-top: 10px;
}

.column-shop .column-shop-name a {
  display: block;
  width: auto;
  height: auto;
  margin-bottom: 20px;
  margin-bottom: 6.25vw;
  padding: 0;
  text-align: left;
  font-size: 18px;
  font-size: 4.8vw;
  line-height: 1.2;
  background-color: #f6f6f6;
}

.column-shop .column-shop-point {
  list-style: circle;
  margin: 0 0 20px 20px;
  margin: 0 0 6.25vw 6.25vw;
}

.column-shop .column-shop-point li {
  margin-bottom: 10px;
  margin-bottom: 3.125vw;
  line-height: 1.3;
}

.column-shop .column-shop-btn a {
  display: block;
  width: auto;
  height: auto;
  padding: 10px 0;
  padding: 2.6666666667vw 0;
  color: #333;
  font-size: 16px;
  font-size: 4.2666666667vw;
  line-height: 1;
  text-decoration: none;
  background-color: #fedb79;
  border-radius: 5px;
  box-shadow: 0px 3px #dbab24;
}




/* バナー
   ----------------------------------------- */
.l-banner {
  padding: 5.9375% 3.125% 5.9375% 1.5625%;
  width: 100%;
  background-color: #fad542;
}

.banner {
  position: relative;
}

.banner-price {
  position: absolute;
  top: 216px;
  top: 57.59999986vw;
  left: 159px;
  left: 42.39999989vw;
  font-family: "Helvetica Neue", Helvetica, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 50px;
  font-size: 13.3333333vw;
  font-weight: 600;
  color: #f25100;
  line-height: 1;
}

.column-price-comma { font-size: 40%; }

.banner-btn {
  position: absolute;
  bottom: 5.3125%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 83.125%;
}

/* 豆知識
   ----------------------------------------- */
.l-knowledge {
  width: 100%;
  /*margin-bottom: 6.25%;*/
  background-color: #fff;
}

.knowledge {
  padding: 20px 15px 0;
  padding: 6.25vw 4.6875vw 0;
}

.knowledge-ttl {
  margin-bottom: 15px;
  margin-bottom:  4.6875vw;
  padding: 12px 14px;
  padding: 3.75vw 4.375vw;
  font-size: 13px;
  font-size: 4.0625vw;
  font-weight: bold;
  line-height: 1;
  background-color: #e8edf4;
  color: #333;
  border-radius: 5px;
}

.knowledge-list {
  padding: 0 5px 15px;
  padding: 0 1.5625vw 4.6875vw;
  border-bottom: 1px solid #e8edf4;
  border-bottom: 0.3125vw solid #e8edf4;
}

.knowledge-list:last-child { border-bottom:none; }

.knowledge-list+.knowledge-list {
  padding-top: 15px;
  padding-top: 4.6875vw;
}

.knowledge-item{
  display: table;
  width: 100%;
  vertical-align: middle;
  text-decoration: none;
}

.knowledge-item-img {
  display: table-cell;
  vertical-align: middle;
}

.knowledge-item-txt {
  display: table-cell;
  padding-left: 13px;
  padding-left: 4.0625vw;
  font-size: 12px;
  font-size: 3.75vw;
  line-height: 1.5;
  color: #333;
  vertical-align: middle;
}


/* コラムCTA
----------------------- */
.l-knowledge-cta {
  position: relative;
  padding: 2.6666666667%;
  background-color: #93c6f5;
}

.knowledge-cta-btn {
  position: absolute;
  bottom: 7%;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
  width: 86.6666666667%;
}


/* 更新日付
   ----------------------------------------- */
.l-column .column-top {
  /*margin: 0 5px 0;
  margin: 0 1.5625vw 0;*/
}

.l-column .date-top-col {
  float: left;
  width: 50%;
  margin: 0 0 15px;
  margin: 0 0 4.6875vw;
}

.l-column .date-top-ttl {
  padding: 2px 3px;
  padding: 0.625vw 0.9375vw;
  margin: 0;
  display: inline-block;
  font-size: 10px;
  font-size: 3.125vw;
  line-height: 1;
  background-color: #e6eff8;
  border-radius: 2.5px;
  color: #fff;
  color: #25bbb2;
}

.l-column .date-top-number {
  display: inline-block;
  margin: 0 0 0 3px;
  font-size: 10px;
  font-size: 3.125vw;
  line-height: 1;
  color: #9b9b9b;
}

/* SNS
   ----------------------------------------- */
.sns-top {
  margin-bottom: 16px;
  margin-bottom: 5vw;
}

.sns-element {
  float: left;
  /*margin-right: 5px;*/
}

.sns-twitter { margin-right: 5px; }

.sns-facebook { margin-top: 1px; }

.sns-pocket {
  width: 68px;
  overflow: hidden;
  margin-top: 2px;
}

/* 追従ボタン
   ----------------------------------------- */
.l-btn-flow {
  padding-top: 67px;
  padding-top: 17.86666662vw;
}

.btn-flow-scroll {
  position: fixed;
  display: none;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: rgba(51, 51, 51, 0.9);
}

.btn-flow-scroll-wrap {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 67px;
  padding-top: 17.86666662vw;
}

.btn-flow-scroll-inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
}

.btn-flow-scroll-txt01 {
  margin-bottom: 7px;
  /*margin-bottom: 1.33333333vw;*/
  font-size: 14px;
  font-size: 3.733333324vw;
  font-weight: bold;
  color: #fff;
  line-height: 1;

}

.btn-flow-scroll-txt02 {
  font-size: 14px;
  font-size: 3.733333324vw;
  font-weight: bold;
  color: #fdda17;
  line-height: 1;
  text-decoration: underline;
}

.btn-flow-scroll-txtbox {
  position: relative;
  padding: 15px 117px 15px 20px;
  text-align: left;
}

.btn-flow-scroll-img {
  position: absolute;
  bottom: 0;
  right: 4px;
  width: 109px;
  height: 82px;
}


/* コラム内バナー
   ----------------------------------------- */
.bnr-house-link {
  display: block;
  margin: 0 5px 22px;
  margin: 0 1.5625vw 6.875vw;
}

.bnr-house { width: 100%; }




/* ==========================================================================
   #link
   ========================================================================== */
/* # 表
   ----------------------------------------------------------------- */
.link-box {
  width: 100%;
  margin: 10.6666666667vw 0 0;
  border-collapse: collapse;
  border: 1px solid #93c6f5;
}

.link-box-head {
  overflow: hidden;
  padding: 4.688vw 6.25vw;
  font-size: 3.75vw;
  font-weight: bold;
  line-height: 1;
  text-align: left;
  color: #222;
  border: 1px solid #93c6f5;
  background-color: #eff7fe;
}

.link-box-head-sub {
  float: right;
  display: block;
  color: #222;
  font-weight: normal;
}

.link-box-data {
  padding: 6.25vw;
  font-size: 0;
  text-align: left;
  vertical-align: top;
  border: 1px solid #93c6f5;
}

.link-box-data-btn {
  display: block;
  width: 53.125vw;
  margin-bottom: 4.688vw;
  padding: 3.125vw 0;
  color: #fff;
  font-size: 3.75vw;
  line-height: 1;
  text-align: center;
  background-color: #f78535;
  border-radius: 0.938vw;
  cursor: pointer;
}

.link-box-data-btn:active { opacity: 0.7; }

.link-box-data-code {
  overflow: scroll;
  display: block;
  width: 70.6666666667vw;
  margin-bottom: 4.688vw;
  padding: 2.813vw 3.75vw;
  font-size: 3.75vw;
  line-height: 1;
  text-align: left;
  border: 1px solid #898989;
  border-radius: 0.938vw;
  white-space: nowrap;
  scrollbar-width: none;/* Firefox 対応 */
}
.link-box-data-code::-webkit-scrollbar {/* Chrome, Safari 対応 */
  display:none;
}

.link-box-data-img {
  display: table-cell;
  width: 70.6666666667vw;
  height: 22.188vw;
  text-align: center;
  vertical-align: middle;
  background-color: #f2f2f3;
  border: 1px solid #93c6f5;
}

.link-box-data-img a { display: inline-block; }

.link-box-data-img.sample01 a {width: 95px;}

.link-box-data-img.sample02 a { width: 150px; }

.link-box-data-img.sample03 { background-color: #fff; }

.link-box-data-img.sample03 span {
  display: inline-block;
  font-size: 3.7333333333vw;
  line-height: 1.7;
  text-align: left;
}

.link-box-data-img.sample03 a { color: #366dc0; }
