/* TABLE OF CONTENTS:
 * 
 * 00 どのサイズでも共通で適用されるスタイル
 *    - 見出しデザイン
 *    - コラム本文
 *    - 基本パーツ
 *    - ふきだし
 *    - 影ストライプ箱
 *    - 目次プラグイン
 *    - 問い合わせ
 *    - サービス紹介
 *    - 選ばれる理由
 *    - 対応エリア
 *    - 流れ
 *    - 施工事例（サムネイル表示）
 *    - 豆知識（サムネイル表示）
 *    - よくある質問
 *    - フッターの上の表示枠
 *    - フッターの会社情報
 *    - 料金表
 *    - コラム
 *    - リンクカード関連記事
 *    - エリアページ助成金セクション
 * 01 幅 768px 未満 ( スマホの時だけ適用されるスタイル )
 *    - フォントサイズと行送り
 *    - 問い合わせ
 *    - 選ばれる理由
 *    - 豆知識（サムネイル表示）
 *    - コラム記事
 *    - リンクカード関連記事
 * 02 幅 480px 以上
 * 03 幅 768px 以上 ( PCの時だけ適用されるスタイル )
 *    - フォントサイズと行送り
 *    - 見出しデザイン
 *    - 基本パーツ
 *    - レスポンシブイメージ
 *    - 影ストライプ箱
 *    - 目次プラグイン
 *    - 問い合わせ
 *    - サービス紹介
 *    - 選ばれる理由
 *    - 対応エリア
 *    - 流れ
 * - 施工事例（サムネイル表示）
 *    - 豆知識（サムネイル表示）
 *    - よくある質問
 *    - フッターの上の表示枠
 *    - フッターの上の表示枠内、対応エリア
 *    - フッターの会社情報
 *    - 料金表
 * 04 幅 880px 以上
 * 05 幅 1072px 以上
 *    - 流れ
 * 06 幅 1264px 以上
 *    - 問い合わせ
 *    - 選ばれる理由
 */

/* --------------------------------------------------------------------------------------------------------
   00
 *
 * どのサイズでも共通で適用されるスタイル
 */


/* 見出しデザイン */
h1[id*="-heading"] {
  white-space: normal !important;
}

h1[id*="-heading"],
h2[id*="-heading"],
p.order-heading {
  text-align: center;
  padding-bottom: 8px;
  position: relative;
  font-weight: 700;
}

h1[id*="-heading"]:after,
h2[id*="-heading"]:after,
p.order-heading:after {
  content: "";
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0) 25%, rgba(255, 153, 51, 1) 25%, rgba(255, 153, 51, 1) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, rgba(255, 153, 51, 1) 75%, rgba(255, 153, 51, 1));
  background-size: 8px 9px;
  display: block;
  position: relative;
  right: 0;
  bottom: -8px;
  left: 0;
  margin: 0 auto;
  height: 8px;
  width: 40vw;
  max-width: 150px;
}

.order h2[id*="-heading"],
.order p.order-heading,
.order p {
  color: #fff;
}

h3.s-heading {
  display: flex;
  align-items: center;
  justify-content: center;
}

h3.s-heading:before,
h3.s-heading:after {
  border-top: 3px solid #ff9124;
  content: "";
  width: 25px;
}

h3.s-heading:before {
  margin-right: 10px;
}

h3.s-heading:after {
  margin-left: 10px;
}

.st-box h3 {
  margin-top: 0 !important;
}

dt.ttl {
  font-size: 18px;
  position: relative;
  display: block;
  padding: 5px 0 5px 1.3em;
}

dt.ttl:before {
  position: absolute;
  top: calc(50% - 2px);
  width: 1em;
  content: '';
  border-top: solid 2px #ff9124;
  left: 0;
}

.c-list>ul {
  max-width: 500px;
  background: #f0f0f1;
  border-radius: 8px;
  padding: 0.5em 0.5em 0.5em 2em;
}

.c-list>li {
  line-height: 1.5;
  padding: 0.5em 0;
}

.mark {
  background: linear-gradient(transparent 50%, rgba(255, 241, 184, .8) 0);
}


/* コラム本文 */
.entry-content__text {
  margin-bottom: 1rem;
}

.entry-content__text h2 {
  font-size: 1.5rem !important;
  font-weight: bold;
  line-height: inherit;
  color: #333;
  vertical-align: middle;
  background-color: #fdde89;
  margin-left: auto;
  padding: 1.25rem 0.25em 0.8rem 1rem !important;
  margin-top: 3.5rem;
  border-radius: 4px;
}

.entry-content__text h3 {
  line-height: inherit;
  color: #333;
  font-size: 20px;
  font-weight: bold;
  vertical-align: middle;
  padding: 0.25em 1em;
  border-bottom: 2px solid #ff5e00;
  position: relative;
  margin-top: 3rem;
}

