@charset "utf-8";

/*====================================
	common
====================================*/
.text_red{
	color: #e83a3a;
}
/* block
--------------------------------*/
.block{
	padding-top: 60px;
	padding-bottom: 100px;
}

/* sectTit
--------------------------------*/
.sectTit{
	font-size: 32px;
}
.sectTit .badge{
	width: 90px;
	height: 90px;
	line-height: 90px;
	border-radius: 50%;
	font-size: 22px;
	margin-right: .5em;
	background: #ffea00;
	margin-left: -90px;
}
.sectTit-sub{
	color: #1959c2;
	text-align: center;
	font-weight: 700;
	font-size: 28px;
}
.sectTit+.sectTit-sub{
	margin-top: -45px;
}
.sectTit-sub+.sectTit_text{
	font-size: 18px;
	text-align: center;
	margin-top: 8px;
}
.sectTit-messages{
	font-size: 18px;
	text-align: center;
}


/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #666;
  text-indent: -9999px;
  display: block;
  width: 12px;
  height: 12px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 12px;
  -webkit-border-radius: 12px;
  border-radius: 12px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #000;
}
.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}

/*====================================
	merit
====================================*/

.merit .sectTit{
	font-size: 36px;
}
.merit__wrap{
	margin: 40px auto 0;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.merit__box{
	position: relative;
	width: 32%;
	padding: 30px 30px 130px;
	border-radius: 15px;
	background: #edf8fc;
}
.merit__box-title{
	color: #1959c2;
	font-size: 22px;
	font-weight: 600;
	text-align: center;
}
.merit__box-text{
	font-size: 18px;
	margin: 10px 0;
}
.merit__list-item{
	position: relative;
	padding-left: 1.5em;
	margin: 4px 0;
}
.merit__list-item a{
	text-decoration: underline;
}
.merit__list-item::before{
	position: absolute;
	top: 0;
	bottom: 0;
	left: .5em;
	margin: auto;
	width: .5em;
	height: 1px;
	content: "";
	display: block;
	border-top: 1px solid #000;
}
.merit__btn{
	position: absolute;
	bottom: 40px;
	left: 0;
	right: 0;
	width: 280px;
}
.merit__btn a::after{
	transform:rotate(90deg); 
}

/*====================================
	prepare
====================================*/
.prepare{
	overflow: hidden;
	background: #edf8fc;
}
.prepare .lineup__conts{
	margin-top: 40px;
	margin-bottom: 60px;
}
.prepare .lineup__conts::before{
	position: absolute;
	left: 3em;
	top: -140px;
	content: "";
	display: block;
	width: 102px;
	height: 141px;
	background: url(../img/hp/feature_lineup-img.png);
	background-size: cover;
}

/*====================================
	placement
====================================*/
.placement{
	position: relative;
}
.placement__img{
	position: absolute;
	right: -150px;
	bottom: 0;
}
.pl-table{
	margin-top: 80px;
	width: 100%;
	border-collapse:separate;
	border-spacing:5px;
}
.pl-table__th,
.pl-table__td{
	position: relative;
	padding: 25px 30px;
}
.pl-table__th{
	vertical-align: middle;
	width: 18%;
	color: #fff;
	text-align: center;
	background: #899dba;
}
.pl-table__td{
	vertical-align: top;
	width: 41%;
	background: #fff;
}
.pl-table-fuki{
	position: absolute;
	top: -60px;
	left: 0;
	width: 100%;
	padding: 8px 0 12px;
	text-align: center;
	font-size: 18px;
	line-height: 1;
	font-weight: 400;
	border-radius: 50px;
	color: #fff;
	background: #899dba;
}
.pl-table-fuki::after{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -8px;
	border: 8px solid transparent;
	border-top: 14px solid #899dba;
}
.pl-table-necessary {
	background: #1959c2;
}
.pl-table-necessary::after{
	border-top: 14px solid #1959c2;
} 
.placement__tit{
	height: 70px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	align-content: center;
	text-align: center;
	line-height: 1.3;
	font-size: 18px;
	font-weight: 600;
	border-radius: 100px;
	background: #edf8fc;
	margin-bottom: 15px;
}
.placement__tit span{
	color: #1959c2;
}
.placement__tit span.dan{
	display: block;
	width: 100%;
}
.placement__text{
	padding: 0 20px;
}
.placement__text p{
	padding-left: 3.2em;
	text-indent: -3.2em;
}
.placement__list{
	margin: 0 20px;
}
.placement__list li{
	position: relative;
	padding-left: .8em;
	margin: 8px 0;
}
.placement__list li::before{
	position: absolute;
	left: 0;
	top: 9px;
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 6px;
	background: #899dba;
}
.placement__use{
	margin: 8px 20px;
	font-size: 13px;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: space-between;
}
.placement__use dt{
	width: 32%;
	color: #fff;
	font-weight: 400;
	text-align: center;
	padding: 4px 0 ;
	border-radius: 30px;
	background: #1959c2;
}
.placement__use dd{
	width: 65%;
}
.placement__use+.placement__use dt{
	background: #e83a3a;
}

/*====================================
	operation
====================================*/

.screen{
	display: flex;
	flex-flow: row-reverse;
	justify-content: space-between;
	background: #eceff6;
	border-radius: 20px;
	padding: 50px 60px;
	margin-top: 30px;
	overflow: hidden;
}
.screen .bx-wrapper{
	width: 650px;
}
.screen-slide div{
	padding: 10px;
}
.screen-slide img{
	box-shadow: 0px 5px 10px rgb(25 89 194 / 20%);
}
.screen-slide .screen-slide__txt{
	text-align: center;
	padding: 10px 0 0;
}
.screen-slide .screen-slide__txt span{
	display: block;
	font-weight: 500;
	font-size: 17px;
}

.screen-pager{
	position: relative;
	width: 270px;
	padding: 30px;
	border-radius: 10px;
	background: #fff;
}
.screen-pager::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #fff;
}
.screen-pager li{
	font-weight: 600;
	font-size: 17px;
	margin: 5px 0;
}
.screen-pager_child{
	padding-left: 1em;
	margin-bottom: 10px;
}
.screen-pager_child li{
	font-weight: initial;
	font-size: initial;
}
.screen-pager a{
	position: relative;
	cursor: pointer;
	/*padding-right: 20px;*/
}
/*
.screen-pager a::after{
	position: absolute;
	right: 0;
  top: 3px;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: "\f061";
  font-size: .9em;
  display: inline-block;
}
*/
.screen-pager a.active,
.screen-pager a:hover{
	color: #1959c2;
}


