@charset "UTF-8";

/* # =================================================================
# ress css
# ================================================================= */
html {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	word-break: normal;
	-moz-tab-size: 4;
	tab-size: 4;
}

*,
::before,
::after {
	background-repeat: no-repeat;
	box-sizing: inherit;
}

::before,
::after {
	text-decoration: inherit;
	vertical-align: inherit;
}

* {
	padding: 0;
	margin: 0;
}

/* # =================================================================
# General elements
# ================================================================= */
hr {
	overflow: visible;
	/* Show the overflow in Edge and IE */
	height: 0;
	/* Add the correct box sizing in Firefox */
}

details,
main {
	display: block;
	/* Render the `main` element consistently in IE. */
}

summary {
	display: list-item;
	/* Add the correct display in all browsers */
}

small {
	font-size: 80%;
	/* Set font-size to 80% in `small` elements */
}

[hidden] {
	display: none;
	/* Add the correct display in IE */
}

abbr[title] {
	border-bottom: none;
	/* Remove the bottom border in Chrome 57 */
	text-decoration: underline;
	text-decoration: underline dotted;
}

a {
	background-color: transparent;
	/* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
	outline-width: 0;
	/* Remove the outline when hovering in all browsers */
}

/* # =================================================================
# Specify media element style
# ================================================================= */
img {
	border-style: none;
}

progress {
	vertical-align: baseline;
}

svg:not([fill]) {
	fill: currentColor;
}

/* # =================================================================
# Accessibility
# ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
	[hidden~="screen"] {
		display: inherit;
	}

	[hidden~="screen"]:not(:active):not(:focus):not(:target) {
		position: absolute !important;
		clip: rect(0 0 0 0) !important;
	}
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
	cursor: progress;
}

[aria-controls] {
	cursor: pointer;
}

[aria-disabled] {
	cursor: default;
}

/* 追記 */
ul,
li {
	list-style-type: none;
}

li {
	box-sizing: border-box;
}

button:focus {
	outline: 0;
}

/* =======================================================================================
	レイアウト
======================================================================================= */
* {
	box-sizing: border-box;
}

html {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	color: #333;
	font-weight: 400;
	line-height: 1.8;
	overflow: hidden;
	overflow-y: scroll;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	min-width: 1120px;
	margin: 0 auto;
	position: relative;
	-webkit-text-size-adjust: 100%;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

body,
p,
li,
dt,
dd,
tr,
th {
	font-size: 17px;
	line-break: strict;
	word-break: break-all;
	word-wrap: break-word;
}

p {
	line-height: 2;
}

h1,
h2,
h3,
h4,
h5 {
	line-height: 150%;
}

a {
	text-decoration: none;
}

/* TB */
@media screen and (max-width: 1119px) {
	body {
		min-width: auto;
		font-size: 14px
	}

	body,
	p,
	li,
	dt,
	dd,
	tr,
	th {
		font-size: 14px;
	}
}

@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
		min-width: 374px;
	}

	body,
	p,
	li,
	dt,
	dd,
	tr,
	th {
		font-size: 14px;
	}

	img {
		width: 100%;
	}
}

/* =======================================================================================
	main
======================================================================================= */

/* レイアウト
====================================================== */
.inner {
	width: 1120px;
	margin: 0 auto;
}

@media screen and (max-width: 1119px) {
	.inner {
		width: calc(100% - 60px);
		margin: 0 auto;
	}
}

@media screen and (max-width: 767px) {
	.inner {
		width: calc(100% - 40px);
		margin: 0 auto;
	}
}