.entry-content__text h3::before {
  background-color: #ff5e00;
  border-radius: 10px;
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
}

.entry-content__text h4 {
  border-bottom: 2px dotted #ff5e00;
  padding-bottom: 0.5rem;
  margin-top: 2.5rem;
}

.entry-content__text h5 {
  font-size: 1rem;
  color: #ff5e00;
}

.last-cols {
  margin-bottom: 2.5rem;
}

/* オーサー */
.author-box.img-l {
  max-width: 900px;
  margin: auto;
  border-radius: 20px 20px 0px 0px;
}

.author-box {
  background-color: rgba(33, 37, 41, 0.05);
  padding: 1.5rem !important;
}

.author-box span.name {
  font-size: 1.3em;
  font-weight: bold;
}

.author-box .cont p:first-child {
  border-bottom: dashed 2px #c1c1c1;
}

.author-box .image img {
  background: #fff;
  border-radius: 50%;
  width: 30%;
}

.author-img {
  padding-top: 0% !important;
}

/* 下層ページ */
#mainImg.lower-bil {
  background-color: #caba9e;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, #ddd8cf 3px, #ddd8cf 4px);
  padding: 2em;
}

#mainImg.lower-bil h1 {
  margin-bottom: 0;
  color: #fff;
  text-shadow: 2px 2px 5px #333;
}

/* 基本パーツ */

.catch {
  margin-top: 1.5em !important;
}

.txt-r {
  text-align: right;
}

.txt-l {
  text-align: left;
}

#content .txt850 {
  margin-right: auto;
  margin-left: auto;
  margin-top: 1.5em;
  max-width: 850px;
  word-break: normal;
  line-break: strict;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

p.indent+p.indent {
  margin-top: 0;
}

.img-c {
  display: block;
  clear: both;
  text-align: center;
}

.accent {
  font-weight: bold;
}

.deco {
  color: #f43010;
  font-weight: bold;
}

.deco-or {
  color: #ff9124;
  font-weight: bold;
}

