@charset "utf-8";
/* CSS Document */
.flex{
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flex .cnv-btn{
	flex: 1;
	margin: 50px 14px 80px 0;
}
.flex .cnv-btn:last-child{
	margin-right: 0;
}
.flex .cnv-btn a{
	padding: 0.75em 1em 0.5em;
	line-height: 1.42;
}
.items-center{
	align-items: center;
}
.brbm_dashed{
	border-bottom: 1px dashed;
}
.text-bold{
	font-weight: bold;
}
@media screen and (min-width:48em){
    .cnv-btn a {
        font-size: 1em !important;
    }
}
@media screen and (min-width:48em) and (max-width:64em){
	.cnv-btn a {
		font-size: 1.3em;
	}
}

/* タブレット横サイズ 1024px(16×64em)~ mdサイズ */
@media screen and (min-width:64em){
	#contract .main-v {
		padding-top: 88px;
		min-height: 32em;
		background-position: right 0 bottom -210px;
	}
	#contract.lp2022 .main-v {
		padding-top: 56px;
	}
}
@media screen and (min-width:75em){
	#contract.lp2022 .main-v {
		padding-top: 72px;
	}
}
.cnv-btn.use-online a{
	background-color: #8E7CC3;
}
.cnv-btn.use-online a:hover{
	background-color: #A094C4;
}
.cnv-btn a{
	background-color: #FDAF06;
}
.cnv-btn a:hover{
	background-color: #E69E00;
}
/*--------------------------------------------------------------
        section 機能と実績
--------------------------------------------------------------*/               
@media (min-width: 576px){
	.d-sm-none {
		display: none!important;
	}
}
.use-free a{
    background-color: #666666;
}
.use-free a:hover{
	background-color: #727272;
}
.col-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}
.text-center {
    text-align: center;
}

/*--------------------------------------------------------------
        section cta
--------------------------------------------------------------*/       
.cta_text {
    font-weight: 700;
    line-height: 1.6;
}

.cta_text span {
    font-size: 1.48em;
}

.cta_text_box {
    position: relative;
    z-index: 9;
    line-height: 1.6;
    /*color:#fff; */
}
	
.question {
	color: #944c82;
    font-size: 2.4em;
    font-weight: 900;
    position: relative;
    line-height: 1.6;
    padding: 0.1em 0.5em 0.1em 0.5em;
    display: inline-block;
}

.question:before, .question:after { 
    content:'';
    width: 30px;
    height: 40px;
    position: absolute;
    display: inline-block;
}

.question:before {
    border-left: solid 2px #944c82;
    border-top: solid 2px #944c82;
    top:0;
    left: 0;
}

.question:after {
    border-right: solid 2px #944c82;
    border-bottom: solid 2px #944c82;
    bottom:0;
    right: 0;
}
	
#sec_cta {
	margin-top: 80px;
}
.mb-2, .my-2 {
    margin-bottom: .5rem!important;
}
.mt-4, .my-4 {
    margin-top: 1.5rem!important;
}
.mb-4, .my-4 {
    margin-bottom: 1.5rem!important;
}  
img.logo_horizontal {
    width: 280px;
    vertical-align: text-top;
    display: inline-block;
    padding: 0 0.4em;
	box-sizing: border-box;
}
@media only screen and (max-width: 767px) {       
	.question {
		font-size: 1.6em;
		padding: 0.1em 0.3em 0.1em 0.6em;
		display: inline-block;
	}
	.question:before, .question:after { 
		content:'';
		width: 10px;
		height: 12px;
		position: absolute;
		display: inline-block;
	}
	#sec_cta .flex {
		flex-direction: column;
	}
	#sec_cta .flex .cnv-btn {
		margin: 0 auto 20px;
	}
	#sec_cta .mt-4 {
		margin-bottom: 40px;
	}
	.cnv-btn a {
		font-size: 1.3em;
	}
}
	
@media (max-width: 576px) {	
	.cta_text span {
		font-size: 1.0em;
	}
	.question {
		font-size: 1.2em;
	}
}
.lh175{
	line-height: 1.75;
}

