@charset "utf-8";

body.service .pagewrap {
  padding-bottom: 0;
}

/* ヘルパークラス */
.hp_txt_sm {
  font-size: 1.2rem;
}

.hp_planTxt__sm {
  font-size: 1.4rem;
  font-weight: normal;
  margin-left: .2em;
}

.hp_txt_underline {
  text-decoration: underline;
}

/* common */
body.service {
  color: #000;
}

.container {
  max-width: 1110px;
  padding: 0 15px;
  margin: 0 auto;
}

main a {
  color: #337ab7;
  text-decoration: none;
}

main a:focus {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

@media all and (-ms-high-contrast: none) {
  /* IEのみ */
  img {
    width: 100%;
  }
}

main img:hover {
  opacity: 1 !important;
}

.pc_only {
  display: inline;
}

.sp_only {
  display: none;
}

/* メディア：基本 */
.bl_media {
  display: flex;
  max-width: 995px;
  margin: 0 auto;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  min-height: 264px;
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
  .bl_media {
    min-height: auto;
  }
}

.bl_media:not(:last-child) {
  margin-bottom: 35px;
}

.bl_media_imgWrapper {
  flex: 0 1 36.482412%;
  background-size: cover;
}

.bl_media_body {
  flex: 1;
  display: flex;
  align-items: center;
  text-align: left;
  padding: 20px 4.444%;
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
  .bl_media_body {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.bl_media_body_inner > *:last-child {
  margin-bottom: 0;
}

.bl_media_ttl {
  font-size: 2.6rem;
  font-weight: 600;
  margin: 0;
}

.bl_media_txt {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 22px;
  margin-bottom: 0;
}

.bl_media_btn {
  position: relative;
  display: block;
  width: 170px;
  padding: 10px;
  text-align: center;
  background-color: #18B7CD;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  margin-top: 16px;
  margin-left: auto;
  transition: .2s;
}

.bl_media_btn::after {
  content: '';
  position: absolute;
  top: 50%;
  right: .85em;
  display: inline-block;
  width: .4em;
  height: .4em;
  border-top: .125em solid #fff;
  border-right: .125em solid #fff;
  transform: rotate(45deg) translateY(-50%);
}

.bl_media_btn:hover {
  text-decoration: none;
  color: #fff;
  background-color: #003044;
  transform: translateY(-3px);
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
}

/* メディア：サービスページ */
.bl_media__md {
  background-color: #F8F8F8;
  min-height: 230px;
  box-shadow: none;
  border: 1px solid #d8d8d8;
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
  .bl_media__md {
    min-height: auto;
  }
}

.bl_media__md .bl_media_ttl {
  font-size: 2.2rem;
  line-height: 1.5;
}


/* セクション：基本 */

.ly_section {
  padding: 80px 0;
  text-align: center;
}

.el_lv2Heding_secTtl {
  font-size: 3.4rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
}

.el_lv2Heding_secTtl > span {
  position: relative;
  display: inline-block;
}

.el_lv2Heding_secTtl > span::after {
  content: '';
  position: absolute;
  bottom: -30px;
  left: 50%;
  width: 80px;
  height: 6px;
  border-radius: 4px;
  background-color: #18B7CD;
  transform: translateX(-50%);
}

.el_sectxt {
  margin-top: 74px;
  margin-bottom: 55px;
  font-size: 1.6rem;
  line-height: 2;
}

/* セクション：下層ページトップ下 */
.ly_section.topUnderSection {
  padding-top: 70px;
  padding-bottom: 70px;
}

.bl_topUnderSectionWrapper {
  display: flex;
  align-items: center;
}

.bl_topUnderSection_mv {
  width: 47.22%;
  margin-right: 5.56%;
}

.bl_topUnderSection_txtArea {
  flex: 1;
  text-align: left;
}

.bl_topUnderSection_ttl {
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.44;
  margin: 0;
}

.bl_topUnderSection_txt {
  margin: 28px 0 0;
  font-size: 1.6rem;
  line-height: 2;
  color: #313131;
}

.bl_topUnderSection_list {
  margin: 28px 0 0;
  font-size: 1.6rem;
  color: #313131;
}

.bl_topUnderSection_list_item {
  display: flex;
  line-height: 1.5;
}

.bl_topUnderSection_list_item::before {
  content: '\f00c';
  margin-right: .5em;
  font-family: "FontAwesome";
  color: #d96500;
}

.bl_topUnderSection_list_item > .checkmark {
  margin-right: .35em;
}

.bl_topUnderSection_list_item:not(:last-child) {
  margin-bottom: 16px;
}

/* セクション：背景カラー */
.ly_section.ly_section__bgColor {
  color: #fff;
}

.ly_section__bgColor .el_lv2Heding_secTtl > span::after {
  background-color: #fff;
}

/* セクションエンドボタン */
.bl_sectionBtn_area {
  margin-top: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.el_secEndBtn {
  display: inline-block;
  width: 375px;
  max-width: 100%;
  border: 2px solid transparent;
  border-radius: 40px;
  text-align: center;
  padding: 22px 10px;
  font-size: 1.8rem;
  font-weight: 600;
  transition: .2s;
}

.el_secEndBtn:hover {
  text-decoration: none;
}

.el_secEndBtn__contact {
  background-color: #fff;
  margin-right: 40px;
}

.el_secEndBtn__contact:hover {
  background-color: transparent;
  border-color: currentColor;
  color: #fff;
}

.el_secEndBtn__contact.habitat {
  color: #399206;
}

.el_secEndBtn__contact.habitat:hover {
  color: #fff;
  border-color: currentColor;
}

.el_secEndBtn__contact.environmental {
  color: #0080ff;
}

.el_secEndBtn__contact.environmental:hover {
  color: #fff;
  border-color: currentColor;
}

.el_secEndBtn__contact.trailcamera {
  color: #D96500;
}

.el_secEndBtn__contact.trailcamera:hover {
  color: #fff;
  border-color: currentColor;
}

.el_secEndBtn__document {
  border-color: currentColor;
  color: #fff;
}

.el_secEndBtn__document:focus {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
  text-decoration: none;
}

.el_secEndBtn__document:hover {
  background-color: #fff;
  border-color: transparent;
}

.el_secEndBtn__document.habitat:hover {
  color: #399206;
}

.el_secEndBtn__document.environmental:hover {
  color: #0080ff;
}

.el_secEndBtn__document.trailcamera:hover {
  color: #D96500;
}

/* CTA：基本 */
.ly_cta {
  position: relative;
  padding: 60px 0;
  color: #fff;
  text-align: center;
  background-size: cover;
  background-position: center bottom;
}

.ly_cta::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .4);
  z-index: 0;
}

.bl_cta_inner {
  position: relative;
  z-index: 1;
}

.el_lv2Heding_ctaTtl {
  font-size: 3.4rem;
  font-weight: 600;
  margin: 0;
}

.el_ctatxt {
  margin: 25px 0 0;
  font-size: 1.6rem;
  line-height: 1.8;
}

/* 三角矢印 */
.el_triangle {
  margin: 35px auto;
  width: 0;
  height: 0;
  border-left: 55px solid transparent;
  border-right: 55px solid transparent;
  border-top: 40px solid transparent;
}

.el_triangle__green {
  border-top-color: #399206;
}

.el_triangle__white {
  border-top-color: #fff;
}

/* アイコン付きカード：共通 */
.bl_iconLeftCard_list {
  display: flex;
  flex-wrap: wrap;
}

.bl_iconLeftCard {
  display: flex;
  background-color: #fff;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .16);
  border-radius: 8px;
  color: #000;
  padding: 30px 35px;
}

.bl_iconLeftCard_iconArea {
  flex: 0 0 100px;
  margin-right: 33px;
}

.bl_iconLeftCard_num {
  width: 52px;
  margin: 0 auto 15px;
  background-color: #399206;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
}

.bl_iconLeftCard_textArea {
  text-align: left;
}

.bl_iconLeftCard_ttl {
  margin: 0;
  font-size: 2.2rem;
  font-weight: 600;
  padding-bottom: 9px;
  border-bottom: 1px solid #c6c6c6;
}

.bl_iconLeftCard_txt {
  margin: 20px 0 0;
  font-size: 1.4rem;
  line-height: 1.65;
}

/* アイコン付きカード：2カラム */
.bl_iconLeftCard_list__col2 {
  margin-bottom: -2.4074%;
}

.bl_iconLeftCard_list__col2 .bl_iconLeftCard {
  width: calc(100% / 2 - 2.4074% / 2);
  margin-bottom: 2.4074%;
}

.bl_iconLeftCard_list__col2 .bl_iconLeftCard:not(:nth-child(2n)) {
  margin-right: 2.4074%;
}

/* --------------------------------------- */
/* ICTトップページ */
/* --------------------------------------- */

/* ヒーロー：トップページ */

.bl_hero {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url('img/service/icttop_heroimg.jpg');
  background-position: center bottom;
  background-size: cover;
  height: 500px;
  color: #fff;
  text-align: center;
}

.bl_hero::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .5);
}

