/*
index.css
*/

.display_block {
	display: block;
}


*:focus{
	outline: none;
}

#loading{
	width: 40px;
	height: 40px;
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -40px;
	margin-left: -40px;
	z-index: 99999;
}

#fade {
	width: 100%;
	height: 100%;
	display: none;
	background-color: #FFFFFF;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 99998;
}


/* visual **********************************************/
.visual_area{
	width: 100%;
	min-width: 960px;
	margin: 0 auto 100px;
}

.visual_area .large_body{
	position: relative;
	margin-bottom: 0;
	opacity: 0.3;
}

.visual_area .large_body.slick-current,
.visual_area .large_body.no_filter{
	opacity: 1;
}

.visual_area .large_body .inner{
	width: 100%;
	height: 70%;
	/*margin: 0 0 0 -155px;*/
	position: absolute;
	top: 0;
	/*left: 20%;*/
	text-align: center;
}

.visual_area .large_body .bg_img{
	width: 100%;
	min-width: 960px;
	height: 410px;
	/*-ms-object-fit: cover;*/
	/*object-fit: cover;*/
}

.visual_area .large_body h2{
	position: absolute;
	top: 35%;
	left: 20px;
	color: #030303;
	font-size: 25px;
	line-height: 125%;
	font-weight: normal;
	margin-top: -35px;
}

.visual_area .large_body h2 span{
	font-weight: bold;
	font-size: 1.3em;
	margin-right: 7px;
}

.visual_area .large_body h2 img{
	display: inline;
	margin-top: 10px;
	text-align: center;
}

.visual_area .large_body p{
	position: absolute;
	top: 45%;
	margin-top: 45px;
	left: 20px;
	color: #030303;
	font-size: 14px;
	line-height: 180%;
}

.visual_area .large_body .inner ul{
	position: absolute;
	top: 70%;
	margin-top: 125px;
	left: 20px;
	z-index: 1010;
}

.visual_area .large_body .inner li{
	float: left;
}

.visual_area .large_body .inner li a{
	font-size: 14px;
	color: #030303;
	text-decoration: none;
}

.visual_area .large_body .inner li a .arrow{
	opacity: 0;
}

.visual_area .large_body .inner li a .arrow img{
	display: inline;
	vertical-align: middle;
	margin-top: -2px;
}

.visual_area .large_body a.visual_link{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1009;
}

.visual_area .bg_gray{
	/*height: 90px;*/
	background-color: #8d9ea7;
}


/* About CAFIS */
/*
.visual_area .large_body.cafis .inner{
	left: 58%;
	text-align: left;
}
.visual_area .large_body.cafis h2{
	margin-top: -32px;
}
.visual_area .large_body.cafis p{
	margin-top: -10px;
}
.visual_area .large_body.cafis .inner ul{
	margin-top: 17px;
}
.visual_area .large_body .inner .movie img{
	position: absolute;
	top: 260px;
	left: 23px;
	z-index: 1010;
}*/



/* CAFIS Pitt */
.visual_area .large_body.pitt .inner{
	left: 42%;
}
.visual_area .large_body.pitt h2{
	margin: -55px 0 0px -3px;
	line-height: 150%;
}
.visual_area .large_body.pitt h2 img{
	margin: 15px 0 0 -6px;
}
.visual_area .large_body.pitt p{
	margin: 110px 0 0 28px;
}
.visual_area .large_body.pitt .inner ul{
	margin: 158px 0 0 55px;
}
/***Pitt特設公開後に以下スタイルに変更***/
/*.visual_area .large_body.pitt .inner ul{
	margin: 158px 0 0 60px;
}*/



/* CAFIS Arch */
.visual_area .large_body.arch .inner{
	width: 960px;
	margin: auto;
	height: 100%;
	left: 0;
	right: 0;
	text-align: left;
}
.visual_area .large_body.arch h2{
	margin: 0 44px 0;
}
.visual_area .large_body.arch h2 span{
	font-weight: normal;
}
.visual_area .large_body.arch h2 span.sub{
	font-size: 13px;
}
.visual_area .large_body.arch p.subttl{
	top: 105px;
	left: 0;
	margin-top: 0;
	margin-left: 67px;
}
.visual_area .large_body.arch img.arch_logo{
	position: absolute;
	top: 306px;
	right: 0;
}
.visual_area .large_body.arch p{
	top: 195px;
	left: 0;
	margin-top: 0;
	margin-left: 67px;
}
.visual_area .large_body.arch .inner ul{
	top: 293px;
	left: 0;
	margin-top: 0;
	margin-left: 67px;
}



