@charset "utf-8";
/* CSS Document */


/* =========================================================
common
========================================================= */

/* bg
--------------------------------------------------------- */
.bg_stripe_green_01 {
	background: url(../images/bg_stripe_green_01.png) repeat;
}
.bg_stripe_green_02 {
	background: url(../images/bg_stripe_green_02.png) repeat;
}
.bg_dot_green_01 {
	background: url(../images/bg_dot_green_01.png) repeat;
}
.bg_stripe_red_01 {
	background: url(../images/bg_stripe_red_01.png) repeat;
}
.bg_stripe_red_02 {
	background: url(../images/bg_stripe_red_02.png) repeat;
}
.bg_dot_red_01 {
	background: url(../images/bg_dot_red_01.png) repeat;
}
.bg_sms_yellow_01 {
	background: #f6fa79;
}
.bg_sms_red_01 {
	background: #ffdadf;
}

/* 見出し
--------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: normal;
}
.selling_point h2 {
	padding-top: 20px;
}
.h {
	background-color: #e60019;
	padding: 16px 8px;
	display: block;
	color: #fff;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
.h .h-text {
	margin: 8px auto;
}
.read_text {
	font-size: 20px;
	line-height: 1.7;
	margin: 40px auto 24px auto;
	font-weight: bold;
	width: 100%;
	max-width: 1240px;
	padding: 0 20px;
}

.read_text + .section_body {
	padding-top: 0;
}

.text-shadow {
	font-weight: bold;
	color: #fff;
	filter: dropshadow(color=#000000,offX= 0,offY=-1) dropshadow(color=#000000,offX= 1,offY= 0) dropshadow(color=#000000,offX= 0,offY= 1) dropshadow(color=#000000,offX=-1,offY= 0);
	text-shadow: #000 2px 2px 1px, #000 -1px 0px 0px, #000 1px 3px 0px, #000 1px -1px 0px;
}
h2.h {
	font-size: 28px;
	font-weight: bold;	
}
h4.h {
	font-size: 25px;
	font-weight: bold;	
}
@media (max-width: 767px) {
	h2.h {
		font-size: 3.5vw;
	}
	.read_text {
		font-size: 16px;
	}
}
@media (max-width: 600px) {
	h2.h {
		font-size: 18px;
	}
	.read_text {
		text-align: left;
	}
	#works .read_text {
		text-align: center;
	}
}

/* その他
--------------------------------------------------------- */
.br {
	display: block;
}
.br_tb {
	display: block;
}
.br_sp {
	display: block;
}
.br_on {
	display: none;
}
.br_on_sp {
	display: none;
}
@media (max-width: 900px) {
	.br {
		display: none;
	}
	.br_on {
		display: block;
	}
}
@media (max-width: 767px) {
	.br_tb {
		display: none;
	}
	.br_on_sp {
		display: block;
	}
}
@media (max-width: 600px) {
	.br_sp {
		display: none;
	}
}

/* =========================================================
header
========================================================= */
/* firefoxでheaderが固定しない不具合解消 */
_:lang(x)::-moz-placeholder, body.modal_key {
  padding-top: 112.8px;
}
_:lang(x)::-moz-placeholder, .modal_key header {
  position: inherit;
}
@media (max-width: 900px) {
  _:lang(x)::-moz-placeholder, body.modal_key {
    padding-top: 56.8px;
  }
}
header {
	height: auto;
}
#main_header .menu_block .btn-tawara {
	text-decoration: none;
	font-size: 18px;
	padding: 11px 10px 12px 10px;
}
#main_header .menu_block .btn-tawara:before {
	font-family: "FontAwesome";
	content: "\f0e0";
	font-size: 21px;
	margin-right: 5px;
}


/* sub_header
--------------------------------------------------------- */
header #sub_header {
  height: 48px;
  border-bottom: 6px solid #e60019;
  position: relative;
}
header #sub_header .header_body {
  height: 48px;
}
header #sub_header .tagline {
  position: absolute;
  left: 0;
}
header #sub_header .logo_eltex_jpn {
  position: absolute;
  right: 0;
}
header #sub_header .logo_eltex_jpn .logo_eltex_jpn_tagline {
  width: 182px;
  display: inline-block;
}
header #sub_header .logo_eltex_jpn .logo_eltex_jpn_01 {
  width: 220px;
  display: inline-block;
}
header .sub_header ul.header_band {
  background: #e60019;
  height: 40px;
  text-align: center;
}
header .sub_header ul.header_band li {
  display: inline-block;
  border-left: 1px solid white;
  border-right: 1px solid white;
  border-collapse: collapse;
  width: 300px;
  text-align: center;
  vertical-align: middle;
  height: 100%;
  padding: 5px 5px;
  margin-right: -6px;
}
header .sub_header ul.header_band li:hover, header .sub_header ul.header_band li.selected {
  background: rgba(255, 255, 255, 0.41);
}
header .sub_header ul.header_band a {
  color: white;
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
}

/* main_header
--------------------------------------------------------- */
header #main_header {
  height: 112px;
  position: relative;
  border-top: 4px solid #e60019;
}
header #main_header .header_body {
  height: 100%;
}
header #main_header .header_body_inner {
  height: 100%;
}
header #main_header .logo_eltexsms {
  width: 240px;
  position: absolute;
  left: 0;
  padding: 10px;
  top: 50%;
  transform: translateY(-50%);
}
header #main_header .contactMenu {
  top: 50%;
  transform: translateY(-50%);
}

/* =========================================================
footer
========================================================= */
footer {
	display:block;
	width:100%;
	background:#262626;
	color:#fff;
	position:relative;
}
footer #footer_wrap {
	max-width: 1240px;
	width: 100%;
	margin:0 auto;
	position:relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
footer #footer_wrap p {
	margin: 0;
}

/* footer_end */
footer #footer_end {
	width:100%;
	background:#253f68;
}
footer #footer_end #footer_wrap {
	padding:36px 20px;
}
footer #footer_end .footer_logo img[src$=".svg"] {
	width: 280px;
}

/* bnr */
footer #bnr_ecawards2014 {
	z-index:1;
	margin:-120px 0 30px 20px;
}

#footer_sp {
	display: none;
}

@media screen and (max-width: 959px) {
	#footer_pc {
	  display: none;
  }
	#footer_sp {
		display: block;
	}
  #footer_sp #footer_end {
	  background-color: #253f68;
	  width: 100%;
  }
  #footer_sp #footer_end #footer_wrap {
		padding: 15px 20px;
		-webkit-flex-direction: column;
    flex-direction: column;
  }
  footer #footer_sp .footer_logo {
	  text-align: center;
  }
  #footer_sp .footer_logo img {
	  width: 74px;
  }
  footer #footer_sp .copyright {
		margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
	footer #footer_end .footer_logo img[src$=".svg"] {
		width: 10vw;
		min-width: 200px;
	}
}

/* =========================================================
contents
========================================================= */

