@charset "utf-8";
.bgcolor-g{
	background: #F3FBFA;
}
.bgcolor-g-d{
	background: #DCF3F0;
}
.bgcolor-b{
	background: #F0F7FF;
}
.underline-y {
	padding: 0 8px 2px;
	background: #ffff98;
}

header{
	background-color: #FFFFFF;
	z-index: 100;
	overflow: hidden;
	transition: all .3s ease;
	box-shadow: 0px 3px 6px rgb(0 0 0 / 10%);
}
.header-main {
	width: 100%;
	max-width: 1400px;
	height: 60px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	}
header a.logo_cachatto {
	width: 20%;
	max-width: 240px;
	padding-left: 24px;
	}
header a.logo_cachatto img {
	width: 100%;
	height: 100%;
	padding: 8px 0;
}
.header-main .btn {
	display: flex;
	justify-content: flex-end;
	width: 80%;
	padding: 8px 24px;
}
footer ul.Navi li a[target="_blank"]::after {
	vertical-align: middle;
	margin: 0 16px 0 0;
}

/*　Content CSS　*/
h2 {
    font-size: 1.75em;
    font-weight: bold;
    margin-bottom: 40px;
}
h3{
	font-size: 1.5em;
	line-height: 1.25;
	color: #16B395;
	margin: 80px auto 48px auto;
	text-align: center;
	position: relative;
}
h3:before {
	content: "";
	display: block;
	width: 20%;
	height: 1px;
	background: #16B395;
	margin-top: 14px;
	position: absolute;
	left: 0;
	top: 0;
}
h3:after {
	content: "";
	display: block;
	width: 20%;
	height: 1px;
	background: #16B395;
	margin-top: 14px;
	position: absolute;
	right: 0;
	top: 0;
}
h5{
	font-size: 1.5em;
	color: #16B395;
	margin-bottom: 24px;
}

.wrapper {
    position: relative;
    width: 96%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 50px;
}

#main{
	background-image: url(../img/main_bg.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	padding: 0;
	height: 490px;
	margin-top: 60px;
    border-bottom: 1px solid #e7edf3;
}
#main .wrapper{
	position: relative;
	width: 900px;
	margin: 0 auto;
	padding: 0;
}
.main-title{
	display: block;
	position: relative;
	float: left;
	width: 460px;
	text-align: center;
	margin: 16px 8px 8px 16px;
	z-index: 80;
}
.main-title h1{
	font-size: 2em;
	text-align: center;
	color: #2252C1;
	margin: 14px auto 28px;
}
.main-title p{
	text-align: center;
}
.main-title p.main-sub {
	color: #fff;
	text-align: center;
	padding: 4px;
	background: #16B395;
}
.main-title h1 p {
	font-size: 16px;
	color: #666;
	line-height: 1;
}
.main-title h1 img {
	width: 380px;
	display: block;
	margin: 0 auto 8px;
}
.main-links {
	margin-bottom: 16px;
}
.main-record {
	margin: 0 10px 24px;
}
#main aside {
	margin-bottom: 16px;
}
#logo {
    padding: 0;
    margin: 0 auto;
}
#logo .record-logo {
    padding: 4px 0 0 0;
}
#logo .record-logo li {
    display: inline-block;
    padding: 8px 24px;
    vertical-align: middle;
}
#logo .record-logo li img {
    height: 36px;
}
#logo .record-logo li p {
    font-size: 1.25em;
    line-height: 1;
    text-align: center;
    font-weight: 500;
}
#keyword {
	padding: 16px 0;
    border-top: 1px solid #e7edf3;
}
#keyword .wrapper {
    padding: 16px 0;
}
#keyword h4 {
	font-size: 1.25em;
}
#keyword h4:first-child {
	margin-bottom: 0;
}
#worry h2{
	font-size: 1.5em;
	margin-bottom: 28px;
	color: #333;
	font-weight: normal;
}
#answer h2 {
	font-size: 1.5em;
	margin-bottom: 20px;
	color: #333;
}
#worry h2:after,
#answer h2:after {
	display: none;
}
section#worry {
	position: relative;
	padding: 48px 0 40px;
	z-index: 50;
	overflow: unset;
}
section#answer {
	padding: 32px 0 0;
	z-index: 49;
}
#worry .wrapper{
    padding: 0;
}
#answer .wrapper{
    padding: 40px 0 8px;
}
#worry ul.worry-cont{
	display: -ms-flexbox;
	display: flex;
	position: relative;
	z-index: 52;
}
#worry li{
	width: 25%;
	background: #fff;
	border-radius: 8px;
	padding: 22px 14px 12px;
	margin: 0 8px;
	box-shadow: 0px 3px 18px rgba(0, 0, 0, 0.05);
}
#worry h4:before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	-webkit-transform: rotate(
50deg
);
	-ms-transform: rotate(50deg);
	transform: rotate(
50deg
);
	width: 5px;
	height: 10px;
	border-right: 3px solid #FF9326;
	border-bottom: 3px solid #FF9326;
}
#worry h4 {
	position: relative;
	padding-left: 20px;
	text-align: left;
}
section#worry:before {
	content: "";
	position: absolute;
	bottom: -96px;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 100;
	width: 0;
	height: 0;
	border-top: 56px solid #F3FBFA;
	border-right: 80px solid transparent;
	border-bottom: 56px solid transparent;
	border-left: 80px solid transparent;
}
#answer h2 img {
	vertical-align: middle;
	margin-top: -8px;
}
li p {
	font-size: 0.875em;
	line-height: 1.75;
	padding-bottom: 8px;
}
#menu{
	padding: 20px;
}
#menu a{
	display: inline-block;
	position: relative;
	width: 15%;
	color: #fff;
	font-weight: bold;
	line-height: 3;
	background: #16B395;
	margin: 0 0 0 8px;
	padding-top: 2px;
	border-radius: 4px;
	transition: all .3s ease;
}
#menu a::before{
	position: absolute;
	content: "";
	top: 38px;
	right: 45%;
	width: 6px;
	height: 6px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
