@charset "utf-8";
/* CSS Document */
/*-------------------
製品ページ　契約書TOPページ用CSS 20230531
-------------------*/
/* メインビジュアル */
#contract .main-v {
	width: 100%;
	overflow: hidden;
	min-height: 27em;
	padding-top: 48px;
	background-color: #944c82;
}

.main-v_tx {
	width: 100%;
	height: auto;
	display: block;
	color: #222;
	position: relative;
}

.main-v_tx .main-v_tx_inner {
	margin: auto;
	padding: 3rem 0;
	width: 92%;
	height: auto;
    text-align: center;
}

.main-v_tx h1 {
	font-weight: bold;
	/*font-size: 1.75em; */
	font-size: 1.65em;
	padding-bottom: 0.2em;
	line-height: 1.3em;
	color: #fff;
}

.main-v_tx .count_tx {
	font-size: 0.65em;
	font-weight: normal;
	line-height: 1.5em;
	margin-top: 0.3em;
	color: #fff;
}

.rogo_award2021 {
    position:relative;
    margin-bottom: 1em;
    left:0;
}
.rogo_award2021 img {
    width: 40% !important;
}

@media screen and (min-width:48em){
#contract .main-v {
    background-position: left -90px top 0px;
}

.rogo_award2021 img{
    width: auto !important;
}
    
.main-v_tx .main-v_tx_inner {
    /*position: absolute;*/
    top: 2em;
    left: 0;
    right: 0;
    width: 47em;
}
}

@media screen and (min-width:48em) and (max-width:64em){
.main-v_tx .count_tx {
    margin-bottom: 0.5em;
}
}

@media screen and (min-width:64em) {
    #contract:not(.lp2022) .main-v {
        top: 0;
        min-height: 36em;
        background-position: left 0px top 0px;
    }

    #contract:not(.lp2022) .main-v_tx h1 {
        padding-bottom: 0.65em;
        font-size: 2.5em;
    }

    #contract:not(.lp2022) .main-v_tx .count_tx {
        font-size: 0.58em;
    }

    #contract:not(.lp2022) .rogo_award2021{
        position: absolute;
        left:-125px;
    }

    #contract:not(.lp2022) .rogo_award2021 img{
        width: 100% !important;
    }

    #contract:not(.lp2022) .main-v_tx .main-v_tx_inner {
        position: absolute;
        top: 2em;
        left: 0;
        right: 0;
        width: 47em;
    }
}

@media screen and (min-width:75em) {
#contract.lp2022 .main-v {
    top: 0;
    min-height: 36em;
    background-position: left 0px top 0px;
}

#contract.lp2022 .main-v_tx h1 {
    padding-bottom: 0.65em;
    font-size: 2.5em;
}
    
#contract.lp2022 .main-v_tx .count_tx {
    font-size: 0.58em;
}
    
#contract.lp2022 .rogo_award2021{
    position: absolute;
    left:-125px;
}
    
#contract.lp2022 .rogo_award2021 img{
    width: 100% !important;
}
    
#contract.lp2022 .main-v_tx .main-v_tx_inner {
    position: absolute;
    top: 2em;
    left: 0;
    right: 0;
    width: 47em;
}
}

@media screen and (min-width:75em) {
#contract .main-v {
    background-position: left 0px top 0px;
}
.rogo_award2021 {
    left:-150px;
}
}

.main-v_tx .h1_sub {
    position: relative;
    display: inline-block;
    padding: 0 20px;
	margin-bottom: 10px;
    color: #ffffff;
    font-weight: bold;
	font-size: 15px;
	line-height: 1.4;
}

.main-v_tx .h1_sub:before {
    left: 0;
    transform: rotate(55deg);
}

.main-v_tx .h1_sub:before,
.main-v_tx .h1_sub:after {
    content: '';
    position: absolute;
    top: 40%;
    display: inline-block;
    width: 18px;
    height: 3px;
    background-color: #ffffff;
	font-weight:bold;
}

.main-v_tx .h1_sub:after {
    right: 0;
    transform: rotate(-55deg);
}

.main-v_tx h1 {
    color: #fff;
}

.main-v_tx .count_tx {
    display: block;
    color: #944c82;
    background: linear-gradient(to left, transparent, #FFFFFF 20%, #FFFFFF 80%, transparent);
}

@media screen and (max-width:568px){
.main-v_tx .count_tx{
    background: linear-gradient(to left, transparent, #FFFFFF 10%, #FFFFFF 90%, transparent);
}
}
@media screen and (max-width:480px){
.main-v_tx .count_tx{
    font-size: 16px;
}
}
@media screen and (max-width:428px) {
.main-v_tx .count_tx{
    font-size: 16px;
}
}
@media screen and (max-width:410px){
.main-v_tx .count_tx{
    font-size: 15px;
}

}
@media screen and (max-width:375px){
.main-v_tx .count_tx{
    font-size: 14px;
}
}
@media screen and (max-width:320px){
.main-v_tx .count_tx{
    font-size: 13px;
}
}

@media screen and (min-width:64em){
.main-v_tx .h1_sub {
    padding: 0 30px;
    font-size: 28px;
    line-height: 1.4;
}
    
.main-v_tx .h1_sub:before,
.main-v_tx .h1_sub:after {
    width: 28px;
    height: 4px;
}
}

@media only screen and (max-width: 767px) {
#contract .main-v {
    min-height: 30em;
}
#contract .main-v img{
    width: 100%;
}
.main-v_tx .count_tx{
    margin:15px 0 25px;
}
}

/* h2  */
h2 {
	position: relative;
}

h2:before {
	content: '';
	display: block;
	width: 95px;
	height: 3px;
	background-color: #944c82;
	border-radius: 10px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	position: absolute;
	left: 50%;
	bottom: -12px;
} 

/* MV cnv-btn */
.main-v .sec-cnv02 {
    margin-top: 2rem;
}

/* section cv */
.sec-cnv01 {
    position: relative;
}

.sec-cnv01::after {
    content: "";
    display: block;
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: /*#1d1415*/ #060409;
    opacity: .65;
}

.cta-image {
    position: absolute;
    width: 100%;
    top: 0;
    bottom: 0;
    left: 0;
}

.cta-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.cv-box {
    position: relative;
    padding: 3rem 1rem;
    border: 1px solid #fff;
    text-align: center;
    z-index: 1;
}

.cv-title {
	margin-bottom: 2rem;
    color: #fff;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
}

@media only screen and (min-width: 48em) {
.cv-title {
	font-size: 18px;
}
}
	
/* section Topic */
#sec-topic {
    padding: 2rem 0;
    background-color: #f0f0f0;
}

#sec-topic .ticker_label {
	font-size: 0.875em;
    display: inline-block;
	padding: 0.2em 1.5em 0 0;
    border-right: 1px solid #777;
	margin-bottom: 15px;
}

#sec-topic ul li{
	color: #333;
	line-height: 1.3em;
	font-size: 0.9em;
}
#sec-topic ul li a{
	color: #333;
	font-weight: bold;
    padding-left: 0.85em;
	text-decoration: underline;
}
#sec-topic ul li span{
    font-weight: normal;
}

@media screen and (min-width:64em){
#sec-topic .contents{
    text-align: center;
}
#sec-topic .ticker_label{
    display: inline;
}
#sec-topic ul{
    padding-left: 20px;
}
#sec-topic ul,#sec-topic ul li{
    display: inline;
}
#sec-topic ul li a:hover{
    opacity: 0.8;
}
}

/* sec-catch */
.catch-box {
    padding: 2rem;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.12);
}