/* main_contents
--------------------------------------------------------- */
/*#main_contents {
	overflow: hidden;
}*/
/*@media (max-width: 900px) {
	#main_contents {
		padding-top: 56px;
	}
}*/

/* メインビジュアル下の事例ロゴ
--------------------------------------------------------- */
/* slick */
.main_works .slick-track {
  display: flex;
  align-items: center;
  column-gap: 20px;
}
.main_works .slick-initialized .slick-slide {
	display: inline-block;
}
.main_works .slider img {
  backface-visibility: hidden;
}
/* layout */
.main_works {
  overflow: hidden;
  margin-bottom: 25px;
}
.main_works_list li {
  background-color: #fff;
}
.main_works_list .client_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 15px 10px;
	width: -moz-fit-content;
  width: fit-content;
}
/*ロゴサイズ調整*/
.main_works_list .you-me > img {
  width: 290px;
}
.main_works_list .la-shotan > img {
  width: 340px;
}
.main_works_list .gmo-epsilon > img, .main_works_list .gmo-ps > img {
  margin-top: 10px;
  width: 80px;
}
.main_works_list .genesis > img {
  width: 150px;
}
.main_works_list .netprotections > img {
  width: 170px;
}
.main_works_list .scala > img {
  width: 180px;
}
.main_works_list .herb-kenko > img {
  width: 150px;
}
.main_works_list .scinable > img {
  width: 140px;
}
.main_works_list .tepco > img {
  width: 100px;
}
.main_works_list .choujyu > img {
  width: 130px;
}
.main_works_list .DSK > img {
  width: 100px;
}
.main_works_list .nicorio > img {
  width: 140px;
}
.main_works_list .fukuokaunyu > img {
  width: 190px;
}
.main_works_list .hosokawa > img {
  width: 200px;
}
.main_works_list .honda-kaihatsu > img {
  width: 120px;
}
@media (max-width: 767px) {
  .main_works_list {
    column-gap: 10px;
  }
  .main_works_list .client_logo {
    padding: 10px;
  }
}
@media (max-width: 767px) {
  .main_works {
    margin-bottom: 10px;
  }
}

/* gnavi
--------------------------------------------------------- */
#gnavi,
.gnavi {
	width: 100%;
	z-index: 1;	
}
#gnavi {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.gnavi {
  background: #fff;
  border-top: 2px solid #e60019;
  width: 100%;
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
	box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);
}
.gnavi .logo_eltexsms {
	width: 165px;
	min-width: 130px;
	display: inline-block;
	padding: 10px;
}
.gnavi ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 100%;
  text-align: center;
  width: calc(100% - 300px);
}
.gnavi ul a {
  color: inherit;
  display: table;
  font-size: 0.9rem;
  font-weight: bold;
  position: relative;
  text-decoration: none;
  width: 100%;
  padding: 5px 10px;
  text-align: left;
}
.gnavi ul a > span {
	display: table-cell;
	vertical-align: middle;	
}
.gnavi ul a > span:before {
	content: "";
	font-family: "FontAwesome";
	content: "\f107";
	color: #e60019;
	margin-right: 5px;
}
.gnavi ul a:hover,
.gnavi ul a.selected {
	background: #e60019;
	color: #fff;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
.gnavi ul a:hover span:before,
.gnavi ul a.selected span:before {
	color: #fff;
}

@media screen and (max-width: 900px) {
	#gnavi {
		display: none;
	}
}

/* m-gnav(tablet/sp)
--------------------------------------------------------- */
.lp-header-sp .m-gnav {
  background-color: #222;
  overflow-x: scroll;
  height: 100vh;
}
.lp-header-sp .m-gnav > ul {
	background-color: #222;
	border-bottom: 1px solid #222;
	padding-bottom: 30px;
}
.lp-header-sp .m-gnav > ul > li {
	border-top: 1px solid #222;
	text-align: center;
}
.lp-header-sp .m-gnav > ul > li > a {
	color: #fff;
	background-color: #222;
	padding: 15px;
}
.lp-header-sp .m-gnav > ul > li:first-child a {
	padding-top: 30px;
}
.lp-header-sp .m-gnav > ul > li > span {
	background-color: #222;
	padding: 30px 15px 15px 15px;
}
.m-gnav__util {
	background-color: #222;
	position: relative;
}
.m-gnav__util:before {
	content: "";
	border-top: 1px solid #fff;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	position: absolute;
	width: 45%;
	z-index: 1;   
}
@media screen and (max-width: 900px) {
  header {
    height: auto;
    position: sticky;
    top: 0;
    z-index: 1;
  }
  .lp-header-sp {
    position: static;
  }
}
@media screen and (max-width: 959px) and (min-width: 768px) {
	.lp-header-sp .m-gnav > ul > li > a,
	.lp-header-sp .m-gnav > ul > li > span {
		font-size: 18px;
	}
}