.feature-list .sectTit{
	font-size: 30px;
	padding-top: 80px;
}
.f-group{
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
	}
	@media screen and (min-width: 768px) {
		.f-group__item{
			width: 31%;
			padding-bottom: 45px;
		}
		.f-group__item:nth-child(3n-1){
			margin: 0 3.5%;
		}
	}


.popup-modal{
	position: relative;
	text-align: center;
	display: block;
	padding: 10px;
	background: #fff;
	box-shadow: 0px 3px 12px rgb(25 89 194 / 25%);
}
.popup-modal::after{
	position: absolute;
    bottom: 6px;
    right: 6px;
    color: #fff;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 4px;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 18px;
    content: "\2b";
    display: block;
	background: rgb(13 46 101 / 80%);
}
.f-group__item-tit{
	display: flex;
	align-items: center;
	font-size: 20px;
	font-weight: 500;
	color: #1959c2;
	margin: 15px 0 8px;
}
.f-group__item-tit span{
    font-size: 13px;
    display: inline-block;
    background: #eee;
    padding: 2px 4px;
    margin-left: 10px;
}
.f-group__item-text{
    color: #333;
}
.f-group__item-icon{
	height: 35px;
	margin-right: 10px;
}

.f-group__item.coming_soon a{
	pointer-events: none;
}
.f-group__item.coming_soon .popup-modal::after{
	color: #444;
	content: "開発中";
	width: 100px;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	display: inline-block;
	background: rgb(255 255 255 / 90%);

}


/*pop-up*/
.mfp-bg{
	background: #334359 !important;
	}
	.mfp-fade.mfp-bg{
	opacity: 0;
	transition: all 0.3s ease-out;
	}
	.mfp-fade.mfp-bg.mfp-ready {
		opacity: 0.8;
	}
	.mfp-fade.mfp-bg.mfp-removing{
		opacity: 0;
	}
	.mfp-fade.mfp-wrap .mfp-content{
		opacity: 0;
		transition: all 0.3s ease-out;
	}
	.mfp-fade.mfp-wrap.mfp-ready .mfp-content{
		opacity: 1;
	}
	.mfp-fade.mfp-wrap.mfp-removing .mfp-content{
		opacity: 0;
	}
	.white-popup-block{
		position: relative;
		background: #FFF;
		border-radius: 20px;
		width: 880px;
		margin: 0 auto;
		padding: 40px;
		text-align: center;
	}
	button.mfp-close, button.mfp-arrow{
		position: absolute;
		right: -60px;
		opacity: 1!important;
		color: #fff !important;
		background: #334359 !important;
		border-radius: 5px;
	}