.marker-red {
  background: -webkit-linear-gradient(top, transparent 60%, #ff6666 60%, #ff6666 100%);
  background: linear-gradient(transparent 60%, #e7b9be 60%, #ff6666 100%);
}

.marker-pink {
  background: -webkit-linear-gradient(top, transparent 60%, #ff99cc 60%, #ff99cc 100%);
  background: linear-gradient(transparent 60%, #ffdfef 60%, #ff99cc 100%);
}

.marker-yellow {
  background: -webkit-linear-gradient(top, transparent 60%, #ffff00 60%, #ffff00 100%);
  background: linear-gradient(transparent 60%, #ffffbc 60%, #ffff00 100%);
}

.marker-green {
  background: -webkit-linear-gradient(top, transparent 60%, #33cc33 60%, #33cc33 100%);
  background: linear-gradient(transparent 60%, #c5ffbc 60%, #33cc33 100%);
}

.marker-blue {
  background: -webkit-linear-gradient(top, transparent 60%, #66ccff 60%, #66ccff 100%);
  background: linear-gradient(transparent 60%, #cce5ff 60%, #66ccff 100%);
}

.img-r .image,
.img-l .image {
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  padding-top: 1.6em;
  width: 80%;
}

#content .more {
  text-align: center;
}

#content .more a {
  background: #ff9124;
  border-radius: 25px;
  -webkit-box-shadow: unset;
  box-shadow: unset;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  padding: 0.5em 2em;
  position: relative;
  box-shadow: 0 3px 5px rgb(0 0 0 / 25%);
}

#content .more a:hover {
  background: #ffa44a;
  text-decoration: none !important;
  box-shadow: none;
  transition: 0.3s;
  transform: scale(0.99, 0.99) translateY(2px);
}

.sbtitle {
  cursor: pointer;
}

.cl-letter:after {
  content: "続きを読む";
  margin-left: 0.5em;
}

.cl-letter {
  border: 1px solid #ccc;
  background: #efeeee;
  border-radius: 15px;
  color: #999;
  display: block;
  font-size: 12px;
  height: auto;
  margin: 20px auto;
  outline: 0;
  overflow: inherit;
  padding: 3px 10px;
  width: 50%;
}

.cl-letter:hover,
.cl-letter:focus {
  background: #efeeee;
}

.cl-letter.open:after {
  content: "閉じる";
}

.cl-letter.open i {
  transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
}

.cl-letter+* {
  margin-top: 3em;
}

.hide-text {
  display: none;
}

/* パンくず */
#breadcrumb {
  text-shadow: 1px 1px 0 #fcf9f2, -1px -1px 0 #fcf9f2,
    -1px 1px 0 #fcf9f2, 1px -1px 0 #fcf9f2,
    0px 1px 0 #fcf9f2, 0 -1px 0 #fcf9f2,
    -1px 0 0 #fcf9f2, 1px 0 0 #fcf9f2 !important;
}

/* ふきだし */

.fkds {
  display: flex;
  align-items: center;
  justify-content: center;
}

.fkds:before {
  content: "";
  width: 20px;
  height: 25px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2246.437%22%20height%3D%2264.03%22%20viewBox%3D%220%200%2046.437%2064.03%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20%23ff9124%3B%0A%20%20%20%20%20%20%20%20fill-rule%3A%20evenodd%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cpath%20id%3D%22%E4%B8%89%E8%A7%92%E5%BD%A2_1508%22%20data-name%3D%22%E4%B8%89%E8%A7%92%E5%BD%A2%201508%22%20class%3D%22cls-1%22%20d%3D%22M626.017%2C5587.69l-46.41-56.73%2C10.752-7.3Z%22%20transform%3D%22translate(-579.594%20-5523.66)%22%2F%3E%0A%3C%2Fsvg%3E%0A');
}

.fkds:after {
  content: "";
  width: 20px;
  height: 25px;
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotateY(180deg);
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2246.437%22%20height%3D%2264.03%22%20viewBox%3D%220%200%2046.437%2064.03%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20%23ff9124%3B%0A%20%20%20%20%20%20%20%20fill-rule%3A%20evenodd%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cpath%20id%3D%22%E4%B8%89%E8%A7%92%E5%BD%A2_1508%22%20data-name%3D%22%E4%B8%89%E8%A7%92%E5%BD%A2%201508%22%20class%3D%22cls-1%22%20d%3D%22M626.017%2C5587.69l-46.41-56.73%2C10.752-7.3Z%22%20transform%3D%22translate(-579.594%20-5523.66)%22%2F%3E%0A%3C%2Fsvg%3E%0A');
}

/* 影ストライプ箱 */

.st-box {
  position: relative;
  max-width: 920px;
  padding: 1.2em;
  margin: 20px auto;
  background-color: #fff;
  z-index: 1;
}

.st-box.st-box-o {
  background-color: #fcf9f2;
}

.st-box:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 7px;
  bottom: -7px;
  left: 7px;
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0) 25%, rgba(255, 209, 23, 1) 25%, rgba(255, 209, 23, 1) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, rgba(255, 209, 23, 1) 75%, rgba(255, 209, 23, 1));
  background-size: 5px 5px;
}

.st-box:after {
  content: "";
  position: absolute;
  width: 7px;
  height: calc(100% - 7px);
  top: 7px;
  right: -7px;
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0) 25%, rgba(255, 209, 23, 1) 25%, rgba(255, 209, 23, 1) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, rgba(255, 209, 23, 1) 75%, rgba(255, 209, 23, 1));
  background-size: 5px 5px;
}

/* カテゴリーのまとめdt */
.matome dt {
  border-left: 4px solid #ff9124;
  padding-left: 0.6em;
  margin-bottom: 1em;
  margin-left: 0.6em;
  font-size: 16px;
}

/* 目次プラグイン */
div#toc_container {
  margin: 0 auto 3em;
  max-width: 1000px;
  padding: 20px;
  table-layout: fixed;
  width: 100%;
}

#main #toc_container .toc_title {
  font-weight: normal;
}

#toc_container .toc_list>li {
  counter-increment: li;
  font-size: 14px;
  font-size: 0.85rem;
  line-height: 1.8;
  margin-left: 40px;
  position: relative;
}

#toc_container .toc_list>li:after {
  background: none;
  content: "0" counter(li) " |";
  left: -2em;
  letter-spacing: -1px;
  position: absolute;
  top: -1px !important;
}

#toc_container .toc_list>li:nth-of-type(9)~li:after {
  content: counter(li) " |";
}

div#toc_container.contracted {
  max-width: 200px;
  padding: 10px;
  width: 100% !important;
}

#toc_container .toc_list li a {
  color: #000;
}

#toc_container .toc_list li a:hover {
  color: #ee7800;
}

#content div#toc_container {
  /*background-color: #C5C5C5;*/
  max-width: 100vw;
  border: none;
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0) 25%, rgba(255, 209, 23, 1) 25%, rgba(255, 209, 23, 1) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, rgba(255, 209, 23, 1) 75%, rgba(255, 209, 23, 1));
  background-size: 5px 5px;
}

#content div#toc_container:not(.contracted) {
  /*border-top: solid #C5C5C5;
  border-width: 2.5em 2em;*/
  padding: 3em 1em 1em;
}