/* Inbound */
.visual_area .large_body.inbound .inner{
	left: 23%;
}
.visual_area .large_body.inbound h2,
.visual_area .large_body.payment h2{
	color: #fff;
}
.visual_area .large_body.inbound h2{
	margin-top: 2px;
}
.visual_area .large_body.inbound p{
	color: #fff;
}
.visual_area .large_body.inbound p{
	margin-top: 75px;
}
.visual_area .large_body.inbound .inner ul{
	margin-left: 95px;
}
.visual_area .large_body.inbound .inner li a {
	color: #fff;
}



/* Payment X Marketing */
.visual_area .large_body.payment .inner{
	left: 38%;
	margin-top: -10px;
}
.visual_area .large_body.payment h2{
	margin-top: 10px;
}
.visual_area .large_body.payment p{
	margin: 85px 0 0 -15px;
	color: #fff;
}
.visual_area .large_body.payment .inner ul{
	margin-left: 93px;
}
.visual_area .large_body.payment .inner li a{
	color: #fff;
}



/* モバイルレジ */
/*.visual_area .large_body.mobileregi .inner{
	left: 55%;
}.visual_area .large_body.mobileregi h2 img{
	margin: 20px auto 25px;
}
.visual_area .large_body.mobileregi h2 img{
	margin: 20px auto 25px;
}
.visual_area .large_body.mobileregi p{
	margin: 58px 0 0 -50px;
}
.visual_area .large_body.mobileregi .inner ul{
	margin: 136px 0 0 110px;
}*/




/* 非保持化 */
.visual_area .large_body.nonretention .inner{
	left: 52%;
}
.visual_area .large_body.nonretention p{
	margin: 40px 0 0 30px;
}
.visual_area .large_body.nonretention .inner ul{
	margin-left: 165px;
}
.visual_area .large_body.nonretention .inner li a {
	color: #fff;
}



/* paygent ----- 20190326追加 */
.visual_area .large_body.paygent h2 {
	top: 23%;
	left: 0;
	right: 0;
	bottom: 0;
	font-size: 18px;
}
.visual_area .large_body.paygent h2 img {
	margin: 0 auto 20px;
}
.visual_area .large_body.paygent h2 img:nth-of-type(2) {
	padding-left: 40px;
	margin: 20px auto;
}
.visual_area .large_body.paygent .inner ul {
	top: 75%;
	left: 48%;
	margin: 0 auto;
}



/* リテールテック */
.visual_area .large_body.rtj2019 .inner li a,
.visual_area .large_body.rtj2020 .inner li a {
	color: #fff;
}

/* 2019 */
.visual_area .large_body.rtj2019 h2 {
	top: 50%;
	left: 0;
	right: 0;
	bottom: 0;
	margin: -80px auto 0;
}

.visual_area .large_body.rtj2019 .inner ul{
	top: 58%;
	left: 48%;
}

/* 2020 ----- 20200107追加 */
.visual_area .large_body.rtj2020 .inner {
	width: 966px;
	margin: auto;
	height: 100%;
	left: 0;
	right: 0;
	text-align: left;
}

.visual_area .large_body.rtj2020 .ofi {
	object-fit: cover; /* 他のブラウザ用(＝通常の指定) */
	object-position: 50% 0; /* 他のブラウザ用(＝通常の指定) */
	font-family: 'object-fit: cover; object-position: 50% 0;'; /* IE・Edge対応 */
}

.visual_area .large_body.rtj2020 .inner img {
	margin: 90px auto 0;
}

/* 2021 ----- 20210203追加 */
.visual_area .large_body.rtj2021 .inner {
	left: 0;
	margin: 0 auto;
	right: 0;
	width: 960px;
}

.rtj2021_ttl {
	left: 0;
	position: absolute;
	top: 20%;
	width: 400px;
}

.visual_area .large_body .rtj2021_msg {
	color: #313131;
	font-size: 18px;
	left: 0;
	text-align: left;
	top: 72%;
}

.visual_area .large_body .inner .rtj2021_link {
	left: 0;
	top: 80%;
}

#visual_small li.rtj2021 {
	padding: 3.405% 0;
	background: url(../img/btn_bg_rtj2021.png) no-repeat center top;
}


#rtj_logo {
	margin-top: 20px;
}