.bl_hero_inner {
  position: relative;
  z-index: 1;
  padding: 0 15px;
  margin-top: -35px;
}

.bl_hero_ttl {
  font-size: 5rem;
  font-weight: 600;
  line-height: 1.42;
  margin: 0;
  letter-spacing: .04em;
}

.bl_hero_txt {
  font-size: 1.8rem;
  line-height: 2;
  max-width: 27.8em;
  margin: 40px auto 0 auto;
}

/* ヒーロー：下層ページ */
.bl_hero.bl_hero__underlayer {
  height: 460px;
  text-align: left;
}

/* IEのみ対応 */
@media all and (-ms-high-contrast: none) {
  .bl_hero.bl_hero__underlayer {
    justify-content: flex-start;
  }
}

.bl_hero.bl_hero__underlayer::after {
  display: none;
}

.bl_hero__underlayer .bl_hero_inner {
  margin-top: 0;
}

.bl_hero__underlayer .bl_hero_ttl {
  font-size: 4.4rem;
}

.bl_hero__underlayer .bl_hero_ttl > span {
  display: block;
  font-size: 2.6rem;
}

.bl_hero__underlayer .bl_hero_txt {
  margin: 18px 0 0;
  font-size: 1.6rem;
}

/* 共通ボタン */
.el_btn {
  display: inline-block;
  margin-top: 48px;
  max-width: 100%;
  width: 270px;
  padding: 13px 10px 15px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  border-radius: 27px;
  transition: .2s;
}

.el_btn:hover {
  text-decoration: none;
  color: inherit;
  transform: translateY(-5px);
}

.el_btn.el_btn_green {
  background-color: hsl(98, 92%, 30%);
}

.el_btn.el_btn_green:hover {
  background-color: hsl(98, 92%, 35%);
}

.el_btn.el_btn_blue {
  background-color: hsl(210, 100%, 50%);
}

.el_btn.el_btn_blue:hover {
  background-color: hsl(210, 100%, 55%);
}

.el_btn.el_btn_orange {
  background-color: hsl(28, 100%, 43%);
}

.el_btn.el_btn_orange:hover {
  background-color: hsl(28, 100%, 48%);
}

.el_btn.el_btn_sky {
  background-color: hsl(187, 79%, 45%);
}

.el_btn.el_btn_sky:hover {
  background-color: hsl(187, 79%, 50%);
}


/* トップ：ページリンクナビ */
.bl_soluPageLink_list {
  display: flex;
  justify-content: space-between;
  margin-top: -35px;;
}

.bl_soluPageLink_list li {
  position: relative;
}

@media all and (-ms-high-contrast: none) {
  /* IEのみ対応 */
  .bl_soluPageLink_list li {
    width: calc(100% / 3);
  }
}

.bl_soluPageLink_list li:not(:last-child) {
  margin-right: 1.801802%;
}

.bl_soluPageLink_list li a {
  position: relative;
  background-color: #000;
  display: block;
  transition: .2s;
}

.bl_soluPageLink_list li a::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 10px;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border: 1px solid #fff;
  background: transparent;
  z-index: 2;
}

.bl_soluPageLink_imgWrapper {
  overflow: hidden;
}

.bl_soluPageLink_list li a:hover img {
  opacity: 1;
  transform: scale(1.15);
  opacity: .8;
  background-color: #000;
}

.bl_soluPageLink_imgWrapper img {
  width: 100%;
  transition: .3s;
}

