@charset "UTF-8";
/* CSS Document */

/*====================
product header logo css
====================*/
.product_header h1,
.product_header .service_logo {
	width:125px;
	/*height: 25px;*/
}
@media all and (max-width:768px) {
  .product_header h1,
  .product_header .service_logo {
		float: none;
		width:83px;
	}
}

/*====================
product hero css
====================*/
section.product_hero_wrap {
	background-color: #fdbd3e;
}

/*====================
fidotop_about css
====================*/
#fidotop_lead h2 span.h2_sub {
  display: block;
  /*font-size: 20px;*/
  font-size: 18px;
  margin-top:6px;
}
.about_fido {
	position: relative;
	background-color: #f6f6f6;
	width: calc((100vw / 3) * 2);
	margin-top:80px;
	height:440px;
	margin-bottom: 250px;
  border-left:solid 10px #fdbd3e;
}
.about_fido_inner {
	width:100%;
	max-width:1100px;
	position: absolute;
	left:50%;
	top:-30px;
	transform: translateX(-25%);
	display: flex;
}
.about_fido_contents {
	width: calc((100% / 55) * 22);
	max-width: 440px;
	margin-right: calc((100% / 55) * 1.8);
}
.about_fido h3 {
	margin-bottom: 30px;
}
.about_fido h3 img {
	width: 120px;
}
.topfig_wrap {
	width: calc((100% / 55) * 31);
	max-width:620px;
  border:solid 1px #d8d8d8;
  background: #fff;
  padding:25px;
  margin-top:80px;
}
.topfig_wrap figcaption {
  margin-top:0;
  margin-bottom: 10px;
  font-size: 20px;
}
.topfig_wrap figcaption span {
  display: block;
  font-size: 16px;
}
.topfig_wrap p {
  font-size: 14px;
  font-weight: bold;
}
.topfig_wrap figure {
  max-width:520px;
	margin:0 auto;
}
.movie_wrap {
	width: calc((100% / 55) * 32);
	max-width:620px;
	padding-top:130px;
}
.movie_wrap h3 {
	text-align: center;
}
.movie_wrap video {
	width: 100%;
}

@media all and (max-width: 768px) {
	.about_fido,
	.about_fido_inner,
	.about_fido_contents,
  .topfig_wrap,
	.movie_wrap {
		width:100%;
		max-width: 100%;
		display: block;
		margin-left: auto;
		margin-right: auto;
		position: relative;
		left: auto;
		height: auto;
	}
  #fidotop_lead h2 span.h2_sub {
    font-size:15px;
  }
	.about_fido {
		margin-bottom: 0;
    border-left: 0;
	}
	.about_fido_inner {
		transform: translateX(0);
	}
	.about_fido_contents {
		width:90%;
	}
	.about_fido h3 img {
		width:100px;
		margin:0 auto;
	}
  .topfig_wrap {
    margin-top:10px;
  }
  .movie_wrap {
		padding-top: 0;
		transform: translateY(40px);
	}
}

/*====================
fidotop_result css
====================*/
section#fidotop_result {
	background: transparent radial-gradient(closest-side at 50% 50%, #F6F6FA33 0%, #F6F6FA 100%) 0% 0% no-repeat padding-box;
	padding:50px 0;
	margin-bottom: 100px;
}
section#fidotop_result h2 {
	font-size: 22px;
	line-height: 1;
	margin-bottom: 20px;
}
section#fidotop_result p {
	text-align: center;
	margin-bottom: 50px;
}
section#fidotop_result p span {
	display: block;
}
section#fidotop_result ul.fido_client_ul {
	display: flex;
	justify-content: space-between;
}