#main #toc_container .toc_title,
#toc_container a {
  color: #333;
  text-shadow: 1px 1px 0px #ffffff, -1px 1px 0px #ffffff, 1px -1px 0px #ffffff, -1px -1px 0px #ffffff, 1px 0px 0px #ffffff, 0px 1px 0px #ffffff, -1px 0px 0px #ffffff, 0px -1px 0px #ffffff
}


#content div#toc_container:not(.contracted) p.toc_title {
  position: relative;
  top: -2.5em;
  text-align: center;
  font-weight: bold;
}

#main #toc_container .toc_title:before,
#main #toc_container .toc_title:after {
  background: none;
}

#content div#toc_container:not(.contracted) ul.toc_list {
  margin-top: -2em;
  background-color: #fff;
  padding: 2em 1em;
  margin-bottom: 1em;
  border-radius: 20px;
}

/* 問い合わせ */

.outer.order {
  background-image: url(../img/contents/order-bg-l.png);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: auto 100%;
}

.order .order-bnr p img {
  padding-top: 1em;
  padding-bottom: 1em;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.order .order-bnr ul {
  list-style: none;
  margin: 0 auto;
  max-width: 810px;
  display: flex;
  justify-content: space-evenly;
}

.order .order-bnr ul li {
  margin: 1em 0.4em;
}

/* サービス紹介 */

.serv-cont {
  position: relative;
  margin-top: 3em !important;
}

.serv-cont:before {
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 38%;
  display: block;
}

.serv-cont:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 250px;
  background-size: contain;
  background-repeat: no-repeat;
}

.serv1:after {
  background-image: url(../img/contents/service-fukikae.jpg);
}

.serv2:after {
  background-image: url(../img/contents/service-amamori.jpg);
}

.serv3:after {
  background-image: url(../img/contents/service-tosou.jpg);
}

.serv4:after {
  background-image: url(../img/contents/service-amadoi.jpg);
}

.serv5:after {
  background-image: url(../img/contents/service-drone-sp.jpg);
}

.serv-dtl.st-box {
  margin-top: -20px;
  width: 92%;
  padding: 1em;
}

.serv-dtl dd {
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 0;
}

.serv-dtl dd p {
  margin-top: 1em;
}

/* 選ばれる理由 */

section[id$="reason"] ul.reason-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
}

section[id$="reason"] .reason-list li {
  list-style: none;
  margin-right: 1%;
  margin-left: 1%;
  width: 48%;
  max-width: 308px;
  padding-bottom: 0.3em;
}

/* 対応エリア */
section[id$="support"] h2::after {
  background-image: inherit;
}

section[id$="support"] div.immediately {
  background-color: #fcf9f2;
  padding: 2em;
  text-align: center;
  margin-top: 1em;
}

section[id$="support"] div.immediately p {
  margin-top: 0.6em !important;
}

section[id$="support"] div.immediately p.fkds {
  font-weight: 700;
}

section[id$="support"] .support-area dl dt.sbtitle {
  font-size: 16px;
  padding-bottom: 0.6em;
  border-bottom: 1px dotted #ff9124;
  position: relative;
}

section[id$=support] .support-area dl dt.sbtitle:after {
  font-family: "Font Awesome 5 free";
  font-weight: 900;
  content: "\f107";
  color: #ff9124;
  display: block;
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  height: 1em;
  width: 1em;
}