.bl_soluPageLink_txtWrapper {
  position: absolute;
  width: 100%;
  text-align: center;
  color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.bl_soluPageLink_txt {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.45;
}

/* トップ：Youtube埋め込みメイン */
.bl_mv_wrapper.icttop {
  max-width: 835px;
  margin: 0 auto;
}

/* トップ：ソリューション紹介 */
.ly_section.solution {
  background-color: #F1F6F6;
}

.bl_media.seisokuiki .bl_media_imgWrapper {
  background-image: url('img/service/ictsol01_img.jpg');
  background-position: bottom;
}

.bl_media.syuuraku .bl_media_imgWrapper {
  background-image: url('img/service/ictsol02_img.jpg');
  background-position: bottom;
}

.bl_media.trail .bl_media_imgWrapper {
  background-image: url('img/service/ictsol03_img.jpg');
  background-position: bottom;
}

/* トップ：これまでの実績 */
.ly_performanceArea {
  max-width: 835px;
  margin: 0 auto;
}

.bl_tabNav_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.bl_tabNav_inner li {
  width: calc((100% - 8px * 4) / 5);
}

.bl_tabNav_inner li a {
  display: block;
  font-size: 1.6rem;
  padding: 8px 10px;
  border: 1px solid #DDDDDD;
  color: #C6C6C6;
  border-radius: 4px;
  transition: .15s;
}

.bl_tabNav_inner li a.is_active {
  color: #18b7cd;
  border-color: #18B7CD;
  background-color: #f1f6f6;
}

.bl_tabNav_inner li a:hover,
.bl_tabNav_inner li a:focus {
  text-decoration: none;
}

.bl_tabNav_inner li a:not(.is_active):hover {
  color: #18b7cd;
}

.bl_performanceTab_content {
  margin-top: 40px;
  text-align: left;
  /* position: relative; */
}

.bl_vertPosts {
  margin-bottom: 0;
  height: 290px;
  overflow-y: auto;
  position: relative;
}

.bl_vertPosts::after {
  content: '';
  position: -webkit-sticky;
  position: sticky;
  display: block;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 40px;
  background-image: linear-gradient(rgba(255, 255, 255, 0), #fff);
}


.bl_vertPosts_item:not(:last-child) {
  border-bottom: 1px solid #EBEBEB;
  padding-bottom: 14px;
}

/* .bl_vertPosts_item:not(:last-child) {
  margin-bottom: 18px;
} */

.bl_vertPosts_item {
  margin-bottom: 18px;
}

.bl_vertPosts_date {
  font-size: 1.6rem;
  color: #888888;
}

.bl_vertPosts_body {
  display: flex;
  align-items: center;
  margin-top: 5px;
}

.bl_vertPosts_place {
  flex: 0 0 77px;
  margin-right: 20px;
  text-align: center;
  background-color: #18B7CD;
  color: #fff;
  font-size: 1.2rem;
  padding: 3px 0;
  border-radius: 3px;
}

.bl_vertPosts_txt {
  margin: 0;
}


/* --------------------------------------- */
/* 生息域調査ページ */
/* --------------------------------------- */

.bl_hero__underlayer.habitat {
  background-image: url('img/service/ictsol01_heroimg_2.jpg');
  background-position: right bottom;
}

.ly_section__bgColor.habitat {
  background: rgb(57,146,6);
  background: linear-gradient(180deg, rgba(57,146,6,1) 0%, rgba(42,114,0,1) 100%);
}

.ly_section__habitat .el_lv2Heding_secTtl > span::after {
  background-color: #399206;
}


/* 現状の課題と解決 */
.ly_section__habitat.task {
  background-color: #F1F6F1;
}

.bl_currentMethod {
  display: flex;
  padding: 24px;
  border: 2px solid #399206;
  text-align: left;
}

.bl_currentMethod__col3 .bl_currentMethod_item {
  width: calc((100% - 2.222% * 2) / 3);
  display: flex;
  flex-direction: column;
}

.bl_currentMethod__col3 .bl_currentMethod_item:not(:nth-child(3n)) {
  margin-right: 2.222%;
}

.bl_currentMethod_num {
  background-color: #399206;
  color: #fff;
  font-size: 1.3rem;
  text-align: center;
  width: 108px;
  padding: 3px 0;
}

.bl_currentMethod_content {
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  padding: 18px;
  margin-top: 10px;
  flex: 1;
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
  .bl_currentMethod_content {
    flex: auto;
  }
}

.bl_currentMethod_ttl {
  margin: 0;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
  padding-bottom: 12px;
  border-bottom: 1px solid #707070;
}

.bl_currentMethod_txt {
  margin: 20px 0 0;
  font-size: 1.4rem;
  line-height: 1.7;
}

/* 生息域調査の特長 */
.bl_habitatFeatures {
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  padding: 50px 58px;
}

.bl_habitatFeatures_ttl,
.bl_comparisonTable_ttl {
  font-size: 2.6rem;
  font-weight: 600;
  color: #fff;
  background-color: #399206;
  padding: 15px 10px;
  border-radius: 10px;
  margin: 0 0 40px;
}

.bl_media_imgWrapper.sol1_1 {
  background-image: url('img/service/sol01_features_01.jpg');
}

.bl_media_imgWrapper.sol1_2 {
  background-image: url('img/service/sol01_features_02.jpg');
}

.bl_media_imgWrapper.sol1_3 {
  background-image: url('img/service/sol01_features_03.jpg');
}

.bl_media_imgWrapper.sol1_4 {
  background-image: url('img/service/sol01_features_04.jpg');
}

.bl_media_imgWrapper.sol1_5 {
  background-image: url('img/service/sol01_features_05.jpg');
}

.bl_media_imgWrapper.sol1_6 {
  background-image: url('img/service/sol01_features_06.jpg');
}

/* 比較表 */
.bl_comparisonTable {
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  padding: 50px 58px;
  margin-top: 30px;
}

/* 比較表テーブル：共通 */
.bl_crossTable {
  border: 1px solid #ddd;
}

.bl_crossTable table {
  width: 100%;
  table-layout: fixed;
}

.bl_crossTable th {
  padding: 15px;
  background-color: #efefef;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  font-weight: 600;
  vertical-align: middle;
}

.bl_crossTable td {
  padding: 15px;
  vertical-align: middle;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  text-align: left;
}

/* .bl_crossTable tr td:nth-child(2) {
  background-color: #fffcee;
} */

.bl_crossTable th:last-child,
.bl_crossTable td:last-child {
  border-right-width: 0;
}

.bl_crossTable tbody tr:last-child th,
.bl_crossTable tbody tr:last-child td {
  border-bottom-width: 0;
}

/* 比較表テーブル：生息域調査 */
.bl_crossTable__habitat {
  border: 1px solid #bbcfb0;
}

.bl_crossTable__habitat th {
  background-color: #ecf7ec;
  border-right: 1px solid #bbcfb0;
  border-bottom: 1px solid #bbcfb0;
}

.bl_crossTable__habitat td {
  border-right: 1px solid #bbcfb0;
  border-bottom: 1px solid #bbcfb0;
}

/* 比較表テーブル：集落環境調査 */
.bl_crossTable__environmental {
  border: 1px solid #a1c7ec;
}

.bl_crossTable__environmental th {
  background-color: #eff6fc;
  border-right: 1px solid #a1c7ec;
  border-bottom: 1px solid #a1c7ec;
}

.bl_crossTable__environmental td {
  border-right: 1px solid #a1c7ec;
  border-bottom: 1px solid #a1c7ec;
}

/* サービスの流れ */
.bl_serviceFlow {
  max-width: 800px;
  margin: 0 auto;
}

.bl_serviceFlow_item {
  position: relative;
  display: flex;
  background-color: #f8f8f8;
  text-align: left;
  padding: 20px 15px;
  border: 2px solid transparent;
  border-radius: 10px;
  min-height: 126px;
}

/* 生息域調査のボーダー */
.bl_serviceFlow__habitat .bl_serviceFlow_item {
  border-color: #399206;
}

/* 集落環境調査のボーダー */
.bl_serviceFlow__environmental .bl_serviceFlow_item {
  border-color: #0080FF;
}

/* 定点カメラ解析のボーダー */
.bl_serviceFlow__trailcamera .bl_serviceFlow_item {
  border-color: #d96500;
}

.bl_serviceFlow_item:not(:last-child) {
  margin-bottom: 45px;
}

.bl_serviceFlow_item:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -30px;
  margin: 0 auto;
  width: 20px;
  height: 20px;
  border-right: 4px solid #CDCDCD;
  border-bottom: 4px solid #CDCDCD;
  transform: rotate(45deg);
}

.bl_serviceFlow_num {
  flex: 0 0 164px;
  text-align: center;
  font-size: 3.6rem;
  font-weight: 600;
  border-right: 1px solid currentColor;
  margin-right: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: -15px;
}

/* 生息域調査のナンバーカラー */
.bl_serviceFlow__habitat .bl_serviceFlow_num {
  color: #399206;
}

/* 集落環境調査のナンバーカラー */
.bl_serviceFlow__environmental .bl_serviceFlow_num {
  color: #0080FF;
}

/* 定点カメラ解析のナンバーカラー */
.bl_serviceFlow__trailcamera .bl_serviceFlow_num {
  color: #d96500;
}

.bl_serviceFlow_content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
  .bl_serviceFlow_content {
    display: block;
  }
}