section#fidotop_result ul.fido_client_ul li img {
	max-height: 25px;
}
@media all and (max-width: 1024px) {
	section#fidotop_result ul.fido_client_ul li img {
		max-height: 17px;
	}
}
@media all and (max-width: 768px) {
	section#fidotop_result {
		margin-top: 0;
		padding:40px 0;
		margin-bottom: 40px;
	}
	section#fidotop_result ul.fido_client_ul {
		display: block;
	}
	section#fidotop_result ul.fido_client_ul li img {
		margin:15px auto;
		height: 21px;
	}
}
/*====================
fidotop_function css
====================*/
section#fidotop_function .top_function_contents {
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}
section#fidotop_function .top_function_contents .txt_wrap {
	max-width: 600px;
}
section#fidotop_function .top_function_contents.f-reverse .txt_wrap {
	margin-right: 30px;
}
section#fidotop_function .top_function_contents .txt_wrap h3 {
	font-size: 28px;
	font-weight: normal;
	line-height: 1.35;
	margin-bottom: 35px;
}
section#fidotop_function .top_function_contents .txt_wrap .link_btn {
	margin-left: 0;
}
section#fidotop_function .top_function_contents figure {
	width:450px;
	flex-shrink: 0;
	margin-right: 30px;
}
section#fidotop_function .top_function_contents.f-reverse figure {
	margin-right: 0;
}

@media all and (max-width: 768px) {
	section#fidotop_function .top_function_contents {
		display: block;
		margin-bottom: 40px;
	}
	section#fidotop_function .top_function_contents .txt_wrap h3 {
		font-size: 18px;
		margin-bottom: 18px;
	}
	section#fidotop_function .top_function_contents .txt_wrap .link_btn {
	margin-left: auto;
}
	section#fidotop_function .top_function_contents figure {
		width: 100%;
		margin-bottom: 20px;
	}
	section#fidotop_function .top_function_contents.f-reverse .txt_wrap,
	section#fidotop_function .top_function_contents.f-reverse figure {
		margin-right: auto;
	}

}

/*====================
function css
====================*/

.function_wrap {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}
.function_wrap .function_contents {
	width: calc((100% /11) *5);
	max-width: 500px;
}
.function_wrap .function_contents p {
	margin-top:30px;
}

section h2.fido_feature_h2 {
	position: relative;
	margin-bottom: 40px;
}
section h2.fido_feature_h2:after {
	content:"";
	display: block;
	width: 300px;
	height: 4px;
	background-color:#279dd9;
	position: absolute;
	bottom:-10px;
	left:50%;
	transform: translateX(-50%);
}
section h2.fido_feature_h2 span {
	color: #279dd9;
	display: inline;
}
.fido_feature_contents {
	display: flex;
	margin-bottom: 40px;
}
.fido_feature_contents figure {
	width: 100%;
	max-width: 330px;
	margin-right: 30px;
	flex-shrink: 0;
}
.fido_feature_contents h3 {
	font-size: 20px;
	margin-bottom: 20px;
}
.fido_feature_contents h3 span {
	display: block;
}
.fido_feature_contents .link_btn {
	margin-left: 0;
}

@media all and (max-width:768px) {
	section#fido_function .container {
		width:100%;
	}
  section#fido_function .container h1,
	section#fido_function .container h2,
	section#fido_function .container p {
		width:90%;
		margin-left: auto;
		margin-right: auto;
	}
	section#fido_function .container p {
		margin-top: 15px;
		margin-bottom: 30px;
	}
	.function_wrap,
	.fido_feature_contents {
		display: block;
	}
	.function_wrap {
		margin-top: 30px;
	}
	.function_wrap .function_contents,
	.fido_feature_contents figure {
		width:100%;
		max-width: 100%;
	}
	.fido_feature_contents figure {
		margin-right: auto;
		margin-bottom: 20px;
	}
	section h2.fido_feature_h2 {
		font-size: 20px;
	}
	section h2.fido_feature_h2:after {
		width:270px;
	}
	.fido_feature_contents h3 {
		font-size: 18px;
	}
	.fido_feature_contents h3 span {
		display: inline;
	}
	.fido_feature_contents .link_btn {
		margin-left: auto;
	}
}