/*
充実したサポート体制
support.asp
*/
#contract .main-v {
	position: relative;
	background-image: url('../images/support/mainBg.png');
	background-repeat: no-repeat;
	margin-bottom: 125px;
	background-size: cover;
	background-position: top;
}
#contract.lp2022 .main-v{
	
}
.contents {
	width: 90%;
	max-width: 75em;
	margin: auto;
}
.main-v_contents{
	padding-top: 140px;
	color: #FFFFFF;
}
.main-v_tx{
	width: 90%;
	margin: 0 auto;
}
.main-v_tx_inner{
	justify-content: center;
}
.main-image{
	max-width: 540px;
	position: relative;
    left: -50px;
}
.main-v .main-image img{
	width: 100%;
	vertical-align: bottom;
}

.main-subtitle{
	display: block;
	font-size: 40px;
	line-height: 1.5;
	font-weight: bold;
	margin-bottom: 3px;
	color: #FFFFFF;
}
.main-title{
	display: block;
	font-size: 94px;
	line-height: 1.25;
	font-weight: bold;
	margin-bottom: 45px;
	color: #FFFFFF;
}

.main-text{
	font-size: 29px;
	line-height: 30px;
}

.contents01{
	width: 90%;
    max-width: 64em;
    margin: 0 auto;
	color: #222222;
}
.contents01_title{
	display: flex;
	align-items: center;
	font-size: 40px;
	line-height: 42px;
	height: 80px;
	position: relative;
	margin-bottom: 64px;
}
.contents01_title:before,.contents01_title:after{
	display: block;
	content: '';
	width: 80px;
	height: 80px;
	position: absolute;
	box-sizing: border-box;
}
.contents01_title:before{
	border-top: 2px solid #222222;
	border-left: 2px solid #222222;
	top: 0;
}
.contents01_title:after{
	border-right: 2px solid #222222;
	border-bottom: 2px solid #222222;
	right: 0;
}
.contents01_title h2{
	flex: 1;
	text-align: center;
}
.contents01_text{
	max-width: 800px;
	margin: 0 auto 128px;
}
.contents01_text p{
	font-size: 20px;
	line-height: 35px;
	margin-bottom: 35px;
}
.contents01_text p:last-child{
	margin-bottom: 0;
}
.mwidth_image{
	margin-bottom: 64px;
	justify-content: center;
}
.mwidth_image img{
	width: 25%;
	max-width: 640px;
}
.contents02, .contents03, .contents04, .contents05{
	padding: 64px 0;
	color: #222222;
}
.contents02, .contents04{
	background-color: #EFE5ED;
}
.subtitle{
	font-size: 16px;
	line-height: 42px;
	text-align: center;
}
.title{
	font-size: 32px;
	line-height: 42px;
	font-weight: bold;
	margin-bottom: 39px;
	text-align: center;
}
.br{
	padding: 24px 40px;
	border-radius: 15px;
	border: 2px solid #934B81;
	width: 90%;
    max-width: 75em;
    margin: 0 auto 40px;
	box-sizing: border-box;
}
.speechBubble_wrap{
	display: flex;
	align-items: center;
}
.speechBubble_wrap:nth-child(even){
	justify-content: flex-end;
}
.speechBubble_image{
	flex: 0 0 80px;
}
.speechBubble_image img{
	width: 100%;
}
.speechBubble{
	font-size: 13px;
    line-height: 24px;
	position: relative;
	border-radius: 10px;
	background-color: #FFFFFF;
	padding: 21px 24px;
	margin-left: 16px;
	margin-bottom: 24px;
}
.speechBubble_wrap:nth-child(even) .speechBubble{
	margin-left: 0;
	margin-right: 16px;
}
.speechBubble:after{
	content: '';
    border-left: 9.5px solid transparent;
    border-right: 9.5px solid transparent;
    border-bottom: 19px solid #FFFFFF;
    position: absolute;
    top: 50%;
    left: -13px;
    transform: rotate(-120deg);
}
.speechBubble_wrap:nth-child(even) .speechBubble:after{
    right: -13px;
	left: auto;
    transform: rotate(-240deg);
}
.point{
	font-size: 13px;
	color: #FFFFFF;
	background-color: #934B81;
	border-radius: 50px;
	padding: 5px 12px;
	margin-right: 16px;
}
.pointText{
	flex: 1;
	margin-bottom: 40px;
	line-height: 28px;
}
.contents02 .brbm_dashed, .contents03 .brbm_dashed, .contents04 .brbm_dashed, .contents05 .brbm_dashed{
	border-color: #934B81;
	align-items: flex-start;
	margin-bottom: 24px;
}
.support{
	font-size: 16px;
	line-height: 28px;
	font-weight: bold;
	color: #934B81;
	margin-bottom: 16px;
}
.supportList{
	justify-content: space-between;
	margin-bottom: 16px;
}
.supportList:last-child{
	margin-bottom: 0;
}
.supportList-wrap{
    flex: 1;
	margin-right: 16px;
}
.supportList  .supportList-wrap:last-child{
	margin-right: 0;
}
.supportList ul{
	background-color: #FFF7F9;
	padding: 24px 0;
	text-align: center;
	border-radius: 8px;
}
.supportList h3{
	color: #934B81;
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
}
.supportList-image{
	height: 71px;
	margin-bottom: 16px;
}
.supportCase{
	width: 90%;
	max-width: 75em;
	margin: 0 auto;
}
.supportCase > div{
	flex: 1;
}
.supportCase-subtitle{
	font-size: 16px;
	line-height: 28px;
	color: #934B81;
	font-weight: bold;
}
.supportCase-title{
	font-size: 26px;
	line-height: 28px;
	font-weight: bold;
	color: #222222;
	margin-right: 40px;
	margin-bottom: 15px;
}
.supportCase-text{
	font-size: 16px;
	margin-right: 40px;
}
.supportCase-text p{
	line-height: 28px;
	margin-bottom: 28px;
}
.supportCase-text p:last-child{
	margin-bottom: 0;
}