#menu a:hover{
	background: #133671;
}
#about img {
	margin: 24px auto 40px;
}
#about .telework-item img {
	margin: 16px 0;
}
h3 p {
}
h3.h3-line2:before,
h3.h3-line2:after {
	margin-top: 32px;
}
.about-telework{
	width: 800px;
	margin: 0 auto;
	padding: 0 72px;
	background: #f6fff5;
}
.telework-item{
	display: -ms-flexbox;
	display: flex;
	align-items: center;
}
.telework-item p{
	width: 60%;
}
.telework-item .img{
	width: 40%;
}
.telework-item:nth-child(2n) .img{
	-ms-flex-order: 0;
	order: -1;
}
.telework-item img {
	margin: 16px 0;
}
#about .feature-item{
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	background: #F3FBFA;
	border-radius: 8px;
	padding: 28px 32px 16px 12px;
	margin: 18px;
}
#about .feature-item h4{
	width: 25%;
	color: #16B395;
	font-size: 1.25em;
	margin: 8px auto 12px;
}
#about .feature-item ul{
	width: 75%;
	margin-left: 32px;
}
#about .feature-item li{
	text-align: left;
	list-style: disc outside;
	margin-bottom: 16px;
}
#function ul{
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 60px;
}
#function li{
	position: relative;
	width: 42%;
	background: #fff;
	border-radius: 8px;
	padding: 24px 20px 12px;
	margin: 12px;
}
#function ul.function-other li{
	width: 30%;
}
.function-recom h4,
.function-other h4{
	font-size: 1.25em;
    font-weight: bold;
    margin: 8px auto 12px;
}
.function-recom img {
	margin: 8px 0 16px;
	width: 50%;
}
.function-other img {
	margin: 10px 0 16px;
	width: 50%;
}
span.icon-v3{
	position: relative;
	margin: 0 32px;
}
.icon-v3:before {
	content: "V3";
	position: absolute;
	display: block;
	top: 0;
	left: -18px;
	width: 28px;
	color: #fff;
	font-size: 0.875em;
	text-align: center;
	line-height: 1.5;
	padding: 2px 4px 0px;
	background: #2252C1;
	z-index: 10;
}
#function li.icon-v3:before {
	top: 8px;
	left: 8px;
}
.system-comment {
	position: relative;
	background: #E5F1FF;
	width: 50%;
	margin: 24px;
	padding: 16px 24px 16px 40px;
}
.system-comment p {
	color: #2252C1;
	line-height: 1.5;
}
.system-comment:before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -20px;
	border: 20px solid transparent;
	border-top: 20px solid #E5F1FF;
}
a.link-exp{
	position: relative;
	display: block;
	transition: all .3s ease;
	background: #CCCCCC;
	border-radius: 8px;
	font-size: 0.875em;
	color: #333;
	padding: 10px 24px 10px 10px;
	margin: 16px auto 8px;
	width: 80%;
}
a.link-exp:hover{
	opacity: 0.6;
}
.icon-exp{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 12px;
	opacity: 0.7;
	margin: auto;
}
#mobilework h3 {
	color: #2252C1;
	margin: 0 auto 48px;
}
#mobilework h3:before,
#mobilework h3:after {
	display: none;
}
.mobilework-cont {
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.mobilework-cont p {
	width: 60%;
	font-size: 0.875em;
	padding-right: 24px;
}
.mobilework-cont .img {
	width: 40%;
}
.mobilework-cont a {
	text-decoration: underline;
}
.mobilework-cont a:hover {
	opacity: 0.6;
}
#price {
	border-top: 1px solid #16B395;
}
#price table td {
	padding: 20px;
	font-size: 1.25em;
}
#price table th {
	width: 40%;
}
#price a.link-anchor {padding-left: 80px;margin-bottom: 32px;}
.case-list-sfc{
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	margin-bottom: 48px;
}
.case-list-sfc a{
	color: #333;
	width: calc((100%/3) - 16px);
    background: #fff;
    border-radius: 8px;
    margin: 0 8px 16px;
	padding: 10px 10px 24px 10px;
	box-shadow: 0px 3px 18px rgba(0, 0, 0, 0.2);
	transition: all .3s ease;
}
.case-list-sfc a img {
    width: 80%;
}
.case-list-sfc a:hover{
	opacity: 0.6;
}
#case .case-list-sfc a::before {
	position: absolute;
	content: "";
	bottom: 12px;
	right: 12px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #2252C1;
	border-right: 2px solid #2252C1;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#case .case-list-sfc a:after{
	position: absolute;
	top: 44px;
	right: 8px;
}
.case-list-sfc .case-title{
	font-weight: bold;
	padding: 16px 0 18px;
	line-height: 2;
}
.case-list-sfc .case-txt{
	text-align: left;
	padding: 16px 12px 8px;
	font-size: 0.875em;
}
#case .case-list-sfc aside a::before {
	display: none;
}
#case .case-list-sfc aside a:after {
	position: unset;
	top: unset;
	right: unset;
}
.case-list-sfc a {
	box-shadow: none;
}
.case-list-sfc a:hover {
	opacity: 1;
}
.case-list-sfc a:before {
	display: none;
}
#environment table td {
	font-size: 0.875em;
	line-height: 1.5;
	padding: 6px 20px;
	vertical-align: middle;
	text-align: left;
}
#environment table th {
	width: unset;
	padding: 8px;
	font-weight: normal;
	letter-spacing: 0.05em;
	text-align: left;
}
td.w160 {
	width: 160px;
}
td.w480 {
	width: 480px;
}
tr.bg-g td {
	background: #e9f7f5;
}
#trial{background: #16B395;}
#trial h2:after {background: #fff;}
.campaign-intro {
	background: #FEFFD2;
	color: #333;
	margin: 0 auto 32px;
	width: 800px;
	line-height: 1.75;
}
.campaign-title{
	font-weight: bold;
	background: #FCFF26;
	padding: 16px 12px 12px;
}
.campaign-detail{
	padding: 16px 12px 12px;
	line-height: 2;
}
#trial table b {
	background: #FCFF26;
}
#trial table th {
	width: 40%;
	border: 2px solid #16B395;
	background: #DCF3F0;
	color: #333;
	padding: 24px;
}
#trial table td {
	border: 2px solid #16B395;
	background: #fff;
	text-align: left;
	vertical-align: middle;
}
#trial h2 {
	color: #fff;
}
#trial h5 {
	color: #fff;
}
#trial table {
	margin-bottom: 60px;
}
.resources-cont {
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	margin-bottom: 48px;
}
.resources-exp {
	margin-right: 40px;
}
.special{
    background: #FCFF66;
    padding: 40px 0;
}
.special h2{
    margin: 0 auto 16px auto;
    font-weight: bold;
}
.special h2:after{
    content: none;
}
.special a.link-special{
    display: inline-block;
    position: relative;
    margin: 10px 8px 0 8px;
    width: 320px;
    height: 60px;
    border-radius: 30px;
    text-align: center;
    color: #FFF;
    font-size: 1.25em;
    line-height: 320%;
    background: #2252bf;
    z-index: 3;
    overflow: hidden;
    transition: all .3s ease;
}
a.link-special:before {
    position: absolute;
    content: "";
    top: 42%;
    right: 24px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
a.link-special:hover{
	background: #133671;
}
a.cta-common-btn {
    display: block;
    position: relative;
    width: 100%;
    max-width: 336px;
    color: #FFFFFF;
    font-size: 1.125em;
    font-weight: bold;
    line-height: 3.6;
    background: #2252C1;
    margin: 0 auto;
    border-radius: 8px;
    z-index: 3;
    overflow: hidden;
    transition: all .3s ease;
}
a.cta-common-btn::before {
    position: absolute;
    content: "";
    top: 42%;
    right: 24px;
    width: 8px;
    height: 8px;
	border-top: 2px solid #FFFFFF !important;
    border-right: 2px solid #FFFFFF !important;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
a.cta-common-btn:hover{
	background: #90A8E0;
}
.header-main a.cta-common-btn {
	display: flex;
	align-items: center;
	width: auto;
	margin: unset;
	line-height: 1;
	font-size: 1em;
	padding: 2px 40px 2px 16px;
}
#cta{
	display: block;
	position: relative;
	clear: both;
	width: 100%;
	margin: 0;
    background-color: #16B395;
	z-index: 3;
	padding: 32px 0 16px 0;
}
.cta-common{
	position: relative;
	background: #16B395;
	margin: 0px auto;
	padding: 0px 0px 0px 0px;
}
.cta-common article {
    margin: 0px auto;
    text-align: center;
    width: 860px;
    padding: 32px 0;
    display: block;
    position: relative;
    max-width: 960px;
}
.cta-common .flex {
    align-items: center;
    display: flex;
    justify-content: center;
}
.cta-common h4{
	display: block;
    color: #FFFFFF;
    width: 50%;
	font-size: 1.25em;
    font-weight: bold;
    line-height: 2;
    margin: 0 auto;
}
.cta-common .btn {
    width: 50%;
}
.cta-cont{
	display: -ms-flexbox;
	display: flex;
	width:100%;
	max-width: 700px;
	margin: 0 auto 24px auto;
}
.cta-cont a{
	max-width: 100%;
    padding: 15px 16px 16px;
    margin: 0 8px;
    line-height: 1;
	transition: all .3s ease;
	line-height: 1 !important;
}
.cta-cont a::before{
	top: 45%;
	right: 16px;
	border-color: #FFFFFF;
}
.cta-cont a span{
	font-size: 1.25em;
	font-weight: bold;
	line-height: 2;
}
.cta-cont a p{
	font-size: 0.875em;
	text-align: center;
}
.cta-cont a:hover{
	color: #FFFFFF;
	background: #90A8E0;
	opacity: 1;
}
.cta-cont a:hover::before{
	border-color: #FFFFFF;
}
.cta-cont a:hover p{
	color:#FFFFFF;
}
.cta-cont.cta-trial a{
	padding: 16px 32px;
    max-width: 100%;
}
.cta-cont.cta-trial a span{
	font-size: 1.35em;
}

section.c1-link {
    padding: 24px;
}
.c1-link h3{
	color: #2252C1;
    margin-bottom: 16px;
    font-size: 1.25em;
    margin-top: 40px;
}
.c1-link h3:before,
.c1-link h3:after{
	display: none;
}

@media screen and (max-width: 640px) {
	.wrap{
		overflow: hidden;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	h2 {
		font-size: 1.25em;
	}
	header .wrapper {
		width: 100%;
	}
	header a.eJan {
		display: none;
	}
	a.link-form{
		margin: 4px 8px;
	}
	header a.logo_cachatto {
		width: 40%;
	}
	.header-main .btn {
		width: 60%;
	}
	.header-main a.cta-common-btn {
		font-size: 0.875em;
	}
	.wrapper {
        width: 96%;
        padding: 60px 8px;
	}
	.main-record {
		border: none;
		background: #ffffffa3;
		padding: 16px 8px 8px;
		margin-bottom: 16px;
		position: absolute;
		top: 260px;
		left: 0;
		width: 50%;
	}
	.main-title h1 {
		padding-bottom: 200px;
	}
	a.cta-common-btn {
		line-height: 3;
	}
	.main-record img {
		width: 100%;
	}
	#main {
		background-image: url(../img/main_bg_sp.jpg);
	}
	#main .wrapper {
		width: 100%;
	}
	.main-title {
		width: 100%;
		margin: 0;
		padding: 24px 16px;
	}
	.main-title h1 img {
		width: 280px;
	}
	#main a.link-anchor p {
		margin: 0;
		font-size: 0.75em;
		left: 50%;
		text-align: center;
	}
	#main a.link-anchor {
		width: 46%;
	}
	.main-links {
		margin-bottom: 8px;
	}
	a.link-anchor::before {
		right: 8px;
		margin: auto;
	}
	#logo .record-logo li {
        padding: 4px 16px;
    }
	#logo .record-logo li img {
        height: 28px;
    }
	#logo .record-logo li p {
		font-size: 1em;
	}
	#keyword h4 {
		font-size: 1em;
		line-height: 2;
	}
	#worry h2 {
		font-size: 1.25em;
	}
	#worry li {
		width: 100%;
		margin: 8px 0;
	}
	#worry ul.worry-cont {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#answer h2 img {
		width: 100%;
	}
	#menu {
		padding: 8px 0;
	}
	#menu a {
		font-size: 0.875em;
		width: 46%;
		margin: 0 0 8px 0;
	}
	#menu a::before{
		top: 32px;
	}
	#menu .wrapper{
		width: 100%;
	}
	h3{
		margin: 48px 0 24px 0;
		padding: 12px 0 10px 0;
		border-top: 1px solid #16B395;
		border-bottom: 1px solid #16B395;
		font-size: 1em;
	}
	h3::before,
	h3::after{
			display: none;
		}
	section.c1-link {
		padding: 0;
	}
	.c1-link h3 {
		font-size: 1em;
		border: none;
	}
	#about img,
	#system img{
		width: 100%;
	}
	#system img.icon-exp {
		width: 10%;
	}
	.about-telework {
		width: 100%;
		padding: 8px;
	}
	.telework-item p {
		line-height: 1.5;
		margin: 0 8px;
	}
	#about .feature-item {
		flex-direction: column;
		padding: 28px 0 8px;
		margin: 18px 0;
	}
	#about .feature-item h4 {
		width: 100%;
		font-weight: normal;
	}
	#about .feature-item ul {
		width: 80%;
		margin-left: 20px;
	}
	#about .feature-item li {
		font-size: 0.875em;
	}
	#function ul {
		flex-direction: column;
	}
	.function-recom h4,
	.function-other h4 {
		font-size: 1em;
		margin: 0 auto 12px;
	}
	#function li,
	#function ul.function-other li {
		width: 100%;
		margin: 0 0 8px 0;
	}
	table {
		width: 100%;
		word-break: break-all;
	}
	a.link-exp {
		font-size: 0.5em;
		width: 100%;
		text-align: left;
	}
	#mobilework h3 {
		border: none;
		font-size: 1.125em;
		margin-bottom: 24px;
	}
	.system-comment {
		width: 80%;
		margin-left: 0;
		padding: 16px 24px;
	}
	.system-comment:before {
		margin-left: -70px;
	}
	.mobilework-cont {
		flex-direction: column;
	}
	.mobilework-cont p {
		width: 100%;
		margin-bottom: 24px;
		padding: 0;
	}
	.mobilework-cont img {
		width: 90%;
	}
	h5 {
		font-size: 1.125em;
	}
	.campaign-intro {
		width: 100%;
	}
	.campaign-detail {
		padding: 16px;
	}
	#trial table th {
		padding: 8px;
		width: 100%;
		display: block;
	}
	#trial table td {
		width: 100%;
		display: block;
		padding: 16px 12px;
		line-height: 1.5;
		text-align: center;
	}
	.resources-cont {
		flex-direction: column;
		margin-bottom: 20px;
	}
	.resources-exp {margin: 0 0 20px;}
	.resources-cont .img img {
		width: 80%;
	}
	.case-list-sfc {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.case-list-sfc a {
		width: calc((100%/2) - 16px);
    	margin: 0 4px 16px;
	}
	.case-title {
		line-height: 1.25;
		font-size: 0.875em;
	}
	.case-list-sfc img {
		width: 100%;
	}
	.case-txt {
		padding: 4px;
	}
	#cta {
		padding-top: 16px;
	}
	#cta article {
		padding: 0 16px;
	}
	.cta-common article {
		width: 100%;
	}
	.cta-common .flex {
		width: 100%;
		flex-direction: column;
	}
	.cta-common h4 {
		width: 100%;
		margin-bottom: 24px;
		font-size: 1.125em;
	}
	.cta-common .btn {
		width: 80%;
	}
	.cta-cont{
		display: block;
		margin: 12px auto 0px auto;
	}
	.cta-cont a{
		display: block;
		margin-bottom: 16px;
		padding: 0px 0px 0px 0px;
		margin: 12px 0px 8px 0px;
	}
	.cta-common .box{
		width: 100%;
		text-align: center;
		margin: 8px auto 12px auto;
	}
	.cta-cont a span{
		font-size: 1em;
		line-height: 3.6;
		padding: 0px 0px 0px 0px;
	}
	.cta-cont.cta-trial a{
		padding: 0px 0px 0px 0px;
	}
	.cta-cont.cta-trial a span{
		font-size: 1em;
		line-height: 3.6;
	}
}