@charset 'utf-8';

/* - - - - - - - - - - - - - - - - - - */
.container::after,
.row::after, 
.col::after, 
.clr::after, 
.group::after { 
  content: ""; 
  display: table; 
  clear: both; 
}

img {
	vertical-align:bottom;
}

.row {padding-bottom: 0em;}

.col { 
  display: block;
  float: left;
  width: 100%;
}

.col img {
  max-width: 100%;
  height: auto;
}

.nav-footer ul li {
	margin:0.5em 0;
}

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

/* 一部CSSのリセット */

#header {
  border-bottom: 0;
}

#main {
  padding-top: 0;
  border-top: 0;
  text-align: center;
}

#contents h1 {
  margin: 0;
  padding: 0;
  height: auto;
  line-height: 1;
  background: none;
  font-size: 100%;
}

#contents h2 {
  margin: 0 0 50px;
  padding-left: 0;
  line-height: 1;
  background: none;
  font-size: 100%;
}

#contents h2:first-child {
  margin-top: 0;
}

@media print, screen and (max-width: 899px) {
#main {
	padding-top:59.5px;
}
}

/* - - - - - - - - - - - - - - - - - - */
html {
	font-size:87.5%;
}

@media print, screen and (min-width: 768px) {
html {
	font-size:100%;
}
}

body {
  font-size: 1rem;
  line-height: 1.6;
}

a:hover img {
  opacity: 0.85;
}

.container {
  position: relative;
  max-width:990px;
}

@media print, screen and (min-width: 1020px) {
.container {
	max-width:1000px;
}
}

@media print, screen and (min-width: 1200px) {
.container {
	max-width:1200px;
}
}

.brand {
	line-height:1.6;
}

#area-menu {
	background-color: #f0f0f0;
	border-top: 3px solid #001a7f;
	text-align: left;
	font-size: 1.0rem;
	padding: 10px 0;
}

#area-menu dl,
#area-menu dl dt,
#area-menu dl dd,
#area-menu ul,
#area-menu ul li {
	margin: 0;
	padding: 0;
}

#area-menu dl dt {
	float: left;
	padding-right: 80px;
	font-weight: normal;
	color: #323232;
	line-height:1.5;
}

#area-menu dl dt span {
	font-weight: bold;
	font-size: 1.1rem;
}

#area-menu dl dd {
	float: left;
	color: #323232;
}

#area-menu ul li {
	display: inline-block;
}

#area-menu ul li a {
	display: block;
	color: #323232;
	font-weight: bold;
	text-decoration: none;
	padding-left: 15px;
	padding-right: 20px;
	outline: none;
}

#area-menu ul li a.active,
#area-menu ul li a:hover {
	background: url("./images/area-menu-arrow.png") no-repeat center left;
}

@media print, screen and (max-width: 899px) {
/*アコーディオンメニュー*/
.menu {
	color:#323232;
}

.menu:after {
    position: absolute;
    margin-top: -1px;
    content: '\025b6';
    font-size: 15px;
    font-weight: bold;
	color:#1e82ff;
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -moz-transition: all, 0.25s, linear;
    -o-transition: all, 0.25s, linear;
    -webkit-transition: all, 0.25s, linear;
    transition: all, 0.25s, linear;
}
 
.menu.active:after {
    -moz-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.switch ul.child {
	display:none;
	list-style:none;
	padding-left:0;
}

.switch ul.child li {
	padding:0.1em 0;
}

.switch ul.child li a {
	color:#000;
	text-decoration:none;
}

nav.number-nav a.toggle {
  margin: 0;
  padding: 0;
  height: auto;
  line-height: 1;
  background: none;
  font-size: 100%;
  font-weight:bold;
  text-align:left;
}

}

nav.number-nav {
	background:#e8f1f2;
	width:100%;
	z-index:1;
	text-align:left;
}

nav.fixed {
	margin-top:60px;
}

@media print, screen and (min-width: 1200px) {
nav.number-nav .container {
	width:1200px;
	margin:0 auto;
	text-align:left;
}

.products-tabs__controller > li.ui-state-active > a i,
.products-tabs__controller > li > a:hover i {
  visibility:visible;
  color: #ff8400;
}

}

@media print, screen and (max-width: 899px) {
nav.number-nav .container {
	text-align:left;
}

.switch ul.child li.ui-state-active a i {
  visibility:visible;
  color: #ff8400;
}

nav.fixed {
	margin-top:0;
}

}

.nav-fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}

#advanced-1, #advanced-2, #advanced-3, #advanced-4, #advanced-5, #advanced-6, #advanced-7, #advanced-8, #advanced-9, #advanced-10 {
	margin-top:-77px;
	padding-top:77px;
}

@media print, screen and (max-width: 767px) {
#advanced-1, #advanced-2, #advanced-3, #advanced-4, #advanced-5, #advanced-6, #advanced-7, #advanced-8, #advanced-9, #advanced-10 {
	padding-left:2%;
	padding-right:2%;
}
}