.popup-tit{
	color: #fff;
	line-height: 1;
	font-weight: 500;
	padding: 4px 20px 6px;
	margin: 18px 0 5px;
	border-radius: 4px;
	display: inline-block;
	background: #334359;
}
.popup-tit span{
    font-size: 12px;
    display: block;
    margin-top: 6px;
}

.img-block{
	position: relative;
	height: 50vh;
	background: url(../img/hp/img-block.jpg) center;
	background-size: cover;
}
.img-block::after{
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgb(72 191 223 / 30%);
}


/*====================================
	app
====================================*/
.app{
	background: #eceff6;
}
.app__inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
    padding-bottom: 20px;
}
.app-gallery{
	width: 400px;
}
.app-gallery .bx-wrapper{
	width: 350px;
	margin: auto;
}
.app-conts__tit{
	font-size: 30px;
	line-height: 1.3;
	font-weight: 600;
	margin-bottom: 40px;
}
.app-list{
	display: flex;
	align-items: center;
	padding: 14px 10px;
	margin-top: 10px;
	background: #fff;
	border-radius: 10px;
	border: 1px solid #dbedf4;
}
.app-list dt{
	padding: 0 15px;
}
.app-list dd p > span{
	font-size: .9em;
}
.app-list__tit{
	color: #1959c2;
	font-weight: 600;
	font-size: 18px;
}
.app-list__point li{
	position: relative;
	padding-left: 1em;
}
.app-list__point li::before{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 10px;
	background: #95aadc;
}

.app-function{
    text-align: center;
}
.app-function__tit{
    position: relative;
    margin-top: 50px;
}
.app-function__tit::before,
.app-function__tit::after{
    display: block;
    content: "";
    position: absolute;
}
.app-function__tit::after{
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 1px;
    background: #1959c2;
}
.app-function__tit span{
    color: #1959c2;
    font-size: 26px;
    font-weight: 600;
    position: relative;
    z-index: 1;
    background: #fff;
    border-radius: 50px;
    width: 340px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    box-shadow: 0px 3px 12px rgb(25 89 194 / 25%);
}
.app-function__tit span img{
    width: 35px;
    display: inline-block;
    margin-right: 10px;
}
.app-function__text{
    font-size: 18px;
    margin: 20px 0 0;
}

/*====================================
	plan
====================================*/
.plan .sectTit{
	color: #1959c2;
}
.plan .sectTit-sub{
	color: #000;
	margin: -20px 0 30px;
}
.plan .plan__btn+.sectTit-sub{
	margin-top: 2em;
}

/*====================================
	after
====================================*/

.after{
	background: #edf8fc;
}
.after .sectTit-sub{
	color: #000;
	font-size: 24px;
	margin-top: -20px;
}
.after__figure{
	margin: 30px 0 0;
}