section[id$=support] .support-area dl dt.open:after {
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

.scroll-area {
  overflow-y: auto;
  height: 100px;
  background-color: #fcf9f2;
  padding: 0.5em;
  margin: 0.5em 0;
  border: 1px solid #ff9124;
}

section[id$="support"] .support-area dl dd ul {
  display: flex;
  flex-wrap: wrap;
}

section[id$="support"] .support-area dl dd ul li {
  list-style: none;
  padding: 0.2em 0.4em;
}

/* 流れ */
.flow ul {
  list-style: none;
}

ul.flow-muryo li:nth-child(3) {
  width: 100%;
  text-align: center;
  background-color: #009d89;
  color: #fff;
  margin-top: 1em;
  padding: 0.5em;
  font-size: 16px;
}

.flow-img {
  text-align: center;
}

.flow-ttl {
  font-weight: 700;
  position: relative;
  display: block;
  padding: 10px 0 10px 1.5em;
}

.flow-ttl:before {
  position: absolute;
  top: calc(50% - 2px);
  width: 1em;
  content: '';
  border-top: solid 2px #ff9124;
  left: 0;
}

/* 作業事例（スワイパー） */

.results-withumb ul li.st-box {
  list-style: none;
  background-color: #fcf9f2;
  padding: 0;
  margin-top: 15px;
  margin-bottom: 15px;
}

.results-withumb ul li a {
  display: block;
  line-height: 1.5em;
}

.results-withumb ul li .genre {
  display: inline-block;
  width: 100%;
  background-color: #ff9124;
  color: #fff;
  text-align: center;
}

.results-withumb ul li .pict {
  text-align: center;
}

.results-withumb ul li .pict img {
  aspect-ratio: 7/4;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 200px;
}

#results .results-withumb ul li a .title,
section[id*="results"] .results-withumb ul li a .title {
  text-decoration: underline !important;
}

#results .results-withumb ul li a .title:hover,
section[id*="results"] .results-withumb ul li a .title:hover {
  color: #005fb3;
}

.results-withumb ul li .title {
  margin: 0.5em 0.5em;
}

.results-withumb ul li .status {
  margin: 0.5em 0.5em 0;
  font-size: 0.8em;
  display: inline-block;
}

.results-withumb ul li .status .type {
  color: #666;
  border-left: 5px #666 solid;
  display: inline-block;
  line-height: 1.5em;
  padding-left: 0.7em;
}

.post-wrap .status .area-name {
  display: flex;
  gap: 0.5rem;
}

.results-withumb ul li .date {
  font-size: 0.8em;
  margin-top: 0.5em;
  padding: 0 0 0 0.7em;
  display: inline-block;
}

.results-withumb ul li .material {
  margin-right: 0.5em;
  margin-left: 0.7em;
  padding-bottom: 0.7em;
  font: 0.8em sans-serif;
}

.results-withumb ul li .material span {
  margin-right: 0.5em;
  border-left: 3px solid #ff9124;
  padding-left: 0.3em;
  color: #ff9124;
}

.results-withumb ul li div:empty {
  display: none;
}

.post-wrap ul li a:hover {
  text-decoration: underline !important;
}


.swiper-slide .post-wrap {
  padding: 20px;
}

.swiper-slide .post-wrap .post-wrap__top {
  display: flex;
}

.jirei .swiper-wrapper {
  margin-bottom: 3rem;
}

.jirei .swiper-wrapper .swiper-slide {
  height: auto;
  padding: 0;
}





/* 豆知識（サムネイル表示） */
.column .column-posts {
  margin: 0 0 3rem;
}

.column-posts li {
  list-style: none;
}

.column-posts li .pict {
  text-align: center;
}

.column-posts li .title {
  padding: 0 0 10px;
}

.column-posts li .ex {
  font-size: 0.8em;
}

/* 豆知識（スワイパー） */
.column ul.swiper-wrapper {
  margin-bottom: 3rem;
}

.column li.swiper-slide {
  list-style: none;
  background-color: #fff;
  border-radius: 5px;
  height: auto;
  position: relative;
}

.column img {
  width: 100%;
  height: 10rem !important;
  border-radius: 5px 5px 0 0;
  object-fit: cover;
}

.column .title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 1rem !important;
  height: 3rem;
  padding: 0;
  font-size: 1.2rem !important;
  text-align: left !important;
}

.column .column-cate-wrap {
  position: absolute;
  top: 0;
  left: 0;
}

.column .column-cate {
  display: inline-block;
  padding: 2px 8px;
  background: #ff9124;
  border-radius: 5px;
  position: relative;
}

.column .column-cate a {
  color: #fff !important;
  font-size: 12px;
}

.column .column-cate a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.column .ex {
  margin: 1rem;
}


/* よくある質問 */


.qa dl dt {
  background: rgba(255, 255, 255, 0.8);
  border-bottom: 1px #cccdcf solid;
  margin-bottom: 0.5em;
  padding-top: 1em;
  padding-right: 1em;
  padding-bottom: 0.5em;
  position: relative;
}

.qa dl dt:after {
  font-family: "Font Awesome 5 free";
  font-weight: 900;
  content: "\f107";
  color: #7c7d7f;
  display: block;
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  height: 1em;
  width: 1em;
}