.catch-box .catch-tx {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.02em;
    text-align: left;
}

.catch-box .catch-tx > * {
    margin-bottom: 1.5rem;
}

.catch-box .catch-tx > * {
    margin-bottom: 1.5rem;
}

.catch-box .catch-tx > *:last-child {
    margin-bottom: 0;
}

.catch-box .catch-tx ol {
    display: inline-block;
    margin-left: 2rem;
}

.catch-box .catch-tx ol li {
    list-style: decimal;
    line-height: 1.6;
    margin-bottom: 0.5rem;
    text-align: left;
}

.catch-box .catch-tx ol li:last-child {
    margin-bottom: 0;
}

@media screen and (min-width:48em){
.catch-box {
    align-items: center;
}

.catch-box .catch-tx {
    align-items: center;
}
}

/* sec-merit */
#sec-merit {
    background-image: url('/web/jp/contract/images/merit_bg2.png');
    background-repeat: no-repeat;
    background-position: bottom right -50px;
	background-size: cover;
}

#sec-merit h2 {
    margin: 2rem 0 0 0;
	color: #fff;
	line-height: 1.6;
	font-weight: bold;
	text-align: center;
}

#sec-merit h2:before {
	content: none;
}

.merit-box {
	overflow: hidden;
	position: relative;
	border: 3px solid #944c82;
	background-color: #fff;
	margin-bottom: 30px;
}

.merit-box:last-child {
    margin-bottom: 0;
}

.merit-box a.box-link {
	display: block;
	height: 100%;
} 

.merit-box h3 {
	display: block;
	position: relative;
	height: 100%;
    padding: 20px 5% 10px;
    font-size: 1em;
	font-weight: bold;
}

.merit-box h3 span {
    display: inline-block;
    line-height: 1.2;
}

.merit-box h3 img {
    display: inline-block;
	margin-right: 1rem;
}

.merit-box h3:after {
	display: block;
	content: '';
	position: absolute;
    top: 0;
	right: 15px;
	width: 10px;
    height: 100%;
	background-image: url('/web/jp/contract/images/merit-arrow.svg');
	background-repeat: no-repeat;
    background-position: center;
}

.merit-box .merit-box-text {
	width: /*80px*/ 100px;
	height: 100%;
	display: flex;
    align-items: center;
	position: absolute;
	color: #FFFFFF;
	font-size: 16px;
	line-height: 24px;
	top: 0;
	left: 0;
	margin-left: -110px;
	padding: 0 15px;
	background-color: #944c82;
	-webkit-transition:	all 0.4s ease;
	transition:	all 0.4s ease;
}

.merit-box h3 {
	display: flex;
	align-items: center;
	-webkit-transition:	all 0.4s ease;
	transition: all 0.4s ease;
}

.merit-box:hover h3 {
	margin-left: 110px;
}

.merit-box h3 img {
	width: 43px;
	height: auto;
}

.merit-box:hover .merit-box-text {
	margin-left: 0px;
} 

.merit-box h3 span {
	line-height: 1.6;
}

@media screen and (min-width:48em){
*#sec-merit .contents {
    max-width: 48em;
} 
    
.merit-box {
    float: left;
    width: 324px;
    height: 120px;
}
    
.merit-box:nth-child(odd) {
    margin-right: 4%;
}
       
.merit-box h3 span {
    font-size: 15px;
}
    
.merit-box:hover h3 img {
    display: none;
}
    
.merit-usebox ul li {
    display:inline-block;
    width:24%;
    margin-bottom: 1.5em;
}
    
.merit-usebox a {
    display: block;
    text-align: right;
}
    
.merit-box:nth-child(odd) h3 img {
    margin-right: 16px;
}
}

@media screen and (min-width:64em) {
#sec-merit .contents {
    max-width: 860px;
}
    
.merit-box {
    width: 410px;
    height: 128px;
}
    
.merit-box:after　{
    right: 25px;
}
    
.merit-box h3　{
    /*font-size: 1.25em; */
    padding: 0 5%;
    white-space: nowrap;
}
    
.merit-box h3 span {
    font-size: 20px;
}
    
.merit-box h3 img {
    width: 65px;
    height: auto;
}
    
.merit-box:hover h3 img{
    display: none;
}
}

@media screen and (min-width:75em) {
#sec-merit {
    background-image: url('/web/jp/contract/images/merit_bg2.png');
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 120%;
}
}

@media only screen and (max-width: 767px) {
.merit-box .merit-box-text{
    width: 100%;
    display: block;
    position: relative;
    margin: 0;
}

#sec-merit .merit-box h3 {
    margin: 0;
    transition: none;
}
}

/* sec-about */
figure.about img {
    display: block;
    margin: 0 auto;
    padding: 10px;
    border-radius: 6px;
    background-color: #fff;
    border: 1px solid #944c82;
}
.video_wrap{
    margin: 5% auto 0 auto;
    width: 56.25%;
    text-align: center;

}
.video_wrap iframe{
    width: 100%;
    height: 100%;
    text-align: center;
    aspect-ratio: 16/9;
}
@media only screen and (max-width: 767px) {
    .video_wrap{
        width: 100%;
    }
}

/* sec-point */
.point-wrap {
}

.point-wrap .point-box {
    position: relative;
    width: 100%;
	margin-bottom: 2rem;
}

.point-wrap .point-box:last-child {
	margin-bottom: 0;
}
	
.point-box::after {
    display: block;
    content: '';
    position: static;
    margin-top: 2rem;
    background-image: url(/web/jp/contract/images/cross.svg);
    background-repeat: no-repeat;
    background-position: center;
    height: 40px;
    width: 100%;
}

.point-box:last-child::after {
    content: none;
}

.point-box figure {
	display: block;
	margin-bottom:1rem;
}

.point-box figure img {
	display: block;
	margin: 0 auto;
}

.point-box h3 {
    margin-bottom: 1rem;
	color: #944c82;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

.point-box h3 span {
	font-size: 0.85em;
}

.point-box p {
	text-align: left;
}

@media screen and (min-width:48em) {
.point-wrap {
    justify-content: space-between;
}
    
.point-wrap .point-box {
    width: 28% ;
	margin-bottom: 0;
} 
    
.point-box::after {
    margin-top: 0;
    position: absolute;
    top: 85px;
    right: -50px;
    /* background-size: 40px; */
    /* transform: translate(0, 50%); */
    width: 40px;
    height: 40px;
}
}

@media screen and (min-width:64em) {
.point-box figure img {
    width: 220px;
}   
}

/* section feature */
.feature-wrap {
}

.feature-wrap .feature-box {
    width: 100%;
}

.feature-box {
    margin-bottom: 2rem;
	padding: 1.5rem;
	background-color: #fff;
	-webkit-box-shadow: 0px 0px 9px 0px rgba(155, 155, 155, 0.5);
	box-shadow: 0px 0px 9px 0px rgba(155, 155, 155, 0.5);
	border-radius: 8px;
	text-align: center;
}

.feature-box:last-child {
    margin-bottom: 0;
}

.feature-box figure {
    margin-bottom: 2rem;
}

.feature-box figure img {
    display: block;
    width: 80%;
    margin: 0 auto;
}

.feature-box h3 {
	margin-bottom: 1rem;
	color: #944c82;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
}

.feature-box p {
    text-align: left;
    line-height: 1.8;
}
a.feature-box .text-link{
	color: #2684e2;
	text-decoration: underline;
}
a.feature-box:hover{
	opacity: 0.8;
}

#sec-function .function-btn,#sec_case .function-btn,#sec-useful .function-btn{
	margin-top: 32px;
	text-align: center;
}