#rtj_ttl {
	display: inline-block;
	left: 0;
	margin-top: 0;
	text-align: center;
	top: 43%;
	width: 100%;
}

#rtj_detail {
	left: 0;
	margin-top: 0;
	right: 0;
	text-align: center;
	top: 75%;
}

#rtj_detail li {
	float: none;
}

#rtj_detail .arrow_btn {
	display: inline-block;
	margin-left: 10px;
}

#rtj_detail .arrow {
	position: absolute;
	top: 25%;
}

/* GLOBAL ----- 20201218追加 */
.visual_area .large_body.global .inner{
	width: 960px;
	margin: auto;
	height: 100%;
	left: 0;
	right: 0;
	text-align: left;
}
.visual_area .large_body.global h2 {
	top: 190px;
	left: 0;
	padding-left: 40px;
	margin-top: 0;
	color: #fff;
	font-size: 34px;
}
.visual_area .large_body.global p {
	left: 0;
	padding-left: 155px;
	margin-top: 0;
	margin-bottom: 0;
	font-size: 18px;
	color: #000;
	font-weight: bold;
	top: 150px;
}
.visual_area .large_body.global .inner ul {
	top: 240px;
	left: 0;
	padding-left: 210px;
	margin-top: 0;
}
.visual_area .large_body.global .global {
	position: absolute;
	top: 20px;
	right: 0;
}
.visual_area .large_body.global .inner li a {
	color: #fff;
}
.visual_area .large_body.global .grbl_img {
	width: 44.5%;
	height: auto;
	float: right;
	padding-top: 40px;
	padding-right: 15px;
}


/* コード決済ゲートウェイ ----- 20190704追加 */
.visual_area .large_body.code_gateway .inner{
	width: 960px;
	margin: auto;
	height: 100%;
	left: 0;
	right: 0;
	text-align: left;
}
.visual_area .large_body.code_gateway h2 {
	top: 124px;
	left: 0;
	margin-top: 0;
}
.visual_area .large_body.code_gateway h2 img {
	margin-top: 0;
}
.visual_area .large_body.code_gateway p{
	left: 0;
	margin-top: 25px;
	margin-bottom: 0;
	color: #fff;
}
.visual_area .large_body.code_gateway .inner ul {
	top: 305px;
	left: 0;
	margin-top: 0;
}
.visual_area .large_body.code_gateway .codegw_img {
	position: absolute;
	top: 20px;
	right: 0;
}
.visual_area .large_body.code_gateway .inner li a {
	color: #fff;
}



/* 公金決済プラットフォーム ----- 20190704追加 */
.visual_area .large_body.koukin_pf .inner{
	width: 960px;
	margin: auto;
	height: 100%;
	left: 0;
	right: 0;
	text-align: left;
}
.visual_area .large_body.koukin_pf h2 {
	top: 135px;
	left: 0;
	margin-top: 0;
	font-size: 22px;
	color: #595656;
	font-weight: bold;
}
.visual_area .large_body.koukin_pf p{
	top: 188px;
	left: 0;
	margin-top: 0;
	margin-bottom: 0;
}
.visual_area .large_body.koukin_pf .inner ul {
	top: 265px;
	left: 0;
	margin-top: 0;
}

/* 公式PR Yotube ----- 20200313追加 */
.visual_area .large_body.linkyoutube .inner{
	width: 960px;
	margin: auto;
	height: 100%;
	left: 0;
	right: 0;
	text-align: left;
}
.visual_area .large_body.linkyoutube h2 {
	top: 142px;
	right: 0;
	margin-top: 0;
	text-align: right;
}
.visual_area .large_body.linkyoutube .inner ul {
	top: 285px;
	left: 77%;
	margin-top: 0;
}
.visual_area .large_body.linkyoutube .inner li a {
	color: #ffffff;
}


/* スライダー下サムネイルボタン */
#visual_small{
	width: 966px;
	height: auto;
	overflow: hidden;
	margin: 0 auto;
	cursor: pointer;
}

#visual_small li{
	padding: 1% 0 1.6% 0;
	position: relative;
	color: #fff;
	font-size: 12px;
	line-height: 17px;
	text-align: center;
	background: url(../img/btn_bg_about.png) no-repeat center top;
	background-size: 100% auto !important;
	box-sizing: border-box;
}

#visual_small li img{
	position: relative;
	margin: 0 auto;
	z-index: 2;
}