.qa dl dt.open:after {
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

.qa dl dd {
  background: rgba(255, 255, 255, 0.8);
  margin: 0 0 1em;
  padding-top: 0.5em;
  padding-right: 0;
  padding-bottom: 1em;
}



/* フッターの上の表示枠 */
div.f-box {
  display: none;
}



/* フッターの会社情報 */
.site-footer .widget-column.footer-widget-2 {
  line-height: 1.4em;
  background-color: #ffedc4;
  padding: 2em 1em 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
  display: block;
}

.site-footer .widget-column.footer-widget-2 p,
.site-footer .widget-column.footer-widget-2 li {
  margin-bottom: 0.5em;
}

.site-footer .widget-column.footer-widget-2 li {
  padding: 0;
}

/* 料金表 */
table.cost-table {
  width: 100%;
  border-collapse: collapse;
  border: solid 1px #ccc;
  margin: 0 20px 15px 0;
  box-sizing: border-box;
  table-layout: fixed;
}

table.cost-table caption {
  font-weight: bold;
  line-height: 1.2em;
  padding-left: 0.6em;
  border-left: 4px solid #ff9124;
  text-align: left;
  margin-bottom: 0.4em;
}

table.cost-table th {
  background-color: #ffe8be;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, #fff 3px, #fff 4px);
  padding-right: 0;
  padding-left: 0;
  font-weight: bold;
  text-align: center;
  border: solid 1px #ccc;
}

table.cost-table td {
  background-color: #fff;
  text-align: center;
  padding-right: 0;
  padding-left: 0;
  border: solid 1px #ccc;
  line-height: 1.6em;
  vertical-align: middle;
}

/* コラム */
.entry-content__text a {
  color: #1558d6;
}

.entry-content__text li {
  list-style-position: inside;
}

/* リンクカード関連記事 */
.my-card {
  position: relative;
  box-shadow: 0 0 5px #888888;
  margin: 0 0 2rem;
  padding: 1rem;
  overflow: hidden;
  display: flex;
  align-items: center;
  border: solid 3px #FF9124;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.my-card:hover {
  opacity: 0.6;
  filter: brightness(110%);
}

.my-card-title {
  font-size: 1rem;
  font-weight: bold;
  margin-left: 20px;
  color: #555555;
}

.my-card-title:before {
  position: absolute;
  content: "関連記事";
  display: inline-block;
  text-align: center;
  background: #FF9124;
  color: #fff;
  letter-spacing: 3px;
  top: 0;
  right: 0;
  min-width: 4rem;
  font-size: 14px;
  line-height: 1.3rem;
  padding-left: 5px;
  border-radius: 0;
  height: 1.3rem;
}

img.attachment-related-thumb.size-related-thumb.wp-post-image {
  width: 140px;
  height: 100px;
  object-fit: cover;
}

/* 投稿（column用） */
.column-post {
  margin-top: 3rem;
}


/* エリアページ助成金セクション（エリアのcssの場所がわかればそっちに移して欲しい） */
.outer .st-box .subsidy-text {
  overflow-y: scroll;
  height: 9rem;
}

.results-detail {
  display: flex;
  justify-content: space-between;
  margin: 0 0 1.5rem;
}

.results-detail th {
  padding-right: 1.5rem;
}

.results-detail__img {
  text-align: center;
}

.results-detail__description {
  padding: 1.5rem;
  max-width: 100vw;
  border: none;
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0) 25%, rgba(255, 209, 23, 1) 25%, rgba(255, 209, 23, 1) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 75%, rgba(255, 209, 23, 1) 75%, rgba(255, 209, 23, 1));
  background-size: 5px 5px;
}

.results-detail__description p {
  margin: 0 !important;
  background-color: #fff;
  padding: 1rem;
}


@media(max-width: 576px) {
  .results-detail {
    display: block;
  }

  .results-detail__img {
    margin: 0 0 1.5rem;
  }
}

/* --------------------------------------------------------------------------------------------------------
   01
 *
 * 幅 768px 未満 ( スマホの時だけ適用されるスタイル )
 */
@media (max-width: 767px) {


  /* フォントサイズと行送り */
  body {
    font-size: 15px;
    line-height: 1.5;
  }

  .box p {
    margin-top: 1.78em;
    text-align: center;
  }

  h1,
  h1 span,
  h2,
  p.order-heading {
    font-size: 22px;
    line-height: 1.25;
  }

  .box h3 {
    font-size: 18px;
    line-height: 1.25;
    margin-top: 1.5em;
  }

  .box h4 {
    font-size: 16px;
    line-height: 1.25;
  }

  dl dt {
    font-size: 18px;
    line-height: 1.25;
  }

  /* 問い合わせ */

  .order .order-bnr p img {
    width: 90%;
    max-width: 476px;
  }

  /* 選ばれる理由 */

  .outer.reason {
    background-image: url(../img/contents/reason-bg-r.png);
    background-size: auto 30%;
    background-repeat: no-repeat;
    background-position: right 0 bottom;
  }

  section[id$="reason"] .reason-list li {
    text-align: center;
  }

  section[id$="reason"] .reason-list li img {
    width: 90%;
  }

  /* 施工事例（サムネイル表示） */
  .results .st-box:after {
    width: 5px;
    right: -5px;
  }

  .results .st-box:before {
    height: 5px;
    bottom: -5px;
    left: 5px;
  }

  .results-withumb ul li .title {
    margin: 0 0.5em 0.5em 0.5em;
  }

  .results-withumb ul li .status {
    margin-top: 0;
  }

  .results-withumb ul li .date {
    padding: 0 0.5em 0;
  }

  .results-withumb ul li .material {
    margin-left: 0.5em;
  }

  /* 豆知識（サムネイル表示） */
  .column-posts li {
    clear: both;
    border-bottom: 1px #CCC solid;
    padding-bottom: 1em;
  }

  .column-posts li .pict {
    float: left;
    width: 80px;
  }

  .column-posts li .title {
    margin-left: 100px;
  }

  .column-posts li .ex {
    clear: both;
    padding-top: 5px;
  }

  /* コラム記事 */
  /* リンクカード関連記事 */
  .my-card {
    padding: 2rem 1rem 5px;
  }

  .my-card-title {
    font-size: 0.8rem;
  }

  .my-card-title:before {
    top: 0;
    left: 0;
    display: inline-block;
    height: 1.5rem;
    text-align: center;
    min-width: 100%;
    font-size: .7rem;
    line-height: 20px;
    letter-spacing: 1px;
    padding-left: 0;
  }

}