@media screen and (min-width:48em) {
.feature-wrap {
    justify-content: space-between;
}

.feature-wrap .feature-box {
    width: 48%;
}

.feature-wrap .feature-box:nth-child(3), 
.feature-wrap .feature-box:nth-child(4) {
    margin-bottom: 0;
}
    
.feature-box h3 {
	font-size: 20px;
}
}

@media (max-width: 576px) {
.feature-box img {
    width: 100%;
}
	
.feature-box {
    padding: 1rem;
}
}

/* section function */
.function-wrap {
	justify-content: center;
}

.function-wrap li {
    width: 100%;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid #944c82;
    background-color: #fff;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
  
.function-wrap li:last-child {
    margin-bottom: 0;
} 

.function-wrap .text {
    flex: 1;
}

.function-wrap .text h3 {
    color: #944c82;
    font-weight: bold;
    line-height: 1.6;
    text-align: left;
}

.function-wrap figure {
    margin-right: 1.5rem;
}

.function-wrap figure img {
    display: block;
    width: 60px;
}

@media (min-width: 48em) {
.function-wrap {
    justify-content: space-between;
}
    
.function-wrap li {
    padding: 1rem .5rem;
    width: 24%;
} 
   
.function-wrap li:nth-child(n+5) {
    margin-bottom: 0;
} 
   
.function-wrap {
    justify-content: space-between;
}

.function-wrap .text {
    width: 100%;
}  

.function-wrap .text h3 {
    margin-bottom: 1rem;
    text-align: center;
} 
    
.function-wrap figure {
    order: 2;
    width: 100%;
    height: auto;
    margin-right: 0;
}

.function-wrap figure img {
    display: block;
    width: 100px;
    margin: 0 auto;
}
}

/* section workflow */
.workflow-box {
    padding: 1rem;
    border: 1px solid #944c82;
    background: #fff;
}

.workflow-wrap {
}

.workflow-wrap .workflow-text, 
.workflow-wrap figure {
    width: 100%
}

.workflow-wrap figure {
    margin-top: 1rem;
}

.workflow-wrap figure img {
    display: block;
    margin: 0 auto;
}

.workflow-text p + p {
    margin-top: 0.8rem;
}

.workflow-btn-inner {
    margin-top: 1rem;
    text-align: center;   
}

@media screen and (min-width:48em) {
.workflow-box {
    padding: 2rem;
}
    
.workflow-wrap {
    justify-content: space-between;
    align-items: center;
}
    
.workflow-wrap figure {
    width: 260px;
    margin-top: 0;
    margin-left: 2rem;
}
    
.workflow-text {
    flex: 1;
}
}

/* section category */
.category-lead {
    margin-bottom: 2rem;
    text-align: center;
}

.category-wrap {
} 

.category-wrap ul {
    justify-content: center;
}

.category-wrap ul li {
    width: 100%;
    padding :1rem 0;
	background-color: #fff;
	border: 1px solid #944c82;
	text-align: center;
}

.category-wrap ul li + li {
    margin-top: 1rem;
}

@media screen and (min-width:48em) {
.category-wrap ul {
    justify-content: space-between;    
} 
    
.category-wrap ul li {
    margin-bottom: 0.4rem;
    width: 33%;
}

.category-wrap ul li + li {
    margin-top: 0;
}
}

.category-add {
    margin-top: 2rem;
	height: 48px;
	text-align: center;	
}

.category-add span {
	display: inline-block;
	transform: rotate(90deg);
}

/* sec step */
.step-wrap {
}

.step-wrap .step-box {
    position: relative;
    width: 100%;
	margin-bottom: 5rem;
    padding: 1rem;
    background-color: #fff;
    border: 1px dotted #944c82;
    text-align: center;
}

.step-wrap .step-box:last-child {
	margin-bottom: 0;
}
	
.step-box::after {
    display: block;
    content: '';
    position: absolute;
    background-image: url(/web/jp/contract/images/top/step_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 40px;
    bottom: -60px;
    margin-left: -20px;
    transform: rotate(90deg);
}

.step-box:last-child::after {
    content: none;
}

.step-box figure {
	display: block;
	margin-bottom:1rem;
}

.step-box figure img {
	display: block;
	margin: 0 auto;
}

.step-box h3 {
    margin-bottom: 1rem;
    color: #944c82;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}

.step-box h3 span.step {
    display: block;
    font-size: 2em;
}  

.step-box h3 span.step span {
    font-size: 14px;
    font-family: Georgia, "Times New Roman", Times, "serif";
    font-style: italic;
    font-weight: 400;
} 

.step-box p {
    font-size: 0.9em;
}

@media screen and (min-width:48em) {
.step-wrap {
    justify-content: space-between;
}
    
.step-wrap .step-box {
    width: 28% ;
	margin-bottom: 0;
} 
    
.step-box::after {
    margin-top: 0;
    position: absolute;
    bottom:inherit;
    top: 120px;
    right: -24%;
    width: 40px;
    height: 40px;
    transform: rotate(0deg);
}
    
.step-box figure img {
    width: 100%;
}
}

/* 企業logo */
.logo-catch {
    margin-bottom: 4rem;
    font-weight: bold;
    text-align: left;
}

.logo-catch p {
}

.logo-catch p span {
    font-size: 1.4em;
}

.logo-catch p + p {
    margin-top: 1rem;
}

@media screen and (min-width:48em) {
.logo-catch {
    text-align: center;
}

.logo-catch p {
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 0.05em;
}

.logo-catch p span {
    font-size: 1.8em;
}
}

.logo-list ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
	background: #fff;
    width: 280px;
    margin: 0 auto;
}

.logo-list ul li {
    position: relative;
    overflow: hidden;
    width: 130px;
    height: 62px;
    margin: 5px 5px;
	text-align: center;
}

.logo-list ul li img {
	opacity: 1;
    margin: auto;
	max-width: 100%;
	max-height: 100%;
}
.logo-list ul li .logo_caption {
	opacity: 0;
	position: absolute;
	top: 0;
    left: 0;
	z-index: 2;
	width: 100%;
	height: 62px;
	background: rgba(0,0,0,.6);
}

#sec-logo ul li:hover .logo_caption {
	opacity: 1;
}

#sec-logo ul li p.logo_ttl {
	padding: 8px 4px;
	color: #fff;
    font-size: .9em;
	line-height: 1.2em;
	text-align: center;
}

@media screen and (min-width:576px){
.logo-list ul {
    width: 480px;
}
    
.logo-list ul li {
    margin-right: 15px;
    margin-left:  15px;
}
}

@media screen and (min-width:48em){
.logo-list ul {
    width: 640px;
}
}

@media screen and (min-width:64em){
	.logo-list ul {
		width: 960px;
	}
	#contract.lp2022 .logo-list ul {
		width: 100%;
		max-width: 75em;
	}
	.logo-list ul li {
		width: 188px;
		height: 78px;
		text-align: center;
	}
	.logo-list ul li img {
		max-height: 100%;
	}
	.logo-list ul li .logo_caption {
		height: 78px;
	}
}

/* 業界別活用メリット遷移ボタン */
.merit-btn-inner {
    margin-top: 2rem;
    text-align: center;
}

.merit-btn-inner .btn-normal {
    font-weight: bold;
	line-height: 1.4em;
}
    
.merit-btn-inner .btn-normal span::after {
    border-top-width: 2px;
    border-right-width: 2px;
}

/* Section 導入事例 */ 
#sec_case .contents {
    width: 100%;
	max-width: 960px;
    padding-right: 15px;
    padding-left: 15px;
}