.td-01-primary {
  padding-top: 45px;
  padding-bottom: 45px;
  padding-left:2%;
  padding-right:2%;
  background: url('./images/bg-primary.png') no-repeat top center / cover;
  text-align: left;
}

.td-01-primary img {
	max-width:100%;
}

#contents h1.td-01-title {
  padding-top: 80px;
  padding-bottom: 350px;
}

#contents h2.td-01-heading {
	font-size:200%;
}

.td-01-catch {
  position: absolute;
  top: 200px;
}

.td-01-hero {
  position: absolute;
  top: 0;
  left: 655px;
}

.td-01-ce {
  position: absolute;
  top: 490px;
  left: 580px;
}

.td-01-btn-campaign {
  position: absolute;
  top: 330px;
  left: 120px;
}


.td-01-secondary {
  margin-top: -50px;
  z-index: 99;
  text-align: left;
}

.td-01-description {
  position: absolute;
  top: 100px;
  right: 100px;
  width: 450px;
}

.td-01-description p {
  margin-top: 0;
}

.td-01-secondary .td-01-cta {
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: rgba(255,255,255,0.6);
  text-align: center;
}

.td-01-cta {
  padding-top: 30px;
  padding-bottom: 30px;
}

.td-01-cta-box {
  display: inline-block;
  box-sizing: border-box;
  width: 280px;
  margin: 0 16px;
  vertical-align: top;
}

@media print, screen and (max-width: 768px) {
.td-01-primary img {
	width:60%;
}

.td-01-hero {
	left:470px;
}

img.td-01-hero  {
	width:35%;
}

.td-01-description {
	width:400px;
	right:10px;
}

.td-01-secondary .td-01-cta {
	position:relative;
	margin-top:-111px;
}
}

@media print, screen and (max-width: 767px) {
.td-01-primary img {
	width:100%;
}

.td-01-secondary {
	margin-top:20px;
}

.td-01-description {
	position:static;
	width:100%;
	right:0;
}

.td-01-secondary .td-01-cta {
	position:relative;
	margin:auto;
}

.handy {
	width:40%;
	float:left;
	margin-bottom:3em;
}

.btn-video {
	text-align:center;
}

.td-01-cta-box {
	margin-bottom:2em;
}
}

.btn-inquiry {
  display: inline-block;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 5px;
  border: 1px solid #1e62c8;
  background-color: #fff;
}

.btn-catalog {
  display: inline-block;
  width: 100%;
  padding-top: 10px;
  padding-bottom: 5px;
  border: 1px solid #ca2c2c;
  background-color: #fff;
}

.btn-tddatapicker {
  display: inline-block;
  width: 100%;
  padding-top: 5px;
  padding-bottom: 5px;
  border: 1px solid #ca2c2c;
  background-color: #fff;
}

.td-01-row {
  padding-top: 70px;
  padding-bottom: 70px;
}

.td-01-row figcaption {
	margin-top:0.5em;
	line-height:1.4em;
}

.td-01-heading img {
	vertical-align: middle;
}

.td-01-display {
  background-color: #e8f1f2;
  z-index: 100;
}

.td-01-dispaly-item {
  padding-bottom: 1em;
}

.td-01-dispaly-item img+img {
  padding-top: 0.5em;
}

.td-01-advanced .container {
  width: 661px;
  padding:0;
}

@media print, screen and (max-width: 767px) {
.td-01-row figcaption {
	text-align:center;
}

.td-01-advanced .container {
	width:100%;
}
}

.td-01-advanced-group {
  overflow: hidden;
  padding-top: 1em;
  padding-bottom: 1em;
  margin-bottom: 2em;
}

.td-01-advanced-group-figure {
  float: left;
  width: 320px;
  padding-right: 20px;
  margin:0;
}

@media print, screen and (max-width: 767px) {
.td-01-advanced-group-figure,
.td-01-advanced-group-figure img {
	width:100%;
	padding-right:0;
}

.td-01-advanced-group-figure-sp img {
	width:50%;
}
}

.td-01-advanced-group-content {
  float: right;
  width: 400px;
}

.td-01-advanced-group-title {
  border-bottom: 1px solid #323232;
  color: #323232;
  font-weight: bold;
  font-size: 1.5rem;
  text-align: left;
}

.td-01-advanced-group-title-s {
  font-size: 1.2rem;
  line-height:2.7rem;
}

.td-01-advanced-group-body {
  font-size: 1.08rem;
  text-align: left;
}

.td-01-advanced-group-body ul {
  padding-left: 1em;
}

/* .td-01-figure-advanced {
  margin-bottom: 32px;
}

.td-01-figure-advanced figcaption {
  margin-top: -16px;
  color: #1b60c7;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.4;
}
 */