@media screen and (max-width: 767px) {

/*====================================
	common
====================================*/

.block {
    padding-top: 40px;
    padding-bottom: 60px;
}

/* sectTit
--------------------------------*/
.sectTit{
	font-size: 20px;
	margin: 0 0 10px;
}
.sectTit::after{
	display: none;
}
.sectTit img{
	width: 100px;
}
.sectTit .badge{
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 14px;
	margin-left: 0;
}
.sectTit-messages{
	font-size: unset;
}
.sectTit-sub{
	font-size: 18px;
}
.sectTit+.sectTit-sub {
  margin-top: -15px;
}
.sectTit-sub+.sectTit_text{
	font-size: 14px;
	margin-top: 4px;
}




/*====================================
	merit
====================================*/
.merit .sectTit{
	font-size: 24px;
}
.merit__wrap{
	display: block;
	margin: 30px auto 0;
}
.merit__box{
	width: 100%;
	padding: 20px 30px 30px;
}
.merit__box+.merit__box{
	margin-top: 10px;
}
.merit__box-title{
	font-size: 1.3em;
}
.merit__box-text{
	font-size: 14px;
	text-align: center;
	margin: 0 0 10px;
}
.merit__btn{
	font-size: 14px;
	width: 85%;
	margin-top: 14px;
	position: static;
}
.merit__btn a{
	height: 40px;
	line-height: 40px;
}

/*====================================
	prepare
====================================*/
.prepare .lineup__conts{
	margin-top: 16px;
}
.prepare .lineup__conts::before{
	width: 37px;
  height: 50px;
  top: -50px;
  left: 1em;
}
/*====================================
	placement
====================================*/
.pl-scroll{
	overflow: auto;
  width:100%;
}
.pl-table{
	width: 700px;
	font-size: 13px;
}
.pl-table__th, .pl-table__td{
	padding: 3% 2%;
}
.pl-table__th{
	width: 15%;
}
.pl-table-fuki{
	font-size: 13px;
}
.placement__tit{
	font-size: 14px;
	height: 50px;
}
.placement__text{
	padding: 0;
	line-height: 1.3;
}
.placement__list{
	margin: 0;
	line-height: 1.3;
}
.placement__use{
	font-size: 12px;
	line-height: 1.3;
	margin: 8px 0;
}
.placement__use dt{
	font-size: 11px;
}
.placement__img{
	display: none;
}
.scroll-hint.is-right-scrollable,
.scroll-hint.is-right-scrollable.is-left-scrollable{
	background: none !important;
}
/*====================================
	operation
====================================*/

.screen{
	border-radius: 10px;
  padding: 20px 10px;
  display: block;
}
.screen-slide .screen-slide__txt{
	font-size: .9em
}
.screen-slide .screen-slide__txt span{
	font-size: 13px;
}
.screen-pager{
	width: 90%;
	margin: auto;
	padding: 10px 20px;
}
.screen-pager::before{
	display: none;
}
.screen-pager li{
	font-size: 14px;
	margin: 3px 0;
}
.screen-pager_child{
	padding: 0;
}
.screen-pager_child li{
	white-space: nowrap;
	padding-left: 1em;
}

.feature-list .sectTit{
	font-size: 22px;
	padding-top: 40px;
	margin: 0 0 20px;
}
.f-group{
	width: 100%;
	justify-content: space-between;
}
.f-group__item{
	width: 47%;
}
.f-group__item:nth-child(n + 3){
	margin-top: 8%;
}
.popup-modal{
	padding: 0;
	box-shadow: none;
    border: 1px solid #eee;
}
.popup-modal::after{
	font-size: 13px;
	width: 18px;
  height: 18px;
  line-height: 18px;
}
.f-group__item-tit{
	font-size: unset;
    text-align: center;
    display: block;
	margin: 10px auto 4px;
}
 .f-group__item-tit span{
    display: inline-block;
    font-size: 11px;
    padding: 1px 3px;
    margin: 0 auto;
}
.f-group__item-icon{
    display: block;
    margin: auto;
	height: 20px;
}
.f-group__item-text{
	font-size: 12px;
	line-height: 1.4;
}

.white-popup-block{
	width: 92%;
	padding: 20px 10px;
	border-radius: 10px;
}
button.mfp-close, button.mfp-arrow{
	right: -10px;
	top: -10px;
}
.mfp-close{
  width: 30px !important;
  height: 30px !important;
  line-height: 30px !important;
}

.img-block{
	height: 30vh;
	background-position: right center;
}

/*====================================
	app
====================================*/
.app__inner{
	display: block;
    padding-bottom: 10px;
}
.app-gallery{
	width: 65vw;
	margin: auto auto 15px;
}
.app-conts__tit{
	font-size: 4.5vw;
	line-height: 150%;
	text-align: center;
	margin-bottom: 15px;
}
.app-list__tit{
	font-size: 14px;
	margin-bottom: 3px;
}
.app-list dt{
	width: 26%;
	padding: 0 10px 0 0;
}
.app-list dd{
	font-size: 12px;
	line-height: 1.3;
}
.app-list__point li::before{
	width: 6px;
  height: 6px;
}
.bx-wrapper .bx-pager{
	padding-top: 0;
}
.bx-wrapper .bx-pager.bx-default-pager a{
	width: 10px;
  height: 10px;
}

.app-function__tit{
    margin-top: 30px;
}
.app-function__text{
    font-size: unset;
    margin: 10px 15px;
}
.app-function__text br{
    display: none;
}
.app-function__tit span{
    font-size: 17px;
    width: 60%;
    height: auto;
    padding: 10px 0;
    min-width: 200px;
}
.app-function__tit span img{
    width: 28px;
}

/*====================================
	plan
====================================*/
.plan .sectTit-sub{
	margin: -10px 0 15px;
}
.plan__wrap{
	display: block;
}
.plan__item-name{
	width: 100%;
	font-size: 11px;
	white-space: nowrap;
}
.plan__item-box{
	padding: 5%;
}

/*====================================
	after
====================================*/

.after .sectTit-sub{
	font-size: 17px;
	line-height: 1.3;
	margin: 0 0 5px;
}
.after__figure {
    margin: 20px 0 0;
}

}