.swiper-custom-parent {
	width: 100%;
	position: relative;
}

.swiper-container {
	width: 90%; 
}

@media only screen and (max-width: 576px) {
.swiper-container {
	width: 88%; 
}
}

.case-box {
	padding: 1rem;
	border-radius: 8px;
	border: 1px solid #944c82 ;
	background-color: #fff;
}

.case-box .case-wrap {
}

.case-wrap figure,
.case-wrap .case-text {
	width: 100%;
}

.case-wrap figure img {
	border: 1px solid #ccc ;
	width: 100%;
	vertical-align: bottom;
}

.case-wrap .case-text {
    margin-top: 1rem;
}

.case-box hr {
    margin-top: 0.5rem;
  	margin-bottom: 0;
  	border: 0;
	border-top: 1px solid rgba(0,0,0,.4) ;
}

.case-text .case-co {
	font-size: 1.0em;
	line-height: 1.6;
    text-align: center;
}
	
.case-text .case-co span {
	font-size: 0.8em;
}
		
.case-text .case-catch {
	margin: 1rem 0;
	font-weight: 700;
	line-height: 1.6;
}


.case-text .case-point span {
	font-size: 1.1em;
	line-height: normal;
    color: #944c82;
	font-weight: 700;
}

.case-text .case-point span em {
    font-style: italic;
}

.case-text .case-point ul {
    list-style: none;
    padding: 0;
    margin: 0 0 0 1em;
}

.case-text .case-point ul li {
    padding-bottom: 0.6em;
    text-indent: -0.8em;
    padding-left: 0.8em;
	letter-spacing: normal;
    line-height: 1.48em;
}

.case-text .case-point ul li:before {
	display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f14a";
    color: #944c82;
    margin: 0 0.5em 0 0;
}
    
.btn-case-area {
    margin-top: 1rem;
    text-align: center;
}

.btn-case {
    display: inline-block;
    padding: 10px 20px;
    text-decoration: none !important;
    font-size: 0.9em;
    font-weight: 400;
    color: #944c82;
    line-height: initial;
    border: 1px solid #944c82;
    background-color: #fff;
} 

a:hover.btn-case {
    box-shadow: 0 3px 5px rgb(0 0 0 / 20%);
}

/*@media (min-width: 992px) {
.case-box .case-wrap {
    justify-content: space-between;
}

.case-wrap figure,
.case-wrap .case-text {
	width: 49%;
}

.case-wrap .case-text {
    margin-top: 0;
}
    
.btn-case-area {
    text-align: right;
}    
} */

.swiper-button-prev.swiper-button-theme,
.swiper-container-rtl .swiper-button-next.swiper-button-theme {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23944c82'%2F%3E%3C%2Fsvg%3E");
    left: 0px;
}

.swiper-button-next.swiper-button-theme,
.swiper-container-rtl .swiper-button-prev.swiper-button-theme {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23944c82'%2F%3E%3C%2Fsvg%3E");
    right: 0px;
}

.swiper-button-prev,
.swiper-button-next {
	top: 200px;
}
	
.swiper-pagination {
	margin-top: 20px;
    position: relative;	
}
	
.swiper-pagination-bullet {
    width: 14px;
    height: 14px;
    margin: 0 8px;
}
	
.swiper-pagination-bullet-active {
    opacity: 1;
    background: #944c82;
}
	
@media only screen and (max-width: 991px) {
.swiper-button-prev,
.swiper-button-next {
	top: 260px;
}
}

@media only screen and (max-width: 767px) {
.swiper-button-prev,
.swiper-button-next {
    top: 200px;
    width: 24px;
    height: 24px;
}
}  

/* section flow */  
ul.flow-wrap {
    -ms-flex-pack: justify;
    justify-content: space-between;
}
    
ul.flow-wrap li {
    width: 31.25%;
}   
    
.flow-box {
    background-color: #fff;
    box-shadow: 0 2px 8px 0 rgba(0,0,0,.2);
}
    
.flow-box figure img {
    width: 100%;
}    
    
.flow-box .text {
    padding: 1.5rem;
    font-size: 0.9em;
}    

.flow-box h3 {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 2px dotted #944c82;
    color: #944c82;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
}

.flow-box h3 span.step {
    display: block;
    font-size: 2em;
}  

.flow-box h3 span.step span {
    font-size: 14px;
    font-family: Georgia, "Times New Roman", Times, "serif";
    font-style: italic;
    font-weight: 400;
} 

.flow-note {
    margin-top: 2rem;
    text-align: center;
}

@media (max-width: 959px) { 
ul.flow-wrap li {
    width: 100%;
    margin-bottom: 2rem;   
}
    
ul.flow-wrap li:last-child {
    margin-bottom: 0;
} 
}

/*************
充実したサポート体制
*************/
.contents_support {
	/*width: 90%;
    max-width: 64em;*/
	position: relative;
    height: 325px;
    background-color: #FFFFFF;
    /*margin: 0 auto 64px; */
	font-weight: bold;
}
.contents_support a:hover{
	opacity: 0.8;
}

.contents_support_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    background-image: url('/web/jp/contract/images/support/image05.png');
    background-repeat: no-repeat;
	background-position: bottom right;
    background-size: 100%;
}

.contents_support_wrap {
	width: 90%;
    max-width: 64em;
	color: #FFFFFF;
	position: relative;
	top: 64px;
	margin: 0 auto;
}

.contents_support_image {
	position: absolute;
    top: 0;
    right: -30px;
	max-width: 380px;
}

/*.contents_support_image img {
	width: 100%;
} */

.contents_support_subtitle {
	font-size: 28px;
	line-height: 60px;
	margin: 0 0 3px;
}

.contents_support_title {
	font-size: 58px;
	line-height: 100px;
	margin-bottom: 38px;
}

.contents_support_text {
	font-size: 20px;
	line-height: 1.5;
}
.contents_support_btn{
	background-color: #fff;
	border: 1px solid #944c82;
	border-radius: 8px;
	box-sizing: border-box;
	color: #944c82;
	display: inline-block;
	font-size: 14px;
	line-height: 1.5;
	padding: 8px 32px 8px 16px;
	position: absolute;
	bottom: 16px;
	right: 16px;
}
.contents_support_btn > span{
	position: relative;
}
.contents_support_btn > span:after {
    content: "";
    position: absolute;
    right: -1em;
    width: 0.4em;
    height: 0.4em;
    top: 50%;
    margin-top: -0.2em;
    border-top-width: 1px;
    border-top-style: solid;
    border-right-width: 1px;
    border-right-style: solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media (max-width: 1120px) {
.contents_support{
    /*box-sizing: border-box; 
    padding-left: 5%;
    padding-right: 5%;*/
    height: 300px;
}
.contents_support_wrap {
    padding-top: 64px;
    top: 0;
}

.contents_support_bg {
    background-image: url('/web/jp/contract/images/support/image05_sp.png');
}

.contents_support_subtitle {
    font-size: 20px;
}

.contents_support_title {
    font-size: 48px;
    line-height: 60px;
    margin-bottom: 15px;
}

.contents_support_text {
    font-size: 16px;
}

.contents_support_image {
    width: 37%;
    top: 30%;
    /*right: -77px;*/
}

.contents_support_image img {
    max-width: 316px;
    width: 100%;
}
.contents_support_btn{
	background-color: #8e7cc3;
	border: none;
	border-radius: 0px;
	color: #fff;
	display: block;
	font-weight: normal;
	padding: 8px;
	text-align: center;
	bottom: 0;
	left: 0;
	width: 100%;
}
	.contents_support_btn > span:after{
		right: -1em;
	}
}

@media (max-width: 860px) {	
.contents_support_image {
    display: none;
}
}

@media (max-width: 690px) {	
.contents_support_wrap{
    padding-top: 32px;
}
.contents_support_subtitle {
    font-size: 17px;
    line-height: 2.5;
}
.contents_support_title {
    font-size: 40px;
}
.contents_support_title span {
    display: block;
}
.contents_support_subtext {
    font-size: 14px;
}
}

/* section security */
#sec-security {
	background-color: #434247;
}