.supportCase .supportCase-image{
	width: 360px;
	margin-left: auto;
	flex: initial;
}
.supportCase .supportCase-image img{
	width: 100%;
}

.contents03, .contents05{
	background-color: #F0F0F1;
}
.supportCase-bg{
	border-radius: 8px;
	background-color: #FFFFFF;
	padding: 16px;
	font-size: 13px;
	line-height: 22px;
	margin: 16px 0 56px;
	color: #727273;
}
.supportCase-bgText{
	margin-bottom: 8px;
}
.supportCase-bgText:last-child{
	margin-bottom: 0;
}
.contents07{
	position: relative;
    height: 325px;
    background-color: #FFFFFF;
    margin: 0 auto 64px;
	font-weight: bold;
}
.contents07_bg{
    width: 100vw;
    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%;
}
.contents07_wrap{
	width: 90%;
	max-width: 64em;
	color: #FFFFFF;
	position: relative;
	top: 64px;
	margin: 0 auto;
}
.contents07_image{
	position: absolute;
    top: -42px;
    right: -12%;
}
.contents07_subtitle{
	display: block;
	font-size: 28px;
	line-height: 60px;
	margin: 0 0 3px;
	color: #FFFFFF;
}
.contents07_title{
	display: block;
	font-size: 58px;
	line-height: 100px;
	margin-bottom: 38px;
	color: #FFFFFF;
}
.contents07_text{
	font-size: 20px;
	line-height: 1.5;
}