/* End max 767px */



/* --------------------------------------------------------------------------------------------------------
   02
 *
 * 幅 480px 以上
 */
@media (min-width: 30em) {

  /* ここにスタイル */

}

/* End min 480px*/



/* --------------------------------------------------------------------------------------------------------
   03
 *
 * 幅 768px 以上 ( PCの時だけ適用されるスタイル )
 */
@media (min-width: 48em) {



  /* フォントサイズと行送り */
  body {
    font-size: 18px;
    line-height: 1.5;
  }

  .box p {
    margin-top: 1.8em;
    text-align: center;
  }

  h1 {
    font-size: 40px;
    line-height: 1.2;
  }

  h1 span {
    font-size: 40px;
  }

  body:not(.has-sidebar) h2,
  body:not(.has-sidebar) p.order-heading {
    font-size: 40px;
    line-height: 1.2;
  }

  body:not(.has-sidebar) h2 span,
  body:not(.has-sidebar) p.order-heading span {
    font-size: 40px;
  }

  body.has-sidebar h2,
  body.has-sidebar p.order-heading {
    font-size: 24px;
    line-height: 1.08;
  }

  body:not(.has-sidebar) .box h3 {
    font-size: 26px;
    line-height: 1.25;
    margin-top: 1.6em;
    text-align: center;
  }

  body.has-sidebar .box h3 {
    font-size: 18px;
    margin-top: 1.6em;
  }

  .box h4 {
    font-size: 18px;
    line-height: 1.25;
  }

  dl dt {
    line-height: 1.25;
  }

  dt.ttl {
    font-size: 26px;
    padding: 10px 0 10px 1.3em;
  }


  /* 見出しデザイン */
  h2[id*="-heading"],
  p.order-heading {
    text-align: center;
  }

  #mainImg.lower-bil {
    padding: 3em;
  }


  /* 基本パーツ */
  .txt-c {
    text-align: center;
  }

  .img-r,
  .img-l {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
  }

  .img-r {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .img-r .image,
  .img-l .image {
    margin: 0 0 1.5em;
    width: 35%;
  }

  .img-r .cont,
  .img-l .cont {
    width: 60%;
  }

  .cl-letter {
    display: none;
  }

  .cl-letter+* {
    margin-top: 0;
  }

  .hide-text {
    display: block;
  }

  .catch {
    text-align: center;
    margin-right: auto !important;
    margin-left: auto !important;
    max-width: 850px;
    margin-top: 2.5em !important;
  }

  #content .txt850 {
    margin-top: 2.5em;
  }

  /* レスポンシブイメージ */
  .box .pict img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }

  /* 影ストライプ箱 */

  .st-box {
    padding: 2em;
    margin: 40px auto;
  }

  .st-box:before {
    width: 100%;
    height: 10px;
    bottom: -10px;
    left: 10px;
  }

  .st-box:after {
    width: 10px;
    height: calc(100% - 10px);
    top: 10px;
    right: -10px;
  }

  /* カテゴリーのまとめdt */
  .matome dt {
    font-size: 24px;
  }

  /* 目次プラグイン */
  #toc_container .toc_list {
    width: 100%;
  }

  #toc_container .toc_list>li {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.556;
    display: inline-block;
    margin: 0 0 0.5em 5%;
    padding-left: 2em;
    width: 45%;
  }

  #toc_container .toc_list>li:after {
    left: 0;
  }

  #toc_container .toc_list>li:first-child,
  #toc_container .toc_list>li:nth-child(2n+1) {
    margin-left: 0;
  }

  #content div#toc_container:not(.contracted) ul.toc_list {
    max-width: 1320px;
    margin-right: auto;
    margin-left: auto;
    padding: 2em;
  }

  #content div#toc_container:not(.contracted) ul.toc_list li {
    vertical-align: top;
    width: 47%;
  }

  /* 問い合わせ */
  .outer.order {
    padding-bottom: 60px !important;
  }

  /* サービス紹介 */

  .serv-cont.serv5 {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
  }

  .serv5:after {
    background-image: url(../img/contents/service-drone.jpg);
  }

  .serv-dtl.st-box {
    margin-top: -5%;
  }

  .serv5 .serv-dtl.st-box {
    margin-top: -17%;
  }

  /* 選ばれる理由 */

  .outer.reason {
    background-image: url(../img/contents/reason-bg.png);
    background-size: auto;
    background-repeat: no-repeat;
    background-position: center;
  }

  section[id$="reason"] ul.reason-list {
    justify-content: center;
    position: relative;
  }

  section[id$="reason"] ul.reason-list:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 35%;
    height: 50%;
    background-image: url(../img/contents/reason-bg-r.png);
    background-size: contain;
    background-repeat: no-repeat;
    right: -11%;
    bottom: -163px;
  }

  section[id$="reason"] .reason-list li {
    width: 30%;
    padding-bottom: 1em;
  }

  /* 対応エリア */

  .outer.support {
    background-image: url(../img/contents/area-bg.jpg);
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
  }

  section[id$="support"].support.box {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 1em;
  }

  section[id$="support"] .support-area dl dt.sbtitle {
    font-size: 18px;
  }

  section[id$="support"] h2 .support-title-image {
    width: 60%;
  }

  section[id$="support"] .support-area-box {
    justify-content: center;
    align-items: center;
  }

  section[id$="support"] .support-area-image {
    width: 38%;
    height: 100%;
  }

  section[id$="support"] .immediately-wrap {
    display: flex;
    align-items: center;
  }

  /* 流れ */

  .flow div ul {
    margin-top: 0;
  }

  .flow-ttl,
  .flow-txt {
    font-size: 16px;
    background-color: #fcf9f2;
  }

  /* 施工事例（サムネイル表示） */
  .results-withumb ul li.st-box {
    width: 30%;
    margin: 15px 0;
  }



  /* 豆知識（サムネイル表示） */
  .column-posts li .title {
    padding: 10px 0;
    height: 25%;
  }

  /* よくある質問 */
  .qa dl dt {
    padding-bottom: 1em;
  }

  .qa dl dd {
    padding-bottom: 2em;
  }

  /* フッターの上の表示枠 */
  div.f-box {
    display: block;
  }

  div.f-box h3 {
    text-align: center;
  }

  div.f-box .f-box-wrapper {
    padding: 16px;
  }

  div.f-box .f-box-inner {
    max-width: 1000px;
    margin: 0 auto;
  }

  /* フッターの上の表示枠内、対応エリア */
  div.f-box .taiou {
    background: #ddd8cf;
    padding: 1em 0 1px;
  }

  div.f-box .taiou p a {
    text-decoration: underline;
  }

  div.f-box .taiou ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  div.f-box .taiou ul li {
    list-style: none;
    padding: 0 1em;
  }

  div.f-box .taiou ul li a:after {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f105";
    display: inline-block;
    margin-left: 0.5em;
  }

  div.f-box .taiou ul li a:hover:after {
    color: #005fb3;
  }

  /* フッターの会社情報 */

  .site-footer .widget-column.footer-widget-2 {
    position: relative;
    margin-top: 2em;
  }

  .site-footer .widget-column.footer-widget-2:before {
    position: absolute;
    content: '';
    display: inline-block;
    width: 500px;
    height: 50px;
    background-image: url(../img/default/yane.png);
    background-size: cover;
    background-repeat: no-repeat;
    top: -50px;
    left: -14px;
  }

  /*料金表*/
  table.cost-table td {
    padding: 5px 10px;
  }
}

/* End min 768px */



/* --------------------------------------------------------------------------------------------------------
   04
 *
 * 幅 880px 以上
 */
@media (min-width: 55em) {

  /* ここにスタイル */

}

/* End min 880px */



/* --------------------------------------------------------------------------------------------------------
   05
 *
 * 幅 1072px 以上
 */
@media (min-width: 67em) {

  /* 流れ */
  .flow-ttl,
  .flow-txt {
    font-size: 18px;
  }
}

/* End min 1072px */



/* --------------------------------------------------------------------------------------------------------
   06
 *
 * 幅 1264px 以上
 */
@media (min-width: 79em) {

  /* 問い合わせ */

  .outer.order {
    background-image: url(../img/contents/order-bg-l.png), url(../img/contents/order-bg-r.png);
    background-repeat: no-repeat;
    background-position: left bottom, right 20px bottom -1px;
    background-size: auto 100%, 340px auto;
  }

  .column-post .outer.order {
    background-image: url(../img/contents/order-bg-l.png), none !important;
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: auto 100%
  }

  /* 選ばれる理由 */
  section[id$="reason"] ul.reason-list:after {
    width: 410px;
    height: 430px;
    right: -72px;
    bottom: -163px;
  }
}

/* End min 1264px */