@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :  template_it01.css
 style info :  IT ベンダー Ver01 コンテンツ部分共通 cssの定義
=================================================================== */
/*-------------------------------------------------------------------

TOP title 見出し

---------------------------------------------------------------------*/
.top_title_wrap {
	padding-bottom:20px;
	position: relative;
	margin-bottom:50px;
}
.top_title_wrap::after {
	content:"";
	width:30px;
	height:2px;
	background:#1783B1;
	position: absolute;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
	bottom:0;
}
.top_title_wrap.t_left::after {
	left:0;
	right:auto;
}

.top_title {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
}
.top_title.t_left {
	text-align: left;
}
.top_title_en {
	font-size:14px;
	font-weight: 500;
	color:#2D87AD;
	text-align: center;
}
.top_title_en.t_left {
	text-align: left;
}


@media only screen and (max-width: 979px) {
  .top_title {
    font-size: 32px;
  }
}

@media only screen and (max-width: 690px) {
  .top_title {
    font-size: 24px;
  }
}

.top_lead {
  font-size: 16px;
  line-height: 2;
  text-align: center;
  margin-bottom: 50px;
  max-width: 80%;
  margin-right: auto;
  margin-left: auto;
}

.titlelilnk_yoko {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.titlelilnkyoko_title {
  font-size: 24px;
  margin-right: 25px;
  margin-left: 0;
}

@media only screen and (max-width: 979px) {
  .top_title br {
    display: none;
  }
  .top_lead {
    max-width: 100%;
    line-height: 2.2;
  }
}

@media only screen and (max-width: 690px) {
	.top_title_wrap {
		margin-bottom:30px;
	}
  .top_title {
    margin-bottom: 5px;
  }
  .top_title br.sp {
    display: block;
  }
  .top_lead {
    margin-bottom: 30px;
    line-height: 1.75;
    font-size: 12px;
    text-align: left;
  }
  .titlelilnk_yoko {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .titlelilnkyoko_title {
    width: 100%;
    margin-bottom: 15px;
    font-size: 16px;
  }
  .titlelilnkyoko_link {
    width: 100%;
  }
}

/*-------------------------------------------------------------------

下層ページ サブタイトル subtitle

---------------------------------------------------------------------*/
.subtitle02 {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 30px;
}

@media only screen and (max-width: 979px) {
  .subtitle02 {
    font-size: 28px;
  }
}

@media only screen and (max-width: 690px) {
  .subtitle02 {
    font-size: 18px;
  }
}

.subtitle02 .in {
  margin-left: 20px;
  font-size: 40%;
  font-weight: normal;
}

.subtitle02_2 {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #cccccc;
}

@media only screen and (max-width: 979px) {
  .subtitle02_2 {
    font-size: 28px;
  }
}

@media only screen and (max-width: 690px) {
  .subtitle02_2 {
    font-size: 18px;
  }
}

.subtitle03 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #cccccc;
}

.subtitle03_2 {
  font-size: 18px;
  font-weight: bold;
  padding: 10px 15px;
  background-color: #555555;
  text-align: center;
  color: #ffffff;
}

@media only screen and (max-width: 690px) {
  .subtitle02 {
    margin-bottom: 25px;
  }
  .subtitle02 .in {
    display: block;
    margin-left: 0;
    margin-top: 10px;
    font-size: 60%;
  }
  .subtitle02_2 {
    margin-bottom: 20px;
  }
  .subtitle03 {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .subtitle03_2 {
    font-size: 16px;
  }
}

/*-------------------------------------------------------------------

TOP main メインイメージ

---------------------------------------------------------------------*/
.main_area {
	margin-bottom:60px;
}

.topmain_area {
  /*background: url("../image/template_it01_top_mainimage_bg.jpg") no-repeat center/cover;*/
  /*padding: 120px 0;*/
  /*margin-bottom:60px;*/
	background-position: center center;
	background-size:cover;
  width:100%;
	padding-bottom: 56.25%;
	height:0;
	position: relative;
}

.topmain_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content:flex-start;
  /*height: 100%;*/
  width: 1000px;
  margin-left:auto;
  margin-right:auto;
  position: absolute;
	left:0;
	right:0;
  top:0;
	bottom:0;
}

.topmain_imga {
  width: 50%;
  overflow: hidden;
}

.topmain_imga img {
  max-width: 1200px;
  height: auto;
  width: auto;
}

.topmain_lead {
  font-size: 24px;
}

.topmain_name {
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  color:#ffffff;

}

.topmain_btn {
  width: 360px;
  margin: 100px auto 0;
}

.topmain_btn a {
  display: block;
  width: 100%;
  text-align: center;
  color: #ffffff;
  position: relative;
  border-radius: 60px;
  padding: 15px 30px;
  font-size: 18px;
  text-decoration: none;
  background: -webkit-gradient(linear, left top, right top, from(#CA062B), to(#8B0C26));
  background: -webkit-linear-gradient(left, #CA062B, #8B0C26);
  background: -o-linear-gradient(left, #CA062B, #8B0C26);
  background: linear-gradient(to right, #CA062B, #8B0C26);
  background-size: 360px 300px;
  -webkit-box-shadow: 0 12px 16px rgba(0, 0, 0, 0.05);
  box-shadow: 0 12px 16px rgba(0, 0, 0, 0.05);
  -webkit-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
  -o-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
  transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
}

.topmain_btn a:hover {
  color: #ffffff;
  background-position: 0 100%;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.btn_main04 {
  position: absolute;
  top:53%;
  left:5%;
  width: 360px;
  max-width: 70%;
}
.btn_main04 a {
  background: #FF0000;
  color:#ffffff;
  border-radius: 40px;
  padding:18px 0;
  display: block;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  border:1px solid #FF0000;
  position: relative;
}
.btn_main04 a::before {
  content:"";
  width:20px;
  height: 20px;
  background-color: #ffffff;
  border-radius: 50%;
  position:absolute;
  right:5%;
  top:50%;
  margin-top:-10px;
}
.btn_main04 a::after {
  content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #FF0000;
    border-right: 2px solid #FF0000;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 4px);
    right: calc(5% + 7px);
}
.btn_main04 a:hover {
  background-color: #ffffff;
  color:#FF0000;
  text-decoration: none;
}
.btn_main04 a:hover::before {
  background-color:#FF0000;
}
.btn_main04 a:hover::after {
  border-color:#ffffff;
}
@media only screen and (max-width: 690px) {
  .btn_main04 {
    top:auto;
    bottom:15%;
    left:0;
    right:0;
    margin-left: auto;
    margin-right: auto;
  }
  .btn_main04 a {
    padding:8px 15px 8px 0;
    font-size: 15px;
  }
}

.btn_main05 {
  position: absolute;
  bottom:15%;
  left:0;
  right:0;
  margin-left: auto;
  margin-right: auto;
  width: 360px;
  max-width: 70%;
}
.btn_main05 a {
  background: #47B2B7;
  color:#ffffff;
  border-radius: 40px;
  padding:18px 0;
  display: block;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  border:1px solid #47B2B7;
  position: relative;
}
.btn_main05 a::before {
  content:"";
  width:20px;
  height: 20px;
  background-color: #ffffff;
  border-radius: 50%;
  position:absolute;
  right:5%;
  top:50%;
  margin-top:-10px;
}
.btn_main05 a::after {
  content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #47B2B7;
    border-right: 2px solid #47B2B7;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 4px);
    right: calc(5% + 7px);
}
.btn_main05 a:hover {
  background-color: #ffffff;
  color:#47B2B7;
  text-decoration: none;
}
.btn_main05 a:hover::before {
  background-color:#47B2B7;
}
.btn_main05 a:hover::after {
  border-color:#ffffff;
}
@media only screen and (max-width: 690px) {
  .btn_main05 a {
    padding:8px 15px 8px 0;
    font-size: 15px;
  }
}




.mainimage06 .inner{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.text_main06 img{
  max-width: 520px;
  height: auto;
  margin-left: 0;
  position: relative;
  left: -30px;
}
.btn_main06 {
  width: 320px;
  max-width: 70%;
}
.btn_main06 a {
  background: #fff;
  color:#2D87AD;
  border-radius: 100vh;
  padding: 28px 0;
  display: block;
  text-align: center;
  font-size: 22px;
  line-height: 1;
  font-weight: bold;
  border:1px solid #2D87AD;
  position: relative;
}
.btn_main06 a::before {
  content:"";
  width: 30px;
  height: 30px;
  background-color: #2D87AD;
  border-radius: 50%;
  position:absolute;
  right: 16px;
  top: 50%;
  margin-top: -15px;
}
.btn_main06 a::after {
  content: "";
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 4px);
    right: calc(5% + 13px);
}
.btn_main06 a:hover {
  background-color: #2D87AD;
  color:#fff;
  text-decoration: none;
}
.btn_main06 a:hover::before {
  background-color:#fff;
}
.btn_main06 a:hover::after {
  border-color:#2D87AD;
}
@media only screen and (min-width: 1201px) {
  .text_main06 img{
    max-width: 687px;
  }
  .btn_main06 {
    width: 450px;
  }
  .btn_main06 a {
    font-size: 30px;
    padding: 30px 0;
  }
  .btn_main06 a::before {
    width: 60px;
    height: 60px;
    margin-top: -30px;
  }
  .btn_main06 a::after {
    width: 14px;
    height: 14px;
    top: calc(50% - 7px);
    right: calc(5% + 17px);
  }
}
@media only screen and (max-width: 690px) {
  .mainimage06{
    position: relative;
  }
  .mainimage06 .inner{
    position: static;
    transform:none;
  }
  .btn_main06{
    position: absolute;
    bottom: 15%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .btn_main06 a {
    padding: 14px 15px 14px 0;
    font-size: 15px;
  }
  .text_main06{
    display: none;
  }
  .btn_main06 a::before {
    width: 24px;
    height: 24px;
    margin-top: -12px;
  }
  .btn_main06 a::after {
    width: 6px;
    height: 6px;
    top: calc(50% - 4px);
    right: calc(5% + 11px);
  }
}



.topmain_catch {
  position: relative;
  padding: 20px 30px;
  border-radius: 10px;
  background-color: #ffffff;
  font-size: 56px;
  color: #CA062B;
  line-height: 1;
  display: inline-block;
  margin-bottom: 40px;
  -webkit-box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 15px 0px rgba(0, 0, 0, 0.2);
}

.topmain_catch .in {
  font-size: 50%;
}

.topmain_catch::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 40px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 15px 0 15px;
  border-color: #ffffff transparent transparent transparent;
}

.main_area .slick-dots li button {
	border-radius:0;
	background: none;
}
.main_area .slick-dots {
	bottom:5%;
}
.main_area .slick-dots li {
	width:30px;
	height:10px;
}
.main_area .slick-dots li button:before {
	color: none;
	background: #ffffff;
	border-radius: 0;
	width:30px;
	height:10px;
	opacity: 1;
}
.main_area .slick-dots li.slick-active button::before {
	background-color: #2AA0D4;
}
.main_area .slick-dots li button:hover::before {
	background-color: #2AA0D4;
}
.main_area .slick-dots li button:before {
	border-radius: 0;
}

@media only screen and (max-width: 1299px) {
  .topmain_imga img {
    max-width: auto;
    max-height: 500px;
    width: auto;
  }
  /*
  .topmain_txta {
    width: auto;
    margin: auto;
    padding-left: 3%;
  }
  */
  .topmain_catch {
    font-size: 44px;
  }
}

@media only screen and (max-width: 1000px) {
  .topmain_area {
    /*height: auto;*/
    /*padding: 100px 5% 100px;*/
	padding-bottom: 600px;
  }

  .topmain_area.mainimage04 {
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #0A0E10;
  }
  .topmain_block {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	  max-width: 96%;
  }
  /*
  .topmain_txta {
    width: 90%;
    margin: auto auto 50px;
    text-align: center;
    padding-left: 0;
  }
  */
  .topmain_imga {
    width: 90%;
    margin: auto;
  }
  .topmain_imga img {
    width: 100%;
  }
  .topmain_btn {
    width: 300px;
    margin: 40px auto 0;
  }

  .topmain_catch {
    font-size: 32px;
  }
  .topmain_lead {
    font-size: 20px;
  }
}

@media only screen and (max-width: 690px) {
	.topmain_area {
		padding-bottom: 450px;
		background-position:center center;
	}
  .topmain_area.mainimage05 {
    background-size: 150% auto;
    background-repeat: no-repeat;
    background-color: rgba(71, 178, 183, 0.1);
  }

  .topmain_catch {
    font-size: 24px;
    margin-bottom: 30px;
    padding: 10px 20px;
  }
  .topmain_txta {
    width: 96%;
    text-align: left;
  }
  .topmain_lead img {
	max-width: 100%;
	  height:auto;
  }
  .topmain_name {
    font-size:16px;
	line-height: 1.6;
  }
  .topmain_btn {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
  }
  .topmain_btn a {
    padding: 10px 10px;
    font-size: 15px;
  }
}

/*-------------------------------------------------------------------

TOP about マーケティングオートメーションについて

---------------------------------------------------------------------*/
body#top #container {
  position: relative;
  z-index: 2;
  /*margin-top: -60px;*/
}

.topabout_area {
  margin-bottom: 80px;
  padding: 0 20px;
}

.topabout_block {
  padding: 20px;
  min-height: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 50px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 50px 10px rgba(0, 0, 0, 0.1);
}

.topabout_txt {
  font-size: 20px;
  margin-right: 25px;
  max-width: 500px;
}

.topabout_btn {
  max-width: 400px;
}

.topabout_btn a {
  display: block;
  text-align: center;
  color: #CA062B;
  border: 1px solid #CA062B;
  position: relative;
  border-radius: 60px;
  padding: 15px 60px 15px 30px;
  background-color: rgba(202, 6, 43, 0.05);
  -webkit-box-shadow: 0 12px 16px rgba(0, 0, 0, 0.05);
  box-shadow: 0 12px 16px rgba(0, 0, 0, 0.05);
  -webkit-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
  -o-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
  transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
}

.topabout_btn a::before {
  content: "";
  width: 18px;
  height: 18px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #CA062B;
  position: absolute;
  top: calc(50% - 9px);
  right: 20px;
}

.topabout_btn a::after {
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  right: 27px;
}

.topabout_btn a:hover {
  color: #ffffff;
  border-color: #ffffff;
  background-color: #CA062B;
  text-decoration: none;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.topabout_btn a:hover::before {
  background: #ffffff;
}

.topabout_btn a:hover::after {
  border-top-color: #CA062B;
  border-right-color: #CA062B;
}

@media only screen and (max-width: 999px) {
  .topabout_area {
    margin-bottom: 60px;
  }
  .topabout_block {
    padding: 25px 20px 30px;
    height: auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 720px;
    border-radius: 4px;
  }
  .topabout_txt {
    font-size: 18px;
    margin-right: 0;
    margin-bottom: 20px;
    text-align: center;
  }
  .topabout_btn a {
    border-radius: 60px;
    padding: 15px 45px 15px 20px;
    background-color: rgba(202, 6, 43, 0.05);
  }
}

@media only screen and (max-width: 690px) {
  .topabout_area {
    padding: 0;
  }
  .topabout_btn {
    width: 100%;
  }
}

/*-------------------------------------------------------------------

セミナ―情報 / 資料ダウンロード

---------------------------------------------------------------------*/
.dl_area {
  padding: 160px 0 100px;
}

.dl_area.sub {
  background-color: #FDF2F2;
  padding: 60px 0 60px;
}

.dl_block .swiper-container {
  padding: 15px 0 0 15px;
}

.dl_block + .dl_block {
  margin-top: 80px;
}

.dl_list, .dl_listnon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.dl_listnon {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.dl_list .swiper-slide,
.dl_listnon > div {
  width: calc(33.333% - 10px);
}

.dl_list .swiper-slide + .swiper-slide {
  margin-left: 15px;
}

.dl_listnon > div {
  margin-right: 15px;
  margin-bottom: 40px;
}

.dl_listnon > div:nth-child(3n) {
  margin-right: 0;
}

.dl_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.dl_col_img {
  width: 40%;
  position: relative;
}

.itemnew .dl_col_img::before {
  content: "NEW";
  width: 50px;
  height: 50px;
  background-color: #CA062B;
  color: #ffffff;
  line-height: 50px;
  text-align: center;
  font-weight: bold;
  font-size: 11px;
  border-radius: 100%;
  letter-spacing: .1em;
  display: block;
  position: absolute;
  top: -15px;
  left: -15px;
  z-index: 10;
}

.dl_col_txt {
  width: 60%;
  padding-left: 5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.dl_title {
  width: 100%;
  line-height: 1.5;
  margin-bottom: 10px;
}

.dl_title,
.dl_title a {
  font-size: 18px;
  color: #CA062B;
}

.dl_txt {
  width: 100%;
  font-size: 13px;
  color: #555555;
  margin-bottom: 10px;
}

.dl_txtlink {
  width: 100%;
}

@media only screen and (max-width: 979px) {
  .dl_block + .dl_block {
    margin-top: 60px;
  }
}

@media only screen and (max-width: 800px) {
  .dl_area {
    padding: 120px 0 60px;
  }
  .dl_list.inner_1200 {
    padding-right: 0;
    padding-left: 0;
  }
  .dl_list {
    display: block;
  }
  .dl_list .swiper-slide {
    width: 100%;
  }
  .dl_list .swiper-slide + .swiper-slide {
    margin-left: 0;
  }
  .dl_listnon .swiper-slide {
    margin-right: 30px;
    width: calc(50% - 15px);
    margin-bottom: 30px;
  }
  .dl_listnon .swiper-slide:nth-child(3n) {
    margin-right: 30px;
  }
  .dl_listnon .swiper-slide:nth-child(2n) {
    margin-right: 0;
  }
  .dl_listnon > div {
    width: calc(33.333% - 20px);
  }
  .dl_listnon > div {
    margin-right: 30px;
  }
  .dl_listnon > div:nth-child(3n) {
    margin-right: 0;
  }
  .dl_col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .dl_col_img {
    width: 100%;
  }
  .dl_col_txt {
    width: 100%;
    padding-left: 0;
    margin-top: 15px;
  }
  .dl_txt {
    display: none;
  }
}

@media only screen and (max-width: 690px) {
  .dl_area {
    padding: 60px 0 40px;
  }
  .dl_block + .dl_block {
    margin-top: 40px;
  }
  .dl_block .swiper-container {
    padding: 10px 0 0 10px;
  }
  .dl_area.sub {
    padding: 40px 0;
  }
  .dl_listnon .swiper-slide {
    margin-right: 20px;
    width: calc(50% - 10px);
  }
  .dl_listnon .swiper-slide:nth-child(3n) {
    margin-right: 20px;
  }
  .dl_listnon .swiper-slide:nth-child(2n) {
    margin-right: 0;
  }
  .dl_listnon > div {
    width: calc(50% - 10px);
  }
  .dl_listnon > div,
  .dl_listnon > div:nth-child(3n) {
    margin-right: 20px;
    margin-bottom: 30px;
  }
  .dl_listnon > div:nth-child(2n) {
    margin-right: 0;
  }
  .dl_title, .dl_title a {
    font-size: 14px;
  }
  .dl_col_txt {
    margin-top: 10px;
  }
  .itemnew .dl_col_img::before {
    width: 34px;
    height: 34px;
    line-height: 34px;
    font-size: 10px;
    top: -10px;
    left: -10px;
  }
}

/*-------------------------------------------------------------------

TOP 機能

---------------------------------------------------------------------*/
.function_area {
  padding: 80px 0;
  background-color: #FDF2F2;
}

.function_icon_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.function_icon_list li {
  list-style: none;
  background-color: #ffffff;
  border-radius: 15px;
  -webkit-box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.05);
  box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.05);
  padding: 30px 20px 20px;
  text-align: center;
  margin-right: 56px;
  margin-bottom: 56px;
  -webkit-transition: all .5s ease 0s;
  -o-transition: all .5s ease 0s;
  transition: all .5s ease 0s;
  border: 1px solid #ffffff;
}

/* 4つ並び ---*/
.function_icon_list.list4 li {
  width: calc(25% - 42px);
}

.function_icon_list.list4 li:nth-child(4n) {
  margin-right: 0;
}

/* 5つ並び ---*/
.function_icon_list.list5 li {
  width: calc(20% - 32px);
}

.function_icon_list.list5 li:nth-child(5n) {
  margin-right: 0;
}

.function_icon_list li:hover {
  -webkit-transform: scale(0.95);
  -ms-transform: scale(0.95);
  transform: scale(0.95);
  border-color: #CA062B;
  -webkit-box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0);
  box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0);
}

.function_lead {
  text-align: center;
  margin-bottom: 10px;
}

.function_lead .in {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #EFB3BF));
  background: -webkit-linear-gradient(transparent 60%, #EFB3BF 40%);
  background: -o-linear-gradient(transparent 60%, #EFB3BF 40%);
  background: linear-gradient(transparent 60%, #EFB3BF 40%);
}

.ficon_img img {
  max-width: 100px;
  width: 50%;
  height: auto;
}

.ficon_img {
  z-index: 0;
  position: relative;
}

.ficon_img::after {
  content: "";
  background-color: #f3f3f3;
  width: 100px;
  height: 100px;
  border-radius: 100px;
  position: absolute;
  top: calc(50% - 50px);
  left: calc(50% - 50px);
  z-index: -1;
}

.ficon_txt {
  margin-top: 20px;
  font-size: 16px;
}

.ficon_txt a {
  display: block;
  text-decoration: none;
}

@media only screen and (max-width: 979px) {
  .function_area {
    padding: 60px 0 70px;
  }
  .function_icon_list {
    padding: 0 10%;
  }
  /* 4つ並び ---*/
  .function_icon_list.list4 li:nth-child(4n) {
    margin-right: 40px;
  }
  /* 5つ並び ---*/
  .function_icon_list.list5 li:nth-child(5n) {
    margin-right: 40px;
  }
  .function_icon_list li {
    padding: 20px 15px 30px 15px;
    margin-right: 40px;
    margin-bottom: 40px;
  }
  /* 4つ並び 5つ並び ---*/
  .function_icon_list.list4 li,
  .function_icon_list.list5 li {
    width: calc(50% - 20px);
  }
  .function_icon_list.list4 li:nth-child(2n),
  .function_icon_list.list5 li:nth-child(2n) {
    margin-right: 0;
  }
}

@media only screen and (max-width: 690px) {
  .function_area {
    padding: 50px 0 60px;
  }
  .function_icon_list {
    padding: 0 5%;
  }
  /* 4つ並び ---*/
  .function_icon_list.list4 li:nth-child(4n) {
    margin-right: 20px;
  }
  /* 5つ並び ---*/
  .function_icon_list.list5 li:nth-child(5n) {
    margin-right: 20px;
  }
  .function_icon_list li {
    padding: 25px 10px 20px 10px;
    margin-right: 20px;
    margin-bottom: 20px;
  }
  /* 4つ並び 5つ並び ---*/
  .function_icon_list.list4 li,
  .function_icon_list.list5 li {
    width: calc(50% - 10px);
  }
  .function_icon_list.list4 li:nth-child(2n),
  .function_icon_list.list5 li:nth-child(2n) {
    margin-right: 0;
  }
  .ficon_txt {
    margin-top: 20px;
    font-size: 12px;
  }
  .ficon_img img {
    max-width: 100px;
    width: 50%;
  }
  .ficon_img::after {
    width: 80px;
    height: 80px;
    border-radius: 80px;
    top: calc(50% - 40px);
    left: calc(50% - 40px);
  }
}

/*-------------------------------------------------------------------

TOP 特長 丸3つ

---------------------------------------------------------------------*/
.feature_area {
  background: -webkit-gradient(linear, left top, left bottom, from(#E36363), color-stop(75%, #ffffff), to(#ffffff));
  background: -webkit-linear-gradient(top, #E36363, #ffffff 75%, #ffffff);
  background: -o-linear-gradient(top, #E36363, #ffffff 75%, #ffffff);
  background: linear-gradient(to bottom, #E36363, #ffffff 75%, #ffffff);
  padding: 80px 0 0;
}

.feature_area .top_title,
.feature_area .top_lead {
  color: #ffffff;
}

.feature_block {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.feature_block.bgimg {
  padding-top: 320px;
}

.feature_col {
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0 5px 40px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 40px 5px rgba(0, 0, 0, 0.1);
  width: 320px;
  height: 320px;
  border-radius: 100%;
  margin: 0 20px;
}

.feature_img {
  max-width: 80px;
  margin: 40px auto 10px;
}

.feature_txta {
  text-align: center;
  margin: 0 auto;
}

.feature_title {
  font-size: 20px;
  margin-bottom: 10px;
}

.feature_txt {
  max-width: 80%;
  margin: 0 auto;
  font-size: 14px;
}

@media only screen and (max-width: 1100px) {
  .feature_area {
    padding: 80px 0 0;
  }
  .feature_block {
    padding-top: 250px;
    background-size: 85% auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .feature_col {
    width: 280px;
    height: 280px;
  }
  .feature_title {
    margin-bottom: 5px;
  }
  .feature_img {
    margin-top: 30px;
    width: 60px;
  }
}

@media only screen and (max-width: 690px) {
  .feature_area {
    padding: 50px 0 0;
    background: -webkit-gradient(linear, left top, left bottom, from(#E36363), color-stop(90%, #ffffff), to(#ffffff));
    background: -webkit-linear-gradient(top, #E36363, #ffffff 90%, #ffffff);
    background: -o-linear-gradient(top, #E36363, #ffffff 90%, #ffffff);
    background: linear-gradient(to bottom, #E36363, #ffffff 90%, #ffffff);
  }
  .feature_block {
    background: none;
    background-image: none !important;
    padding-top: 0;
  }
  .feature_block.bgimg {
    padding-top: 0;
  }
  .feature_col {
    width: 260px;
    height: 260px;
    margin: 10px 5%;
  }
  .feature_txta {
    width: 85%;
    margin: 0 auto;
  }
  .feature_img {
    margin: 20px auto 10px;
  }
  .feature_title {
    font-size: 18px;
    line-height: 1.5;
  }
  .feature_txt {
    font-size: 12px;
  }
}

/*-------------------------------------------------------------------

TOP 特長 縦3つ

---------------------------------------------------------------------*/
.feature2_area {
  padding: 80px 0;
}

.feature2_area.ti {
  background-color: #FDF2F2;
}

.feature2_area.ti .feature2_txt {
  float: left;
  width: 50%;
}

.feature2_area.ti .feature2_img {
  float: right;
  width: 43%;
}

.feature2_area.it .feature2_txt {
  float: right;
  width: 50%;
}

.feature2_area.it .feature2_img {
  float: left;
  width: 43%;
}

.feature2_icon img {
  max-width: 50px;
  margin-left: 0;
}

.feature2_title {
  font-size: 28px;
  font-weight: bold;
  margin: 5px 0 10px;
}

@media only screen and (max-width: 979px) {
  .feature2_title {
    font-size: 28px;
  }
}

@media only screen and (max-width: 690px) {
  .feature2_title {
    font-size: 18px;
  }
}

@media only screen and (max-width: 979px) {
  .feature2_area {
    padding: 30px 0;
  }
  .feature2_area.ti .feature2_txt, .feature2_area.it .feature2_txt {
    float: none;
    width: 100%;
  }
  .feature2_area.ti .feature2_img, .feature2_area.it .feature2_img {
    float: none;
    width: 70%;
    max-width: 360px;
    margin: 40px auto;
  }
  .feature2_icon img {
    margin: auto auto 10px;
    max-width: 100px;
  }
  .feature2_title {
    text-align: center;
    margin-bottom: 0;
  }
  .feature2_txt .template_it01_btn {
    margin-left: auto;
  }
}

@media only screen and (max-width: 690px) {
  .feature2_area.ti .feature2_img, .feature2_area.it .feature2_img {
    width: 80%;
    margin: 20px auto;
  }
  .feature2_icon img {
    margin: auto auto 10px;
    max-width: 80px;
  }
  .feature2_title {
    text-align: center;
    margin-bottom: 0;
  }
  .feature2_txt .template_it01_btn {
    margin-left: auto;
  }
}

/*-------------------------------------------------------------------

TOP お知らせ

---------------------------------------------------------------------*/
.rss_block dl {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dotted #cccccc;
}

.rss_block dl::after {
  content: "";
  display: block;
  clear: both;
}

.rss_block .rss_date {
  float: left;
  width: 130px;
  padding-left: 20px;
  color: #555555;
	font-size: 16px;
}

.rss_block .rss_title {
  float: left;
  width: calc(100% - 140px);
	font-size: 16px;
}
.rss_block .rss_title a {
	position: relative;
	display: flex;
	align-items: flex-start;
}
.rss_block .rss_title a:hover {
  color: #0A5E82;
}

.rss_block .rss_new {
  display: inline-block;
  margin-right: 20px;
  line-height: 1;
  padding: 7px 15px;
  color: #ffffff;
  font-size: 11px;
}

.rss_area .rss_contents {
  display: none;
}

.rss_block .rss_contents {
  clear: both;
  width: calc(100% - 140px);
  margin-left: 140px;
  padding-top: 10px;
}

@media only screen and (max-width: 690px) {
  .rss_block dl {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  .rss_block .rss_date {
    float: none;
    width: 100%;
    padding-left: 0;
    margin-bottom: 5px;
  }
  .rss_block .rss_title {
    float: none;
    width: 100%;
  }
  .rss_block .rss_contents {
    width: 100%;
    margin-left: 0;
  }
}

/*-------------------------------------------------------------------

TOP 情報が満載 メディア

---------------------------------------------------------------------*/
.media_area {
  background-color: #FFFFFF;
  padding: 0 0 1px;
}

.media_area .dlb_media_title {
	font-size:16px;
}

.media_area .dlb_media_txt {
	font-size:14px;
}

.media_area .dlb_media_block {
  padding: 0 1%;
}

.media_area .dlb_media_left {
  overflow: hidden;
  width: 100%;
}

.media_area .dlb_media_left_in {
  height: 180px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 1s ease .5s;
  -o-transition: all 1s ease .5s;
  transition: all 1s ease .5s;
  -webkit-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
}

.media_area .dlb_media_block:hover .dlb_media_left_in,
.media_area .dlb_media_block:focus .dlb_media_left_in {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

.media_area .dlb_media_block:hover {
  text-decoration: none;
}

.media_area .dlb_media_right {
  position: relative;
  margin-top: 15px;
}

.media_area .dlb_media_cate {
  position: absolute;
  right: 0;
  top: -45px;
  margin-top:0;
}

.media_area .dlb_media_cate span {
	font-weight: normal;
	font-size:12px;
	padding:8px 10px;
	min-width: 100px;
	text-align: center;
}

@media only screen and (min-width: 980px) {
  .media_area .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .media_area .dlb_media_block {
    width: calc(25% - 7.5px);
  }
  .media_area .dlb_media_block + .dlb_media_block {
    margin-left: 10px;
  }
  .media_area .swiper-slide {
    -ms-flex-negative: 1;
    flex-shrink: 1;
  }
  .media_area .dlb_media_left_in {
    height: 140px;
  }
}

@media only screen and (max-width: 800px) {
  .media_area {

  }
  .media_area .media_list.inner_1200 {
    padding-right: 0;
    padding-left: 0;
  }
  .media_area .media_list {
    display: block;
  }
  .media_area .media_list > div {
    width: 100%;
  }
  .media_area .media_list > div + div {
    margin-left: 0;
  }
  .media_area .media_list .slick-slide {
    width: 300px;
    padding: 0 24px;
  }
}

@media only screen and (max-width: 690px) {
  .media_area {

  }
  .media_area .media_list .slick-slide {
    width: 280px;
    padding: 0 16px;
  }
  .media_area .dlb_media_title {
    font-size: 16px;
    line-height: 1.8;
  }
  .media_area .dlb_media_time {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .media_area .dlb_media_txt {
    font-size: 15px;
  }
  .media_area .dlb_media_left_in {
    height: 160px;
  }
}

/*-------------------------------------------------------------------

TOP 導入事例

---------------------------------------------------------------------*/
.swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.caselist_l {
  width: 100%;
  padding-bottom: 70px;
}

.caselist_l .swiper-slide {
  -webkit-transform: scale(0.85);
  -ms-transform: scale(0.85);
  transform: scale(0.85);
  -webkit-transition: all .5s linear 0;
  -o-transition: all .5s linear 0;
  transition: all .5s linear 0;
}

.caselist_l .swiper-slide-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.caselist_l .swiper-pagination-fraction, .caselist_l .swiper-pagination-custom,
.caselist_l .swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 0;
}

.caselist_l .swiper-button-prev, .caselist_l .swiper-container-rtl .swiper-button-next {
  left: 21%;
}

.caselist_l .swiper-button-next, .caselist_l .swiper-container-rtl .swiper-button-prev {
  right: 21%;
}

.caselist_l .swiper-button-prev, .caselist_l .swiper-button-next {
  height: 40px;
  width: 40px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.caselist_l .swiper-button-prev::after, .caselist_l .swiper-button-next::after {
  font-size: 15px;
  color: #ffffff;
  font-weight: bold;
  background-color: #ED1C21;
  border-radius: 100%;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 40px;
}

.case_area {
  padding: 80px 0;
}

.caselist_l .dlb_media_left_in {
  height: 320px;
  border-radius: 15px 15px 0 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 1s ease .5s;
  -o-transition: all 1s ease .5s;
  transition: all 1s ease .5s;
  -webkit-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
}

.caselist_l .dlb_media_block {
  display: block;
  background-color: #ffffff;
  border-radius: 15px;
  -webkit-box-shadow: 0 10px 30px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0 10px 30px 0px rgba(0, 0, 0, 0.15);
}

.caselist_l .dlb_media_block:hover {
  text-decoration: none;
}

.caselist_l .dlb_media_time,
.caselist_l .dlb_media_cate,
.caselist_l .dlb_media_txt {
  display: none;
}

.caselist_l .dlb_pseudo_link {
  background-color: #ffffff;
  border-radius: 0 0 10px 10px;
}

.caselist_l .dlb_media_left {
  overflow: hidden;
  border-radius: 15px 15px 0 0;
}

.caselist_l .dlb_media_title {
  padding: 45px 40px 35px;
  color: #CA062B;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
}

.caselist_l .dlb_media_title::before {
  font-size: 30px;
  content: " ” ";
  position: absolute;
  top: 20px;
  left: 20px;
  color: #555555;
}

.caselist_l .dlb_media_title::after {
  font-size: 30px;
  content: " “ ";
  position: absolute;
  bottom: 0;
  right: 20px;
  color: #555555;
}

@media only screen and (max-width: 979px) {
  .case_area {
    padding: 60px 0;
  }
  .caselist_l {
    padding-bottom: 50px;
  }
  .caselist_l .dlb_media_left_in {
    height: 240px;
  }
  .caselist_l .swiper-button-prev, .caselist_l .swiper-container-rtl .swiper-button-next {
    left: 13%;
  }
  .caselist_l .swiper-button-next, .caselist_l .swiper-container-rtl .swiper-button-prev {
    right: 13%;
  }
}

@media only screen and (max-width: 690px) {
  .case_area {
    padding: 40px 0;
  }
  .caselist_l {
    padding-bottom: 30px;
  }
  .caselist_l .swiper-button-prev, .caselist_l .swiper-container-rtl .swiper-button-next {
    left: 11%;
  }
  .caselist_l .swiper-button-next, .caselist_l .swiper-container-rtl .swiper-button-prev {
    right: 11%;
  }
  .caselist_l .swiper-button-prev, .caselist_l .swiper-button-next {
    height: 30px;
    width: 30px;
  }
  .caselist_l .swiper-button-prev::after, .caselist_l .swiper-button-next::after {
    font-size: 13px;
    width: 100%;
    height: 100%;
    line-height: 30px;
  }
  .caselist_l .dlb_media_left_in {
    height: 260px;
  }
  .caselist_l .dlb_media_title {
    padding: 30px 20px 25px;
  }
  .caselist_l .dlb_media_title::before {
    font-size: 20px;
    top: 10px;
    left: 10px;
  }
  .caselist_l .dlb_media_title::after {
    font-size: 20px;
    bottom: -10px;
    right: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .caselist_l .dlb_media_left_in {
    height: 160px;
  }
}

/*-- logo list ----*/
.case_logo ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.case_logo ul li {
  list-style: none;
  width: 20%;
}

.case_logo ul li img {
  padding: 10px 10%;
  display: block;
}

@media all and (-ms-high-contrast: none) {
  .case_logo img {
    width: auto !important;
  }
}

@media only screen and (max-width: 690px) {
  .case_logo ul li {
    width: 33.333%;
  }
}

.caselist {
  width: 100%;
  padding: 0 10px 15px;
}

.caselist .dlb_media_left_in {
  height: 180px;
  border-radius: 15px 15px 0 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 1s ease .5s;
  -o-transition: all 1s ease .5s;
  transition: all 1s ease .5s;
  -webkit-transform-origin: 100% 50%;
  -ms-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
}

.caselist .dlb_media_block {
  display: block;
  background-color: #ffffff;
  border-radius: 15px;
  -webkit-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.15);
}

.caselist .dlb_media_block:hover {
  text-decoration: none;
}

.caselist .dlb_media_time,
.caselist .dlb_media_cate,
.caselist .dlb_media_txt {
  display: none;
}

.caselist .dlb_pseudo_link {
  background-color: #ffffff;
  border-radius: 0 0 10px 10px;
}

.caselist .dlb_media_left {
  overflow: hidden;
  border-radius: 15px 15px 0 0;
}

.caselist .dlb_media_title {
  padding: 35px 20px 30px;
  color: #CA062B;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
}

.caselist .dlb_media_title::before {
  font-size: 20px;
  content: " ” ";
  position: absolute;
  top: 10px;
  left: 10px;
  color: #555555;
}

.caselist .dlb_media_title::after {
  font-size: 20px;
  content: " “ ";
  position: absolute;
  bottom: -10px;
  right: 10px;
  color: #555555;
}

@media only screen and (max-width: 690px) {
  .caselist .dlb_media_left_in {
    height: 160px;
  }
}

/*-------------------------------------------------------------------

下層 フッター上 導入事例 共通

---------------------------------------------------------------------*/
.case_area.sub {
  padding: 80px 0 100px;
}

.case_area.sub.pd0 {
  padding: 0;
}

.sub .case_list .slick-slide {
  -webkit-transform: scale(0.9);
  -ms-transform: scale(0.9);
  transform: scale(0.9);
}

.sub .case_list .dlb_media_left_in {
  height: 180px;
}

.sub .case_list .dlb_media_left {
  border-radius: 20px 20px 0 0;
}

@media only screen and (max-width: 1199px) {
  .sub .case_list {
    padding: 0;
  }
  .sub .case_list .slick-slide {
    max-width: 300px;
    min-width: 300px;
  }
  .sub .case_list .slick-list {
    padding-bottom: 20px !important;
  }
  .sub .case_list.slick-dotted.slick-slider {
    margin-bottom: 80px;
  }
  .case_area.sub {
    padding: 60px 0;
  }
}

@media only screen and (max-width: 690px) {
  .sub .case_list.slick-dotted.slick-slider {
    margin-bottom: 30px;
  }
  .case_area.sub {
    padding: 40px 0;
  }
}

/*-------------------------------------------------------------------

function 機能一覧 ページ内リンク

---------------------------------------------------------------------*/
.pagelink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.pagelink li {
  list-style: none;
  width: calc(25% - 15px);
  margin-right: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #eeeeee;
  margin-bottom: 30px;
  padding-left: 30px;
  position: relative;
}

.pagelink li:nth-child(4n) {
  margin-right: 0;
}

.pagelink li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #CA062B;
  border-right: 2px solid #CA062B;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 6px;
  left: 7px;
}

.pagelink li a:hover {
  color: #CA062B;
  text-decoration: none;
}

@media only screen and (max-width: 979px) {
  .pagelink li {
    width: calc(33.333% - 10px);
    margin-right: 15px;
  }
  .pagelink li:nth-child(4n) {
    margin-right: 15px;
  }
  .pagelink li:nth-child(3n) {
    margin-right: 0;
  }
}

@media only screen and (max-width: 690px) {
  .pagelink li {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 5px;
    margin-right: 0;
    border-bottom-width: 1px;
  }
  .pagelink li:nth-child(4n) {
    margin-right: 0;
  }
  .pagelink li a {
    display: block;
  }
  .pagelink li::before {
    top: calc(50% - 6px);
    width: 4px;
    height: 4px;
    left: 10px;
  }
}

/*-------------------------------------------------------------------

function 機能説明

---------------------------------------------------------------------*/
.functionitem_area {
  padding: 60px 0;
}

.functionitem_area.bgver {
  background-color: #f5f5f5;
}

.functionitem_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.fi_icon {
  width: 360px;
  position: relative;
  z-index: 0;
}

.functionitem_area.bgver .fi_icon {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.fi_icon img {
  max-width: 240px;
}

.fi_icon::after {
  content: "";
  width: 340px;
  height: 340px;
  background-color: #f5f5f5;
  border-radius: 340px;
  position: absolute;
  top: calc(50% - 170px);
  left: calc(50% - 170px);
  z-index: -1;
}

.functionitem_area.bgver .fi_icon::after {
  background-color: #ffffff;
}

.fi_txt {
  width: calc(100% - 360px);
  padding-right: 8%;
}

.functionitem_area.bgver .fi_txt {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  padding-left: 8%;
  padding-right: 0;
}

.fi_title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
}

.fi_title .in {
  font-size: 60%;
  margin-left: 15px;
}

.fi_linklist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.fi_linklist li {
  width: calc(33.333% - 10px);
  margin-right: 15px;
}

.fi_linklist li:nth-child(3n) {
  margin-right: 0;
}

.fi_linklist li {
  margin-bottom: 10px;
  text-align: center;
  list-style: none;
}

.fi_linklist li a {
  color: #CA062B;
  display: block;
  border: 1px solid #CA062B;
  color: #CA062B;
  padding: 10px 8px;
  border-radius: 30px;
  font-size: 13px;
  -webkit-box-shadow: 0 12px 16px rgba(0, 0, 0, 0.05);
  box-shadow: 0 12px 16px rgba(0, 0, 0, 0.05);
  -webkit-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
  -o-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
  transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
}

.fi_linklist li a:hover {
  text-decoration: none;
  background-color: #CA062B;
  color: #ffffff;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

@media all and (-ms-high-contrast: none) {
  .fi_linklist li a:hover {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

@media only screen and (max-width: 1199px) {
  .fi_txt {
    padding-right: 20px;
  }
  .functionitem_area.bgver .fi_txt {
    padding-left: 20px;
  }
  .functionitem_col {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .fi_icon {
    width: 300px;
  }
  .fi_icon img {
    max-width: 240px;
  }
  .fi_icon::after {
    width: 260px;
    height: 260px;
    border-radius: 260px;
    top: calc(50% - 130px);
    left: calc(50% - 130px);
  }
  .fi_txt {
    width: calc(100% - 300px);
  }
}

@media only screen and (max-width: 800px) {
  .functionitem_col {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .fi_icon{
    width: 200px;
    margin: 0 auto 50px;
    order: 1;
  }
  .fi_icon img{
    max-width: 160px;
  }
  .fi_icon::after{
    width: 180px;
    height: 180px;
    border-radius: 180px;
    top: calc(50% - 90px);
    left: calc(50% - 90px);
  }
  .fi_txt {
    width: 100%;
    padding-right: 0;
    order: 2;
  }
  .functionitem_area.bgver .fi_txt {
    padding-left: 0;
  }
}

@media only screen and (max-width: 690px) {
  .functionitem_area {
    padding: 40px 0;
  }
  .fi_icon{
    width: 100px;
    margin: 0 auto 20px;
  }
  .fi_icon img{
    max-width: 80px;
  }
  .fi_icon::after{
    width: 90px;
    height: 90px;
    top: calc(50% - 45px);
    left: calc(50% - 45px);
  }
  .fi_txt {
    padding-right: 0;
    width: 100%;
  }
  .fi_title {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .fi_linklist li {
    width: calc(50% - 5px);
    margin-right: 10px;
  }
  .fi_linklist li:nth-child(3n) {
    margin-right: 10px;
  }
  .fi_linklist li:nth-child(2n) {
    margin-right: 0;
  }
}

/*-------------------------------------------------------------------

TOP point メイン下

---------------------------------------------------------------------*/
.pointitem_area {
  position: relative;
  z-index: 0;
}

.pointitem_area::after {
  content: "";
  width: 65%;
  height: 280px;
  background-color: #f7f7f7;
  position: absolute;
  top: calc(50% - 140px);
  z-index: -1;
}

.pointitem_area::after {
  left: 0;
}

.pointitem_area.it::after {
  right: 0;
  left: auto;
}

.pitem_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.pitem_txta {
  width: 55%;
  padding-right: 5%;
}

.pointitem_area.it .pitem_txta {
  padding-left: 5%;
  padding-right: 0;
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.pointitem_area.it .pitem_imga {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.pitem_imga {
  width: 45%;
}

.pitem_title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
}

@media only screen and (max-width: 979px) {
  .pitem_title {
    font-size: 28px;
  }
}

@media only screen and (max-width: 690px) {
  .pitem_title {
    font-size: 18px;
  }
}

.pitem_txt {
  line-height: 2;
}

@media only screen and (max-width: 690px) {
  .pointitem_area::after {
    width: 80%;
    height: 80%;
    top: 30px;
  }
  .pitem_txta {
    width: 100%;
    padding-right: 0;
    margin-bottom: 10px;
  }
  .pointitem_area.it .pitem_txta {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 25px;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .pointitem_area.it .pitem_imga {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .pitem_imga {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
  }
  .pitem_title {
    margin-bottom: 10px;
  }
}

/*-------------------------------------------------------------------

table

---------------------------------------------------------------------*/
/* table 01 -------------*/
.template_it01_tab {
  border-top: 1px solid #dddddd;
}

.template_it01_tab td {
  padding: 30px 2%;
  border-bottom: 1px solid #dddddd;
  border-right: none;
  border-left: none;
}

.template_it01_tab.it01_tab01 td {
  text-align: center;
}

.template_it01_tab td.bg_red {
  background-color: #FDF2F2;
}

.template_it01_tab td.bg_gray {
  background-color: #f5f5f5;
}

.template_it01_tab td.txt_red {
  color: #CA062B;
}

.template_it01_tab td.txt_big {
  font-size: 32px;
}

.template_it01_tab td .in a {
  background-color: #D92D2D;
  color: #ffffff;
  padding: 5px 10px;
  font-size: 10px;
  display: inline-block;
  margin-left: 5%;
}

@media only screen and (max-width: 979px) {
  .template_it01_tab td.txt_big {
    font-size: 24px;
  }
  .template_it01_tab td {
    padding: 20px 10px;
  }
}

@media only screen and (max-width: 690px) {
  .template_it01_tab.it01_tab02 td {
    display: block;
  }
  .template_it01_tab.it01_tab02 {
    border-bottom: 1px solid #dddddd;
  }
  .template_it01_tab.it01_tab02 td:first-child {
    padding-bottom: 10px;
    padding-top: 10px;
    border-bottom: none;
  }
  .template_it01_tab td .in a {
    margin-left: 0;
    margin-top: 5px;
  }
}

/*-------------------------------------------------------------------

中間コンバージョン　Intermediate conversion

---------------------------------------------------------------------*/
.mcv_block {
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  padding: 50px 0;
}

.mcv_title {
  text-align: center;
  font-size: 24px;
  margin-bottom: 50px;
}

.mcv_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.mcv_list li {
  margin: 0 10px 20px;
  list-style: none;
  min-width: 280px;
}

.mcv_list li a {
  display: block;
  text-align: center;
  color: #CA062B;
  border: 1px solid #CA062B;
  position: relative;
  border-radius: 60px;
  padding: 15px 45px 15px 20px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 12px 16px rgba(0, 0, 0, 0.05);
  box-shadow: 0 12px 16px rgba(0, 0, 0, 0.05);
  -webkit-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
  -o-transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
  transition: 0.3s cubic-bezier(0.18, 0.45, 0.25, 1);
}

.mcv_list li a::before {
  content: "";
  width: 18px;
  height: 18px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #CA062B;
  position: absolute;
  top: calc(50% - 9px);
  right: 20px;
}

.mcv_list li a::after {
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  right: 27px;
}

.mcv_list li a:hover {
  color: #ffffff;
  border-color: #ffffff;
  background-color: #CA062B;
  text-decoration: none;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.mcv_list li a:hover::before {
  background: #ffffff;
}

.mcv_list li a:hover::after {
  border-top-color: #CA062B;
  border-right-color: #CA062B;
}

@media only screen and (max-width: 979px) {
  .mcv_block {
    padding: 30px 0;
  }
  .mcv_title {
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 690px) {
  .mcv_block {
    padding-bottom: 20px;
    padding-right: 5%;
    padding-left: 5%;
  }
}

/*-------------------------------------------------------------------

faq よくある質問

---------------------------------------------------------------------*/
.faq_q {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 15px;
}

.faq_a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.initials {
  font-size: 20px;
  width: 40px;
  height: 40px;
  text-align: center;
}

.faq_q .initials {
  border: 2px solid #333333;
  background-color: #333333;
  color: #ffffff;
}

.faq_a .initials {
  border: 2px solid #D92D2D;
  background-color: #ffffff;
  color: #D92D2D;
}

.faq_q_txt {
  font-size: 18px;
  margin-left: 3%;
  width: calc(100% - 40px);
}

.faq_a_txt {
  margin-left: 3%;
  width: calc(100% - 40px);
}

@media only screen and (max-width: 690px) {
  .faq_q_txt {
    font-size: 16px;
  }
  .initials {
    font-size: 14px;
    width: 30px;
    height: 30px;
  }
}

/*-------------------------------------------------------------------

導入事例ページ

---------------------------------------------------------------------*/
.case_area.page {
  padding: 0;
}

.casetag_block {
  background-color: #f5f5f5;
  padding: 30px 2%;
}

.casetag_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.casetag_list li {
  list-style: none;
  margin: 5px;
}

.casetag_list li a {
  display: block;
  border-radius: 4px;
  background-color: #ffffff;
  text-align: center;
  padding: 5px 20px;
  -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
}

.casetag_list li a:hover {
  background-color: #D92D2D;
  color: #ffffff;
  text-decoration: none;
}

/*-------------------------------------------------------------------

サポートページ アイコン3つ並び

---------------------------------------------------------------------*/
.supportitem_area {
  background-color: #FDF2F2;
  padding: 60px 0 80px;
}

.supportitem_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.supportitem_col {
  width: 27.333%;
  margin-right: 3%;
  margin-left: 3%;
}

.supportitem_image {
  position: relative;
  z-index: 0;
  width: 240px;
  height: 240px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.supportitem_image img {
  max-width: 160px;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.supportitem_image::after {
  content: "";
  width: 240px;
  height: 240px;
  background-color: #ffffff;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.supportitem_title {
  text-align: center;
  font-size: 24px;
  margin-bottom: 15px;
  font-weight: bold;
}

.supportitem_btn {
  margin: -30px auto 0;
  max-width: 640px;
  position: relative;
  z-index: 1;
  text-align: center;
}

.supportitem_btn a {
  display: inline-block;
  text-align: center;
  color: #ffffff;
  border: 1px solid #D92D2D;
  line-height: 60px;
  height: 60px;
  padding: 0 4em 0 3em;
  font-size: 16px;
  text-decoration: none;
  -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
  background: #D92D2D url("../image/icon_target_white.png") no-repeat 90% center/14px auto;
}

.supportitem_btn a:hover {
  background-color: #ffffff;
  color: #D92D2D;
}

@media only screen and (max-width: 979px) {
  .supportitem_area {
    padding-bottom: 40px;
  }
  .supportitem_block {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .supportitem_col {
    width: 100%;
    margin: 0 0 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .supportitem_image {
    width: 200px;
    height: 200px;
    margin-bottom: 0;
  }
  .supportitem_image img {
    max-width: 160px;
  }
  .supportitem_image::after {
    width: 200px;
    height: 200px;
  }
  .supportitem_txt {
    width: calc(100% - 200px);
    padding-left: 5%;
  }
  .supportitem_title {
    text-align: left;
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 690px) {
  .supportitem_area {
    padding-top: 40px;
    padding-bottom: 30px;
  }
  .supportitem_block {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .supportitem_col {
    margin: 0 0 30px;
    display: block;
  }
  .supportitem_image {
    width: 120px;
    height: 120px;
    margin-bottom: 20px;
  }
  .supportitem_image img {
    max-width: 80px;
  }
  .supportitem_image::after {
    width: 120px;
    height: 120px;
  }
  .supportitem_txt {
    width: 100%;
    padding-left: 0;
  }
  .supportitem_title {
    text-align: center;
    font-size: 18px;
  }
  .supportitem_btn a {
    font-size: 14px;
  }
}

/*-------------------------------------------------------------------

サポートページ セミナー サポート窓口

---------------------------------------------------------------------*/
.supportinfo_area {
  background-color: #eeeeee;
  padding: 100px 0 80px;
  margin-top: -30px;
  position: relative;
}

.supportinfo_block {
  max-width: 960px;
  background-color: #ffffff;
  padding: 30px 40px;
}

.supportinfo_inblock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.supportinfo_vertical {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.supportinfo_txta {
  width: 60%;
  margin-right: 5%;
}

.supportinfo_imga {
  width: 35%;
}

.supportinfo_title {
  padding-left: 10px;
  border-left: 3px solid #CA062B;
  font-size: 22px;
  margin-bottom: 20px;
  line-height: 1.4;
  font-weight: bold;
}

.supportinfo_tel {
  padding-left: 90px;
  background: url("../image/template_it01_support_icon_people.png") no-repeat left center/80px auto;
}

.supportinfo_tel_num {
  font-size: 48px;
  color: #CA062B;
  line-height: 1;
  margin: 5px 0;
  letter-spacing: .05em;
}
.supportinfo_mail {
  width: 40%;
  margin-left: 5%;
}

.supportinfo_mail .template_it01_btn {
  max-width: 640px;
  width: 100%;
}

.supportinfo_mail .template_it01_btn a {
  font-size: 18px;
  background-color: #D92D2D;
  color: #ffffff;
  padding-right: 40px;
}

.supportinfo_mail .template_it01_btn a .in {
  background-image: url("../image/template_it01_support_icon_mail.png");
  background-size: 24px auto;
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 40px;
}

.supportinfo_mail .template_it01_btn a::before {
  background: #ffffff;
}

.supportinfo_mail .template_it01_btn a::after {
  border-color: #D92D2D;
}

@media only screen and (max-width: 979px) {
  .supportinfo_area {
    padding: 100px 0 80px;
    margin-top: -30px;
  }
  .supportinfo_block {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    padding: 30px;
  }
  .supportinfo_tel {
    padding-left: 60px;
    background-size: 50px auto;
  }
  .supportinfo_tel_num {
    font-size: 36px;
  }
  .supportinfo_time{font-size: 90%;}
  .supportinfo_mail {
    width: 40%;
    margin-left: 3%;
  }
  .supportinfo_mail .template_it01_btn a {
    padding-left: 20px;
  }
  .supportinfo_mail .template_it01_btn a .in {
    padding-left: 30px;
    background-size: 20px auto;
  }
}

@media only screen and (max-width: 690px) {
  .supportinfo_area {
    padding: 60px 0 40px;
  }
  .supportinfo_block {
    padding: 30px 20px;
  }
  .supportinfo_inblock {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .supportinfo_title {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .supportinfo_txta {
    width: 100%;
    margin-right: 0;
    margin-bottom: 25px;
  }
  .supportinfo_imga {
    width: 100%;
  }
  .supportinfo_tel {
    padding-left: 0;
    background: none;
    text-align: center;
  }
  .supportinfo_tel_num {
    font-size: 32px;
  }
  .supportinfo_time{font-size: 100%;}
  .supportinfo_mail {
    width: 85%;
    margin-left: 0;
    margin-top: 20px;
    text-align: center;
  }
  .supportinfo_mail .template_it01_btn a {
    font-size: 13px;
  }
}

/*-------------------------------------------------------------------

導入事例 詳細

---------------------------------------------------------------------*/
.case_icon {
  display: inline-block;
  text-align: center;
  color: #ffffff;
  padding: 5px 15px;
  background-color: #CA062B;
  line-height: 1;
  font-size: 12px;
  margin-bottom: 15px;
}

.case_lead {
  font-size: 28px;
}

.case_lead .in {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #EFB3BF));
  background: -webkit-linear-gradient(transparent 70%, #EFB3BF 30%);
  background: -o-linear-gradient(transparent 70%, #EFB3BF 30%);
  background: linear-gradient(transparent 70%, #EFB3BF 30%);
}

/* ページ内リンク -------------*/
.caselist_block {
  padding: 2% 5% 2.5%;
  border: 5px solid #eeeeee;
}

.caselist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.caselist li {
  width: 23%;
  margin: 0 1%;
  list-style: none;
}

.caselist li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  background-color: #f5f5f5;
  padding: 15px 20px 15px 35px;
  border-left: 7px solid #CA062B;
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.caselist li a::before {
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px solid #CA062B;
  border-right: 2px solid #CA062B;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: calc(50% - 3px);
  left: 10%;
}

.caselist li a:hover {
  color: #CA062B;
}

/* 表 -------------*/
.case_item table td {
  padding: 10px 20px;
  border: 10px solid #ffffff;
  border-left: none;
  border-right: none;
}

.case_item table td.casettitle {
  background-color: #f3f3f3;
  text-align: center;
  width: 15%;
}

/* 声 -------------*/
.casetitle {
  font-size: 24px;
  margin-bottom: 20px;
  color: #CA062B;
}

.casesubtitle {
  font-size: 20px;
  margin-bottom: 15px;
}

.casetxt .in {
  color: #F19419;
}

.casepoint {
  display: inline;
  color: #CA062B;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #F9E106));
  background: -webkit-linear-gradient(transparent 60%, #F9E106 40%);
  background: -o-linear-gradient(transparent 60%, #F9E106 40%);
  background: linear-gradient(transparent 60%, #F9E106 40%);
}

/* 特長 -------------*/
.caseft_block {
  background-color: #FEF7F8;
  padding: 20px 0 70px;
}

.caseft_title {
  text-align: center;
  margin-bottom: 20px;
  font-size: 28px;
  color: #CA062B;
  font-weight: bold;
}

.caseft_col {
  padding: 0 3%;
  border-left: 5px solid #ffffff;
}

.caseft_col:first-child {
  border-left: none;
}

.caseft_img {
  max-width: 60px;
  margin: auto;
}

.caseft_btn {
  margin-top: -30px;
}

/* 企業紹介 -------------*/
.casecname_block {
  background-color: #F6F6F6;
  padding: 20px 40px;
}

.casecname_tab td {
  padding: 5px 0;
  border-left: none;
  border-right: none;
  border-color: #dddddd;
  font-size: 90%;
}

.casecname_tab td:first-child {
  width: 20%;
}

@media only screen and (max-width: 979px) {
  .caselist li {
    width: 48%;
    margin: 1%;
  }
  .caseft_col:last-child {
    border-left: none;
    margin-top: 20px;
  }
  .casecname_block {
    padding: 20px;
  }
  .casecname_tab td:first-child {
    width: 30%;
  }
}

@media only screen and (max-width: 690px) {
  .caselist_block {
    padding: 6% 5%;
  }
  .case_lead {
    font-size: 18px;
    font-weight: bold;
  }
  .caselist li {
    width: 100%;
    margin: 1% 0;
  }
  .caselist li a {
    padding: 10px 5px;
  }
  .case_item table td {
    display: block;
    width: 100%;
    padding: 10px 0;
    border-top: none;
  }
  .case_item table td.casettitle {
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    border: none;
  }
  /* 声 -------------*/
  .casetitle {
    margin-bottom: 15px;
    font-size: 18px;
  }
  .caseft_block {
    padding: 20px 20px 60px;
  }
  .caseft_col {
    border-left: none;
    margin-top: 20px;
  }
  .caseft_col:first-child {
    margin-top: 0;
  }
  .casesubtitle {
    font-size: 14px;
  }
  .casecname_block {
    padding: 12px 20px;
  }
  .caseft_title {
    font-size: 18px;
    margin-bottom: 10px;
  }
}

/*-------------------------------------------------------------------

特長ページ

---------------------------------------------------------------------*/
/* 見出し -------------*/
.featurettl_area {
  background: -webkit-radial-gradient(#FEFCFC, #F0ABAB);
  background: -o-radial-gradient(#FEFCFC, #F0ABAB);
  background: radial-gradient(#FEFCFC, #F0ABAB);
  margin-top: -90px;
}

.featurettl_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 260px;
  padding-bottom: 80px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 1400px;
}

.featurettl_title {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.4;
}

.featurettl_txt {
  font-size: 18px;
}

.featurettl_imga {
  max-width: 60%;
  margin-left: 5%;
}

@media only screen and (max-width: 979px) {
  .featurettl_block {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 60px;
  }
  .featurettl_txta {
    width: 100%;
  }
  .featurettl_title {
    margin-bottom: 10px;
    text-align: center;
    font-size: 40px;
  }
  .featurettl_txt {
    font-size: 14px;
    margin-bottom: 30px;
    text-align: center;
  }
  .featurettl_imga {
    max-width: 70%;
    margin: auto;
  }
}

@media only screen and (max-width: 690px) {
  .featurettl_block {
    padding-top: 200px;
    padding-bottom: 50px;
  }
  .featurettl_title {
    margin-bottom: 10px;
    font-size: 24px;
  }
  .featurettl_txt {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .featurettl_imga {
    max-width: 90%;
  }
}

/* main 開発コンセプトとは -------------*/
.featuremain_block {
  padding: 120px 0 250px;
  background: url("../image/template_it01_feature_mainbg.jpg") no-repeat center/cover;
  position: relative;
  z-index: 0;
}

.featuremain_block::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.featuremain_area .feature_block {
  margin-top: -150px;
  position: relative;
  z-index: 1;
  padding-top: 0;
}

.featuremain_title {
  text-align: center;
  color: #ffffff;
  font-size: 32px;
  margin-bottom: 30px;
  font-weight: bold;
}

.featuremain_txt {
  text-align: center;
  color: #ffffff;
  font-size: 14px;
  line-height: 2;
}

@media only screen and (max-width: 979px) {
  .featuremain_block {
    padding: 80px 0 200px;
  }
}

@media only screen and (max-width: 690px) {
  .featuremain_title {
    font-size: 22px;
    margin-bottom: 10px;
    line-height: 1.6;
  }
  .featuremain_txt {
    font-size: 12px;
    line-height: 1.75;
    text-align: left;
  }
  .featuremain_txt br {
    display: none;
  }
  .featuremain_area .template_it01_btn {
    width: 100%;
  }
}

/* POINT ポイント -------------*/
.featurepoint_area {
  background-color: #f5f5f5;
  padding: 60px 0;
}

.featurepoint_num {
  text-align: center;
  font-size: 24px;
  color: #CA062B;
  line-height: 1;
  letter-spacing: .1em;
}

.featurepoint_num .in {
  font-size: 48px;
}

.featurepoint_title {
  text-align: center;
  font-size: 32px;
  margin-top: 10px;
  margin-bottom: 40px;
  font-weight: bold;
}

.featurepointin_block {
  background-color: #ffffff;
  padding: 5%;
  border-radius: 10px;
  -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
}

.featurepointur_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 0 20px;
  z-index: 0;
  margin-bottom: 40px;
}

.featurepointur_txta {
  width: 55%;
  margin-right: 5%;
}

.featurepointur_imga {
  width: 40%;
}

.block_reverse .featurepointur_txta {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  margin-right: 0;
  margin-left: 5%;
}

.block_reverse .featurepointur_imga {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.featurepointur_title {
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 20px;
}

.featurepointmid_block {
  margin-bottom: 30px;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.featurepointmid_title {
  font-size: 18px;
  margin-top: 20px;
  margin-bottom: 5px;
  color: #CA062B;
  font-weight: bold;
}

.featurepointbot_title {
  padding-left: 45px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dddddd;
  margin-bottom: 20px;
  background: url("../image/template_it01_icon_pc.png") no-repeat 5px 3px/30px auto;
  color: #CA062B;
  font-size: 20px;
}

.featurepointbot_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.featurepointbot_list li {
  list-style: none;
  margin-right: 50px;
  position: relative;
}

.featurepointbot_list li::after {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #dddddd;
  position: absolute;
  right: -30px;
  border-radius: 100%;
  top: calc(50% - 4px);
}

.featurepointbot_list li:last-child::after {
  display: none;
}

@media only screen and (max-width: 979px) {
  .featurepoint_num {
    font-size: 28px;
  }
  .featurepoint_num .in {
    font-size: 40px;
  }
  .featurepoint_title {
    font-size: 32px;
    margin-bottom: 30px;
  }
  .featurepointin_block {
    padding: 5%;
  }
  .featurepointur_block {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 40px;
    padding-left: 0;
    padding-right: 0;
  }
  .featurepointur_block::after {
    height: 20%;
  }
  .block_reverse .featurepointur_txta {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-right: auto;
    margin-left: auto;
  }
  .block_reverse .featurepointur_imga {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .featurepointur_txta {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .featurepointur_imga {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
  .featurepointur_title {
    text-align: center;
  }
  .featurepointmid_block {
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 1000px) {
  .featurepoint_area {
    padding: 40px 0;
  }
}

@media only screen and (max-width: 690px) {
  .featurepoint_num {
    font-size: 14px;
    font-weight: bold;
  }
  .featurepoint_num .in {
    font-size: 20px;
  }
  .featurepoint_title {
    font-size: 22px;
    margin-bottom: 15px;
    margin-top: 5px;
  }
  .featurepointin_block {
    padding: 10% 7%;
  }
  .featurepointur_txta {
    margin-bottom: 20px;
  }
  .featurepointur_imga {
    width: 80%;
  }
  .featurepointur_title {
    font-size: 18px;
  }
  .featurepointmid_block {
    margin-bottom: 0;
  }
  .featurepointmid_block .col {
    margin-bottom: 25px;
  }
  .featurepointmid_title {
    margin-top: 15px;
    font-size: 16px;
  }
  .featurepointbot_title {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .featurepointbot_list li {
    margin-right: 0;
    width: 100%;
    margin-bottom: 5px;
  }
  .featurepointbot_list li::after {
    display: none;
  }
}

/*-------------------------------------------------------------------

フォーム

---------------------------------------------------------------------*/
.formflow_arrow {
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.formflow_arrow li {
  margin: 0 10px 0 16px;
  list-style: none;
  height: 56px;
  line-height: 56px;
  background-color: #dddddd;
  padding: 0 4.5em;
  text-decoration: none;
  position: relative;
}

.formflow_arrow li::before {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -28px;
  border-width: 28px 0 28px 16px;
  border-style: solid;
  border-color: #dddddd #dddddd #dddddd transparent;
  left: -16px;
}

.formflow_arrow li:first-child {
  margin-left: 0;
}

.formflow_arrow li:first-child::before {
  display: none;
}

.formflow_arrow li::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -28px;
  border-top: 28px solid transparent;
  border-bottom: 28px solid transparent;
  border-left: 16px solid #dddddd;
  right: -16px;
}

.formflow_arrow li.age {
  position: relative;
  background-color: #CA062B;
  color: #ffffff;
}

.formflow_arrow li.age::before {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -28px;
  border-width: 28px 0 28px 16px;
  border-style: solid;
  border-color: #CA062B #CA062B #CA062B transparent;
  left: -16px;
}

.formflow_arrow li.age::after {
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -28px;
  border-top: 28px solid transparent;
  border-bottom: 28px solid transparent;
  border-left: 16px solid #CA062B;
  right: -16px;
}

@media only screen and (max-width: 690px) {
  .formflow_arrow li {
    height: 36px;
    line-height: 36px;
    padding: 0 15px;
    margin: 0 5px 0 8px;
    font-size: 13px;
  }
  .formflow_arrow li::before {
    margin-top: -18px;
    border-width: 18px 0 18px 8px;
    border-style: solid;
    left: -8px;
  }
  .formflow_arrow li::after {
    margin-top: -18px;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 8px solid #dddddd;
    right: -8px;
  }
  .formflow_arrow li.age::before {
    margin-top: -18px;
    border-width: 18px 0 18px 8px;
    left: -8px;
  }
  .formflow_arrow li.age::after {
    margin-top: -18px;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 8px solid #CA062B;
    right: -8px;
  }
}

/* BowNow --------*/
.bn_2block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#bn_2col_l {
  width: 50%;
  padding-top: 3%;
}

#bn_2col_r {
  width: 45%;
  margin-left: 5%;
  padding: 45px 3%;
  background-color: #FDF2F2;
}

.bn_tel_block {
  background-color: rgba(255, 255, 255, 0.5);
  padding: 20px;
}

@media only screen and (max-width: 979px) {
  .bn_2block {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #bn_2col_l {
    width: 100%;
    padding-top: 30px;
  }
  #bn_2col_r {
    width: 100%;
    margin-left: 0;
    margin-top: 30px;
    padding: 30px 20px 30px;
    background-color: #FDF2F2;
  }
}

/*-------------------------------------------------------------------

ブロックまとめる→横並び

---------------------------------------------------------------------*/
/* 3つ --------------*/
.wblock3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.wcol3 {
  width: calc(33.333% - 20px);
  margin-bottom: 30px;
  margin-right: 30px;
}

.wcol3:nth-child(3n) {
  margin-right: 0;
}

@media only screen and (max-width: 690px) {
  .wcol3 {
    width: 100%;
    margin-right: 0;
  }
}

/* 4つ --------------*/
.wblock4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.wcol4 {
  width: calc(25% - 15px);
  margin-bottom: 30px;
  margin-right: 20px;
}

.wcol4:nth-child(4n) {
  margin-right: 0;
}

@media only screen and (max-width: 690px) {
  .wcol4 {
    width: 100%;
    margin-right: 0;
  }
}

/*-------------------------------------------------------------------

サイトマップ

---------------------------------------------------------------------*/
#sitemap li {
  margin: 10px 0;
  padding: 0 0 0 15px;
  list-style-type: none;
  position: relative;
}

#sitemap ul {
  padding: 0 0 5px 10px;
}

#sitemap ul li {
  margin: 5px 0;
}

#sitemap li::before {
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px solid #0A5D81;
  border-right: 2px solid #0A5D81;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 10px;
  left: 0;
}

#sitemap li a {
	color:#0A5D81;
	font-weight: bold;
	font-size:15px;
}

@media only screen and (max-width: 690px) {
  #sitemap li::before {
    /*top: 7px;*/
  }
}



.top_planning .dlb_content-42 {
	padding:50px 0;
	height:auto;
}

.top_planning .dlb_c42_box {
	background: rgba(255,255,255,0.80);
	color:#222222;
	text-align: left;
	font-size:16px;
		padding-top:50px;
	padding-bottom:50px;
}

.top_planning .inner {
	width:1020px;
	max-width:96%;
}
.top_planning .inner h3 {
	color:#2D87AD;
	font-size:26px;
}

.top_planning .dlb_c42_block {
	height:auto;

}

@media only screen and (max-width: 690px) {
	.top_planning .inner h3 {
		font-size:20px;
	}
	.top_planning .dlb_c42_box {
		font-size:15px;
		padding:30px 6%;
	}


}


.dlb_btn a::before, .dlb_btn_inlineb a::before {
	right:1em;
	left:auto !important;
}


.top_rss .top_rss_left {
	width:30%;
	float:left;
	font-size:16px;
}

.top_rss .top_rss_left .template_it01_btn {
	margin-left: 0;
}

.top_rss .rss_block {
	float:right;
	width: 70%;
}

@media only screen and (max-width: 690px) {
	.top_rss .top_rss_left {
		width:100%;
		float:none;
	}
	.top_rss .rss_block {
		float:none;
		width: 100%;
	}
	.top_rss .top_rss_left .template_it01_btn {
		margin-left: auto;
	}

}


.top_product_title {
	font-size:30px;
	font-weight: bold;
	color:#1783B1;
	margin-bottom:40px;
	letter-spacing: 0.1em;
}
@media only screen and (max-width: 979px) {
	.top_product_title {
		font-size:26px;
	}
}
@media only screen and (max-width: 690px) {
	.top_product_title {
		font-size:21px;
		margin-bottom:20px;
	}
}
.top_product_box01 {
	position: relative;
}
.top_product_box01 .inner_1200 {
	display:flex;
}

.top_product_left {
	width: 65%;
	margin-right:3.5%;
}

.top_product_right {
	width: 65%;
	margin-left:3.5%;
}

.top_product_left ul.col2 li {
	list-style-type: none;
	width:50%;
	position: relative;
	margin-bottom:40px;
}
.top_product_right ul.col3 {
	display: flex;
	flex-wrap: wrap;
}
.top_product_right ul.col3 li {
	list-style-type: none;
	width:33.33%;
	position: relative;
	margin-bottom:40px;
}

.top_product_left ul.col2 li a,
.top_product_right ul.col3 li a {
	font-size:18px;
	font-weight: 500;
	color:#838383;
	padding-left:32px;
	display: inline-block;
	position: relative;
}
.top_product_left ul.col2 li a:hover,
.top_product_right ul.col3 li a:hover {
	color:#1783B1;
}

.top_product_left ul.col2 li a::before,
.top_product_right ul.col3 li a::before {
	content:"";
	width:25px;
	height:25px;
	background: #BBBBBB;
	position: absolute;
	left:0;
	top:3px;
}
.top_product_left ul.col2 li a:hover::before,
.top_product_right ul.col3 li a:hover::before {
	background: #1783B1;
}

.top_product_box01 .inner_1200 figure {
	width:31.5%;
}

@media only screen and (max-width: 979px) {
	.top_product_left ul.col2 li,
	.top_product_right ul.col3 li {
		margin-bottom:30px;
	}

}

@media only screen and (max-width: 690px) {
	.top_product_box01 .inner_1200 figure {
		width:100%;
		margin-bottom:20px;
	}
	.top_product_box01 .inner_1200 {
		flex-direction: column-reverse;
	}
	.top_product_box01 .inner_1200.column {
		flex-direction: column;
	}
	.top_product_left,
	.top_product_right {
		width: 100%;
		margin-right:0;
	}
	.top_product_left ul.col2 li {
		margin-bottom:20px;
		padding-right:10px;
	}
	.top_product_right ul.col3 li {
		width:50%;
		margin-bottom:20px;
		padding-right:10px;
	}
	.top_product_left ul.col2 li a,
	.top_product_right ul.col3 li a {
		font-size:16px;
		padding-left:26px;
	}
	.top_product_left ul.col2 li a::before,
	.top_product_right ul.col3 li a::before {
		content:"";
		width:18px;
		height:18px;
		top:5px;
	}
}


.top_keyword {
	width:380px;
	max-width: 94%;
	margin-left:auto;
	margin-right:auto;
	display: flex;
}
.top_keyword #keyword3core {
	width:calc(100% - 50px);
}
.top_keyword input.form-control {
	outline: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';
    vertical-align: middle;
    font-size: 14px;
	font-weight: 500;
    color: inherit;
    height: 50px;
    padding: 0 20px 0 10px;
    width: 100%;
    box-shadow: none;
    background: #ffffff;
    border: 1px solid #848484;
	width:100%;
	max-width: 100%;
	position: relative;
}

.top_keyword input[type=submit] {
	background: #848484 url("../image/common/icon_search_keyword.svg") no-repeat center center;
	width:50px;
	height:50px;
	border:none;
}

.top_keyword input[type=submit]:hover {
	background: #848484 url("../image/common/icon_search_keyword.svg") no-repeat center center;
	opacity:1;
}

.top_pro_bg01 {
	position: relative;
	padding:50px 0;
}
.top_pro_bg01::before {
	content:"";
	width:70%;
	height:100%;
	background: url("../image/top_product_box_bg01.jpg") no-repeat 0 0;
	background-size: cover;
	position: absolute;
	left:0;
	top:0;
}

.top_pro_bg01 > div {
	position: relative;
	z-index: 2;
}


.top_pro_bg02 {
	position: relative;
	padding:50px 0;
}
.top_pro_bg02::before {
	content:"";
	width:70%;
	height:100%;
	background: url("../image/top_product_box_bg02.jpg") no-repeat 0 0;
	background-size: cover;
	position: absolute;
	right:0;
	top:0;
}

.top_pro_bg02 > div {
	position: relative;
	z-index: 2;
}



.top_pro_bg03 {
	position: relative;
	padding:50px 0;
}
.top_pro_bg03::before {
	content:"";
	width:70%;
	height:100%;
	background: url("../image/top_product_box_bg03.jpg") no-repeat 0 0;
	background-size: cover;
	position: absolute;
	left:0;
	top:0;
}

.top_pro_bg03 > div {
	position: relative;
	z-index: 2;
}


@media only screen and (max-width: 690px) {
	.top_pro_bg01,
	.top_pro_bg02,
	.top_pro_bg03 {
		padding:0;
	}
	.top_pro_bg01::before,
	.top_pro_bg02::before,
	.top_pro_bg03::before {
		content:none;
	}

}