.bl_serviceFlow_ttl {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}

.bl_serviceFlow_txt {
  margin: 10px 0 0;
  line-height: 1.6;
}

/* CTA：ICTトップ */
.ly_cta.ly_cta__ictTop {
  background-image: url('img/service/icttop_heroimg.jpg');
}

/* CTA：生息域 */
.ly_cta.ly_cta__habitat {
  background-image: url('img/service/ictsol01_heroimg_2.jpg');
}

/* CTA：集落 */
.ly_cta.ly_cta__environmental {
  background-image: url('img/service/ictsol02_heroimg.jpg');
}

/* CTA：定点カメラ */
.ly_cta.ly_cta__trailcamera {
  background-image: url('img/service/ictsol03_heroimg.jpg');
}


/* --------------------------------------- */
/* 集落環境調査ページ */
/* --------------------------------------- */

.bl_hero__underlayer.environmental {
  background-image: url('img/service/ictsol02_heroimg.jpg');
  background-position: right bottom;
}

.ly_section__bgColor.environmental {
  background: rgb(0,110,218);
  background: linear-gradient(180deg, rgba(0,110,218,1) 0%, rgba(0,79,195,1) 100%);
}

.ly_section__environmental .el_lv2Heding_secTtl > span::after {
  background-color: #0080FF;
}

/* メインセクションカード */
.bl_mainSecCard {
  display: flex;
  border: 3px solid #fff;
  border-radius: 14px;
  padding: 30px;
}

.bl_mainSecCard_item {
  width: calc(100% / 3 - 2.77778% * 2 / 3);
  background-color: #00468B;
  padding: 20px;
  border-radius: 13px;
}

.bl_mainSecCard_item:not(:last-child) {
  margin-right: 2.77778%;
}

.bl_mainSecCard_imgWrapper img {
  border-radius: 10px;
}

.bl_mainSecCard_ttl {
  margin: 20px 0 0;
  font-size: 2rem;
}

.bl_mainSecCard_txt {
  margin: 15px 0 0;
  line-height: 1.57;
  text-align: left;
}