#sec-security h2 {
	color: #FFF;
}

#sec-security h2:before {
	background-color: #FFF;
}

.security-lead {
	color: #FFF;
	margin-bottom: 2rem;
	text-align: center;
}

.security-logo {
	width: 100%;
	max-width: 293px;
	margin: 0 auto 3rem;
	background-color: #FFF;
}

.security-logo a:hover img {
	opacity: 0.8;
}

.security-logo img.logo01 {
	width: 18%;
}

.security-logo img.logo02 {
	width: 27%;
}

.security-logo img.logo03 {
	width: 20%;
}

.security-logo img {
	width: 24%;
	margin: 0 3%;
	vertical-align: middle;
}

.security-btn-inner {
    margin-top: 2rem;
    text-align: center;    
}

.security-btn-inner .btn-normal {
    border-color: #fff;
    background-color: transparent;
}

.security-btn-inner .btn-normal span {
    color: #fff;
}

.security-btn-inner a:hover.btn-normal {
    opacity: .5;
}

@media screen and (min-width:48em) {
.security-logo img {
    margin: 0 4%;
}
}

.security-merit-wrap {
    justify-content: center;
    text-align: left;
}
    
.security-merit-box + .security-merit-box {
    margin-top: 2rem;
}

.security-merit-box img {
    display: block;
    margin: 0 auto 2rem;
} 

.security-merit-box h3 {
	margin-bottom: 1rem;
    color: #fff;
	font-size: 1.2em;
    font-weight: bold;
	line-height: 1.2;
	text-align: center;
}

.security-merit-box p {
    color: #fff;
}

@media screen and (min-width:48em) {
.security-merit-wrap {
    justify-content: space-between;
}
    
.security-merit-box {
	width: 27%;
}
    
.security-merit-box + .security-merit-box {
    margin-top: 0;
}
}

/* section faq */
.faq-wrap {
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.faq-box {
    width: 100%;
    padding: 1rem;
    background-color: #fff;
    border: 1px solid #944c82;
}

.faq-box + .faq-box {
    margin-top: 2rem;
}

.faq-box dt,
.faq-box dd {
	position: relative;
	line-height: 1.6;
    padding-left: 2.5rem; 
}

.faq-box dt {
    margin-bottom: 1rem;
	font-size: 1em;
    font-weight: bold;
}

.faq-box dd {
	font-size: 0.9em;
}

.faq-box dt:before {
	content: "Q";
    background: #333;
    color: #fff;
}

.faq-box dd:before {
	content: "A";
    background: #fff;
    color: #333;
    border: 1px solid #333;
}

.faq-box dt:before,
.faq-box dd:before {
    display: block;
    position: absolute;
	top: -2px;
	left: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
	line-height: 1.8;
    text-align: center;
}

.faq-btn-inner {
    margin-top: 2rem;
    text-align: center;
}

@media screen and (min-width:64em) {
.faq-box {
    width: 48.5%;
    margin-top: 0;
}

.faq-box + .faq-box {
    margin-top: 0;
}
    
.faq-box:nth-child( n + 3 ) {
    margin-top: 2rem;
}
}

/* section cta */
.cta-text-box {
    font-weight: bold;
    line-height: 1.6;
}

.cta-text-box .logo_horizontal img {
    margin: 0.5rem 0 1.5rem;
    width: 380px;
}

.cta-text-box span {
    font-size: 1.48em;
}	

.cta-text-box .question {
    display: inline-block;
    position: relative;
    margin: 0.5rem 0 2rem;
    padding: 1rem 1rem 0.6rem 1rem;
	color: #944c82;
    font-size: 2.4em;
    line-height: 1.0;
}

.cta-text-box .question:before,
.cta-text-box .question:after { 
    display: inline-block;
    position: absolute;
    content:'';
    width: 30px;
    height: 40px;
}

.cta-text-box .question:before {
    top:0;
    left: 0;
    border-left: solid 2px #944c82;
    border-top: solid 2px #944c82;
}

.cta-text-box .question:after {
    bottom:0;
    right: 0;
    border-right: solid 2px #944c82;
    border-bottom: solid 2px #944c82;
}

@media only screen and (max-width: 767px) {  
.cta-text-box .question {
    display: inline-block;
    padding: 0.5rem 0.5rem 0.2rem 0.5rem;
	font-size: 1.6em;
}

.cta-text-box .question:before,
.cta-text-box .question:after { 
    display: inline-block;;
    position: absolute;
    content:'';
    width: 10px;
    height: 12px
}
}
	
@media (max-width: 576px) {	
.cta-text-box img.logo_horizontal {
    width: 240px;
}
    
.cta-text-box span {
    font-size: 1.0em;
}
	
.cta-text-box .question {
    font-size: 1.2em;
}
}

/* section news */
#sec-news {
	background-color: #f0f0f0;
}

#sec-news h2 {
	color: #333;
	text-align: left;
}

#sec-news h2:before {
	content: none;
}

#sec-news li {
	line-height: 1.5;
	text-align: left;
}

#sec-news li + li {
	margin-top: 1.5rem;
	line-height: 1.5;
	text-align: left;
}

#sec-news li a {
	color: #333;
	font-size: .9em;
}

#sec-news li a:hover, #sec-news li a:hover span {
    text-decoration: underline;
}

#sec-news li a span[class^="icon-"], #sec-news li a span[class*=" icon-"] {
    margin-left: 10px;
	font-size: 0.8em;
}

#sec-news li a span.date {
	display: inline-block;
	position: relative;
	padding-left: 1.0rem;
	font-weight: bold;
}

#sec-news li a span.date:before,#sec-news li a span.date:after {
    content: "";
	width: 4px;
	height: 4px;
	border: 4px solid transparent;
	border-left: 4px solid #333;
    margin: auto;
    vertical-align: middle;
	position: absolute;
	top: 0;
    bottom: 0;
    left: 0;
}

.news-btn-inner {
    margin-top: 2rem;
    text-align: center;
}

@media screen and (min-width:64em) {
#sec-news li a span.date {
    padding-right: 1rem;
}
}

/* section price */
#sec-price .contents {
    z-index: 1;
}

#sec-price section {
    padding: 0;
}

p.start-cost {
	font-size: 1.25em;
	line-height: 1.5em;
	margin-bottom: 40px;
}

p.start-cost span{
	font-size: 32px;
	display: inline-block;
	margin: 0 10px;
}

/*-----------------
 *sec-price 料金表
-----------------*/
.cost-table {
    margin: 2rem auto;
}

.cost-table .cost-table03,
.cost-table .cost-table04{
	border: 1px solid #ccc;
	border-radius: 6px;
	margin-bottom: 2rem;
}

@media screen and (min-width:48em) {
.cost-table {
    width: 686px;
}
    
.cost-table .cost-table03,
.cost-table .cost-table04 {
    height: 340px;
    float: left;
}
    
.cost-table .cost-table03 {
    width: 300px;
    margin-right: 50px;
}
    
.cost-table .cost-table04 {
    width: 330px;
}
}

