@import url('https://fonts.cdnfonts.com/css/barlow-condensed');
@import url('https://fonts.cdnfonts.com/css/barlow');

* {
	box-sizing: border-box;
}
html, body {
	min-width: 800px;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;

	background-color: #EFF0F5;
	color: #2C2C2C;
	font-family: "Noto Sans CJK JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-size: 17px;
	line-height: 1.4;
	text-align: center;
}
body {
	display: flex;
	flex-direction: column;
}


/* 汎用クラス */
.hidden {
	display: none !important;
}

.flex-row, .flex-row-center {
	display: flex;
	flex-direction: row;
}

.flex-row-center {
	justify-content: center;
}

.gap-10px {
	gap: 10px;
}

.common-h2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 10px;

	font-size: 28px;
	font-weight: bold;
	color: #002486;
}
.common-h2:after {
	content: '';
	display: block;
	height: 4px;
	width: 60px;
	margin-top: 10px;
	background-color: #002486;
}


/* ヘッダー */
header {
	display: flex;
	background-color: #002486CC;

	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	height: 60px;

	color: #FFF;
	font-weight: bold;
	font-size: 15px;
}
header .top {
	margin-right: auto;
}
header img {
	height: 34px;
}
header .link {
	display: flex;
	align-items: center;
	padding: 0px 15px;
	border-block: 3px transparent solid;
}
header .link.active {
	border-top-color: #F5FF15;
	color: #F5FF15;
}
header .contact {
	background-color: #F5FF15;
	color: #2C2C2C;
	padding: 0 25px;
	margin-left: 15px;
}


/* フッター */
footer {
	flex: 0 0 80px;
	height: 80px;
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px;

	background-color: #171717;
	color: #FFF;
	font-size: 15px;
}
footer > * {
	flex: 1 1 0;
}
footer .logo {
	text-align: left;
}
footer .logo img {
	height: 40px;
}
footer .link {
	text-align: right;
}
footer a {
	text-decoration: underline;
}


/* デモサイト用リンク */
/* .demo {
	position: fixed;
	width: 260px;
	height: 210px;
	right: 0;
	bottom: 0;

	overflow: hidden;
}
*/

/* .demo > a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	width: 300px;
	height: 300px;
	top: 10px;
	left: 10px;
	padding: 30px 50px 100px 20px;
	background-color: #FF0;
	border-radius: 150px;

	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);

	font-size: 30px;
	text-align: center;
	font-weight: bold;
} */

.demo {
	position: fixed;
	right: 20px;
	bottom: 20px;
}

.demo > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 20px 30px;
	gap: 10px;
	/* background-color: #2E5BBE;
	color: #FFF; */
	background-color: #FFF;
	/* background-color: #F5FF15; */
	border-radius: 10px;

	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);

	/* font-size: 24px; */
	font-size: 18px;
	text-align: center;
	font-weight: bold;
}
.demo > div span {
	background-color: #F5FF15;
}
.demo > div > a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5px 30px 5px 40px;

	background-color: #3264DC;
	box-shadow: 0 4px 0px #1b30a3;
	color: #FFF;


	border-radius: 5px;
	font-size: 20px;
	text-align: center;
	font-weight: bold;

}


/* トップ */
.top-area {
	display: flex;
	justify-content: center;
	background-color: #2B55BC;
	padding: 200px 0;
	font-weight: bold;
	background-image: url('img/keyvisual.jpg');
	background-size: cover;
	background-position: center;
}
.top-area .description {
	width: 500px;
	margin-right: 400px;
	text-align: left;
	color: #FFF;
	line-height: 1.5;
	font-size: 18px;
}
.top-area .description h1 {
	display: inline;
	font-size: 40px;
}
.top-area .description h1 img {
	width: 184px;
	margin-bottom: 3px;
}
.top-area .description span {
	vertical-align: bottom;
}
.top-area .description .aist {
	display: block;
	margin-top: 1em;
	color: #F5FF15;
	font-size: 16px;
}