#visual_small li.pitt{
	padding-bottom: 1%;
	background: url(../img/btn_bg_cafispitt.png) no-repeat center top;
}
#visual_small li.arch{
	padding-bottom: 1%;
	background: url(../img/btn_bg_cafisarch.png) no-repeat center top;
}
#visual_small li.inbound{
	background: url(../img/btn_bg_inbound.png) no-repeat center top;
}
#visual_small li.payment{
	background: url(../img/btn_bg_paymentmarketing.png) no-repeat center top;
}
/*#visual_small li.mobileregi{
	background: url(../img/btn_bg_mobileregi.png) no-repeat center top;
}*/
#visual_small li.nonretention{
	background: url(../img/btn_bg_nonretention.png) no-repeat center top;
}
#visual_small li.rtj2019{
	padding: 2% 0 3.2% 0;
	background: url(../img/btn_bg_rtj2019.png) no-repeat center top;
}
#visual_small li.rtj2020 {
	background: url(../img/btn_bg_rtj2020.png) no-repeat center top;
	padding: 2% 0 3.189% 0;
}
#visual_small li.paygent{
	padding: 3% 0 4% 0;
	background: url(../img/btn_bg_paygent.png) no-repeat center top;
}
#visual_small li.code_gateway{
	background: url(../img/btn_bg_codegw.png) no-repeat center top;
}
#visual_small li.koukin_pf{
	padding: 1% 0 2% 0;
	background: url(../img/btn_bg_koukinpf.png) no-repeat center top;
}
#visual_small li.linkyoutube{
	padding: 1.2% 0 2% 0;
	background: url(../img/btn_bg_linkyoutube.png) no-repeat center top;
}
#visual_small li.linkyoutube u {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	text-decoration: none;
}
#visual_small li.linkyoutube span {
	margin-bottom: 0;
}

#visual_small li.global {
	padding: 1.6% 0;
	background: url(../img/btn_bg_global.png) no-repeat center top;
}
#visual_small li.global span {
	margin-bottom: 0;
}
#visual_small li.global span u {
	display: block;
	padding-top: 8px;
	text-decoration: none;
}


#visual_small li:hover,
#visual_small li.slick-current{
	color: #fff;
}
#visual_small li.slick-current{
	background: #62707c !important;
}

#visual_small li span{
	position: relative;
	display: block;
	margin-bottom: -12px;
	z-index: 1;
}

#visual_small li .filter{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #62707c;
	opacity: 0;
	z-index: 0;
}

.slick-arrow{
	position: absolute;
	top: 50%;
	margin-top: -32px;
	z-index: 1010;
	cursor: pointer;
}
.slick-arrow.slick-prev{
	left: 2px;
}
.slick-arrow.slick-next{
	right: 2px;
}

.slick-arrow img{
	padding: 20px;
}

.visual_area .large_body .ofi {
	object-fit: cover; /* 他のブラウザ用(＝通常の指定) */
	object-position: 50% 50%; /* 他のブラウザ用(＝通常の指定) */
	font-family: 'object-fit: cover; object-position: 50% 50%;'; /* IE・Edge対応 */
}


/* top_btn **********************************************/
.top_btn_area{
	width: 960px;
	height: auto;
	display: block;
	overflow: hidden;
	margin: 10px auto;
}

.top_btn_area a{
	float: left;
}

.top_btn_area a:hover img{
	opacity: 0.5;
}


/* main **********************************************/
.main{
	width: 960px;
	height: auto;
	display: block;
	overflow: hidden;
	margin: 0 auto;
}

.main .news_area,
.main .pickup_area{
	width: 100%;
	padding: 0;
	margin-bottom: 160px;
}
.main .pickup_area{
	margin-bottom: 115px;
}

.main .news_area h3,
.main .pickup_area h3{
	font-size: 20px;
	color: #333333;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 40px;
}
.main .pickup_area h3{
	font-size: 18px;
}

.main .news_area>a{
	display: block;
	width: 100%;
	text-decoration: none;
	color: #333333;
	padding: 10px 0;
	position: relative;
}