@media screen and (min-width: 64em) {
.cost-table {
    width: 826px;
}
    
.cost-table .cost-table03 {
    width: 350px;
    margin-right: 70px;
}
    
.cost-table .cost-table04 {
    width: 400px;
}
}
	
/*タイトル*/
.cost-table p.title {
	padding: 40px 0 35px;
	font-size: 1.5em;
	font-weight: bold;
    line-height: 1.0;
}

.cost-table p.title span {
	font-size: 14.4px;
	font-weight: normal;
}

.cost-table03 p.title {
	color: #777;
	background-color: #f0f0f0;
}

.cost-table04 p.title {
	background-color: #4b7e93;
    background-image: url(/web/jp/contract/images/about_cost-bg.png);
	background-repeat: no-repeat;
	background-position: top 0px right -50px;
	color: #fff;
}

.cost-table04 {
	border: 2px solid #4b7e93;
	box-shadow: 0 0 10px #4b7e93;
}

/*料金*/
.cost-table p.lead {
	line-height: 1.3em;
	padding-top: 20px;
}

.cost-table p.money span {
    display: inline-block;
	font-size: 48px;
	line-height: 1em;
    padding: 40px 10px 25px;
}

.cost-table04 p.money span {
	padding-top: 20px;
	font-weight: bold;
	color: #4b7e93;
}
.cost-table04 p.lead span {
	font-size: 12px;
}

@media screen and (min-width:48em) {
.cost-table04 p.money span {
    padding-bottom: 10px;
}
}

@media screen and (min-width: 64em){
.cost-table p.money span {
    font-size: 60px;
}
}

/*ユーザー数*/
.cost-table p.user {
	margin: 0 40px 40px;
    padding: 10px 20px;
	background-color: #f0f0f0;
	border-radius: 6px;
	color: #777;
	line-height: 1.5;
}

@media screen and (min-width:48em){
.cost-table p.user{
    margin: 0 30px 40px;
}
}

@media screen and (min-width: 64em){
.cost-table p.user{
    margin: 0 40px 40px;
}
.cost-table02 p.user{
    margin: 0 50px 40px;
}
}

section.sec-plan {
	margin-bottom: 20px;
	background-color: #fff;
	border-radius: 8px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.16);
	overflow: hidden;
}

section.sec-plan * {
	line-height: 1.5;
}

section.sec-plan .note-num{
	display: inline-block;
	margin-left: 8px;
	font-size: 12px;
	color: #777;
	font-weight: normal;
}
section.sec-plan h3{
	text-align: center;
	font-weight: bold;
}
section.sec-plan h3 span{
	display: block;
}
section.sec-plan h3 span.h3-sub{
	font-size: 16px;
	font-weight: normal;
}
section.sec-plan .a-price-main{
	margin: 24px;
	padding-bottom: 16px;
	/*border-bottom: 1px dashed #ccc;*/
	text-align: center;
	font-weight: bold;
}
section.sec-plan .a-plan-detail dl.m-price-detail{
	margin: 0 24px 24px;
}
section.sec-plan .a-plan-detail{
	margin-bottom: 16px;
}
section.sec-plan .a-plan-detail dl.m-price-detail > dt,section.sec-plan .a-plan-detail dl.m-price-detail > dd{
	font-size: 14px;
}
section.sec-plan .a-plan-detail dl.m-price-detail > dt{
	width: 60%;
	float: left;
	text-align: left;
	clear: both;
}
section.sec-plan .a-plan-detail dl.m-price-detail > dd{
	width: 40%;
	float: right;
	text-align: right;
}
section.sec-plan .a-plan-detail > dl.detail-other > div{
	display: table;
	width: 100%;
}
section.sec-plan .a-plan-detail > dl.detail-other > div:nth-child(2n+1){
	background-color: #f6f7f8;
}
section.sec-plan .a-plan-detail > dl.detail-other dt,section.sec-plan .a-plan-detail > dl.detail-other dd{
	display: table-cell;
	vertical-align: middle;
}
section.sec-plan .a-plan-detail > dl.detail-other dt{
	padding: 8px 0 8px 24px ;
	text-align: left;
	font-size: 14px;
}
section.sec-plan .a-plan-detail > dl.detail-other dd{
	padding: 8px 24px;
	text-align: right;
	font-size: 12px;
	color: #777;
}
section.sec-plan .a-plan-detail > dl.detail-other dd.enable{
	font-size: 16px;
	font-weight: bold;
}
section.sec-plan.plan-silver .a-price-main,section.sec-plan.plan-free .a-price-main{
	font-size: 24px;
	color: #333;
}
section.sec-plan.plan-silver .a-price-main span,section.sec-plan.plan-free .a-price-main span{
	font-size: 30px;
}
section.sec-plan.plan-silver .a-plan-detail > dl.detail-other dd.enable,section.sec-plan.plan-free .a-plan-detail > dl.detail-other dd.enable{
	color: #999;
}
section.sec-plan .open-plan-detail,section.sec-plan .close-plan-detail{
	margin-bottom: 16px;
	text-align: center;
}
section.sec-plan .open-plan-detail a,section.sec-plan .close-plan-detail a{
	color: #2684e2;
}
section.sec-plan .close-plan-detail,section.sec-plan.plan-silver .a-plan-detail,section.sec-plan.plan-free .a-plan-detail{
	display: none;
}

/************************************* 
gold 
*************************************/
/*新section*/
section.sec-plan.plan-gold h3{
	margin: 0;
	padding: 42px 16px;
	background: url(/web/jp/contract/images/about_goldplan_titbg-2.png) 100% 0 no-repeat transparent;
	font-size: 32px;
	color: #fff;
}
section.sec-plan.plan-gold .a-price-main{
	font-size: 30px;
	color: #C8A531;
}
section.sec-plan.plan-gold .a-price-main span{
	font-size: 46px;
	letter-spacing: -0.01em;
}
section.sec-plan.plan-gold .a-plan-detail > dl.detail-other dt{
	font-weight: bold;
}
section.sec-plan.plan-gold .a-plan-detail > dl.detail-other dd.enable{
	color: #C8A531;
}

/*************************************
silver free
*************************************/
/*新section*/
section.sec-plan.plan-silver h3{
	margin: 0;
	padding: 32px 16px;
	background: #A8ABAE;
	font-size: 24px;
	color: #fff;
}

section.sec-plan.plan-free h3 {
    margin: 0;
    padding: 32px 16px;
    background: #F6F6F6;
    font-size: 24px;
    color: #666;
}

section.sec-plan.plan-silver h3 span.h3-sub,section.sec-plan.plan-free h3 span.h3-sub{
	font-size: 14px;
	font-weight: normal;
}