/* main_visual
--------------------------------------------------------- */
#main_visual {
	background: url(../images/main_visual.jpg) no-repeat top center;
	background-size: contain;
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1280px;
}
#main_visual .main_text {
	width: 100%;
	max-width: 1050px;
	text-align: left;
	margin: 0 auto;
}
.main_text h2 {	
	padding: 4% 38% 4% 0;
}
.main_text h2 span {
	width: 100%;
	max-width: 521px;
	display: inline-block;
}
.main_text h3 {
	font-size: 20px;
	font-weight: bold;
	font-feature-settings: "palt";
	letter-spacing: 0.06em;
	margin-bottom: 4%;
}
.selling_point {
	width: 100%;
	max-width: 1050px;
	text-align: left;
	margin: 0 auto;
}
.selling_point h4 {
	font-size: 32px;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding-top: 1em;
	padding-bottom: 0.2em;
}
.selling_point h4:before, .selling_point h4:after {
	content: "";
	flex-grow: 1;
	height: 2px;
	background: #e60019;
}
.selling_point h4 span {
	padding: 0 0.4em;
}
.selling_point_list {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.selling_point_list li {
	background-color: #fff;
	border: 2px solid #e60019;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	width: 250px;	
	font-feature-settings: "pwid";
	letter-spacing: 0.05em;
}
.selling_point_list li:not(:last-child) {
	margin-right: 15px;
}
.main_pict_a li {
  display: -webkit-flex;
  display: flex;
  border: 2px solid #000;
  align-items: center;
	justify-content: center;
  position: relative;
}
.main_pict_a li::after {
  font-family: "FontAwesome";
  content: "\f107";
  color: #e60019;
  font-size: 18px;
  position: absolute;
  right: 10px;
}
.main_pict_a li:hover {
  border-color: #e60019;
}
.main_pict_a li > a {
  color: inherit;
  text-decoration: none;
  display: flex;
  align-items: center;
  padding: 3px;
  width: 90%;
  height: 100%;
  justify-content: center;
}
p.main_pict_a_ttl {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.main_pict_a_ttl > span {
  display: inline-block;
}
.main_pict_a_img {
	margin: 0 10px;
  width: auto;
	display: flex;
	align-items: center;
}
.main_pict_a_img img {
	max-height: 66px;
}
.main_pict_a_txt {
	font-size: 12px;
	font-weight: bold;
	line-height: 1.6;
	padding: 5px;
	margin-bottom: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-o-transform: rotate(0.05deg);
	-ms-transform: rotate(0.05deg);
	-moz-transform: rotate(0.05deg);
	-webkit-transform: rotate(0.05deg);
	transform: rotate(0.05deg);
}
.main_pict_b {
}
p.main_pict_b_ttl {
	color: #fff;
	background-color: #e60019;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.3;
	margin: 5px;
	padding: 3px;
	text-align: center;
}
.main_pict_b_box01 {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	margin: 0 5px 5px 5px;
}
.main_pict_b_txt {
	font-size: 12px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-o-transform: rotate(0.05deg);
	-ms-transform: rotate(0.05deg);
	-moz-transform: rotate(0.05deg);
	-webkit-transform: rotate(0.05deg);
	transform: rotate(0.05deg);
}
.main_pict_b_img {
	margin-bottom: 0;
	text-align: center;
	width: 95px;
	margin-right: 5px;
}
.main_pict_b_img img {
	max-height: 66px;
}
@media (max-width: 900px) {
	.main_pict_a li {
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	.main_pict_a_box01 {
		padding-top: 0.5em;
	}
	.main_pict_a_img img {
		max-height: 55px;
	}
}
@media (max-width: 767px) {
	.selling_point_list li {
		flex: none;
    width: 23%;
	}
	.main_pict_a_box01 {
		min-width: inherit;
		width: 100%;
	}
	.main_pict_a_txt {
		display: none;
	}
	.selling_point h4 {
		font-size: 2em;
	}
	p.main_pict_b_ttl {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
    justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		padding: 5px 8px;
		border-radius: 0;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		margin: 0 0 5px 0;
	}
	.main_pict_b_txt {
		display: none;
	}
	.main_pict_b_img {
		margin: 0 auto;
	}
}
@media (min-width: 601px) {
	.main_pict_a li::after {
		top: 50%;
    transform: translateY(-50%);
	}
}
@media (max-width: 600px) {
  .selling_point_list li {
    width: 24%;
  }
  .selling_point_list li:not(:last-child) {
    margin-right: 5px;
  }
  .main_pict_a li::after {
    right: inherit;
    bottom: 0;
  }
  .main_pict_a li > a {
    flex-direction: column;
    padding-bottom: 17px;
  }
  p.main_pict_a_ttl, p.main_pict_b_ttl {
    font-size: 12px;
  }
  p.main_pict_a_ttl {
    flex: 1 0 0%;
    justify-content: center;
    line-height: 1.2;
    margin-bottom: 5px;
  }
  .main_pict_a_img {
    max-width: 45px;
  }
  .main_pict_a_img img {
    max-height: 45px;
  }
  .selling_point h4 {
    font-size: 1.5em;
  }
}
@media (max-width: 500px) {
	#main_visual .section_body {
		padding-top: 0;
		padding-bottom: 10px;
	}
	#main_visual .section_body_inner {
		padding: 0;
	}
	#main_visual {
		background: none;
	}
	.main_text h2 {
		padding: 0;
    text-align: center;
	}
	.main_text h2 span {
    padding: 40px 20px 4% 20px;
		background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.5) 95%, rgba(255, 255, 255, 0));
		background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.5) 95%, rgba(255, 255, 255, 0));
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 95%, rgba(255, 255, 255, 0));
	}
	.main_text h3 {
		padding: 0 40% 0 20px;
		font-size: 16px;
		letter-spacing: 0;
		text-shadow:
			5px 5px 5px rgba(255, 255, 255, 0.8),
			5px -5px 5px rgba(255, 255, 255, 0.8),
			-5px 5px 5px rgba(255, 255, 255, 0.8),
			-5px -5px 5px rgba(255, 255, 255, 0.8),
			0 0 30px rgba(255, 255, 255, 0.8);
	}
	#main_visual .main_text {
		background-color: #f1f0ec;
		background-image: url(../images/main_visual_sp.png);
		background-repeat: no-repeat;
		background-position: bottom right -20px;
		background-size: contain;
		padding-bottom: 20%;
	}
	#main_visual .main_text + .selling_point {
		margin-top: -15%;
	}
	.selling_point {
		padding-left: 20px;
		padding-right: 20px;
	}
	.main_pict_a_img img {
		max-height: 36px;
	}
	.main_pict_b_img img {
		max-height: 45px;
	}
}


/* action_section
--------------------------------------------------------- */
/* ----- contactMenu ----- */
.action_section .section_body {
	padding: 28px 0 24px;
}
.action_section .contactMenu {
	margin: 0 auto;
	text-align: center;
	display: block;
}
.action_section .contact_msg {
}
.action_section .contact_form {
	width: 100%;
	max-width: 500px;
	/*height: 88px;*/
	margin: 16px auto;
}
.action_section .contact_tel {
	width: 225px;
	margin: 0 auto;
}
.action_section .contact_form .btn-tawara {
	border-radius: 50px;
	width: 100%;
	max-width: 500px;
	height: inherit;
	padding: 0.7em;	
	text-decoration: none;
	font-size: 30px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ec6c00+0,009a5a+99 */
	background: #e60019; /* Old browsers */
	background: -moz-linear-gradient(top,  #ec6c00 0%, #e60019 99%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #ec6c00 0%,#e60019 99%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #ec6c00 0%,#e60019 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ec6c00', endColorstr='#e60019',GradientType=0 ); /* IE6-9 */
}
.action_section .contact_form .btn-tawara:hover {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e60019+0,89d644+100 */
	background: #e60019; /* Old browsers */
	background: -moz-linear-gradient(top,  #e60019 0%, #ec6c00 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #e60019 0%,#ec6c00 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #e60019 0%,#ec6c00 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e60019', endColorstr='#ec6c00',GradientType=0 ); /* IE6-9 */

}
.action_section .contact_form .btn-tawara:before {
	font-family: "FontAwesome";
	content: "\f0e0";
	font-size: 36px;
	margin-right: 10px;
}
.action_section .read_text{
	font-weight: bold;
	font-size: 150%;
	padding: 0;
}
.section_body+.action_section .section_body {
    padding-top: 0;
}
@media (max-width: 600px) {
	.action_section .contact_form .btn-tawara {
		font-size: 5vw;
	}
	.action_section .contact_form .btn-tawara:before {
		font-size: 6.2vw;
	}
	.action_section .read_text {
		font-size: 16px;
		margin-top: 0;
	}
}

/* about
--------------------------------------------------------- */
#about {
	background: #E60019;   
	box-shadow: 0px 3px 10px -3px rgba(0,0,0,0.1);
	z-index: 100;
}
#about .section_body {
	padding: 10px 0;
}
.about h2 {
	font-size: 20px;
	color: #fff;
	font-weight: bold;
}


/* お悩み
--------------------------------------------------------- */
#onayami .section_body {
	padding: 32px 0 8px 0;
}