@media (min-width: 375px) and (max-width: 1250px) {	
	.main-subtitle{
		font-size: 25px;
	}	
	.main-title{
		font-size: 56px;
	}
	.main-text{
		font-size: 18px;
	}
}
@media (min-width: 375px) and (max-width: 1020px) {	
	.main-image{
		width: 50%;
	}
	.main-text{
		font-size: 17px;
	}
}
@media (max-width: 1120px) {
	.contents07{
		width: 100%;
		box-sizing: border-box;
		padding-left: 5%;
		padding-right: 5%;
		height: 548px;
	}
	.contents07_wrap{
		padding-top: 64px;
		top: 0;
	}
	.contents07_bg{
		background-image: url('/web/jp/contract/images/support/image05_sp.png');
	}
	.contents07_subtitle{
		font-size: 20px;
	}
	.contents07_title{
		font-size: 48px;
		line-height: 60px;
		margin-bottom: 15px;
	}
	.contents07_text{
		font-size: 16px;
	}
	.contents07_image{
		width: 95%;
		position: relative;
		left: -5%;
		right: inherit;
		top: 40px;
	}
	.contents07 img{
		width: 100%;
		max-width: 500px;
	}
}
@media (max-width: 800px) {	
	.main-image{
		width: 85%;
		margin: 4.5em auto 0;
		position: static;
		left: auto;
	}
	.lp2022 .main-image{
		margin-top: 3.5em;
	}
	.main-v_contents{
		padding-top: 2em;
	}
	.main-subtitle{
		font-size: 20px;
		line-height: 60px;
	}
	.main-title{
		font-size: 48px;
		margin-bottom: 15px;
	}
	.main-text{
		font-size: 16px;
		margin-bottom: 40px;
	}
	.contents01_title h2{
		font-size: 28px;
	}
	.supportList{
		margin-bottom: 0;
	}
	.supportList-wrap{
		width: 50%;
		margin: 0 0 8px;
		padding-right: 4px;
		box-sizing: border-box;
		flex: inherit;
	}
	.supportList-wrap:nth-child(even){
		padding-left: 4px;
	}
	.supportList h3{
		font-size: 13px;
	}
	.supportCase{
		display: block;
	}
	.supportCase-subtitle{
		font-size: 13px;
	}
	.supportCase-title{
		font-size: 20px;
		margin-right: 0;
	}
	.supportCase-text{
		font-size: 14px;
		margin: 0 0 16px;
	}
	.supportCase-text p{
		line-height: 24px;
	}
	.supportCase .supportCase-image{
		width: 100%;
	}
	.supportCase-bg{
		margin: 0 0 16px;
	}
	.contents03 .supportCase{
		margin-bottom: 40px;
	}
	.contents03 .supportCase:last-child{
		margin-bottom: 0;
	}
}
@media (max-width: 560px) {	
	.contents07_title span{
		display: block;
	}
	.contents01_title{
		display: block;
		height: auto;
		margin-bottom: 40px;
	}
	.contents01_title h2{
		font-size: 28px;
		line-height: 42px;
		width: 270px;
		margin: 0 auto;
	}
	.contents01_title:before, .contents01_title:after{
		width: 40px;
		height: 40px;
		position: static;
	}
	.contents01_title:after{
		margin-left: auto;
	}
}

@media (max-width: 375px) {	
	.main-image{
		width: 85%;
		margin: 4.5em auto 0;
	}
	.main-v_contents{
		padding-top: 2em;
	}
	.main-subtitle{
		font-size: 20px;
		line-height: 60px;
	}
	.main-title{
		font-size: 48px;
		margin-bottom: 15px;
	}
	.main-text{
		font-size: 16px;
		margin-bottom: 40px;
	}
	.contents01_text{
		width: 100%;
		margin-bottom: 64px;
	}
	.contents01_text p{
		font-size: 16px;
		line-height: 28px;
		margin-bottom: 28px;
	}
	.mwidth_image img{
		width: 50%;
	}
	.subtitle{
		font-size: 14px;
		line-height: 20px;
	}
	.title{
		font-size: 24px;
	}
	.br{
		padding: 24px 15px 16px;
	}
	.speechBubble{
		flex: 1;
		padding: 16px;
	}
	.speechBubble:after{
		top: 25%;
	}
	.contents02 .brbm_dashed, .contents03 .brbm_dashed, .contents04 .brbm_dashed, .contents05 .brbm_dashed{
		flex-direction: column;
	}
	.point{
		margin-bottom: 8px;
	}
	.pointText{
		font-size: 14px;
	}
	.support{
		font-size: 13px;
		line-height: 21px;
		white-space: nowrap;
	}
	.contents06 .flex{
		margin-right: -15px;
	    margin-left: -15px;
	}
}