/* color
====================================================== */
:root {
	--grad-w2: linear-gradient(90deg,
			#5A24B8 0%,
			#5440C8 12.5%,
			#1D5CCA 25%,
			#183EC0 37.5%,
			#1C13A1 50%,
			#005AD1 62.5%,
			#1D5CCA 75%,
			#2478DD 87.5%,
			#3DF7EA 100%);
}

/* header
====================================================== */
.w2_header .w2_container .w2_header_inner1 {
	background: url(../img/w2_btob_1/header_bg.svg) no-repeat;
	background-size: 100%;
}

.w2_sp_menu_button:before {
	background: url(../img/w2_btob_1/header_bg_sp.svg) no-repeat;
	background-size: 100%;
}

.w2_header .w2_container .w2_header_inner1 {
	width: 1080px;
	padding: 15px 120px 0 0;
}

.w2_header .w2_container .w2_header_inner1 .w2_header_lang {
	display: none;
}

.custom_header_inner {
	display: flex;
	flex-direction: row;
}

.header-nav {
	display: flex;
	flex-direction: row;
	align-items: center;
	margin-right: 30px;
	gap: 30px;
}

.header-nav li a {
	color: #fff;
	font-weight: 500;
	display: block;
}

.header-nav li a:hover {
	text-decoration: underline 1px #fff;
}

.header-list {
	display: flex;
	gap: 20px;
}

.header-list li {
	width: 180px;
	border-radius: 50px;
	background: #FC7A1D;
}

.header-list li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 10px 15px;
	text-align: center;
	color: #FFF;
	font-size: 16px;
	font-weight: bold;
}

@media screen and (max-width: 1439px) {
	.w2_header .w2_container .w2_header_inner1 {
		width: 78vw;
		height: 80px;
	}

	.w2_header .w2_container .w2_header_inner1 {
		padding: 15px 120px 0 0;
		background-size: auto 100%;
	}
}

@media only screen and (max-width: 991px) {
	.w2_header .w2_container .w2_header_inner1 {
		padding: 15px 30px 0 0;
	}
}

@media (max-width: 767px) {}

/* logo
====================================================== */
.logo {
	padding: 30px 0;
}

.logo-text {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
	text-align: center;
	font-size: 22px;
}

.logo-text::before,
.logo-text::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #DDDDDD;
}

.slider_parent {
	position: relative;
	overflow: hidden;
}

.slider_parent .slider {
	display: flex;
}

.text_scroll {
	animation: scroll 40s linear infinite;
}

.text_scroll_reverse {
	animation: scroll 40s linear infinite;
	animation-direction: reverse !important;
}

.logos {
	flex-shrink: 0;
}

.slider_parent ul {
	padding: 0;
	margin: 0;
	display: flex;
}

.slider_parent ul li {
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
}

.slider_parent ul li>img {
	transition: 0.4s;
}

.slider_parent ul li>img {
	width: 130px;
	max-width: 100% !important;
}

@keyframes scroll {
	0% {
		transform: translateX(0%);
	}

	100% {
		transform: translateX(-100%);
	}
}

@media only screen and (max-width: 991px) {
	.slider_parent ul li {
		margin-left: 5px;
		margin-right: 5px;
	}

	.slider_parent ul li img {
		height: 50px;
		width: auto;
	}

	.text_scroll {
		animation: scroll 30s linear infinite;
	}
}

/* fv
====================================================== */
.fv {
	padding: 0px 0 40px;
	background: linear-gradient(-60deg, #fff 55%, #F2F2F7 0);
	position: relative;
	overflow: hidden;
}

.fv::before {
	content: "";
	width: 100%;
	height: 3px;
	background: var(--grad-w2);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}

.fv-content {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 50px;
}

.fv-img-area {
	max-width: 540px;
	width: 100%;
}

.fv-text-area {
	width: calc(100% - 540px - 25px);
	padding: 100px 0 0;
}

.fv-read {
	margin-bottom: 50px;
	padding: 10px;
	font-size: 26px;
	font-weight: bold;
	position: relative;
}

.fv-read::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
	background: var(--grad-w2);
	width: 100vw;
	/* まず画面幅いっぱいに */
	transform: translateX(0);
	/* 調整用 */
}

.fv-ttl {
	margin-bottom: 10px;
	font-size: 42px;
	font-weight: bold;
	line-height: 140%;
}

.fv-text {
	margin-bottom: 40px;
	font-size: 18px;
}

.fv-btn {
	display: block;
	max-width: 400px;
	width: 100%;
}