/* おまかせください
--------------------------------------------------------- */
#omakase .section_body {
	padding: 8px 0 40px 0;
}

/* 矢印ブロック
--------------------------------------------------------- */
.arrow_block {
	margin: 0 auto;
	z-index: 99;
	position: relative;
	top: -8px;
	height: 23px;
}

/* サービスの特徴
--------------------------------------------------------- */
#tokuchou .tokuchou_list {
	padding-bottom: 0;
}

#tokuchou .tokuchou_image {
	position: relative;
	bottom: 311px;
	left: 0;
	max-width: 1080px;
	text-align: left;
	padding: 0;
	margin-bottom: -311px;
}

/* 「eltexSMS」でできること
--------------------------------------------------------- */
#function .function_list {
	margin: 0 auto;
	padding-top: 20px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;	
}
#function .function_list li {
  font-size: 1em;
  line-height: 1.3;
  margin-right: 40px;
  width: calc(100% / 4);
  position: relative;
}
#function .other_list .new::before {
  content: "New";
  color: #fff;
  background-color: #E60019;
  border-radius: 50%;
  height: 50px;
  width: 50px;
  display: block;
  line-height: 50px;
  position: absolute;
  left: 5px;
  top: 5px;
}
#function .send_list {
	max-width: 1090px;
	width: 100%;
}
#function .send_list li:last-child {
	margin-right: 0;
}
#function .send_list .function_list_img {
	margin-bottom: 1em;
}
#function .send_list .function_list_txt {
	font-weight: bold;
}
#function .send_list .function_list_txt > span {
	display: block;
	font-size: 1.4em;	
}
/*other_list*/
#function .other_list {
  max-width: 1100px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#function .other_list li {
  background-color: #fff;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  box-sizing: border-box;
  padding: 0;
  margin-bottom: 30px;
  margin-right: 30px;
  width: calc(99% / 3 - 20px);
}
#function .other_list li:nth-child(3n) {
  margin-right: 0;
}
#function .other_list li.active {
  border: 1px solid #e60019;
  border-width: 2px;
  box-shadow: 0 1px 8px rgb(0 0 0 / 15%);
}
#function .other_list::after {
  content: "";
  display: block;
  width: calc(100% / 4);
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
#function .other_list .other_list_inner {
  padding: 30px 10px 15px;
}
#function .other_list .function_list_title {
  color: #e60019;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 1em;
}
#function .other_list .function_list_txt {
  font-feature-settings: "palt";
	font-size: 0.9rem;
  letter-spacing: 0.01em;
  line-height: 1.5;
  margin-bottom: 0;
}
#function .other_list .function_list_txt p {
  margin-bottom: 0;
}
#function .other_list .coming-soon {
  color: #fff;
  background-color: #e60019;
  border-radius: 50px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  letter-spacing: 0.1em;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  width: 250px;
  max-width: 100%;
  margin: auto 0;
  padding: 1em;
  display: block;
}
#function .other_list .function_list_img {
  margin-bottom: 2em;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
#function .other_list img {
  width: 100%;
  margin: 0 auto;
}
#function .other_list img[src*="img01"] {
  max-width: 135px;
}
#function .other_list img[src*="img02"] {
  max-width: 156px;
}
#function .other_list img[src*="img03"] {
  max-width: 211px;
}
#function .other_list img[src*="img04"] {
  max-width: 108px;
}
#function .other_list img[src*="img05"] {
  max-width: 104px;
}
#function .other_list img[src*="img06"] {
  max-width: 131px;
}
#function .other_list img[src*="img07"] {
  max-width: 130px;
}
#function .other_list img[src*="img08"] {
  max-width: 200px;
}
#function .other_list img[src*="img09"] {
  max-width: 134px;
}
#function .other_list img[src*="img10"] {
  max-width: 254px;
}
#function .other_list img[src*="img11"] {
  max-width: 244px;
}
#function .other_list img[src*="img12"] {
  max-width: 90px;
}
#function .other_list img[src*="img13"] {
  max-width: 100px;
}
#function .other_list img[src*="img14"] {
  max-width: 160px;
}
#function .other_list img[src*="img16"] {
  max-width: 117px;
}
#function .other_list img[src*="img17"] {
  max-width: 132px;
}
#function .attention {
  display: inline-block;
  margin-top: 0.5em;
}
#function .function_list_txt .attention {
	display: block;
}

@media (max-width: 900px) {
	#function .function_list li {
		margin-right: 20px;
	}
	#function .other_list li {
    width: calc(100% / 2 - 10px);
    margin-bottom: 20px;
  }
  #function .other_list li:nth-child(even) {
    margin-right: 0;
  }
  #function .other_list li:nth-child(odd) {
    margin-right: 20px;
  }
  #function .other_list::after {
    width: calc(100% / 3);
  }
  #function .other_list .other_list_inner {
    padding: 20px 10px;
  }
}
@media (max-width: 600px) {
	#function .send_list {
		-webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	}
	#function .send_list .function_list_txt > span {
		font-size: 1.3em;
	}
	#function .function_list li {
		width: calc(100% / 3);
		-webkit-flex-grow: 1;
    flex-grow: 1;
	}
	#function .function_list li:nth-child(even) {
		margin-right: 0;
	}
	#function .other_list {
		-webkit-flex-direction: column;
    flex-direction: column;
	}
	#function .other_list li {
		width: 100%;
	}
	#function .other_list li:nth-child(odd) {
		margin-right: 0;
	}
}