@media screen and (min-width:48em) {
	section.sec-plan.plan-gold{
		width: 400px;
		margin: 0 auto 40px;
	}
	section.sec-plan.plan-silver {
		float: right;
		width: 320px;
	}
	section.sec-plan.plan-free {
		float: left;
		width: 320px;
	}
	
	section.sec-plan .open-plan-detail,section.sec-plan .close-plan-detail {
		display: none;
	}
	section.sec-plan.plan-silver .a-plan-detail,section.sec-plan.plan-free .a-plan-detail {
		display: block;
	}
	section.sec-plan.plan-silver .a-plan-detail > dl.detail-other dd,section.sec-plan.plan-free .a-plan-detail > dl.detail-other dd {
		padding: 0 24px 0 0;
		line-height: 1.1;
		white-space: nowrap;
	}
}
@media screen and (min-width:64em) {
	section.sec-plan.plan-gold,section.sec-plan.plan-silver,section.sec-plan.plan-free{
		float: right;
	}
	section.sec-plan.plan-gold{
		width: 39.2%
	}
	section.sec-plan.plan-silver,section.sec-plan.plan-free {
		width: 30.1%;
		margin-top: 42px;
		margin-right: 2px;
	}
	section.sec-plan.plan-silver h3,section.sec-plan.plan-free h3 {
		height: 114px;
		box-sizing: border-box;
	}
	section.sec-plan.plan-gold .a-price-main,section.sec-plan.plan-silver .a-price-main,section.sec-plan.plan-free .a-price-main{
		height: 88px;
		box-sizing: border-box;
	}
	section.sec-plan.plan-silver .a-price-main,section.sec-plan.plan-free .a-price-main {
		padding-top: 12px;
	}
	/*section.sec-plan .a-plan-detail dl.m-price-detail{
		height: 100px;
	}*/
	section.sec-plan .a-plan-detail > dl.detail-other dt,section.sec-plan .a-plan-detail > dl.detail-other dd {
		height: 40px;
		box-sizing: border-box;
	}
	section.sec-plan .note-num {
		margin-left: 4px;
	}
}

.tab_change {
    margin-bottom: 2rem;    
}

.tab_change li {
	display: inline-block;
    width: 50%;
    list-style-type: none;
    vertical-align: middle;
    font-size: 16px;
    line-height: 1em;
	float: left;
}

.tab_change li:first-child a {
	border-bottom: 3px solid #4b7e93;
}

.tab_change li:last-child a {
	border-bottom: 3px solid #944c82;
}

.tab_change li a {
	font-size: 1.25em;
    color: #999999;
    display: inline-block;
    padding: 1em 0 0.8em;
    text-align: center;
    width: 100%;
    background: #f0f0f0;
}

.tab_change li.current a {
	font-size: 1.25em;
	font-weight: bold;
    color: #fff;
}

.tab_change li.current:first-child a {
	border-bottom: 3px solid #944c82;
	background: #944c82;
}

.tab_change li.current:last-child a {
	border-bottom: 3px solid #4b7e93;
	background: #4b7e93;
}

.price-note {
	clear: both;
    margin-top: 2rem;
	text-align: left; 
} 

.price-note p {
	margin-bottom: 0.5rem;
    padding-left: 3em;
    color: #777;
    font-size: 0.9em;
    text-indent: -1em;
}

.price-note p.not-indent {
	padding-left: 1em;
	text-indent: 0;
}

.price-note p span {
	display: inline-block;
	margin-right: 1em;
}

.price-note .line {
	margin-top: 1rem;
	border-top: 1px solid #ebebeb;
}

.price-note .line p {
	margin-top: 1rem;
}

/*-----------------
主な機能・料金体系 切り替えタブ
-----------------*/
/*ワークフロー機能*/
p.wf-function{
	margin-top: 20px;
	font-size: 1.25em;
    line-height: 1.5em;
    margin-bottom: 40px;
}
div.wf-table {
	border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 40px;
	text-align: left;
    padding: 40px 0;
}

div.wf-table ul li {
	color: #777;
    font-size: 0.9em;
    line-height: 1.5em;
    text-align: left;
    padding: 0 40px;
    margin-bottom: 20px;
	width: 50%;
    float: left;
}

div.wf-table ul li:last-child{
    margin-bottom: 0;
}

div.wf-table ul li span.icon{
	color: #4b7e93;
	margin: 3px 5px 0 0;
}

div.wf-table li span{
	display: inline-block;
    vertical-align: top;
}

/* タブレット縦サイズ 768px(16×48em)~ smサイズ */
@media screen and (min-width:48em){
    div.wf-table {
        width: 686px;
        margin: 0 auto 40px;
    }
    div.wf-table ul li {
        width: 27%;
        padding: 0 0 0 6%;
    }
    div.wf-table ul li:nth-child(7) {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 64em) {
	div.wf-table {
		width: 826px;
	}
}

/* border-box全指定（共通）による調整  */
div.wf-table ul * {
    box-sizing: content-box !important;
}

/*202212*/
#sec-lead{
	position: relative;
	padding: 5rem 0;
}
#sec-lead h2 {
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', 'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif;
	margin-bottom: 1rem;
}
	
#sec-lead h2 span.number {
	font-size: 2em;  
	font-weight: 900;
	letter-spacing: 0.1em;
}
#sec-lead h2 span.amount {
	font-size: 1.4em; 
}
#sec-lead h2 span.note {
	display: block;
	margin-top: 1rem;
	color: #999;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
}
#sec-lead h2:before{
	display: none;
}
#sec-lead .section-tittle {
	margin-bottom: 4rem;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}
#sec-lead .logo-catch{
	margin-top: 4rem;
}
@media (max-width: 767px) {
	#sec-lead{
		padding: 3rem 0;
	}
	#sec-lead .section-tittle {
		margin-bottom: 2rem;
		font-size: 22px;
	}
	#sec-lead h2 span.number {
		font-size: 1.4em;  
		letter-spacing: 0.05em;
	}

	#sec-lead h2 span.amount {
		font-size: 1.0em; 
	}
}
.company-logos {
	width: 100%;
	height: 100px;
	margin: 0 auto;
	background-size: 3200px auto;
	text-align: center;
	overflow: hidden;
}
.company-logos.top {
	background: url(/web/jp/contract/images/top/top_company_logos_top.png?20230614) repeat-x 0 0;
	background-size: 3450px auto;
	-webkit-animation: loop 64s linear infinite;
	animation: loop 64s linear infinite;
}
.company-logos.bottom {
	background: url(/web/jp/contract/images/top/top_company_logos_bottom.png?20230614) repeat-x 0 0;
	-webkit-animation: loop2 60s linear infinite;
	animation: loop2 60s linear infinite;
}
@keyframes loop {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: -3450px 0;
	}
}
@keyframes loop2 {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 3200px 0;
	}
}
.top-nayami h2{
	margin-bottom: 48px;
}
.top-nayami-container{
	display: flex;
	padding-bottom: 104px;
	position: relative;
}
.top-nayami-container:after{
	content: "";
	background: url("/web/jp/contract/images/top/top_nayami_step_arrow.svg") no-repeat;
	background-size: 100%;
	display: inline-block;
	width: 81px;
	height: 64px;
	position: absolute;
	left: calc(50% - 32px);
	bottom: 0;
}
.top-nayami-container li{
	background: url("/web/jp/contract/images/top/ic-top-nayami.png") center 32px no-repeat #434247;
	border-radius: 8px;
	color: #fff;
	line-height: 1.6;
	width: 320px;
	height: 170px;
	margin-right: 32px;
	padding: 88px 32px 32px 32px;
	text-align: center;
}
.top-nayami-container li:last-child{
	margin-right: 0;
}
.top-nara{
	background: url("/web/jp/contract/images/top/top-nara-pc.png") 24px 0 no-repeat;
	color: #944C82;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	width: 860px;
	height: 312px;
	margin: 0 auto;
	padding: 64px 0 0 515px;
}
#sec-about .about-txt{
	margin-top: 32px;
	text-align: center;
}
#sec-about .about-txt p:first-child{
	margin-bottom: 1em;
}
#sec-about .about-txt strong{
	color: #934C81;
	font-weight: bold;
}
@media (max-width: 1023px) {
	.top-nayami{
		margin-bottom: 24px;
	}
	.top-nayami h2{
		margin-bottom: 32px;
	}
	.top-nayami-container{
		display: block;
		padding-bottom: 72px;
	}
	.top-nayami-container:after{
		width: 61px;
		height: 48px;
		left: calc(50% - 24px);
	}
	.top-nayami-container li{
		width: auto;
		height: auto;
		margin-right: 0;
		margin-bottom: 16px;
	}
	.top-nayami-container li br{
		display: none;
	}
	.top-nara{
		background-size: 337px;
		background-position: center 100%;
		padding: 0 0 234px;
		text-align: center;
		width: auto;
		height: auto;
	}
	.sptab-only{
		display: block !important;
	}
	br.sptab-only{
		display: inline !important;
	}
}
/*-----------------
どんな契約書が電子化できるの？
-----------------*/
#sec-what h2{
    height:3em;
    width:100%;
    line-height:3.2em;
    font-size:1.2em;
    font-weight:bold;
    color:#fff;
    margin-bottom:0;