/*====================
service02 css
====================*/
section#fido2_services p.lead_p {
  margin-bottom: 1em;
}
section h2.fido2_h2 {
	position: relative;
	margin-bottom: 50px;
}
section h2.fido2_h2 span {
	color: #279dd9;
  display: inline;
}
section h2.fido2_h2:after {
  content: "";
  display: block;
  height: 4px;
  background-color: #279dd9;
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
}
section h2.fido2_conponent_h2:after {
	width:230px;
}
#fido2_component dl {
	width: calc((100% / 110) *33);
	max-width: 330px;
}
#fido2_component dl dt {
	color: #279dd9;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	line-height: 1;
}
#fido2_component .container > figure {
    max-width: 700px;
    margin: 50px auto;
}
#fido2_menu {
	/*background-color: #f6f6f6;*/
	padding: 40px 0;
}
.menu_contents {
	border:solid 1px #dcdcdc;
  width: calc((100% / 110) * 53);
  max-width: 530px;
	margin-top: 30px;
  margin-bottom: 30px;
	padding:30px 30px 10px;
}
.menu_contents > figure {
  width:100%;
  max-width:420px;
  margin:0 auto 20px;
}
.menu_contents h3 {
	text-align: center;
	font-size: 20px;
	color: #279DD9;
	margin-bottom: 20px;
	line-height: 1;
}
.menu_contents p {
  margin-bottom: 20px;
}
@media all and (max-width:768px) {
  #fido2_component dl {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
  }
  .menu_contents {
    width: 100%;
    max-width: 100%;
  }
}


/*====================
service01 css
====================*/

figcaption {
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	margin-top: 50px;
}
#fido_services .container > figure,
#fido2_menu .container > figure,
#fido_flow .container > figure {
	max-width: 700px;
	margin:20px auto 30px;
}
.serevices_wrap {
	display: flex;
	justify-content: space-between;
	max-width: 700px;
	margin: 30px auto;
}
.services_contents {
	width: calc((100% / 70) * 33);
	max-width: 330px;
}
.services_contents figure {
	margin-bottom: 15px;
}
.services_contents h3 {
	font-size: 20px;
	color: #279DD9;
	margin-bottom: 5px;
}

#fido_flow {
	background-color:#f6f6f6;
	padding:40px 0;
}
#fido_flow p.h2_sub {
	width: 192px;
	height: 34px;
	line-height: 34px;
	border-radius: 17px;
	font-size: 14px;
	color: #fff;
	background-color: #279DD9;
	margin:0 auto 20px;
	text-align: center;
}
#fido_flow .flow_contents {
	display: flex;
	justify-content: space-between;
	width:100%;
	max-width: 1020px;
	margin: 40px auto 0;
}
#fido_flow .flow_contents figure {
	width: calc((100% / 51) * 25);
	max-width: 500px;
}
#fido_flow .flow_contents figure img {
	border-radius: 20px;
}
#fido_flow h3 {
	text-align: center;
	margin-top:-130px;
	margin-bottom: 20px;
	padding-top: 160px;
}

#services_detail {
	margin-bottom: 100px;
}
#services_detail h2 {
	font-size: 20px;
	text-align: left;
	margin-bottom: 20px;
	line-height: 1;
}
#services_detail table {
	width:100%;
	font-size: 15px;
  margin-bottom: 20px;
}
#services_detail table th {
	background-color: #279DD9;
	color:#fff;
	width: calc((100% / 11) * 2);
}
#services_detail table td {
	background: #F6F6F6;
	padding:30px;
}
#services_detail table td.sec_td {
	background: #EBEBEB;
	color: #279DD9;
	font-weight: bold;
}
@media all and (max-width:768px) {
	figcaption {
		margin-top: 20px;
	}
	.serevices_wrap,
	#fido_flow .flow_contents {
		display: block;
		width:100%;
		max-width: 100%;
	}
	#fido_services .container > figure,
	.serevices_wrap,
	.services_contents,
	#fido_flow .flow_contents figure,
	#fido_flow .container > figure {
		width: 100%;
		max-width: 100%;
	}
	.services_contents {
		margin-bottom: 30px;
	}
	#fido_flow {
		padding: 30px 0;
	}
	#fido_flow .flow_contents {
		margin-top: 20px;
	}
	#fido_flow .flow_contents > figure:first-child {
		margin-bottom: 20px;
	}
	#fido_flow h3 {
		font-size: 16px;
	}
	#services_detail table,
	#services_detail table tbody,
	#services_detail table tr,
	#services_detail table th,
	#services_detail table td {
		display: block;
		width:100%;
	}
	#services_detail table th {
		padding: 10px 0;
	}
	#services_detail table td {
		padding:10px;
	}
	#services_detail table td.sec_td {
		text-align: center;
	}
}