/* 安心のセキュリティ
--------------------------------------------------------- */
.security_list {
	max-width: 1100px;
	margin: 0 auto;
}
.security_list > li {
	text-align: left;
	padding-top: 60px;
	display: -webkit-flex;
	display: flex;
}
.security_list > li:nth-child(odd) {
	padding-left: 130px;
}
.security_list > li:nth-child(even) {
	padding-right: 130px;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.security_list > li dl {
	position: relative;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	max-width: 520px;
	width: 100%;
}
.security_list > li:nth-child(odd) dl {
	padding-right: 30px;
}
.security_list > li:nth-child(even) dl {
	padding-left: 30px;
}
.security_list > li dl dt {
	color: #e60019;
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 15px;
}
.security_list > li dl dd {
	font-size: 16px;
	font-feature-settings: normal;
	letter-spacing: normal;
	line-height: 1.7;
}
.security_list > li dl dd li {
	padding-left: 1em;
	text-indent: -1em;
}
.security_list p {
	margin-bottom: inherit;
}
.security_list_img {
	max-width: 350px;
	width: 50%;
	min-height: 0%;
}
/* 番号 */
.security_list > li dl:before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	width: 114px;
	height: 114px;
	top: -30px;
}
.security_list > li:nth-child(odd) dl:before {
	left: -130px;
}
.security_list > li:nth-child(even) dl:before {
	right: -120px;
}
.security1 dl:before {
	background-image: url(../images/security_num01.png);
}
.security2 dl:before {
	background-image: url(../images/security_num02.png);
}
.security3 dl:before {
	background-image: url(../images/security_num03.png);
}
@media (max-width: 900px) {
	.security_list > li dl:before {
		width: 80px;
		height: 80px;
		top: -25px;
	}
	.security_list > li:nth-child(odd) {
		padding-left: 90px;
	}
	.security_list > li:nth-child(even) {
		padding-right: 90px;
		-webkit-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}
	.security_list > li:nth-child(odd) dl:before {
		left: -100px;
	}
	.security_list > li:nth-child(even) dl:before {
		right: -100px;
	}
}
@media (max-width: 600px) {
	.security_list > li {
		margin-bottom: 20px;
	}
	.security_list > li,
	.security_list > li:nth-child(odd),
	.security_list > li:nth-child(even) {
		-webkit-flex-direction: column;
    flex-direction: column;
		padding: 0;
	}
	.security_list > li dl,
	.security_list > li:nth-child(odd) dl,
	.security_list > li:nth-child(even) dl {
		padding: 10px 0 30px 0;
		max-width: inherit;
	}
	.security_list > li dl:before,
	.security_list > li:nth-child(odd) dl:before,
	.security_list > li:nth-child(even) dl:before {
		width: 50px;
		height: 50px;
		left: 0;
		top: -5px;
	}
	.security_list > li dl dt {
		font-size: 17px;
    padding-left: 60px;
	}
	.security_list > li dl dd {
		font-size: 15px;
	}
	.security_list_img {
    margin-left: auto;
    margin-right: auto;
		width: 100%;
	}
}


/* 安心のサポート
--------------------------------------------------------- */
.support_list {
	display: -webkit-flex;
	display: flex;
	padding-top: 20px;
}
.support_list li {
	background-color: #fff;
	border: 3px solid #e60019;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	padding: 0;
	width: calc(100% / 4);
	margin-right: 40px;
	-webkit-flex-grow: 1;
	flex-grow: 1;
}
.support_list li:last-child {
	margin-right: 0;
}
.support_list li dl {
	padding: 30px 10px;
}
.support_list li dl dt {
	color: #e60019;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}
@media (max-width: 900px) {
	.support_list li {
		margin-right: 20px;
	}
	.support_list li dl {
		padding: 20px 10px;
	}
	.support_list li dl dt {
		font-size: 18px;
		height: 55px;
	}
	.support_list li dl dd {
		text-align: left;
		letter-spacing: -0.035em;
	}
}
@media (max-width: 600px) {
	.support_list {
		-webkit-flex-direction: column;
    flex-direction: column;
		padding-top: 15px;
	}
	.support_list li {
		margin: 0 0 20px 0;
    width: 100%;
	}
	.support_list li dl dt {
		height: inherit;
	}
}


/* 料金プラン
--------------------------------------------------------- */
#price .section_body {
	width: 100%;
	max-width: 1000px;
	margin: 20px auto 0 auto;
}
.price_table {
	display: table;
	border: 5px solid #e60019;
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	width: 100%;	
}
.price_table_row {
	display: table-row;
}
.price_table_th,
.price_table_td {
	display: table-cell;
	font-size: 22px;
	padding: 20px 30px;
	text-align: left;
	vertical-align: middle;
}
.price_table_th {
	background: #ffdadf;
	border-right: 1px solid #e60019;
	font-weight: bold;
}
.price_table_td.text-bold {
	padding: 10px 30px;
}
.price_table_td.text-bold span {
	font-size: 1.8em;
}
.price_table_td.text-bold span.color-red {
	font-size: 1em;
}
.price_table_row:not(:last-child) .price_table_th,
.price_table_row:not(:last-child) .price_table_td {
	border-bottom: 1px solid #e60019;
}
#price .caution {
	margin: 10px 0 0 0;
	text-align: right;
}
@media (max-width: 900px) {
	.price_table_th,
	.price_table_td {
		font-size: 18px;
	}
}
@media (max-width: 600px) {
	.price_table,
	.price_table_row,
	.price_table_th,
	.price_table_td {
		display: block;
	}
	.price_table_th,
	.price_table_row:not(:last-child) .price_table_th {
		border: none;
	}
	.price_table_th,
	.price_table_td {
		font-size: 16px;
		padding: 15px;
	}
	.price_table_td.text-bold {
		padding: 5px 15px;
	}
	#price .caution {
		text-align: left;
	}
}

/* 導入実績
--------------------------------------------------------- */
#main_contents .read_text + .section_body.support {
  padding-top: 0;
}
#works .section_body_inner {
	padding: 0 10px;
}
.works_list {
  margin: 0 auto;
  padding-top: 30px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  column-gap: 40px;
}
/*.works_list::after {
  content: "";
  display: block;
  width: calc(100% / 4);
  -webkit-flex-grow: 1;
  flex-grow: 1;
  margin-right: 40px
}*/
.works_list .client_logo {
  padding: 0 5px 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* logoの大きさ調整*/
.works_list .client_logo > img[src$=".svg"] {
  width: revert-layer;
}
#works .announce {
  background-color: #efefef;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  width: 100%;
  margin: 20px auto 0;
  font-size: 20px;
  font-weight: bold;
}
#works .announce_inner {
  line-height: 1.5;
  margin: 0;
  padding: 25px;
}
#works .announce_inner > span {
  display: inline-block;
}
#works .announce_inner .color-red > span {
  font-size: 1.3em;
}
@media (max-width: 600px) {
  #works .read_text {
    text-align: center;
  }
  #main_contents .read_text + .section_body.support {
    padding-top: 20px;
  }
  .works_list {
    column-gap: 0;
    padding-top: 10px;
  }
  .works_list > li {
    width: calc(100% / 2);
  }
  .works_list .client_logo {
    width: 100%;
    padding: 0 20px 30px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  /* logoの大きさ調整*/
  .works_list .client_logo.tepco img {
    width: 70%;
  }
  .works_list .client_logo > img {
    max-height: 25px;
  }
  .works_list .client_logo.DSK img {
    max-height: 30px;
  }
  .works_list .client_logo.nicorio img {
    max-height: 30px;
  }
  .works_list .client_logo.fukuokaunyu img {
    width: 100%;
  }
  .works_list .client_logo.hosokawa img {
    width: 100%;
  }
}