/* border-radius */
border-radius:8px 8px 0px 0px ;
/* border */
border:1px solid #934B81;
background:#934B81;
}
#sec-what h2:before{
	display: none;
}
.what_contents{
	background-color: #fff;
    border:1px solid #934B81;
    border-top:none;
    width:100%;
    padding:2em 0 1.5em;
}
.what_contents p{
    text-align:center;
}
.example01 li,.example02 li{
    margin:0 auto;
    width:80%;
    height:50px;
    line-height:50px;
    text-align:center;
    font-size:0.8em;
}
.example01 li{
    border:1px solid #934B81;
}
.example02 li{
    border:1px solid #ccc;
}
.example01_title,.example02_title{
    font-size:20px;
}
.example01_title{
    font-weight:bold;
    margin-bottom:30px;
    color:#934B81;
}
.example02_title{
    margin:40px 0 10px;
}
.example01_read_txt{
	line-height: 1.6;
    margin-bottom:50px;
}
.example02_read_txt{
    font-size:14px;
    color:#777;
    margin-bottom:14px;
}
/* タブレット横サイズ 1024px(16×64em)~ mdサイズ */
@media screen and (min-width:64em){
#sec-what{
    width:100%;
}
#sec-what h2{
    height:80px;
    font-size:24px;
    width:950px;
    margin:0 auto;
    position: relative;
    background:  #934B81;
    line-height:80px;
}
#sec-what h2 span{
    background:url("/web/jp/contract/images/contract_what_h2.png") 0 0 no-repeat;
    position: absolute;
    display:inline-block;
    width:84px;
    height:115px;
    top:-34px;
    /* left:697px; */
}
.what_contents{
    width:948px;
    margin:0 auto;
    padding:50px 0 36px;
}
.example01,.example02{
    letter-spacing: -.4em;
    padding-left:66px;
}
.example01 li,.example02 li{
    display:inline-block;
    width:270px;
    height:50px;
    letter-spacing:normal;
    margin-right:4px;
    margin-bottom:4px;
    font-size:16px;
    line-height:50px;
}
.example01_title,.example02_title{
    font-size:20px;
}
.example01_title{
    font-weight:bold;
    margin-bottom:30px;
    color:#934B81;
}
.example02_title{
    margin:40px 0 10px;
}
.example01_read_txt{
    margin-bottom:50px;
}
.example02_read_txt{
    font-size:14px;
    color:#777;
    margin-bottom:14px;
}
}
/*-----------------
導入事例
-----------------*/
@media screen and (min-width:1024px){
	#sec_case .contents{
		padding: 0;
	}
	.swiper-custom-parent.sptab-only{
		display: none !important;
	}
	.swiper-custom-parent.pc-only{
		display: block !important;
	}
}
@media screen and (max-width:1023px){
	.swiper-custom-parent.sptab-only{
		display: block !important;
	}
	.swiper-custom-parent.pc-only{
		display: none !important;
	}
}
.swiper-container-pc .case-box{
	width: 310px;
	height: 430px;
}
.swiper-container-pc .case-box,.swiper-container-sp .case-box{
	overflow: hidden;
	padding: 0;
}
.swiper-container-pc a.case-box,.swiper-container-sp a.case-box{
	color: #333;
	display: block;
}
.swiper-container-pc a.case-box:hover,.swiper-container-sp a.case-box:hover{
	opacity: 0.6;
}
.swiper-container-pc .case-box .case-text,.swiper-container-sp .case-box .case-text{
	margin-top: 0;
	padding: 0 1rem 1rem;
}
.swiper-container-pc .case-box .case-text .case-co,.swiper-container-sp .case-box .case-text .case-co{
	font-size: 18px;
	font-weight: bold;
	margin-top: 24px;
	text-align: left;
}
.swiper-container-pc .case-box .case-text .case-catch,.swiper-container-sp .case-box .case-text .case-catch{
	font-size: 14px;
	font-weight: normal;
}
.case-genre{
	border-top: 1px solid #EBEBEB;
	padding-top: 16px;
	position: absolute;
	bottom: 24px;
	width: 88%;
}
.swiper-container-sp .case-genre{
	position: static;
}
.case-genre .ic-case-genre{
	background-color: #944C82;
	border-radius: 8px;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	line-height: 1.5;
	margin-right: 8px;
	padding: 2px 8px;
}
.swiper-container.swiper-container-pc{
	width: 100%;
}

@media screen and (min-width: 992px){
	.swiper-container-pc .case-wrap figure, .swiper-container-pc .case-wrap .case-text {
		width: auto;
	}
}
/*お役立ちコンテンツ*/
#sec-useful .useful-list{
	margin-bottom: 32px;
}
#sec-useful .useful-list li{
	border-bottom: 1px solid #EBEBEB;
}
#sec-useful .useful-list li a{
	display: flex;
	align-items: center;
	color: #333;
	line-height: 1.5;
	padding: 16px 16px 16px 0;
	position: relative;
}
#sec-useful .useful-list li a .useful-list-img{
	width: 180px;
	min-width: 105px;
	background-color: #fff;
	margin-right: 32px;
}
#sec-useful .useful-list li a .useful-list-img img{
	vertical-align: bottom;
	width: 100%;
}
#sec-useful .useful-list li a:hover .useful-list-txt .txt{
	text-decoration: underline;
}
#sec-useful .useful-list li a:after{
    content: "";
    position: absolute;
    right: 0;
    width: 0.4em;
    height: 0.4em;
    top: 50%;
    margin-top: -0.2em;
    border-top-width: 1px;
    border-top-style: solid;
    border-right-width: 1px;
    border-right-style: solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#sec-useful .function-btn .btn-normal br{
	display: none;
}
@media screen and (max-width:767px){
	#sec-useful .useful-list li a .useful-list-img{
		margin-right: 16px;
	}
}
@media screen and (max-width:400px){
	#sec-useful .function-btn .btn-normal br{
		display: inline;
	}
	#sec-useful .function-btn .btn-normal span{
		position: static;
	}
	#sec-useful .function-btn .btn-normal span:after{
		right: 1rem;
	}
}
@media screen and (max-width:450px){
	#sec-workflow .workflow-btn-inner .btn-normal span{
		position: static;
	}
	#sec-workflow .workflow-btn-inner .btn-normal span:after{
		right: 1rem;
	}
}
/**/
@media (min-width: 48em) {
    .cv_btn_wrap .cv_btn_wrap_left .cv_btn_item, .cv_btn_wrap .cv_btn_wrap_right .cv_btn_item {
        width: 49% !important;
    }
}
/**/
.color-primary {
	color: #934B81;
}
.font-italic {
  font-style: italic;
}