@media (min-width: 1920px) {
	.fv {
		overflow: hidden;
	}

}

/* 共通
====================================================== */
/* 余白 */
.btob,
.online,
.solution,
.function,
.api-data,
.case {
	padding: 80px 0;
}

/* 改行 */
.pc-new-line {
	display: block;
}

/* タイトル */
.ttl {
	margin-bottom: 30px;
	text-align: center;
	font-size: 33px;
	font-weight: 500;
}

.ttl-read {
	display: block;
	font-size: 21px;
	font-weight: bold;
	color: #0E5CCC;
}

.ttl-read.diff {
	color: #333;
	font-weight: 500;
}

.text {
	margin-bottom: 50px;
	text-align: center;
}

.img-area {
	padding: 20px;
	background: #fff;
	border-radius: 5px;
	box-shadow: 0px 10px 30px 0px rgba(51, 51, 51, 0.15);
	position: relative;
}

.img-area::before {
	content: "";
	width: 100%;
	height: 4px;
	background: var(--grad-w2);
	position: absolute;
	left: 0;
	top: 0;
}

/* b to b
====================================================== */
.btob {
	position: relative;
	overflow: hidden;
	background: linear-gradient(-60deg, #F2F2F7 50%, #fff 0);
}

.btob::after {
	content: "";
	width: 100%;
	height: 3px;
	background: var(--grad-w2);
	position: absolute;
	left: 0;
	bottom: 0;
}

.btob-content {
	position: relative;
	z-index: 1;
}

.btob-content-area {
	display: flex;
	gap: 50px;
}

.btob-img-area {
	max-width: 610px;
	width: 100%;
}

/* ３つのソリューション
====================================================== */
.solution {
	background: #F2F2F7;
}

.solution-list {
	display: flex;
	gap: 20px;
}

.solution-item {
	background: #fff;
	border-radius: 5px;
	border: 1px solid transparent;
	background:
		linear-gradient(#fff, #fff) padding-box,
		var(--grad-w2) border-box;
	box-shadow: 0px 10px 30px 0px rgba(51, 51, 51, 0.15);
	overflow: hidden;
}

.solution-item-ttl {
	display: block;
	padding: 15px;
	background: var(--grad-w2);
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	color: #fff;
}

.solution-item-ttl span {
	display: block;
	margin: 10px 0 0;
	font-size: 28px;
	font-weight: 700;
}

.solution-item-text-area {
	padding: 15px;
}

.solution-item-text {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
}

.solution-item-img {
	margin: 20px 0;
}

.solution-item-ps-ttl {
	padding: 10px 0;
	text-align: center;
	color: #0E5CCC;
	position: relative;
}

.solution-item-ps-ttl::before,
.solution-item-ps-ttl::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background: #999999;
}

.solution-item-ps-ttl::before {
	top: 0;
}

.solution-item-ps-ttl::after {
	bottom: 0;
}

.solution-item-ps-text {
	padding: 12px 0;
	font-size: 15px;
	text-align: center;
}

.solution-item-ps-text span {
	display: block;
}

/* 法人取引に必要な6能を搭載
====================================================== */
.function-list {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.function-item {
	width: calc(100% / 3 - 14px);
	padding: 30px 15px 20px;
	border-radius: 5px;
	box-shadow: 0px 10px 30px 0px rgba(51, 51, 51, 0.15);
	border-top: 4px solid transparent;
	background:
		linear-gradient(#fff, #fff) padding-box,
		var(--grad-w2) border-box;
}

.function-item-ttl {
	margin-bottom: 20px;
	text-align: center;
	font-weight: bold;
	font-size: 21px;
	color: #0E5CCC;
}

.function-item-text {
	margin-bottom: 20px;
	text-align: center;
}

/* CTA
====================================================== */
.cta {
	padding: 40px 0;
	background: #F2F2F7;
	position: relative;
}

.cta::after {
	content: "";
	width: 100%;
	height: 3px;
	background: var(--grad-w2);
	position: absolute;
	left: 0;
	bottom: 0;
}

.cta-text {
	margin-bottom: 20px;
	text-align: center;
	font-size: 22px;
}

.cta-btn {
	display: block;
	max-width: 430px;
	width: 100%;
	margin: auto;
}

/* 外部システムとのAPI連携が可能 & 全データの一元管理が可能
====================================================== */
.api-area {
	margin-bottom: 80px;
}

/* 導入事例
====================================================== */
.case {
	background: #F2F2F7;
}

.case-list {
	display: flex;
	gap: 20px;
}

.case-item {
	width: calc(100% / 3 - 14px);
	padding: 30px 20px;
	background: #fff;
	border-radius: 5px;
	position: relative;
	overflow: hidden;
}

.case-item::after {
	content: "";
	width: 100%;
	height: 4px;
	background: var(--grad-w2);
	position: absolute;
	left: 0;
	top: 0;
}

.case-item-ttl {
	margin-bottom: 15px;
	font-size: 18px;
	font-weight: bold;
	color: #1D5CCC;
}

.case-item-text,
.case-item-img {
	margin-bottom: 15px;
}

.case-item-point {
	display: flex;
	gap: 1px;
	width: 100%;
	margin-bottom: 15px;
}

.case-item-point-text {
	width: 50%;
	background: #1D5CCC;
	font-size: 15px;
	font-weight: 500;
	text-align: center;
	color: #fff;
}

.case-item-ex {
	font-size: 16px;
}

/* cat 最後
====================================================== */
.cta-end {
	padding: 80px 0;
}

.cta-end h2 {
	margin-bottom: 40px;
	text-align: center;
	font-size: 25px;
	font-weight: 500;
}

.cta-end-list {
	display: flex;
	gap: 100px;
}

.cta-end-list-btn a {
	display: block;
}

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

	/* fv */
	.fv-content {
		justify-content: space-between;
	}

	.fv-read {
		margin-bottom: 20px;
		font-size: 16px;
	}

	.fv-ttl {
		font-size: 34px;
	}

	.fv-ttl span {
		display: block;
	}

	.fv-text {
		font-size: 15px;
	}

	.fv-text-area {
		width: calc(100% - 430px);
		padding: 70px 0 0;
	}

	.fv-img-area {
		max-width: 430px;
		width: 100%;
	}

	.ttl {
		margin-bottom: 25px;
		font-size: 28px;
	}

	.btob-content-area {
		gap: 20px;
		flex-direction: column;
		align-items: center;
	}

	.btob-img-area {
		margin: auto;
	}

	.solution-list {
		flex-direction: column;
	}

	.solution-item-ttl span {
		font-size: 20px;
	}

	.solution-item-text {
		font-size: 14px;
	}

	.solution-item-img {
		max-width: 400px;
		width: 100%;
		margin: 20px auto;
	}

	.solution-item-ps-text {
		font-size: 12px;
	}

	.function-item {
		width: calc(100% / 2 - 14px);
	}

	.function-item-img {
		max-width: 380px;
		width: 100%;
		margin: auto;
	}

	.case-list {
		flex-direction: column;
	}

	.case-item {
		width: 100%;
	}

	.case-item-img {
		max-width: 500px;
		width: 100%;
		margin: 15px auto;
	}

	.cta-end h2 {
		margin-bottom: 30px;
		font-size: 20px;
	}
}

@media screen and (max-width: 969px) {
	.fv-img-area {
		max-width: 340px;
	}

	.fv-text-area {
		width: calc(100% - 340px);
	}
}

@media screen and (max-width: 767px) {
	.fv-content {
		flex-direction: column-reverse;
		gap: 10px;
	}

	.fv {
		background: linear-gradient(-60deg, #fff 50%, #F2F2F7 0);
	}

	.fv-text-area {
		width: 100%;
		padding: 10px 0 0;
	}

	.fv-ttl {
		font-size: 40px;
	}

	.fv-text {
		font-size: 18px;
	}

	.sp-new-line {
		display: block;
	}

	.pc-new-line {
		display: inline;
	}

	.btob,
	.online,
	.solution,
	.function,
	.api-data,
	.case {
		padding: 40px 0;
	}

	.ttl {
		margin-bottom: 20px;
		font-size: 20px;
	}

	.text {
		margin-bottom: 15px;
		text-align: left;
	}

	.img-area {
		padding: 15px;
		box-shadow: 0px 5px 15px 0px rgba(51, 51, 51, 0.15);
	}

	.logo-text {
		gap: 4px;
		margin-bottom: 10px;
		font-size: 12px;
	}

	.slider_parent ul li img {
		height: 80px;
	}

	.slider_parent ul li {
		margin-left: 0px;
		margin-right: 0px;
	}

	.solution-item {
		box-shadow: 0px 5px 15px 0px rgba(51, 51, 51, 0.15);
	}

	.solution-item-ttl {
		font-size: 14px;
	}

	.solution-item-ttl span {
		font-size: 18px;
	}

	.function-list {
		flex-direction: column;
	}

	.function-item {
		width: 100%;
		padding: 25px 15px 20px;
		box-shadow: 0px 5px 15px 0px rgba(51, 51, 51, 0.15);
	}

	.function-item-ttl {
		margin-bottom: 15px;
		font-size: 18px;
	}

	.cta-text {
		margin-bottom: 14px;
		font-size: 18px;
	}

	.api-area {
		margin-bottom: 40px;
	}

	.case-item-ttl {
		font-size: 16px;
	}

	.case-item-point-text {
		font-size: 13px;
	}

	.case-item-ex {
		font-size: 12px;
	}

	.cta-end {
		padding: 40px 0;
	}

	.cta-end h2 {
		margin-bottom: 20px;
		font-size: 16px;
	}

	.cta-end h2 span {
		display: block;
	}

	.cta-end-list {
		gap: 15px;
		flex-direction: column;
	}

	.cta-end-list-btn {
		margin: auto;
	}

	.cta-end-list-btn a {
		max-width: 350px;
		width: 100%;
	}
}

/* footer
====================================================== */
#Footer {
	position: relative;
}

#Footer::before {
	content: "";
	width: 100%;
	height: 3px;
	background: var(--grad-w2);
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

.w2_sp_footer_linklist.media_sp ul li a {
	font-size: 11px;
}

.w2_pankuzu {
	display: none;
}

.w2_footer .w2_footer_inner {
	display: none;
}

.w2_sp_footer_linklist.media_sp {
	display: none;
}

.w2_footer .w2_footer_copyright_sns .w2_footer_copyright_sns_inner {
	border-top: none;
}

.w2_footer .w2_footer_copyright_sns .w2_footer_copyright_sns_inner .w2_footer_linklist>ul li a {
	font-size: 14px;
}

.w2_footer .w2_footer_copyright_sns .w2_footer_copyright_sns_inner {
	display: flex;
	justify-content: flex-start;
}

small {
	font-size: 100%;
}

.w2_footer_sns {
	display: none;
}

@media screen and (max-width: 1119px) {
	.w2_footer .w2_footer_copyright_sns .w2_footer_copyright_sns_inner .w2_footer_linklist>ul li a {
		font-size: 12px;
	}

	small {
		font-size: 16px;
	}
}

@media screen and (max-width: 767px) {
	.w2_footer .w2_footer_backscroll {
		display: none;
	}

	#Footer::before {
		content: none;
	}

	.w2_footer .w2_footer_inner {
		display: block;
	}

	.w2_footer_linklist.media_pc {
		display: none;
	}

	small {
		font-size: 80%;
	}

	.w2_sp_footer_linklist.media_sp {
		display: block;
	}

	.w2_footer .w2_sp_footer_linklist ul li a {
		font-size: 11px;
	}

	.w2_footer_sns {
		display: block;
		margin-left: auto;
	}

	.w2_footer .w2_footer_copyright_sns .w2_footer_copyright_sns_inner .w2_footer_sns ul li.w2_tw {
		margin-right: 20px;
	}
}