/* お客様の声
--------------------------------------------------------- */
#voice {
  background: url(../images/bg_stripe_red_01.png) repeat;
}
.voice_case01, .voice_case02 {
  gap: 30px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 0 auto;
}
.voice_case02 {
  margin-top: 30px;
}
.voice_case01 .case_box, .voice_case02 .case_box {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.voice_case01 .case_box {
  border: 1px solid #000;
}
.voice_case01.rows2, .voice_case02.rows2 {/*rows2：2列の場合に使用 */
  max-width: 860px;
  grid-template-columns: 1fr 1fr;
}
.voice_case01 .case_detail {
  padding: 15px;
}
.voice_case01 .case_name {
  font-weight: bold;
	font-size: 1.05rem;
	margin-bottom: 0;
}
.voice_case01 .case_txt {
  margin-top: 5px;
}
.voice_case01 .link_btn {
  max-width: 200px;
  margin: 10px auto 0;
}
.voice_case01 .link_btn .btn-tawara {
  border: none;
  cursor: pointer;
  padding: 0.8em 2em;
  border-radius: 50px;
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  width: 100%;
  height: inherit;
  text-decoration: none;
  background-color: rgba(230, 0, 25, 1);
}
.voice_case02 .case_box {
  padding: 20px 15px;
}
.voice_case02 .case_title {
  color: #e60019;
  font-weight: bold;
	font-size: 1.05rem;
	margin-bottom: 0;
}
.voice_case02 .case_txt {
  font-size: 14px;
  letter-spacing: -0.03em;
  font-feature-settings: "palt";
  margin-top: 5px;
  text-align: left;
}
.voice_case02 .case_txt em {
  color: #e60019;
}
.voice_case02 .case_name {
  font-size: 14px;
  font-weight: bold;
  margin-top: 10px;
	margin-bottom: 0;
  text-align: right;
}
/* comming soon 3列で事例が無い時にComming soonを追加する場合（2024/8/15追加、未使用） */
.case_box.coming-soon_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 250px;
  background: rgba(255, 255, 255, 0.9);
}
.case_box.coming-soon_wrap .coming-soon {
  color: #e60019;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.case_box.coming-soon_wrap p {
  font-size: 16px;
  margin-bottom: 0;
}
/* モーダルのボタンをクリックしたときにbodyに付与 */
body.modal_key {
  position: fixed;
}
/* モーダルを開いた時の背景 */
.over-lay {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #000;
  opacity: 0.7;
  z-index: 100;
}
/* モーダルウィンドウ */
.modal_wrap {
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 2;
}
.modal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 70vh;
  max-width: 1000px;
  width: 80%;
  background-color: #fff;
  z-index: 101;
}
.modal_inner {
  height: 100%;
}
/* モーダル内iframe */
.modal iframe {
  width: 100%;
  height: 100%;
}
/*閉じるボタン*/
.modal-close-btn {
  background-color: #fff;
  color: #000;
  padding: 0;
  width: 50px;
  height: 50px;
  position: absolute;
  top: -35px;
  right: -55px;
  border-radius: 100%;
  border: none;
  cursor: pointer;
  font-size: 2.2rem;
  display: inline-grid;
  text-align: center;
  align-content: center;
}
/*safari iOS のみ*/
_::-webkit-full-page-media, _:future, :root .modal-close-btn {
  padding-bottom: 5px;
}
/*firefoxのみ*/
_:lang(x)::-moz-placeholder, .modal-close-btn {
  padding-bottom: 5px;
}
@media (min-width: 901px) {
  .voice_case01 .case_box.modal-open-btn:hover {
    cursor: pointer;
    border-color: #e60019;
    border-width: 1px;
    box-shadow: 0 1px 8px rgb(0 0 0 / 15%);
  }
  .voice_case01 .case_box.modal-open-btn:hover .btn-tawara {
    background-color: rgba(230, 0, 25, 0.6);
  }
}
@media (max-width: 900px) {
  .voice_case01, .voice_case02 {
    grid-template-columns: 1fr 1fr;
  }
  /* comming soon */
  .case_box.coming-soon_wrap {
    display: none;
  }
}
@media (max-width: 600px) {
  .voice_case01, .voice_case02 {
    display: block;
  }
  .voice_case01 .case_box, .voice_case02 .case_box {
    margin: 0 0 15px;
    width: 100%;
  }
  /* モーダル */
  .modal {
    width: 100%;
    height: 100vh;
    top: 0;
    bottom: 0;
    transform: translate(0, 0);
    left: inherit;
  }
  .modal-close-btn {
    background-color: #000;
    color: #fff;
    right: 3px;
    bottom: 50px;
    top: unset;
  }
}

/* 事例
--------------------------------------------------------- */
#case {
}
.case_list {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;	
}
.case_list::after {
	content: "";
	display: block;
	width: calc(100% / 3);
	margin: 10px;
	-webkit-flex-grow: 1;
	flex-grow: 1;
}
.case_list li {
	background-color: #fff;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	display: -webkit-flex;
	display: flex;
	width: calc(100% / 3);
	margin: 10px;
	padding: 10px 0 0 30px;
	-webkit-flex-grow: 1;
  flex-grow: 1;
	position: relative;
	min-height: 0%;
}
.case_list_txt {
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	padding: 58px 5px 10px 0;
	-webkit-flex-grow: 1;
  flex-grow: 1;
}
.case_list_txt span {
	color: #e60019;
	display: block;
	font-size: 1.37em;
	line-height: 1.3;
	margin: 0.3em 0;
}
.case_list_img {
	margin-top: auto;
	min-width: 140px;
	width: 42%;
	/*min-height: 0%;*/
	-webkit-align-self:flex-end;
	align-self:flex-end;
}
.case_list li:before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;	
	width: 64px;
	height: 64px;
	left: 10px;
	top: -10px;
	position: absolute;
}
.case_list li.case1:before {
	background-image: url(../images/case_num01.png);
}
.case_list li.case2:before {
	background-image: url(../images/case_num02.png);
}
.case_list li.case3:before {
	background-image: url(../images/case_num03.png);
}
.case_list li.case4:before {
	background-image: url(../images/case_num04.png);
}
.case_list li.case5:before {
	background-image: url(../images/case_num05.png);
}
@media (max-width: 900px) {
	.case_list_txt {
		font-size: 14px;
	}
}
@media (max-width: 767px) {
	.case_list_img {
		width: 60%;
	}
}
@media (max-width: 600px) {
	.case_list {
		-webkit-flex-direction: column;
    flex-direction: column;
	}
	.case_list::after {
		content: none;
	}
	.case_list li {
		width: 100%;
    margin: 10px 0 25px 0;
    padding-left: 20px;
	}
	.case_list li:nth-child(5) {
		margin-bottom: 0;
	}
	.case_list li:before {
		left: 0;
    right: 0;
    margin: 0 auto;
    top: -30px;
	}
	.case_list_txt {
		padding-top: 30px;
	}
	.case_list_img {
		min-width: 100px;
		width: 50%;
		max-width: 120px;
	}
}