/* メリット */
.merit-area {
	padding: 120px 0 150px;
}
.merit-area h2 {
	color: #3264DC;
	font-weight: bold;
	font-size: 28px;
}
.merit-area > p {
	margin-top: 16px;
	font-size: 15px;
	font-weight: bold;
}
.merit-list {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 40px;
}
.merit {
	width: 304px;
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #FFF;
	border-radius: 10px;
	padding: 10px 10px 30px;
}
.merit h3 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 264px;
	height: 100px;
	margin-top: -30px;

	background-color: #3264DC;
	border-radius: 10px;
	color: #FFF;

	font-size: 18px;
	font-weight: bold;
}
.merit h3 svg {
	position: absolute;
	bottom: -10px;
	width: 20px;
	height: 11px;
}
.merit .src {
	margin-top: 20px;
	width: 200px;
	height: 150px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.merit .src img {
	width: 264px;
	height: 160px;
	object-fit: contain;
}
.merit p {
	font-weight: bold;
}
.merit .dst {
	margin-top: 20px;
	width: 200px;
	height: 180px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.merit .dst img {
	width: 264px;
	height: 210px;
}
.merit hr {
	position: relative;
	width: 100%;
	height: 3px;
	margin: 30px 10px;

	border: none;
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 10 3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><circle cx="5" cy="1" r="1" fill="%233264DC" /></svg>');
	background-size: contain;
	background-repeat: repeat-x;
	background-position: center;
}
.merit hr:after {
	position: absolute;
	left: 50%;
	margin-left: -10px;
	top: -8px;
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 100 80" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M0,0L50,80L100,0z" fill="%233264DC" /></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}


/* 活用例 */
.example-area {
	background-color: #FFF;
	padding: 120px 0 200px;
}
.example {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 32px;
}
.example:first-of-type {
	margin-top: 60px;
}
.example:not(:first-of-type) {
	margin-top: 170px;
}
.example > .text-wrapper {
	flex: 1 1 516px;
}
.example > .image {
	flex: 1.6 1 516px;
}
.example .text-wrapper {
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
}
.example .text {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 516px;
	margin-left: auto;
}
.example .text .label-list {
	display: flex;
	align-items: flex-end;
	gap: 10px;
}
.example .text .label-list .example-number {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding: 10px 15px;
	line-height: 0.7;

	font-size: 32px;
	font-style: italic;
	font-weight: 600;
	font-family: "Barlow Condensed", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
.example .text .label-list .example-number:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 25px;
	background-color: #F5FF15;
}
.example .text .label-list .example-number * {
	z-index: 1;
	position: relative;
}
.example .text .label-list .example-number .number {
	color: #2E5BBE;
	margin-left: 5px;
	font-size: 72px;
}
.example .text .label-list .description {
	height: 25px;
	line-height: 25px;
	padding: 0 10px;

	font-weight: bold;
	background-color: #D3E0FF;
	color: #3264DC;
}
.example .text h3 {
	margin: 15px 0;
	font-size: 26px;
	font-weight: bold;
	text-align: left;
}
.example .text .action {
	height: 76px;
	padding: 0 10px;
	display: flex;
	justify-content: center;
	align-items: center;

	background-color: #EFF0F5;
	border-radius: 10px;
	font-weight: bold;
}
.example .text .result {
	height: 120px;
	padding: 0 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;

	position: relative;

	background-color: #2E5BBE;
	color: #FFF;
	border-radius: 10px;
	font-weight: bold;
	font-size: 22px;
}
.example .text .result p {
	text-align: left;
	margin-left: auto;
	margin-right: auto;
}
.example .text .result b {
	color: #F5FF15;
	font-size: 24px;
}
.example .text .result img {
	height: 84px;
}
.example .text .result svg {
	position: absolute;
	top: -1px;
	left: 50%;
	width: 20px;
	margin-left: -10px;

}
.example img.image {
	width: 50%;
	height: 400px;
	object-fit: cover;
}
.example.reverse {
	flex-direction: row-reverse;
}
.example.reverse .text {
	margin-left: 0;
	margin-right: auto;
}


/* 使い方 */
.how-to-use-area {
	padding: 120px 0 100px;
	background-color: #2F5BBE;
	color: #FFF;
}
.how-to-use-area .step-list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 25px;
	margin-top: 50px;
}
.how-to-use-area .step-list > svg {
	flex: 0 0 auto;
}
.how-to-use-area h2 {
	color: #F5FF15;
}
.how-to-use-area .step-small {
	width: 200px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.how-to-use-area label {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #F5FF15;
	line-height: 1;

	font-family: "Barlow", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-size: 18px;
	font-style: italic;

	position: relative;
	margin-bottom: -18px;
}
.how-to-use-area label .number {
	font-family: "Barlow Condensed", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-weight: 500;
	font-size: 40px;
}
.how-to-use-area .step-small label {
}
.how-to-use-area .step-small .image-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 180px;
	height: 180px;
	background-color: #002486;
	border-radius: 50%;
}
.how-to-use-area .step-small .image-wrapper img {
	width: 110px;
	height: 110px;
	object-fit: contain;
}
.how-to-use-area .step-small p, .how-to-use-area .step-3 p {
	display: block;
	font-weight: bold;
	margin-top: 10px;
}
.how-to-use-area .step-3 {
	display: flex;
	flex-direction: column;
}
.how-to-use-area .step-3 label {
	align-self: flex-start;
	margin-left: 10px;
	margin-bottom: -14px;
}
.how-to-use-area .step-3 .window {
	padding: 20px;
	background-color: #002486;
	border-radius: 10px;
}
.how-to-use-area .step-3 img {
	width: 647px;
	margin-top: -140px;
	/* height: 240px; */
	object-fit: cover;
	border-radius: 10px;
}
.how-to-use-area .step-3 p {
	padding-right: 10%;
}

/* プラン */
.plan-area {
	padding: 170px 0 190px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 90px;
	background-color: #F8FBFF;
	background-image: url('img/price-bg.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.plan-area > .description {
	text-align: left;
	color: #3264DC;
}
.plan-area > .description h2 {
	font-weight: bold;
	font-size: 32px;
	color: #002486;
	margin-bottom: 30px;
}
.plan-area > .description p {
	font-weight: bold;
	font-size: 16px;
}
.price-list {
	position: relative;
	display: flex;
	gap: 20px;
}
.price-list .ribbon {
	position: absolute;
	width: 560px;
	height: 60px;
	line-height: 50px;
	margin-left: -280px;
	left: 50%;
	top: -30px;

	background-image: url(img/ribbon.svg);
	/* background-color: #FFE415; */
	color: #E34600;
	font-size: 24px;
	letter-spacing: 0px;
	font-weight: bold;
	margin-bottom: -20px;
}

.price {
	width: 300px;
	padding: 50px 0 30px;

	display: flex;
	flex-direction: column;
	align-items: center;

	background-color: #FFF;
	box-shadow: 0px 0px 20px #3264DC4D;
	border-radius: 10px;
}
.price .description {
	color: #002486;
	font-weight: bold;
}
.price h3 {
	width: 200px;
	background-color: #5B83E3;
	color: #FFF;
	border-radius: 20px;

	font-size: 20px;
	font-weight: bold;
}
.price h3 span {
	font-size: 28px;
}
.price .non-tax {
	display: flex;
	align-items: flex-end;
	gap: 5px;
	font-weight: bold;
	color: #3264DC;
	margin-top: 10px;
}
.price .detail {
	width: 90%;
	font-weight: bold;
	color: #3264DC;
	font-size: 15px;
	margin-top: 15px;
}
.price .non-tax .number {
	font-size: 40px;
	line-height: 40px;
}
.price .non-tax .unit {
	text-align: left;
	line-height: 1.2;
}
.price .non-tax .unit small {
	display: block;
	font-size: 12px;
}
.price .with-tax {
	color: #676767;
	margin-top: 10px;
}

/* FAQ */
.faq-area {
	padding: 150px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.faq-area h2 {
	color: #002486;
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 20px;
}
.faq {
	margin-top: 20px;
	width: 960px;
	background-color: #FFF;
	border-radius: 10px;
	padding: 10px;
	text-align: left;
}
.faq a {
	color: #3264DC;
	text-decoration: underline;
}
.faq .question {
	color: #002486;
}
.faq .answer {
	font-size: 18px;
}
.faq .question, .faq .answer {
	padding: 10px 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 15px;
}
.faq .question:before, .faq .answer:before {
	content: '';
	display: block;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	margin-left: 10px;

	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.faq .question:before {
	background-image: url('img/icon-Q.svg');
}
.faq .answer:before {
	background-image: url('img/icon-A.svg');
}
.faq hr {
	width: 100%;
	height: 3px;
	border: none;
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 10 3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><circle cx="5" cy="1" r="1" fill="%23807F88" /></svg>');
	background-size: 10px 3px;
	background-repeat: repeat-x;
	background-position: left bottom;
}


/* お問い合わせ */
.contact-area {
	padding: 56px 0 71px;
	background-color: #012A9A;
	background-image: url('img/contact-bg.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.contact-area h2 {
	font-size: 24px;
	letter-spacing: 2px;;
	color: #FFF;
	font-weight: bold;
}
.contact-area address {
	color: #F5FF15;
	text-decoration: none;
	border: none;
	font-size: 36px;
	margin-top: 14px;

	font-family: "Barlow Condensed", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-style: italic;
}

/* 製品名の由来 */
.about {
	margin: 0 63px;
	max-width: 1240px;
	padding: 70px 60px;
	margin: 100px auto 63px;

	background-color: #FFF;
	border-radius: 10px;
	text-align: left;

	font-size: 16px;
}
.about h1 {
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 15px;

	color: #2E5BBE;
}
.about img {
	display: block;
	float: right;
	width: 33%;
	min-width: 240px;
	height: 240px;
	object-fit: contain;
}


/* ベイジアンネットワークとは */
.what-bn {
	margin: 0 63px;
	max-width: 1240px;
	background-color: #FFF;
	border-radius: 10px;
	text-align: left;
	padding: 60px 60px 70px;
	margin: 100px auto 63px;
}
.what-bn .what-bn-main {
	display: flex;
	gap: 40px;
}
.what-bn h1 {
	font-size: 28px;
	font-weight: bold;
	color: #2E5BBE;
	margin: 10px 0;
}
.what-bn h2 {
	font-size: 18px;
	font-weight: bold;
	color: #2E5BBE;
	margin-top: 50px;
	margin-bottom: 10px;
}
.what-bn img {
	width: 640px;
	height: 400px;
	object-fit: contain;

	border-radius: 10px;
	box-shadow: 0px 0px 20px #535c724d;
}

.what-bn ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.what-bn li {
	padding: 8px;
	background-color: #F2F6FF;
	border-left: #3264DC 4px solid;
}

.what-bn .bottom {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	margin-top: 50px;
	gap: 25px;
}
.what-bn b {
	color: #002486;
	font-size: 26px;
}
.what-bn button {
	width: 280px;
	height: 60px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	border-radius: 10px;

	background-color: #2E5BBE;
	color: #FFF;
	font-weight: bold;
}