.main .news_area>a .filter{
	display: block;
	position: absolute;
	z-index: 99;
	background: #48585f;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}

.main .news_area>a td{
	vertical-align: top;
	text-align: center;
	padding: 5px 7px;
	line-height: 1.7;
}

.main .news_area>a td.date{
	width: 80px;
	font-size: 11px;
	color: #5d5d5d;
	text-align: right;
}

.main .news_area>a td.cat{
	width: 110px;
	padding: 0 5px;
}
.main .news_area>a td.cat p{
	background: #ddd;
	font-size: 9px;
	line-height: 2.5;
}

.main .news_area>a td.ttl{
	text-align: left;
	padding: 1px 30px 1px 10px;;
}

.main .news_area>a td.icon{
	width: 30px;
	text-align: left;
	padding: 5px 0;
}

.main .news_area>p{
	text-align: center;
	margin-top: 35px;
}

.main .news_area>p a{
	font-size: 12px;
	line-height: 1.5;
	color: #666;
	text-decoration: none;
	position: relative;
}
.main .news_area>p a .arrow{
	opacity: 0;
	position: absolute;
	top: 4px;
	left: 85%;
}



/* pickup_area **********************************************/
.pickup_area ul{
	overflow: hidden;
}
.pickup_area li{
	float: left;
	width: 230px;
	height: 300px;
	margin-right: 10px;
	margin-bottom: 10px;
	background: url(../img/pickup_bg_case.png) no-repeat center 40px;
	position: relative;
	z-index: 1;
}
.pickup_area li.download{
	background: url(../img/pickup_bg_download.png) no-repeat center 42px;
}
.pickup_area li.green{
	background: url(../img/pickup_bg_csr.png) no-repeat center 30px;
}
.pickup_area li.service{
	background: url(../img/pickup_bg_service.png) no-repeat center 42px;
	margin-right: 0;
}

.pickup_area li a{
	display: block;
	width: 230px;
	height: 300px;
	padding-top: 118px;
	color: #333;
	text-decoration: none;
	text-align: center;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
}

.pickup_area li a .pickupTtl{
	display: block;
	font-size: 16px;
	line-height: 1;
	font-weight: bold;
}
.pickup_area li a .pickupTxt{
	display: block;
	margin-top: 35px;
	font-size: 13px;
	font-weight: normal;
	line-height: 1.5;
}
.pickup_area li a .filter{
	display: block;
	position: absolute;
	z-index: -1;
	/*background: #48585f;*/
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	box-shadow: 2px 5px 7px rgba(0,0,0,0.5);
}
.pickup_area li a .arrow{
	position: absolute;
	top: 255px;
	left: 150px;
	opacity: 0;
	z-index: -1;
}
.pickup_area li a .more {
	display: block;
	position: absolute;
	bottom: 30px;
	left: 70px;
	font-size: 13px;
	font-weight: normal;
	line-height: normal;
}
#member .arrow,
#manual .arrow{
	top: 24px;
	left: 160px;
}

.pickup_area li.service p{
	margin: 115px 0 15px;
	color: #333;
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}

.pickup_area li.service a{
	display: block;
	width: 200px;
	height: auto;
	padding: 12px 20px;
	margin: 0 auto 1px;
	text-align: left;
	color: #333;
	/*background: url(../img/pickup_s_bg.png) no-repeat center center;*/
}
.pickup_area li.service a:hover{
	border: 1px solid #bfbfbf;
}

.pickup_area li.service a span{
	display: block;
	font-size: 13px;
	line-height: 1.4;
	font-weight: normal;
}

/*.pickup_area li.service a#member span{
	background: url(../img/pickup_s_icon_member.png) no-repeat 9px center;
}
.pickup_area li.service a#manual span{
	background: url(../img/pickup_s_icon_manual.png) no-repeat 9px center;
}*/

.pickup_area li.service a .filter{
	background: #fff !important;
	z-index: 10;
	padding: 0;
}


/* バナーエリア追加 202105 */
.banner_area {
	position: relative;
	width: 100%;
	height: 300px;
	background: url(../img/banner_area_bg.jpg) no-repeat center center;
	background-size: cover;
}
.banner_area .banner_link {
	display: block;
	width: 100%;
	padding: 135px 0 100px;
	text-align: center;
	font-size: 1.125rem;
	color: #fff;
	text-decoration: none;
}
.banner_area .banner_link {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.banner_area .banner_filter {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0;
	background-color: rgba(0,0,0,0.6);
}

/*.banner_area a:hover {
	background-color: rgba(0,0,0,0.6);
	-webkit-transition: 1s;
	-moz-transition: 1s;
	-o-transition: 1s;
	-ms-transition: 1s;
	transition: 1s;
}*/

.banner_area p {
	margin-top: 1rem;
}