/* ココが違う
--------------------------------------------------------- */
#kokogachigau .section_body {
	padding: 8px 0 40px 0;
}
.kokogachigau {
	color: #000;
	min-height: 170px;
	height: auto;
	padding-top: 43px;
}
.kokogachigau p {
	font-size: 18px;
	font-weight: bold;
	width: 80%;
	margin: 0 auto 42px auto;
	text-align: center;
}
.kokogachigau p span {
	position: relative;
	padding: 0 90px;
}
.kokogachigau p span:before {
	content: "";
	background-image: url(../images/kokogachigau_pict.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 88px;
	width: 71px;
	position: absolute;
	top: -43px;
	left: 0;
}
.kokogachigau h3 {
	font-size: 20px;
	font-weight: bold;
	display: table;
	width: 580px;
	margin: auto;
}
.kokogachigau h3 span {
	display: table-cell;
	vertical-align: middle;
	line-height: 1.3;	
}
.kokogachigau .color-red {
	position: relative;
}
.kokogachigau .color-red:before,
.kokogachigau .color-red:after {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 7px;	
}
.kokogachigau .color-red:before {
	background-image: url(../images/kokogachigau_ico_line01.png);
	width: 69px;
	height: 45px;
	left: -120%;
}
.kokogachigau .color-red:after {
	background-image: url(../images/kokogachigau_ico_line02.png);
	width: 64px;
	height: 45px;
	right: -120%;
}
.kokogachigau .color-red strong {
	display: block;
	font-size: 32px;
}
@media (max-width: 900px) {
	.kokogachigau .color-red:before {
		left: -90%;
	}
	.kokogachigau .color-red:after {
		right: -90%;
	}
}
@media (max-width: 767px) {
	.kokogachigau h3 {
		width: 100%;
	}
	.kokogachigau p {
		text-align: left;
		width: 100%;
	}
	.kokogachigau p span {
		display: inline-block;
    padding-right: 0;
	}
	.kokogachigau h3 {
		display: block;
	}
	.kokogachigau h3 span {
		display: block;
	}
	.kokogachigau .color-red {
		margin-bottom: 0.5em;
	}
	.kokogachigau .color-red:before {
		left: 0;
	}
	.kokogachigau .color-red:after {
		right: 0;
	}
}
@media (max-width: 600px) {
	.kokogachigau .color-red strong {
		font-style: 28px;
	}
}

/* おすすめする理由
--------------------------------------------------------- */
#reason {
	position: relative;
	top: -26px;
	margin-bottom: -26px;
}
#reason .reason {
	padding-top: 40px;
}
#reason .reason_list {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
.reason_list_inner {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding: 20px 18px;
	width: 48%;
	min-height: 0%;
}
#reason .reason_list > li {
	margin: 56px 0 0 0;
	border: 2px solid #ddd;
	background: #fff;
	padding: 0;
	vertical-align: top;
	display: flex;
	display: -webkit-flex;
	width: 100%;
	position: relative;
}
#reason .reason_head {
	position: absolute;
	top: -52px;
	left: 16%;
}
#reason h3 {
	flex-grow: 1;
	max-width: 240px;
	padding: 0 10px;
	font-size: 18px;
	font-weight: bold;
}
#reason h3 span {
	display: block;
	font-size: 0.7em;
	-webkit-align-items: center;
	align-items: center;
	-o-transform: rotate(0.05deg);
	-ms-transform: rotate(0.05deg);
	-moz-transform: rotate(0.05deg);
	-webkit-transform: rotate(0.05deg);
	transform: rotate(0.05deg);
}
#reason .reason_image {
	width: 120px;
	min-height: 0%;
}
#reason .reason_exp {
	background: #ececec;
	padding: 20px;
	text-align: left;	
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	width: 52%;
}
#reason .reason_exp li {
	font-size: 1.1em;
	font-weight: bold;
}
#reason .reason_exp ul.disc li:last-of-type {
	margin-bottom: 0;
}
@media (max-width: 900px) {
	#reason h3 {
		letter-spacing: -0.03em;
	}
	#reason .reason_image {
		width: 100px;
	}
	#reason .reason_02 .reason_image {
    width: 120px;
	}
	#reason .reason_03 .reason_image {
    width: 90px;
	}	
}
@media (max-width: 767px) {
	#reason .reason_head {
		left: 0;
    right: 0;
    margin: 0 auto;
	}
	#reason .reason_list > li {
		-webkit-flex-direction: column;
    flex-direction: column;
	}
	.reason_list_inner {
		-webkit-flex-direction: column;
    flex-direction: column;
    width: 100%;
	}
	#reason h3 {
		max-width: inherit;
    padding: 0 0 10px 0;
	}
	#reason .reason_exp {
		width: 100%;
	}
	#reason .reason_exp li {
		font-size: 1em;
	}
}


/* 専任コンサルタント問い合わせ
--------------------------------------------------------- */
.contact_tel_consultant_01 {
	margin: 30px auto;
}
.contact_tel_consultant_01 .read_text.read_text_consultant {
	font-size: 21px;	
	margin-bottom: 20px;
	margin-top: 0;
}
.contact_tel_consultant_01 .tel {
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}

.contact_tel_consultant_02 {
	margin: 0 auto;
}
.contact_tel_consultant_02 .contact_tel_consultant_inner {
	background: url(../images/consultant_01.png) right top no-repeat;
	margin: 0 auto;
	padding: 30px 0 5px 0;
	text-align: left;
	width: 710px;
}
.contact_tel_consultant_02 .read_text.read_text_consultant {
	font-size: 20px;	
	margin-bottom: 20px;
	margin-top: 0;
	min-width: inherit;
	width: inherit;
}
.contact_tel_consultant_02 .tel {
	width: 500px;
}
.contact_tel_consultant_01.mgnT01,
.contact_tel_consultant_02.mgnT01 {
	margin-top: 10px;
}
.contact_tel_consultant_01.mgnT02,
.contact_tel_consultant_02.mgnT02 {
	margin-top: 20px;
}
.contact_tel_consultant_01.mgnT03,
.contact_tel_consultant_02.mgnT03 {
	margin-top: 30px;
}
.contact_tel_consultant_01.mgnT04,
.contact_tel_consultant_02.mgnT04 {
	margin-top: 40px;
}
@media (max-width: 767px) {
	.contact_tel_consultant_02 .contact_tel_consultant_inner {
		background: none;
		width: 100%;
		text-align: center;
	}
	.contact_tel_consultant_01 .read_text.read_text_consultant,
	.contact_tel_consultant_02 .read_text.read_text_consultant {
		font-size: 16px;
	}
	.contact_tel_consultant_02 .tel {
		width: 100%;
    max-width: 500px;
    margin: 0 auto;
	}
}
@media (max-width: 600px) {
	.contact_tel_consultant_02 .read_text.read_text_consultant {
		font-size: 16px;
	}
	
}

/* 注釈
--------------------------------------------------------- */
.note {
	padding: 20px 20px 40px 20px;
	text-align: right;
	max-width: 1280px;
	margin: auto;
}

/* =========================================================
footer
========================================================= */

#footer_mini {
	background: #253f68;
	color: #fff;
	position: relative;
	botoom: 0;
	display: block;
	height: 113px;
	width: 100%;
}
#footer_mini .footer_wrap {
	width: 100%;
	display: table;
}
#footer_mini .logo_eltex_jpn {
	width: 50%;
	display: table-cell;
	vertical-align: middle;
	text-align: left;
	height: 48px;
}
#footer_mini .logo_eltex_jpn img {
	width: 280px;
}
#footer_mini .copyright {
	color: #fff;
	width: 50%;
	display: table-cell;
	vertical-align: middle;
	text-align: right;
}