/*====================
fido_result css
====================*/
section#fido_casestudy p {
  text-align: center;
  margin-bottom: 20px;
}
section#fido_casestudy p.casestudy_notice {
  color: #707070;
  font-size: 90%;
}
section#fido_result {
	margin-bottom: 100px;
}
section#fido_casestudy ul.casestudy_ul,
section#fido_result ul.result_ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
section#fido_casestudy ul.casestudy_ul li,
section#fido_result ul.result_ul li {
	display: block;
	width:22.2727%;
	line-height: 1;
  max-width: 250px;
  margin-bottom: 15px;
  padding: 10px;
}
section#fido_result ul.result_ul li {
	border: solid 1px #dcdcdc;
  background-color: #fff;	
}
section#fido_result ul.result_ul:after {
	content: "";
	display: block;
	width:22.2727%;
	height: 0;
}
section#fido_result ul.result_ul:before {
	content: "";
	display: block;
	width:22.2727%;
	height: 0;
	order: 1;
}
section#fido_result ul.result_ul li.result_hide {
	display: none;
}

ul.result_ul li dl {
	text-align: center;
}
ul.result_ul li dl dt.logo_area {
	width:100%;
	display: block;
	background-color: #fafafa;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	color: #000;
	padding:39px 0;
}
ul.result_ul li dl dt.logo_area_logo {
	height: 96px;
}
ul.result_ul li dl dt.logo_area_logo img {
	margin:0 auto;
}
ul.result_ul li dl dt.client_name,
ul.result_ul li dl dt.client_name a {
	font-size: 11px;
	color: #a0a5aa;
	margin:10px 0;
}
ul.result_ul li dl dt.client_name.item_name {
	margin:3px 0;
	line-height: 1.4;
}
ul.result_ul li dl dd.product_tag {
	margin-bottom: 20px;
}
ul.result_ul li dl dd.product_tag a {
	color:#14191E;
}
ul.result_ul li dl dd.weblink {
	width:90%;
	margin: 0 auto;
}
ul.result_ul li dl dd.weblink a {
	display: block;
	border: 1px solid #DCDCDC;
	border-radius: 6px;
	padding:11px 0;
	text-align: center;
	line-height: 1;
	color: #279DD9;
	font-size: 13px;
}
ul.result_ul li dl dd.result-expire {
	visibility: hidden;
}

@media all and (max-width:768px) {
	.resultmenu_wrap {
		display: block;
	}
  section#fido_casestudy ul.casestudy_ul li,
	section#fido_result ul.result_ul li {
		width:47.7611%;
	}
	ul.result_ul li dl dt.logo_area {
		font-size: 10px;
	}
	ul.result_ul li dl dd.product_tag {
		font-size: 13px;
	}
	ul.result_ul li dl dd.weblink a {
		font-size: 12px;
	}
}


/*====================
faq css
====================*/
section#fido_topfaq {
	margin-bottom: 50px;
}
.topfaq_wrap {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 100%;
}
.topfaq_wrap .topfaq_contents {
	position: relative;
	width: calc((100% / 22) * 7);
	max-width: 350px;
	background: #F6F6F6;
	padding: 70px 30px 40px;
}
.topfaq_wrap .topfaq_contents img {
	display: block;
	width:70px;
	height: 70px;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
}
.topfaq_wrap .topfaq_contents dl dt {
	font-size: 15px;
	font-weight: bold;
	color: #279DD9;
	margin-bottom: 10px;
}
.topfaq_wrap .topfaq_contents dl dd {
	font-size: 15px;
	line-height: calc(5/3);
}
.fido_faq_container {
	width: 90%;
	max-width:800px;
	margin: 0 auto 100px;
	border-bottom: solid 1px #dcdcdc;
}

