@charset "UTF-8";

/* //////////////////////////////////////////////////
Cybozu, Inc. WEB SITE 2016
COPYRIGHT © Cybozu, Inc.
ALL RIGHTS RESERVED.
////////////////////////////////////////////////// */

/* --------------------------------------------------
スマートフォン向け（画面767px以下）
-------------------------------------------------- */

/* --------------------------------------------------
Container
-------------------------------------------------- */
html, body { height: 100%; }
.container {
  position:relative;
  padding:50px 0 0 0;
}

#spHeader {
  display:none;
}


/* --------------------------------------------------
com-sp-header
-------------------------------------------------- */
.utility {
  display:none;
}


/* --------------------------------------------------
Header
-------------------------------------------------- */
.site_header {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:50px;
  background:#fff;
}
.site_header.fixed {
  position:fixed;
  top:0;
  z-index:9999;
	box-shadow: 0 3px 0 rgba(0,0,0,0.2);
}
.site_header--inner {
  position:relative;
  height:50px;
}

/*site_logo*/
h1.site_logo {
  width:auto;
  height:30px;
  padding:12px;
}
h1.site_logo a {
  display:block;
  text-align:center;
}
h1.site_logo img {
  height:30px;
}
.site_nav {
  display:none;
  position:absolute;
	top:50px;
  left:0;
  z-index:9999;
  background:#fff;
  width:100%;
	box-shadow: 0 3px 0 rgba(0,0,0,0.2);
}
.sp-nav-btn {
	cursor:pointer;
	position:absolute;
	z-index:9999;
	top:10px;
	right:20px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #13a4c1;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.sp-nav-btn:hover{
  background: #0990ab;
}
.sp-nav-btn span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  margin: -1px 0 0 -7px;
  background: #fff;
  transition: .2s;
}
.sp-nav-btn span:before,
.sp-nav-btn span:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 2px;
  background: #fff;
  transition: .3s;
}
.sp-nav-btn span:before{
  margin-top: -6px;
}
.sp-nav-btn span:after{
  margin-top: 4px;
}
.sp-nav-btn .close{
	background: transparent;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.sp-nav-btn .close:before,
.sp-nav-btn .close:after{
  margin-top: 0;
}
.sp-nav-btn .close:before{
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
.sp-nav-btn .close:after{
  transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}







.list--global_nav {
  list-style:none;
  top:40px;
  z-index:9999;
  width:100%;
  height:auto;
}
.list--global_nav li {
  position:relative;
  border-bottom:1px solid #0990ab;
}

.list--global_nav li a {
  display:block;
  width:100%;
  padding:15px;
  background:#13a4c1;
  color:#fff;
  text-decoration:none;
}
.list--global_nav li a:hover {
  text-decoration:none;
  background:#0990ab;
}
.list--global_nav li.global_nav-trial {
  border-bottom:1px solid #608c00;
}

.list--global_nav li.global_nav-trial a {
	color:#fff;
	background:#90c31f;
}
.list--global_nav li.global_nav-trial a:hover {
  text-decoration:none;
  background:#608c00;
}
.list--global_nav li::before {
	content:"";
	position:absolute;
	z-index: 100;
	top:50%;
	right: 15px;
	width: 20px;
	height: 20px;
	margin:0;
	margin-top:-10px;
	border-radius:50%;
	background:#fff;
}
.list--global_nav li::after {
	content:"";
	position:absolute;
	z-index: 110;
	bottom:50%;
	left:auto;
	right: 22px;
	width: 8px;
	height: 8px;
	margin-left:0;
	margin-bottom:-4px;
	border-right: 2px solid #13a4c1;
	border-bottom: 2px solid #13a4c1;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.list--global_nav li.global_nav-trial::after {
	border-right: 2px solid #90c31f;
	border-bottom: 2px solid #90c31f;
}

.list--global_nav li.sp-search {
  padding:15px 0;
  background:#555;
  border-bottom:1px solid #0990ab;
}
.list--global_nav li.sp-search::after,
.list--global_nav li.sp-search::before {
  display:none;
}


.list--global_nav li.sp-nav-close {
  cursor:pointer;
  padding:15px 0;
  text-align:center;
  background:#333;
  border-bottom:3px solid #333;
  color:#fff;
}
.list--global_nav li.sp-nav-close::after,
.list--global_nav li.sp-nav-close::before {
  display:none;
}

/* contact_bar */
.contact_bar {
  display:none;
}


/* --------------------------------------------------
Dropdown
-------------------------------------------------- */
nav#header-dropdown {
  display:none;
}


/* --------------------------------------------------
row--page_link
-------------------------------------------------- */
.row--page_link {
	margin: 60px auto 0 auto;
	text-align: center;
}
.row--page_link a.btn-blue {
	position: relative;
	padding: .8em 3.2em .8em 2.4em;
	font-size: 16px;
	color: #2ec0dd;
	display: inline-block;
	background: #fff;
	border: 2px solid #2ec0dd;
	border-radius: 50px;
	box-shadow: none;
	font-weight: 700
}
.row--page_link a.btn-blue:hover {
	background: #2ec0dd;
	border: 2px solid #2ec0dd;
		color:#fff
	}
.row--page_link a.btn-s {
	margin: 0 8px;
	padding: .6em 2.4em;
	font-size: 14px;
	color: #fff;
background: #2ec0dd;
	transition: 0.3s ease-in-out;
}
.row--page_link a.btn-s:hover {
	color: #2ec0dd;
	background: #fff;
	border: 2px solid #2ec0dd;
	text-decoration: none;
	
}
.row--page_link a.btn-blue::after {
	right: 1em;
	border-right: 2px solid #2ec0dd;
	border-bottom: 2px solid #2ec0dd;
	
}
.row--page_link a:hover.btn-blue::after {

	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}
.row--page_link a.btn-blue span {
	font-size: 12px
}

.row--page_link .btn {
  display:inline-block;
  font-weight:bold;
	position:relative;
	border-radius:5px;
	text-align:center;
	padding:10px;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
  text-decoration:none;
}
.row--page_link .btn::before {
	content:"";
	position:absolute;
	right:15px;
	top:50%;
	width: 12px;
	height: 12px;
	margin-top:-6px;
	border-bottom: 3px solid rgba(46, 192, 221,0.5);
	border-right: 3px solid rgba(46, 192, 221,0.5);
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/*.row--page_link {
  width:100%;
  padding:0;
  margin:20px auto 0 auto;
  text-align:center;
}
.row--page_link a {
  position:relative;
  padding:7px 32px 7px 12px;
  font-size:14px;
  color:#333;
  display:inline-block;
  background:#fff;
  border:1px solid #dbdada;
	border-radius: 5px;
	box-shadow: 0 3px 0 rgba(0,0,0,0.2);
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
  text-decoration:none;
}.row--page_link a:hover {
  color:#0faac9;
}.row--page_link a:hover::before {
  background:#0faac9;
}
.row--page_link a::before {
  content:"";
  position:absolute;
  width:20px;
  height:100%;
  right:0;
  bottom:0;
  background:#2ec0dd;
	border-radius: 0 3px 3px 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.row--page_link a::after {
  content:"";
  position:absolute;
  bottom:50%;
  right:8px;
	width: 8px;
	height: 8px;
  margin-bottom:-4px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
*/

/* --------------------------------------------------
page-content
-------------------------------------------------- */
.page_wrapper {
  position:relative;
  margin:0 auto;
  border-top:1px solid #d6d6d6;
}
.page_wrapper.trial {
  height:100%;
  border-top:1px solid #d6d6d6;
}

/*page-header*/
.page-header_wrapper {
  position:relative;
  width:100%;
  border-bottom:3px solid #00a6c7;
  background:#1cb3d1;
}
.page-header {
  position:relative;
  width:100%;
  height:auto;
  margin:0 auto;
}
.page-header_icon {
  display:none;
}
.page-header_data.one-row {
}
.page-header_data {
  width:100%;
  padding:0 20px;
  text-align:left;
}

.page-bread_crumb {
  display:none;
}
.page-bread_crumb li {
  font-size:12px;
  line-height:1em;
  padding:5px 0 5px 5px;
  display:inline-block;
  vertical-align:middle;
}
.page-bread_crumb li a.bc_home {
  text-indent:-9999px;
  display:inline-block;
  background:url(../images/common/ico-bc-home.svg) no-repeat 0 0;
  background-size:contain;
  width:1em;
  height:1em;
}
.page-bread_crumb li a {
  color:#00a6c7;
}
.page-bread_crumb li::after {
  content:"";
  display:inline-block;
	width: 0.5em;
	height: 0.5em;
  margin-left:0.5em;
  margin-bottom:0.1em;
  vertical-align:middle;
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.page-bread_crumb li:last-child::after {
  display:none;
}
.page-header_data h1.page-title {
  font-size:24px;
  font-weight:normal;
  color:#444;
  padding:20px 0;
  line-height:1.3em;
  color:#fff;
}

/*page-content*/
.page_wrapper--inner-content {
  position:relative;
  width:100%;
  height:auto;
  border-top:1px solid #fff;
}

.page-content_wrapper {
  width:100%;
  height:auto;
  margin:0 auto;
}
/* page_sub */
.page_sub {
  display:none;
}
.page_navigation-item {
}
.page_navigation-item h3 {
}
.page_navigation-item h4 {
}

/*list--page_navigation*/
.list--page_navigation {
  list-style:none;
}
.list--page_navigation li {
  border-bottom:2px solid #d1d1d1;
}
.list--page_navigation li a {
  position:relative;
  color:#333;
  background:#fff;
  display:block;
  border-left:15px solid #eaeaea;
  font-size:14px;
  line-height:1.3em;
  padding:15px 0 15px 10px;
}.list--page_navigation li.active a { background:#dff5fa;}
.list--page_navigation li.active a,
.list--page_navigation li a:hover {
  border-left:15px solid #00a6c7;
  text-decoration:none;
}
.list--page_navigation li a:hover {
   color:#00a6c7;
}
.list--page_navigation li a::before {
  content:"";
  position:absolute;
  left:-13px;
  top:50%;
  width:8px;
  height:8px;
  margin-top:-3px;
	border-right: 2px solid #999;
	border-bottom: 2px solid #999;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.list--page_navigation li.active a::before,
.list--page_navigation li a:hover::before {
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}
.list--page_navigation li a.kerning {
  letter-spacing:-0.1em;
}

/*list--page_sub_navigation*/
.list--page_sub_navigation {
  list-style:none;
}
.list--page_sub_navigation li {
  background:#fff;
  border-bottom:2px solid #fff;
  border-top:2px solid #fff;
	box-shadow: 0 2px 0 #d3d2d3;
  margin:0 0 2px 0;
}
.list--page_sub_navigation li a {
  position:relative;
  color:#444;
  background:#fff;
  display:block;
  font-size:14px;
  line-height:1.3em;
  padding:8px 10px;
  font-weight:bold;
  border-left:5px solid #acacac;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.list--page_sub_navigation li.active {
  border-bottom:2px solid #dff5fa;
  border-top:2px solid #dff5fa;
}
.list--page_sub_navigation li.active a {
  background:#dff5fa;
  border-left:5px solid #00a6c7;
}
.list--page_sub_navigation li a:hover {
  color:#00a6c7;
  border-left:5px solid #00a6c7;
}

/*list--page_navigation-text*/
.list--page_navigation-text {
  list-style:none;
}
.list--page_navigation-text li {
  position:relative;
  font-size:12px;
  padding:0 10px 5px 15px;
}
.list--page_navigation-text li::before {
  content:"";
  position:absolute;
  left:0;
  top:1em;
  margin-top:-8px;
  width:8px;
  height:8px;
  background:#b5b5b5;
  border-radius:50%;
  border:2px solid #fff;
  
}
.list--page_navigation-text li a {
  color:#666;
}
.list--page_navigation-text li a:hover {
  text-decoration:underline;
}

/* page_content */
.page_content {
  width:100%;
  height:auto;
  padding:20px 20px 40px 20px;
}

.page_content-header-image {
  margin:0 auto;
}.page_content-header-image img {
  width:auto;
  max-width:100%;
  height:auto;
}
.page_content--row {
  padding:0 0 60px 0;
}
.page_content--row_link {
  text-align:center;
}
.page_content--row h2.one-column {
  height:auto;
  font-size:24px;
  text-align:center;
}

.page_content-title {
  position:relative;
  border:1px solid #dbdada;
  padding:5px 0;
	box-shadow: 0 2px 0 #d3d2d3;
}
.page_content-title h2 {
  height:auto;
  padding:5px 10px;
  border-left:10px solid #00a6c7;
  font-size:18px;
}
.page_content-title > .title_link {
  display:none;
}

.page_content--row h3 {
  position:relative;
  padding:10px 10px 10px 15px;
  border:1px solid #dbdada;
	box-shadow: 0 2px 0 #d3d2d3;
  margin:10px auto 0 auto;
  font-size:16px;
}
.page_content--row h3::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:5px;
  display:block;
  height:100%;
  background:#00a6c7;
}
.page_content--row h3 span.small {
  font-size:14px;
}

.page_content--row h4 {
  position:relative;
  font-size:14px;
  padding:6px 10px;
  border-left:3px solid #00a6c7;
	box-shadow: 0 2px 0 rgba(0,0,0,0.2);
  margin:30px auto 0 auto;
}
.page_content--row h5 {
  position:relative;
  font-size:14px;
  margin:30px auto 0 auto;
  padding:5px 10px;
  background:#e0f1f4;
}


/* --------------------------------------------------
Single Column
-------------------------------------------------- */
.page_content--row_main {
  width:100%;
}
.page_content--row_menu {
  width:100%;
}
.row_menu_item {
  width:100%;
  height:auto;
  padding:0 0 20px 0;
}
.menu_item-title {
  border:1px solid #dbdada;
  padding:3px;
}
.menu_item-title h3 {
  border:none !important;
  border-left:5px solid #00a6c7 !important;
  padding:5px 10px !important;
  box-shadow:none !important;
  margin:0 !important;
  font-size:14px !important;
  font-weight:bold;
}
.menu_item-title h3::before {
  display:none !important;
}
.menu_item-data {
  border:1px solid #dbdada;
  background:#fafafa;
	box-shadow: 0 3px 0 rgba(0,0,0,0.2);
  padding:0 15px 15px 15px;
}
.menu_item-data h4 {
  margin:10px auto 0 auto;
  color:#555;
  padding:0 0 5px 0;
  font-size:14px !important;
  border-left:none !important;
  border-bottom:1px solid #dbdada !important;
  box-shadow:none !important;
  font-weight:bold;
}
.menu_item-data p {
  margin:10px auto 0 auto;
  font-size:12px;
}
.list--fileset {
  list-style:none;
  padding:2px 0 0 0;
}
.list--fileset li {
  font-size:12px;
  margin:5px auto 0 auto;
}
.list--fileset li span {
  padding:0 0 0 5px;
  font-size:10px;
}
.list--fileset li a.pdf {
  background:url(../images/common/icn_pdf.png) no-repeat 0 0.25em;
  padding:0 0 0 15px;
}
.list--fileset li a.link {
  position:relative;
  padding:0 0 0 15px;
}
.list--fileset li a.link::after {
  content:"";
  position:absolute;
  top:0.5em;
	left:0.2em;
	width:0.5em;
	height:0.5em;
	border-right: 2px solid #ccc;
	border-bottom: 2px solid #ccc;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


/* --------------------------------------------------
Footer
-------------------------------------------------- */
.site_footer {
	width:100%;
	height:auto;
	background:#e4e4e4;
}
.site_footer--inner {
  width:100%;
	height:auto;
	margin:0 auto;
	padding:20px 0;
}

/*site_footer_logo*/
.site_footer_logo {
  width:33%;
	height:auto;
	margin:0 auto;
}
.site_footer_logo img {
  width:150px;
	height:auto;
}

/*sitemap_item*/
.list--footer_sitemap_item {
	list-style:none;
	margin:0 auto;
  padding:0 20px;
}
.list--footer_sitemap_item li {
  width:100%;
	height:auto;
}
.list--footer_sitemap_item li h3 {
  position:relative;
	color:#333333;
	font-size:18px;
	font-weight:normal;
	border-left:10px solid #1bb5d4;
	background:#fff;
	padding:5px 10px;
	letter-spacing:0.1em;
  margin:20px auto 0 auto;
}
.list--footer_sitemap_item li h3::after {
  content:"";
  position:absolute;
	right:10px;
  top:50%;
	width: 0.6em;
	height: 0.6em;
	margin-top:-0.4em;
	border-left: 2px solid #333;
	border-bottom: 2px solid #333;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.list--footer_sitemap_item li h3.active::after {
	margin-top:0em;
	border-left: 2px solid #333;
	border-bottom: 2px solid #333;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}

/*sitemap_menu*/
.list--footer_sitemap_menu {
  display:none;
	list-style:none;
  margin:0 auto;
  border-top:2px solid #e4e4e4;
}
.list--footer_sitemap_menu li {
	position:relative;
  border-bottom:2px solid #e4e4e4;
}
.list--footer_sitemap_menu li a {
  display:block;
  background:#fff;
	font-size:14px;
	padding:10px 0 10px 1.5em;
	color:#444;
  text-decoration:none;
}
.list--footer_sitemap_menu li a:hover {
	text-decoration:underline;
}
.sitemap_menu--text {
	font-size:12px;
	margin:10px auto 0 auto;
}
.list--footer_sitemap_menu li::after,
.list--footer_sitemap_menu li::before {
	display: block;
	content: '';
	position: absolute;
}
.list--footer_sitemap_menu li::after {
  top:50%;
	left: 0.4em;
	width: 0.8em;
	height: 0.8em;
	margin-top: -0.4em;
	background-color: #1bb5d4;
	border-radius: 50%;
}
.list--footer_sitemap_menu li::before {
  top:50%;
  z-index:10;
	left: 0.75em;
	width: 0.4em;
	height: 0.4em;
	margin-top:-0.2em;
  border:0.2em solid transparent;
  border-left:0.2em solid #fff;
}

.sitemap_menu_wrap--store_login {
	width:100%;
	height:auto;
	margin:20px auto 0 auto;
  padding:0 20px;
}

/*free_trial*/
.sitemap_menu_wrap--free_trial {
	width:100%;
	height:auto;
	margin:20px auto 0 auto;
  padding:0 20px;
}
.sitemap_menu_wrap--free_trial h4 {
  background:#fff;
  border-bottom:3px solid #1bb5d4;
  text-align:center;
  padding:8px 0;
}
.sitemap_menu_wrap--free_trial input[type="text"] {
	width:100%;
	height:auto;
	margin:5px auto 0 auto;
	background:#cfcfcf;
	padding:10px;
	border-top:2px solid #c2c2c2;
}
.sitemap_menu_wrap--free_trial input[type="submit"] {
	width:100%;
	margin:5px auto 0 auto;
	cursor:pointer;
}


/*rule_footer*/
.site_footer--rule_footer {
	width:100%;
	height:auto;
	background:#777777;
}
.rule_footer--inner {
  width:100%;
	height:auto;
	margin:0 auto;
	padding:0 0 90px 0;
	color:#fff;
}

/*list--rule_footer*/
.list--rule_footer {
	list-style:none;
  width:100%;
  border-top:2px solid #999999;
}
.list--rule_footer li a {
  position:relative;
  color:#fff;
  border-bottom:2px solid #999999;
  width:100%;
  display:block;
	font-size:12px;
	padding:10px 10px 10px 25px;
  background:#333;
	vertical-align:top;
  text-decoration:none;
}
.list--rule_footer li a::before {
  content:"";
  position:absolute;
  width:15px;
  height:100%;
  top:0;
  left:0;
  background:#525252;
}
.list--rule_footer li a::after {
  content:"";
  position:absolute;
	right:10px;
  top:50%;
	width: 0.6em;
	height: 0.6em;
	margin-top:-0.3em;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.list--rule_footer li a:hover {
	text-decoration:none;
}

/*copyright*/
small.copyright {
  display:block;
  width:100%;
  height:auto;
	font-size:10px;
  text-align:center;
  margin:10px auto 0 auto;
}
small.copyright a {
	color:#ffffff;
}


/* --------------------------------------------------
Pagetop
-------------------------------------------------- */
.page_top {
  position:fixed;
  z-index:9999;
  width:50px;
  height:50px;
  right:15px;
  bottom:15px;
}
.page_top a {
  display:block;
  background:#fff;
  border-radius:50%;
	box-shadow: 0 0 3px rgba(0,0,0,0.5);
}
.page_top a img {
  width:50px;
  height:50px;
}