/* メインセクションメッセージ */
.bl_mainSecMsg {
  background-color: #fff;
  padding: 30px;
  border-radius: 14px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.bl_mainSecMsg_ttl {
  margin: 0;
  padding-bottom: 13px;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1.4;
  border-bottom: 2px solid currentColor;
  color: #0080FF;
}

.bl_mainSecMsg_txt {
  margin: 27px 0 0;
  color: #000;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.8;
}

/* サービス内容 */
.bl_media_lg {
  display: flex;
  justify-content: space-between;
  min-height: 349px;
  text-align: left;
}

.bl_media_lg:not(:last-child) {
  margin-bottom: 62px;
}

.bl_media_lg_imgWrapper {
  flex: 0 1 49.074%;
  margin-right: 4.629%;
  background-size: cover;
}

.bl_media_lg_imgWrapper.sol2_service_01 {
  background-image: url('img/service/sol02_service_01.jpg');
  background-position: center;
}

.bl_media_lg_imgWrapper.sol2_service_02 {
  background-image: url('img/service/sol02_service_02.jpg');
  background-position: center;
}

.bl_media_lg_imgWrapper.sol2_service_03 {
  background-image: url('img/service/sol02_service_03.jpg');
  background-position: center;
}

.bl_media_lg_content {
  flex: 1;
  min-width: 450px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
  .bl_media_lg_content {
    display: block;
  }
}

.bl_media_lg_ttl {
  font-size: 2.6rem;
  font-weight: 600;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #0080FF;
}

.bl_media_lg_txt {
  line-height: 1.75;
  margin: 19px 0 0;
}

.bl_media_lg_ano {
  display: flex;
  align-items: center;
  margin-top: 32px;
  background-color: #F1F4F6;
  padding: 14px;
}

.bl_media_lg_ano_imgWrapper {
  flex: 0 0 192px;
  margin-right: 16px;
}

.bl_media_lg_ano_content {
  flex: 1;
}

.bl_media_lg_ano_ttl {
  font-size: 1.6rem;
  font-weight: 600;
  color: #0080FF;
  padding-bottom: 6px;
  border-bottom: 1px solid currentColor;
  margin: 0;
}

.bl_media_lg_ano_txt {
  font-size: 1.2rem;
  margin: 15px 0 0;
  line-height: 1.65;
}


/* サービスのメリット */

/* セクション背景色：オルソ＆メリット */
.ly_section__environmental.ortho,
.ly_section__environmental.merit {
  background-color: #F1F4F6;
}

/* メリットリスト */
.bl_meritList {
  display: flex;
}

.bl_meritList__col4 .bl_meritList_item {
  width: calc(100% / 4 - 2.77778% * 3 / 4);
}

.bl_meritList__col4 .bl_meritList_item:not(:last-child) {
  margin-right: 2.77778%;
}

.bl_meritList_iconWrapper {
  width: 130px;
  margin: 0 auto;
}

.bl_meritList_ttl {
  margin: 46px 0 0;
  font-size: 1.8rem;
  font-weight: 600;
  color: #0080FF;
}

.bl_meritList_txt {
  margin: 18px 0 0;
  font-size: 1.2rem;
  text-align: left;
  line-height: 1.8;
}


/* 比較表上部余白 */
.ly_section__environmental .bl_comparisonTable {
  margin-top: 60px;
}

/* 比較表タイトル */
.bl_comparisonTable_ttl.environmental {
  background-color: #0080FF;
}


/* --------------------------------------- */
/* 定点カメラ解析ページ */
/* --------------------------------------- */

.bl_hero__underlayer.trailcamera {
  background-image: url('img/service/ictsol03_heroimg.jpg');
  background-position: right bottom;
}

.ly_section__bgColor.trailcamera {
  background: rgb(217,101,0);
  background: linear-gradient(180deg, rgba(217,101,0,1) 0%, rgba(190,89,0,1) 100%);
}

.ly_section__trailcamera .el_lv2Heding_secTtl > span::after {
  background-color: #d96500;
}

/* メインイラスト */
.bl_serviceImgWrapper {
  background-color: #fff;
  padding: 25px;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.bl_serviceImgWrapper > figure {
  padding: 20px;
  border: 1px solid #d96500;
}

/* サービスメリットリスト */
.bl_serviceMeritList {
  display: flex;
  margin-top: 40px;
}

.bl_serviceMeritList_item {
  width: calc(100% / 3 - 2.77778% * 2 / 3);
  padding: 20px 23px;
  background-color: #FFF6E1;
  border-radius: 10px;
  color: #000;
  box-shadow: 0 3px 6px rgba(0,0,0,.16);
}

.bl_serviceMeritList_item__white {
  background-color: #fff;
}

.bl_serviceMeritList_item:not(:last-child) {
  margin-right: 2.77778%;
}

.bl_serviceMeritList_num {
  background-color: #d96500;
  color: #fff;
  padding: 5px 10px;
  border-radius: 15px;
}

.bl_serviceMeritList_num.bl_serviceMeritList_num__bgBlue {
  background-color: #0080FF;
}

.bl_serviceMeritList_ttl {
  font-size: 2rem;
  font-weight: 600;
  margin: 16px 0 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #d96500;
}

.bl_serviceMeritList_ttl.bl_serviceMeritList_ttl__bdBlue {
  border-color: #0080FF;
}

.bl_serviceMeritList_txt {
  margin: 14px 0 0;
  line-height: 1.7;
  text-align: left;
}

/* サービス内容 */
.ly_section__trailcamera.service,
.ly_section__trailcamera.plan {
  background-color: #F9F6F1;
}

.ly_section__trailcamera .bl_iconLeftCard_num {
  background-color: #d96500;
}

/* サービス特長 */
.bl_media_imgWrapper.sol3_1 {
  background-image: url('img/service/sol03_features_01.jpg');
}

.bl_media_imgWrapper.sol3_2 {
  background-image: url('img/service/sol03_features_02.jpg');
}

.bl_media_imgWrapper.sol3_3 {
  background-image: url('img/service/sol03_features_03.jpg');
}

/* 料金プラン */
.el_plan_heading {
  font-size: 2.2rem;
  font-weight: 600;
  padding-bottom: 10px;
  border-bottom: 2px solid currentColor;
  text-align: left;
}

.bl_plan + .el_plan_heading {
  margin-top: 60px;
}

.el_plan_heading__year {
  color: #d96500;
}
.el_plan_heading__month {
  color: #BE8300;
}

.bl_plan {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}

.bl_plan.bl_plan__col3 {
  margin-bottom: -2.3148%;
}

.bl_plan_item {
  background-color: #fff;
  border: 2px solid transparent;
  border-radius: 10px;
  overflow: hidden;
}

.bl_plan__year .bl_plan_item {
  border-color: #d96500;
}
.bl_plan__month .bl_plan_item {
  border-color: #BE8300;
}

.bl_plan__col3 .bl_plan_item {
  width: calc(100% / 3 - 2.3148% * 2 / 3);
  margin-bottom: 2.3148%;
}

.bl_plan__col3 .bl_plan_item:not(:nth-child(3n)) {
  margin-right: 2.3148%;
}

.bl_plan_ttl {
  font-size: 3rem;
  font-weight: 600;
  margin: 0;
  color: #fff;
  padding: 7px 10px;
}

.bl_plan__year .bl_plan_ttl {
  background-color: #d96500;
}
.bl_plan__month .bl_plan_ttl {
  background-color: #BE8300;
}

.bl_plan_body {
  padding: 15px;
}

.bl_plan_price {
  font-size: 3rem;
  font-weight: 600;
  margin: 0;
}
.bl_plan__year .bl_plan_price {
  color: #d96500;
}
.bl_plan__month .bl_plan_price {
  color: #BE8300;
}

.bl_plan_yearPrice {
  margin: 7px 0 0;
  font-weight: 600;
  color: #a0a0a0;
}

.bl_plan_content {
  text-align: left;
  margin: 15px 0 0;
}

.bl_plan_content dt,
.bl_plan_content dd {
  padding: 7px;
}

.bl_plan_content dd {
  font-size: 1.8rem;
}

.bl_plan_content dd + dt {
  margin-top: 15px;
}

.bl_plan__year .bl_plan_content dt {
  background-color: #fdf4ec; 
}
.bl_plan__month .bl_plan_content dt {
  background-color: #fff8e8; 
}

/* 料金プラン：注釈 */
.bl_plan_ano {
  margin: 50px 0 0;
  padding: 18px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
  font-size: 1.2rem;
  text-align: left;
}

.bl_plan_ano li {
  display: flex;
}

.bl_plan_ano li::before {
  content: '※';
  margin-right: .3em;
}

.bl_plan_ano li:not(:last-child) {
  margin-bottom: .5em;
}


/* --------------------------------------- */
/* コンタクトページ */
/* --------------------------------------- */
.container.ictContact {
  max-width: 900px;
  text-align: left;
}


.el_lv1Heaging_contact {
  text-align: center;
  font-size: 3.4rem;
  font-weight: 600;
  margin: 0;
  padding: 70px 10px;
  background-color: #f1f6f6;
}

.el_lv1Heaging_contact > span {
  position: relative;
  display: inline-block;
  transform: translateY(-23px);
}

.el_lv1Heaging_contact > span::before {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 50%;
  width: 100px;
  height: 1px;
  background-color: #18b7cd;
  transform: translateX(-50%);
}

.el_lv1Heaging_contact > span::after {
  content: 'ICT鳥獣被害対策';
  position: absolute;
  bottom: -45px;
  left: 50%;
  display: block; 
  font-size: 1.2rem;
  font-weight: normal;
  letter-spacing: .3em;
  width: 100%;
  transform: translateX(-50%);
}

.el_lv2Heading_contact {
  font-size: 2.4rem;
  font-weight: 600;
  margin: 80px 0 30px;
  padding-bottom: 15px;
  border-bottom: 1px solid currentColor;
}

.el_ictContact_txt {
  margin: 0;
  line-height: 1.9;
}

.el_ictContact_txt > .el_ictContact_txt_phone {
  font-size: 2rem;
  font-weight: 600;
}

/* フォーム */
.bl_ictContact_form .bl_ictContact_formTable {
  margin-bottom: 40px;
}

.bl_ictContact_form .bl_ictContact_formTable .required {
  font-size: 1rem;
  padding: 3px 7px;
  background: #ff9393;
  color: #fff;
  border-radius: 2px;
  margin-right: 1em;
  position: relative;
  bottom: 1px;
}

.bl_ictContact_form .bl_ictContact_formTable .any {
  font-size: 1rem;
  padding: 3px 7px;
  background: #93c9ff;
  color: #fff;
  border-radius: 2px;
  margin-right: 1em;
  position: relative;
  bottom: 1px;
}

.bl_ictContact_form .bl_ictContact_formTable th,
.bl_ictContact_form .bl_ictContact_formTable td {
  padding: 20px 0;
  font-size: 1.4rem;
  text-align: left;
  color: #333;
  border: none;
}

.bl_ictContact_form .bl_ictContact_formTable th {
  font-weight: 600;
  background-color: #fff;
  min-width: 250px;
  width: 25%;
}

/* フォーム部品 */

/* テキスト */
.bl_ictContact_form .text {
  width: 100%;
  box-shadow: none;
  border: 1px solid #aaa;
  font-size: 1.4rem;
  padding: 8px 2%;
}

/* テキストボックス */
.bl_ictContact_form .textBox {
  width: 100%;
  padding: 8px 2%;
  height: 200px;
  border: 1px solid #aaa;
  box-shadow: none;
}

/* ドロップダウン */
.bl_ictContact_form select {
  outline: none;
  border: none;
  text-indent: 0.01px;
  background: none transparent;
  vertical-align: middle;
  text-overflow: '';
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

.bl_ictContact_form select::-ms-expand {
  display: none;
}

.bl_ictContact_form select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

.bl_ictContact_form .dropWrapper {
  width: 180px;
  border: 1px solid #aaa;
  border-radius: 3px;
  position: relative;
  display: inline-block;
}

.bl_ictContact_form .dropWrapper.dropWrapper__lg {
  width: 100%;
}

.bl_ictContact_form .drop {
  width: 180px;
  padding: 5px 10px;
  cursor: pointer;
  border-radius: 3px;
}

.bl_ictContact_form .drop.drop__lg {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}

.bl_ictContact_form .dropWrapper::before {
  content: "\f078";
  font-family: "FontAwesome";
  position: absolute;
  font-size: 1.2rem;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  z-index: 0;
}

/* 同意ボックス */
.bl_ictContact_form .notices-box {
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 25px 6%;
  margin-bottom: 40px;
}

.bl_ictContact_form .notices-box > *:last-child {
  margin-bottom: 0;
}

.bl_ictContact_form .notices-txt > a {
  color: #00468B;
  text-decoration: underline;
}

.bl_ict_consentUnit {
  margin-top: 15px;
}

.bl_ict_consentUnit > *:last-child {
  margin-bottom: 0;
}

/* 送信ボタン */
.el_ictContact_formBtnWrapper {
  width: 500px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

.el_ictContact_formBtn {
  width: 100%;
  max-width: 100%;
  font-size: 1.8rem;
  padding: 20px 10px;
  background-color: #18a7b9;
  color: #fff;
  border: none;
  border-radius: 5px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  transition: .2s;
}

.el_ictContact_formBtn:hover {
  background-color: #19c2d8;
}

.el_ictContact_formBtn_bottomTxt {
  margin-bottom: 0;
}

 /* 送信ボタンdisabled時スタイリング */
.el_ictContact_formBtn:disabled {
  background: #ccc;
}

/* エラーメッセージ */
.bl_ictContact_form span.wpcf7-not-valid-tip {
  font-size: 1.2rem;
  color: #d80000;
  display: block;
  margin-top: 5px;
}

/* 応答ボックスメッセージ送信OK非表示 */
.bl_ictContact_form .wpcf7-mail-sent-ok {
  display: none !important;
}

/* 応答ボックスメッセージ不備ありスタイリング */
.bl_ictContact_form .wpcf7-validation-errors {
  border: 1px solid #bb0000;
  background: #fff5f5;
  margin: 0 0 10px;
  width: 100%;
  padding: 15px;
}

.bl_ictContact_form .wpcf7-validation-errors::before {
  content: '\f071';
  font-family: "FontAwesome";
  color: #bb0000;
  display: inline-block;
  margin-right: .5em;
}

/* オートコンプリートによる背景色の変更無しに */
@keyframes onAutoFillStart { from {} to {}}

.bl_ictContact_form input:-webkit-autofill {
    animation-name: onAutoFillStart;
    transition: background-color 50000s ease-in-out 0s;
}


/* --------------------------------------- */
/* メディアクエリ：768px以下 */
/* --------------------------------------- */

@media screen and (max-width: 768px) {

  /* common */
  .pc_only {
    display: none;
  }

  .sp_only {
    display: inline;
  }

  /* セクション：基本 */
  .ly_section {
    padding: 50px 0;
  }

  .el_lv2Heding_secTtl {
    font-size: 2.8rem;
  }

  .el_lv2Heding_secTtl > span::after {
    bottom: -20px;
  }
 
  .el_sectxt {
    font-size: 1.4rem;
    margin-top: 50px;
    margin-bottom: 30px;
    text-align: left;
  }

  /* セクション：下層ページトップ下 */
  .ly_section.topUnderSection {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .bl_topUnderSectionWrapper {
    flex-direction: column-reverse;
  }

  .bl_topUnderSection_mv {
    width: 100%;
    margin-top: 30px;
    margin-right: 0;
  }

  .bl_topUnderSection_txt {
    margin-top: 24px;
    font-size: 1.4rem;
  }

  /* セクションエンドボタン */
  .bl_sectionBtn_area {
    flex-direction: column;
    margin-top: 50px;
  }

  .el_secEndBtn {
    width: 295px;
    padding: 15px 10px;
  }

  .el_secEndBtn__contact {
    margin-right: 0;
    margin-bottom: 30px;
  }


  /* CTA：基本 */
  .el_lv2Heding_ctaTtl {
    font-size: 3rem;
  }

  .el_ctatxt {
    font-size: 1.4rem;
  }

  /* 三角矢印 */
  .el_triangle {
    margin: 25px auto;
    border-left-width: 45px;
    border-right-width: 45px;
    border-top-width: 30px;
  }

  /* メディア：基本 */
  .bl_media {
    display: block;
  }

  .bl_media_imgWrapper {
    height: 66.7vw;
  }

  .bl_media_body {
    padding: 25px 20px;
  }

  .bl_media_ttl {
    font-size: 2.2rem;
    text-align: center;
  }

  .bl_media_btn {
    width: 100%;
    padding: 15px 10px;
    margin-top: 25px;
  }

  /* メディア：サービスページ */
  .bl_media__md .bl_media_ttl {
    text-align: left;
  }

  .bl_media__md .bl_media_imgWrapper {
    height: 58.6vw;
  }

  /* ヒーロー：下層ページ */
  .bl_hero.bl_hero__underlayer {
    height: 450px;
    text-align: center;
  }

  .bl_hero__underlayer .bl_hero_ttl {
    font-size: 3.4rem;
  }
  
  .bl_hero__underlayer .bl_hero_ttl > span {
    font-size: 2rem;
  }

  .bl_hero__underlayer .bl_hero_txt {
    font-size: 1.6rem;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
  }

  /* 共通ボタン */
  .el_btn {
    margin-top: 40px;
  }

  /* アイコン付きカード：共通 */
  .bl_iconLeftCard_list {
    display: block;
  }

  .bl_iconLeftCard {
    flex-direction: column;
    padding: 25px;
  }

  .bl_iconLeftCard_iconArea {
    margin-right: 0;
    margin-bottom: 25px;
  }

  .bl_iconLeftCard_iconArea img {
    width: 40%;
  }

  .bl_iconLeftCard_ttl {
    text-align: center;
  }


  /* アイコン付きカード：2カラム */
  .bl_iconLeftCard_list__col2 {
    margin-bottom: 0;
  }

  .bl_iconLeftCard_list__col2 .bl_iconLeftCard {
    width: 100%;
    margin-bottom: 20px;
  }

  .bl_iconLeftCard_list__col2 .bl_iconLeftCard:not(:nth-child(2n)) {
    margin-right: 0;
  } 


  /* --------------------------------------- */
  /* ICTトップページ */
  /* --------------------------------------- */

  /* ヒーロー */
  .bl_hero {
    height: 450px;
  }

  .bl_hero_inner {
    margin-top: 0;
  }


  .bl_hero_ttl {
    font-size: 3.4rem;
  }

  @media (max-width: 420px) {
    .bl_hero_ttl > .bl_hero_ttl_topText {
      font-size: 2.2rem;
    }
  }

  .bl_hero_txt {
    margin-top: 30px;
    font-size: 1.6rem;
    text-align: left;
    padding-left: 15px;
    padding-right: 15px;
  }

  /* トップ：ページリンクナビ */
  .bl_soluPageLink_list {
    margin-top: 20px;
    flex-direction: column;
  }

  /* IE対応 */
  .bl_soluPageLink_list li {
    width: 100%;
  }

  .bl_soluPageLink_list li:not(:last-child) {
    margin-right: 0;
    margin-bottom: 20px;
  }

  .bl_soluPageLink_imgWrapper {
    height: 135px;
  }

  /* トップ：これまでの実績 */
  .bl_tabNav_inner {
    margin-bottom: -20px;
  }

  .bl_tabNav_inner li {
    width: calc((100% - 8px * 2) / 3);
  }
  
  /* .bl_tabNav_inner li {
    width: calc(100% / 3 - 15px * 2 / 3);
    margin-bottom: 20px;
  } */


  /* .bl_tabNav_inner li:not(:nth-child(3n)) {
    margin-right: 15px;
  } */

  .bl_tabNav_inner li a {
    padding-bottom: 10px;
    font-size: 1.4rem;
  }

  .bl_performanceTab_content {
    margin-top: 45px;
  }

  .bl_vertPosts {
    height: 250px;
  }


  /* --------------------------------------- */
  /* 生息域調査ページ */
  /* --------------------------------------- */

  .bl_hero__underlayer.habitat {
    background-position: 63% center;
  }

  /* 現状の課題と解決 */
  .bl_currentMethod {
    flex-direction: column;
  }

  .bl_currentMethod__col3 .bl_currentMethod_item {
    width: 100%;
  }

  .bl_currentMethod__col3 .bl_currentMethod_item:not(:last-child) {
    margin-bottom: 20px;
  }

  .bl_currentMethod__col3 .bl_currentMethod_item:not(:nth-child(3n)) {
    margin-right: 0;
  }

  /* 生息域調査の特長 */
  .bl_habitatFeatures {
    padding: 20px 15px;
  }

  .bl_habitatFeatures_ttl,
  .bl_comparisonTable_ttl {
    font-size: 2.2rem;
    line-height: 1.5;
    margin-bottom: 30px;
  }

  /* 比較表 */
  .bl_comparisonTable {
    padding: 20px 15px;
  }

  .bl_crossTable {
    border-right-width: 0;
    overflow-x: auto;
  }

  .bl_crossTable table {
    width: auto;
    min-width: 100%;
  }

  .bl_crossTable th,
  .bl_crossTable td {
    white-space: nowrap;
  }

  .bl_crossTable th:last-child,
  .bl_crossTable td:last-child {
    border-right-width: 1px;
  }

  .bl_crossTable_mdSticky {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
  }

  /* サービスの流れ */
  .bl_serviceFlow_num {
    flex: 0 0 75px;
    margin-right: 25px;
  }


  /* --------------------------------------- */
  /* 集落環境調査調査ページ */
  /* --------------------------------------- */

  .bl_hero__underlayer.environmental {
    background-position: 45% bottom;
  }

  /* メインセクションカード */
  .bl_mainSecCard {
    flex-direction: column;
    padding: 20px;
  }

  .bl_mainSecCard_item {
    width: 100%;
    padding: 15px;
  }

  .bl_mainSecCard_item:not(:last-child) {
    margin-right: 0;
    margin-bottom: 20px;
  }
  
  .bl_mainSecCard_ttl {
    font-size: 1.8rem;
  }

  /* メインセクションメッセージ */
  .bl_mainSecMsg {
    padding: 25px;
  }

  .bl_mainSecMsg_ttl {
    font-size: 2.8rem;
  }

  .bl_mainSecMsg_txt {
    font-size: 1.6rem;
    text-align: left;
  }

  /* サービス内容 */
  .bl_media_lg {
    display: block;
  }

  .bl_media_lg:not(:last-child) {
    margin-bottom: 45px;
  }

  .bl_media_lg_imgWrapper {
    height: 58.67vw;
    margin-right: 0;
  }

  .bl_media_lg_content {
    min-width: auto;
  }

  .bl_media_lg_ttl {
    margin-top: 25px;
    font-size: 2rem;
    text-align: center;
  }

  .bl_media_lg_ano {
    display: block;
    margin-top: 20px;
  }

  .bl_media_lg_ano_imgWrapper {
    display: none;
  }

  /* メリットリスト */
  .bl_meritList {
    flex-direction: column;
  }

  .bl_meritList__col4 .bl_meritList_item {
    width: 100%;
  }

  .bl_meritList__col4 .bl_meritList_item:not(:last-child) {
    margin-right: 0;
    margin-bottom: 40px;
  }

  .bl_meritList_iconWrapper {
    width: 120px;
  }

  .bl_meritList_ttl {
    margin-top: 30px;
  }

  .bl_meritList_txt {
    font-size: 1.4rem;
    max-width: 28.57em;
    width: 85%;
    margin-left: auto;
    margin-right: auto;
  }


  /* --------------------------------------- */
  /* 定点カメラ解析ページ */
  /* --------------------------------------- */

  .bl_hero__underlayer.trailcamera {
    background-position: 70%;
  }

  /* メインイラスト */
  .bl_serviceImgWrapper {
    padding: 15px;
  }

  .bl_serviceImgWrapper > figure {
    padding: 15px;
  }

  /* サービスメリットリスト */
  .bl_serviceMeritList {
    flex-direction: column;
    margin-top: 30px;
  }

  .bl_serviceMeritList_item {
    width: 100%;
  }

  .bl_serviceMeritList_item:not(:last-child) {
    margin-right: 0;
    margin-bottom: 20px;
  }

  /* 料金プラン */
  .bl_plan + .el_plan_heading {
    margin-top: 45px;
  }

  .bl_plan {
    flex-direction: column;
  }

  .bl_plan.bl_plan__col3 {
    margin-bottom: 0;
  }

  .bl_plan__col3 .bl_plan_item {
    width: 100%;
  }

  .bl_plan__col3 .bl_plan_item:not(:nth-child(3n)) {
    margin-right: 0;
  } 

  .bl_plan__col3 .bl_plan_item:not(:last-child) {
    margin-bottom: 20px;
  } 
  
  .bl_plan__col3 .bl_plan_item:last-child {
    margin-bottom: 0;
  }

  /* 料金プラン：注釈 */ 
  .bl_plan_ano {
    margin-top: 45px;
  }


  /* --------------------------------------- */
  /* コンタクトページ */
  /* --------------------------------------- */
  .el_lv1Heaging_contact {
    font-size: 2.8rem;
  }

  .el_lv2Heading_contact {
    margin-top: 60px;
    font-size: 2rem;
  }

  /* フォーム */
  .bl_ictContact_form .bl_ictContact_formTable th,
  .bl_ictContact_form .bl_ictContact_formTable td {
    width: 100%;
    padding: 5px 0;
  }

  .bl_ictContact_form .bl_ictContact_formTable tr:not(:last-child) td {
    padding-bottom: 20px;
  }

  /* フォーム部品 */

/* フォントサイズ16px統一 */
.bl_ictContact_form .text,
.bl_ictContact_form .textBox,
.bl_ictContact_form .drop {
  font-size: 1.6rem;
}


  
}