.td-01-function {
  background: url('./images/bg-function.png') #1e62c8 no-repeat top center;
}

.td-01-function-list {
  list-style-type: none;
  margin-bottom: 60px;
  padding-left: 0;
}

.td-01-function-list li {
  margin-top: 0;
  margin-bottom: 20px;
}

.td-01-tddatapicker {
  background-color: #e8f1f2;
}

.td-01-tddatapicker .container {
  width: 661px;
}

.td-01-tddatapicker-lead {
  margin-top: 0;
  margin-bottom: 3rem;
  font-size: 1.125rem;
}

.td-01-tddatapicker-figure {
	margin:20px 0 0;
}

.td-01-tddatapicker-title-sub {
	font-size:1.08rem;
	text-align:left;
	font-weight:bold;
	margin-top:1rem;
}

.td-01-portable {
}

@media print, screen and (max-width: 767px) {
.td-01-tddatapicker .container {
  width: 100%;
}

.td-01-portable img {
	width:100%;
}
}

.td-01-spec {
  background-color: #a6d3f4;
}

.td-01-table-spec {
  margin:1em auto;
  border: none;
}

.td-01-table-spec thead th,
.td-01-table-spec thead td {
  border: 1px solid #878787;
  background-color: #dcdcdc;
  padding: 0.5em 2em;
}

.td-01-table-spec th,
.td-01-table-spec td {
  border: 1px solid #878787;
  background-color: rgba(255,255,255,0.7);
  padding: 0.5em 2em;
}

.td-01-table-spec th {
  text-align:left;
  background-color:#dcdcdc;
}

.td-01-table-spec td {
  width: 77%;
  text-align:left;
}

.td-01-table-spec th.sub {
	background-color:#eceded;
}

@media print, screen and (max-width: 767px) {
.td-01-table-spec {
	width:100%;
}

.td-01-table-spec th,
.td-01-table-spec td {
  width: 100%;
  display:block;
}
}

#contents h2#js-td-01-heading-faq {
  margin-bottom: 0;
  cursor: pointer;
}

#js-td-01-heading-faq .td-01-icon-play {
  transition: transform 0.25s linear; 
}

#js-td-01-heading-faq.is-open .td-01-icon-play {
  transform: rotate(90deg);  
}

.td-01-faq-body {
/*  display: none; */
}

.td-01-faq-item {
  padding-top: 2em;
  padding-bottom: 1em;
  border-bottom: 1px dotted #7e8c95;
  text-align: left;
  font-size: 16px;
}

.td-01-faq-item-q {
  color: #1e62c8;
  font-weight: bold;
}

.td-01-faq-item-a {
}

#td-01-download .container {
	width:700px;
}

#td-01-download ul {
	list-style-type:none;
	text-align:left;
}

#td-01-download ul li {
	border-bottom:1px dotted #717a7f;
	padding:12px 0;
	margin:0.5em 0;
}

#td-01-download dl, #td-01-download dl dt, #td-01-download dl dd {
	margin:0;
	padding:0;
	font-size:16px;
}

#td-01-download dl dt {
	float:left;
	clear:both;
	line-height:2.5em;
	font-weight:bold;
}

#td-01-download dl dd {
	text-align:right;
}

@media print, screen and (max-width: 767px) {
#td-01-download .container {
	width:100%;
}

#td-01-download ul {
	padding-left:0;
}
}

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

.btn {
  position: relative;
  display: inline-block;
  padding: 0.5em 1em;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 0.25em;
  box-shadow: rgba(0,0,0,0.05) -1px 1px 0, rgba(255,255,255,0.1) -1px 1px 0 inset;
  background-color: #f5f5f5;
  color: #323232;
  text-align: center;
  text-decoration: none;
  font-size: 100%;
  vertical-align: middle;
  cursor: pointer;
  transition: background 0.1s linear;
}

.btn:hover {
  background-color: #eee;
}

.btn:active {
  top: 1px;
}

.btn-primary {
  color: #fff;
  background-color: #f44336;
}

.btn-primary:hover {
  background-color: #e53935;
}

.btn-mini {
  padding: 0.25em 1em;
  font-size: 1rem;
}

.scroll {
  visibility: hidden;
}

.scroll.animated {
  visibility: visible;
}

/* animate.css の上書き */
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }
}

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

.btn_close {
  color: #fff;
  cursor: pointer;
}

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

.slb-body {
	width:858px;
}

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

@media screen and (max-width: 899px) {
  .pc-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 900px) {
  .sp-only {
    display: none !important;
  }
}

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

@media print {
	#area-menu {
		display:none;
	}
	.td-01-primary img {
		max-width:50%;
	}
	.td-01-primary img.td-01-hero {
		max-width:30%;
		left:650px;
	}
	.td-01-secondary .td-01-cta {
		position:absolute;
	}
}