/* =========================================================
入力フォーム関連
========================================================= */

/* 入力
--------------------------------------------------------- */
.table {
    display: table;
    border-collapse: collapse;
    border: 1px solid #ccc;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
}
.tr {
    display: table-row;
}
.th {
    padding: 10px;
    text-align: left;
    display: table-cell;
    border: 1px solid #ccc;
    border-collapse: collapse;
    margin: 0;
    vertical-align: top;
    width: 20%;
    background: #f3f3f3;
}
.td {
    width: 80%;
    background: #fff;
    padding: 10px;
    text-align: left;
    display: table-cell;
    border: 1px solid #ccc;
    border-collapse: collapse;
    margin: 0;
    vertical-align: top;
}
.td hr {
	display: block;
    border: dotted #ccc;
    border-width: 1px 0 0 0;
    border-collapse: collapse;
    height: 1px;
    clear: both;
    margin: 5px 0;
}
.need {
    background: #cf646b;
    color: #fff;
    padding: 0 10px;
    margin: 0 10px 0 5px;
    font-weight: normal;
    font-size: 0.9em;
    border-radius: 3px;
    float: right;
    min-width: 2em;
    text-align: center;
}
.opt {
    background: #317dcb;
    color: #fff;
    padding: 0 10px;
    margin: 0 10px 0 5px;
    font-weight: normal;
    font-size: 0.9em;
    border-radius: 3px;
    float: right;
    min-width: 2em;
    text-align: center;
}
form label {
	display:block;
	cursor: default;
}
form {
	background: white;
	width: 980px;
	margin-left: auto;
	margin-right: auto;
	border-collapse: collapse;
	font-size: 120%;
}
form p {
	display: inline;
	margin-bottom: 0;
	margin-left: 15px;
}
form h3.h {
	font-size: 1.3em;
	min-width: 980px;
	margin-bottom: 24px;
	color: #fff;
}
form textarea {
	width: 70%;
	height: 100px;
	font-size: 120%;
}
form div#agreement {
	overflow-y: scroll;
    height: 150px;
    background-color: white;
    border: 1px solid silver;
    border-collapse: collapse;
    width: 80%;
    margin-left: auto;
	margin-right: auto;
	text-align: left;
	font-size: 14px;
	padding: 0;
}
form div#agreement dl {
	margin: 16px;
}
form div#agreement dt {
	margin-top: 16px;
}
form div#agreement dt:first-child {
	margin-top: 0;
}
form div#agreement dd {
	margin-left: 32px;
}
form div#agreement ol {
    display: block;
    list-style-type: decimal;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 40px;
}
form div#agreement li {
	list-style-type: decimal;
}
form div#agreement a.detail_btn {
}
form p#agreement_footer {
	display: block;
	margin-top: 20px;
}
form input[type="text"] {
	width : 50%;
	font-size: 120%;
}
form input[type="submit"],
.btn-tawara-small {
	border-radius: 68px;
	width: 100%;
	max-width: 240px;
	padding: 8px 32px;
	
	color: #fff;
	font-size: 18px;
	font-weight: normal;
	font-family:"メイリオ", Meirio, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border: 0;
	margin: 24px auto;
	cursor: pointer;
	text-decoration: none;

	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ec6c00+0,009a5a+99 */
	background: #e60019; /* Old browsers */
	background: -moz-linear-gradient(top,  #ec6c00 0%, #e60019 99%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #ec6c00 0%,#e60019 99%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #ec6c00 0%,#e60019 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ec6c00', endColorstr='#e60019',GradientType=0 ); /* IE6-9 */
}
form input[type="submit"]:hover,
.btn-tawara-small:hover {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e60019+0,89d644+100 */
	background: #e60019; /* Old browsers */
	background: -moz-linear-gradient(top,  #e60019 0%, #ec6c00 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #e60019 0%,#ec6c00 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #e60019 0%,#ec6c00 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e60019', endColorstr='#ec6c00',GradientType=0 ); /* IE6-9 */

}
.btn-tawara-small a {
	color: #fff;
	text-decoration: none;
}
section#case {
	padding-bottom: 20px;
}
#form_list p:last-child {
	margin-bottom: 0;
}

/* 確認＆完了
--------------------------------------------------------- */
#contens_wrap {
	font-size: 120%;
}
.form_complete .h {
	font-size: 1.3em;
	min-width: 980px;
	margin-bottom: 10px;
	color: #fff;
}
.form_complete .table {
	width: 50%;
}
.err_cap {
    padding: 30px;
    border: 3px solid #e6231d;
    margin: 32px auto;
    width: 500px;
    color: #e6231d;
	background: #fff;
    text-align: center;
	border-radius: 8px;
}
.err_cap p {
	color: #e6231d;
	margin-bottom: 0;
}
.end_cap {
    padding: 30px;
}
.end_cap p {
	margin-bottom: 0;
}
#contact_form {
	padding-bottom: 15px;
}


#lineup {
    height: 100%;
    width: 1100px;
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
}
#lineup label {
    font-size: 24px;
    font-weight: bold;
    height: 60px;
    display: block;
    line-height: 60px;
    letter-spacing: normal;
    cursor: default;
    color: #333;
}
#lineup_btn_set {
    letter-spacing: -0.4em;
    margin: 0 0 0 0;
}
#lineup #lineup_btn_set li:nth-child(4n) {
    margin-right: 0;
}
#lineup_btn_set li {
    display: inline-block;
    letter-spacing: normal;
    margin: 0 20px 20px 0;
}
#lineup .btn {
    display: block;
    width: 230px;
    height: 140px;
    margin: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    border-radius: 0;
	opacity: 1;
	padding: 0;
}
#lineup .btn.eltexdc {
    background: url(/common/images/lineup_btn_eltexdc.png) no-repeat left top;
}
#lineup .btn.eltexinfra {
    background: url(/common/images/lineup_btn_eltexinfra.png) no-repeat left top;
}
#lineup .btn.eltexsms {
    background: url(/common/images/lineup_btn_eltexsms.png) no-repeat left top;
}
#lineup .btn.eltexcx {
    background: url(/common/images/lineup_btn_eltexcx.png) no-repeat left top;
}
#lineup .btn.eltexuxd {
    background: url(/common/images/lineup_btn_eltexuxd.png) no-repeat left top;
}
#lineup .btn.eltexbi {
    background: url(/common/images/lineup_btn_eltexbi.png) no-repeat left top;
}
#lineup .btn.eltexgene {
    background: url(/common/images/lineup_btn_eltexgene.png) no-repeat left top;
}
#lineup .btn.cammacs {
    background: url(/common/images/lineup_btn_cammacs.png) no-repeat left top;
}

/* =========================================================
margin / padding
========================================================= */
.mgnT01 {
	margin-top: 10px;
}
.mgnT02 {
	margin-top: 20px;
}
.mgnT03 {
	margin-top: 30px;
}
.mgnT04 {
	margin-top: 40px;
}