/*faq accordion*/
.faq-check{
   display: none;
}
.faq-label{
	position: relative;
	border-top: solid 1px #dcdcdc;
	display: block;
	margin-bottom: 1px;
	padding: 25px 60px 25px 20px;
	text-align: left;
	font-weight: bold;
	font-size: 15px;
}
.faq-label:after{
	content: url("/fido/common/img/icon_arrow_down.png");
	transform: scale(0.5);
	display: block;
	position: absolute;
	right: 20px;
	top: 32px;
	vertical-align: middle;
}
.faq-content{
	height: 0;
	opacity: 0;
	padding: 0 20px;
	transition: .5s;
	visibility: hidden;
	text-align: left;
	font-size: 15px;
	line-height: 2.1333;
}
.faq-check:checked + .faq-label + .faq-content {
	height:  auto;
	opacity: 1;
	padding: 10px 20px 50px;
	visibility: visible;
}
.faq-check:checked + .faq-label:after {
	content: url("/fido/common/img/icon_arrow_up.png");
}
/*faq accordion end*/

@media all and (max-width:768px) {
	.topfaq_wrap {
		display: block;
		width: 100%;
		max-width: 100%;
		margin-top:50px;
	}
	.topfaq_wrap .topfaq_contents {
		width:100%;
		max-width: 100%;
		margin-bottom: 40px;
	}
	
	.faq-label {
    min-height: 76px;
    display: flex;
    align-items: center;
    padding: 10px 50px 10px 8px;
}
	.faq-label:after {
		transform: scale(0.4);
		right:10px;
	}
	.faq-check:checked + .faq-label + .faq-content {
		padding-bottom: 30px;
	}
}

/*====================
glossary css
====================*/
section#fido_glossary_word h1 span {
  display: block;
  font-size: 20px;
}
.fido_word_wrap h2 {
  font-size: 20px;
  border-bottom: solid 1px #dcdcdc;
  margin-bottom: 20px;
  padding-bottom: 20px;
  text-align: left;
}
section#fido_glossary_word ul.fido_word_ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
section#fido_glossary_word ul.fido_word_ul:after {
	content: "";
	display: block;
	width: calc((100% / 1100) * 250);
	/*width:22.2727%;*/
	height: 0;
}
section#fido_glossary_word ul.fido_word_ul:before {
	content: "";
	display: block;
	width: calc((100% / 1100) * 250);
	/*width:22.2727%;*/
	height: 0;
	order: 1;
}section#fido_glossary_word ul.fido_word_ul li {
	display: block;
  position: relative;
	width:22.2727%;
	line-height: 1;
	border: solid 1px #dcdcdc;
  max-width: 250px;
  margin-bottom: 15px;

  background-color: #fff;
}




section#fido_glossary_word ul.fido_word_ul li a {
  display: block;
  width: 100%;
  padding: 15px 10px;
  color: #000;
  font-size: 15px;
}
section#fido_glossary_word ul.fido_word_ul li a:after {
  content: url(/fido/common/img/icon_arrow_right.png);
  transform: scale(0.5);
  display: block;
  position: absolute;
  right: 10px;
  top: 7px;
  vertical-align: middle;
}

.fido_glossary_detail_container {
  width: 90%;
  max-width: 800px;
  margin:0 auto 100px;
  border-bottom: solid 1px #dcdcdc;
}
.fido_glossary_detail_container h3 {
  margin-bottom: 20px;
  font-size: 20px;
  text-align: center;
}

.fido_glossary_detail_container dl {
   position: relative;
   border-top: solid 1px #dcdcdc;
   display: block;
   margin-bottom: 1px;
   padding: 25px 20px;
   text-align: left;
   font-size: 15px;
}
.fido_glossary_detail_container dl dt {
  font-weight: bold;
  margin-bottom: 20px;
}
.fido_glossary_detail_container dl dd > ul {
  margin-top:10px;
  margin-left:20px;
}
.fido_glossary_detail_container dl dd > ul li {
  margin-bottom: 10px;
  font-size: 14px;
}
.fido_glossary_detail_container dl dd > ul li span {
  font-weight: bold;
}
ul.glossary_d_ul li {
  list-style-type: disc;
}

@media all and (max-width:768px) {
  section#fido_glossary_word h2 {
    margin-bottom: 40px;
  }
  section#fido_glossary_word h2 span {
    font-size: 15px;
  }
  .fido_word_wrap h3 {
    font-size: 15px;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
	section#fido_glossary_word ul.fido_word_ul {
    display: block;
		width: 100%;
		max-width: 530px;
		margin: 0 auto;
	}
	section#fido_glossary_word ul.fido_word_ul li {
		width:100%;
    max-width: 100%;
	}
}
