@charset "utf-8";
/*---------------------------------
btn
---------------------------------*/
.transition_btn {
	width: 100%;
    max-width: 400px;
    margin: 0 auto;
	background-color: var(--color-wh);
	border: 1px solid var(--color-primary);
	box-shadow: 8px 8px 0 rgba(var(--color-primary-rgb), .1);
    border-radius: 9999px;
    text-align: center;
    transform: translate(0, 0);
    transition: .3s;
	a {
		display: inline-block;
		width: 100%;
		height: 100%;
		padding: 20px 10px;
	}
	p {
		color: var(--color-primary);
		font-size: 1.6rem;
		font-weight: 600;
	}
	&:hover {
		background-color: var(--color-primary);
		border: none;
		box-shadow: none;
		transform: translate(4px, 4px);
		p {
			color: var(--color-wh);
		}
	}
}

/*---------------------------------
mv
---------------------------------*/
.mv {
	margin-top: 50px;
    padding: 32px 0 16px;
	background-color: #f7f7f7;
}
.mv_wrapper {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px;
	.mv_content {
		text-align: center;
		.subtitle {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			gap: 4px;
			.text {
				padding: .25em .5em;
				background: #3A5793;
				background-image: linear-gradient(90deg, #3a5793, #1960f3);
				color: #fff;
				font-size: min(calc(15 / 375 * 100vw), 18px);
				font-weight: 600;
			}
			.aiocr_logo {
				width: min(calc(150 / 375 * 100vw), 200px);
			}
		}
		hgroup {
			h2 {
				margin: 12px 0;
				span {
					display: block;
					font-size: min(calc(32 / 375 * 100vw), 40px);
					font-weight: 600;
					line-height: 1.25;
					& + span {
						margin-top: 8px;
					}
					&.text_gradient {
						background: linear-gradient(90deg, #3A5793, #1960F3);
						-webkit-background-clip: text;
						-webkit-text-fill-color: transparent;
						background-clip: text;
					}
				}
			}
		}
		.cta_btn {
			margin-top: 20px;
		}
	}
}
.mv_visual {
	max-width: 560px;
	.mv_visual_list {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 100%;
		margin: 0 auto 16px;
		li {
			width: calc(100% / 3 - 5.3334px);
			padding: .15em .5em;
			border: 2px solid var(--color-secondary);
			border-radius: 9999px;
			background-color: #fff;
			color: var(--color-secondary);
			font-size: 14px;
			line-height: 1.25;
			font-weight: 600;
			text-align: center;
		}
	}
	video {
		width: 100%;
        filter: drop-shadow(0px 0px rgba(0,0,0,0));
        outline: none;
        border: none;
	}
}
@media screen and (min-width: 500px) {
	.mv_wrapper {
		.mv_content {
			hgroup {
				.sp_only {
					display: none;
				}
			}
		}
	}
	.mv_visual {
		.mv_visual_list {
			width: 80%;
			li {
				font-size: 16px
			}
		}
	}
}
@media screen and (min-width: 1024px) {
    .mv {
		margin-top: 80px;
        padding: 80px 0 64px;
    }
	.mv_wrapper {
		flex-direction: row;
		align-items: center;
		gap: 0;
		& > * {
			width: 50%;
		}
		.mv_content {
			text-align: left;
			padding-right: 40px;
			.subtitle {
				gap: 8px;
				.text {
					font-size: 18px;
				}
				.aiocr_logo {
					width: 200px;
				}
			}
			hgroup {
				margin: 16px 0;
				h2 {
					margin: 16px 0;
					span {
						font-size: 44px;
						& + span {
							margin-top: 12px;
						}
					}
				}
			}
			.cta_btn {
				margin-left: 0;
				margin-right: auto;
			}
		}
	}
	.mv_visual {
		max-width: inherit;
		.mv_visual_list {
			li {
				font-size: 16px;
			}
		}
	}
}
/*---------------------------------
company logo
---------------------------------*/
.company-logo {
    background-color: white;
    padding: 16px 0;
  }
@media screen and (max-width: 768px) {
    .company-logo img {
        width: 150px;
    }
}
/*---------------------------------
about
---------------------------------*/
#about.section_wrapper {
    background-color: var(--color-wh);
}
.about_wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	padding: 60px 20px 0;
	.about_wrapper_bg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 75%;
  		background-image: linear-gradient(#bfd9f0, #edcfea);
	}
	& > * {
		z-index: 10;
	}
	.about_content {
		width: 100%;
		max-width: 560px;
		.about_list {
			li {
				padding: .5em 1em;
				background-color: var(--color-wh);
				h3 {
					font-size: min(calc(16 / 375 * 100vw), 18px);
					font-weight: 600;
					line-height: 1.5;
				}
				& + li {
					margin-top: .5em;
				}
			}


		}
	}
	figure {
		max-width: 560px;
	}
}
@media screen and (min-width:1024px) {
	.about_wrapper {
		flex-direction: row;
		align-items: flex-start;
		gap: 0;
		padding: 60px 0 20px 30px;
		.about_wrapper_bg {
			width: 85%;
			height: 100%;
		}
		& > * {
			width: 50%;
		}
		.about_content {
			padding-right: 10px;
			width: inherit;
			.about_list {
				li {
					h3 {
						font-size: 20px;
					}
					& + li {
						margin-top: 1.0em;
					}
				}

			}

		}
	}
}

/* about invox */
.about_invox {
    margin: 32px auto 40px;
}
.about_invox_wrapper {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px;
	margin: 48px auto 0;
	max-width: 560px;
	& > * {
		width: 100%;
	}
	.about_invox_content {
		display: flex;
		flex-flow: row wrap;
		.about_invox_img {
			display: none;
		}
		.about_invox_text {
			width: 100%;
			hgroup {
				h3 {
					.frame_gl {
						display: inline-block;
						margin-right: 0.3em;
						padding: .5em .8em;
						box-decoration-break: clone;
						-webkit-box-decoration-break: clone;
						background: var(--color-primary);
						color: var(--color-wh);
						font-size: 20px;
						line-height: 1.0;
					}
				}
				p {
					margin-top: 12px;
					font-size: 20px;
					font-weight: 600;
				}
				.color_gl {
					color: var(--color-primary);
				}
			}
			.about_invox_description {
				margin-top: 16px;
				p {
					font-weight: 300;
					line-height: 1.75;
				}
			}
		}
	}
	.about_invox_more {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		& > * {
			width: 100%;
		}
		.about_invox_img {
			padding: 0 20px;
		}
		.transition_btn {
			margin-top: 30px;
		}
	}
}
@media screen and (min-width:520px) {
	.about_invox_wrapper {
		.about_invox_more {
			align-items: center;
			& > * {
				width: 50%;
			}
			.about_invox_img {
				padding: 0;
			}
			.about_invox_text {
				hgroup {
					h3 {
						font-size: 24px;
					}
				}
			}
			.transition_btn {
				margin-top: 0;
			}
		}
	}
}
@media screen and (min-width:1024px) {
    .about_invox_wrapper {
		margin-top: 96px;
		max-width: inherit;
		.about_invox_content {
			justify-content: space-between;
			.about_invox_img {
				display: block;
				width: 35%;
			}
			.about_invox_text {
				width: 55%;
			}
		}
		.about_invox_more {
			& > * {
				width: 100%;
			}
			.about_invox_img {
				display: none;
			}
		}
    }
}

/*---------------------------------
cta top
---------------------------------*/
#cta.section_wrapper {
    background-color: rgba(var(--color-quaternary-rgb), .5);
}
#cta h2 span {
    font-size: 1.6rem;
    color: var(--color-or);
}
.cta_flex_r {
    margin: 24px auto 0;
}
.cta_flex_r .title {
    color: var(--color-secondary);
    font-size: 1.8rem;
    font-weight: 600;
}
.cta_flex_r .list {
    margin: 16px auto 32px;
}
.cta_flex_r .list li {
    padding-left: 1.2em;
    position: relative;
}
.cta_flex_r .list li::before {
    content: '・';
    position: absolute;
    left: 0;
}
@media screen and (min-width:768px) {
    .cta_flex {
        display: flex;
        justify-content: center;
        align-items: center;
        max-width: 1024px;
        padding: 0 2%;
        margin: 0 auto;
        gap: 3%;
    }
    .cta_flex_l {
        width: 42%;
    }
    .cta_flex_r {
        width: 55%;
        margin: 0;
    }
}
@media screen and (min-width:1024px) {
    #cta h2 span {
        line-height: 1em;
        font-size: 2rem;
    }
}
/*---------------------------------
demo
---------------------------------*/
#demo.section_wrapper {
    background-color: rgba(var(--color-secondary-rgb), .8);
	& * {
    	color: var(--color-wh);
	}
}
.demo_video {
	padding: 12px;
    background-color: var(--color-wh);
	video {
		width: 100%;
        filter: drop-shadow(0px 0px rgba(0,0,0,0));
        outline: none;
        border: none;
	}
}
.demo_note {
	margin-top: 32px;
	p {
    	font-weight: 300;
		&.indent {
			margin-top: 16px;
			text-indent: -1em;
			padding-left: 1em;
		}
	}
}

/*---------------------------------
table
---------------------------------*/
#table.section_wrapper {
    background-color: var(--color-wh);
}
#table .cta_flex {
	margin-top: 48px;
}
/*#table.section_wrapper * {
    text-align: center;
} */
#table [class^="table_list"]  * {
    text-align: center;
}
#table .section_inner {
    max-width: 800px;
}
.table_list_sp {
    margin-bottom: 40px;
}
.table_list_sp.last {
    margin-bottom: 0;
}
.table_list_sp h3 {
    font-size: 1.8rem;
    padding: 10px 0;
    font-weight: 400;
    color: var(--color-bl);
    background-color: var(--color-quaternary);
    margin-bottom: 6px;
}
.table_list_sp h3 span {
    font-size: 1.4rem;
}
.table_list_sp dl {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.table_list_sp dl dt,
.table_list_sp dl dd {
    margin: 0;
    height: 60px;
    background-color: var(--color-wh);
    box-shadow: 3px 3px 12px rgba(var(--color-secondary-rgb), 0.1);
    width: calc((100% - 8px) / 2);
    font-weight: 300;
    font-size: 1.8rem;
    line-height: 60px;
}
.table_list_sp dl dt.first {
    background-color: var(--color-secondary);
    color: var(--color-wh);
    font-weight: 600;
}
.table_list_sp dl dd.first {
    font-weight: 600;
    font-size: 2.5rem;
    color: var(--color-or);
}
.table_list_sp dl dd.first.notes p {
    font-weight: 600;
    font-size: 2.5rem;
    color: var(--color-or);
    line-height: 60px;
    display: inline-block;
}
.table_list_sp dl dd.first.notes p,
.table_list_pc ul.middle li p.notes{
    position: relative;
}
.table_list_sp dl dd.first.notes p::before,
.table_list_pc ul.middle li p.notes::before {
    content: '※';
    font-size: 1.4rem;
    color: var(--color-bk);
    position: absolute;
    top: -1em;
    right: -1em;
}
.table_list_pc {
    display: none;
}
#table .table_notes {
	margin-top: 1em;
    font-size: 1.2rem;
    text-align: right;
}
.table_hint {
    margin-top: 24px;
}
.table_hint_img {
    margin-bottom: 16px;
	img {
		display: block;
		margin-inline: auto;
		width: 60%;
		max-width: 150px;
	}
}
.table_hint_text {
	p {
		font-weight: 300;
	}
}
@media screen and (min-width: 768px) {
	#table .cta_flex {
		margin-top: 24px;
	}
    .table_hint {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .table_hint_img {
        width: 20%;
		img {
			width: 100%;
			max-width: inherit;
		}
    }
    .table_hint_text {
        width: 76%;
    }
}
@media screen and (min-width: 1024px) {
    #table .section_inner {
        max-width: 1024px;
    }
    .table_list_sp {
        display: none;
    }
    .table_list_pc {
        display: block;
    }
    .table_list_pc h3 span {
        font-size: 1.4rem;
        display: block;
        text-align: left !important;
    }
    .table_list_pc ul.top {
        height: 60px;
        display: flex;
        align-items: center;
        gap: 16px;
        margin-bottom: 16px;
    }
    .table_list_pc ul.top li {
        width: 234px;
    }
    .table_list_pc ul.top li:first-child {
        width: 231px;
    }
    .table_list_pc ul.top li p {
        font-weight: 300;
        font-size: 1.8rem;
        line-height: 60px;
    }
    .table_list_pc ul.top li:not(:first-child) {
        background-color: var(--color-wh);
        box-shadow: 3px 3px 12px rgba(var(--color-secondary-rgb), 0.1);

    }
    .table_list_pc ul.top li:last-child {
        background-color: var(--color-secondary);
    }
    .table_list_pc ul.top li:last-child p {
        color: var(--color-wh);
        font-weight: 600;
    }
    .table_list_pc ul.middle {
        height: 78px;
        display: flex;
        align-items: center;
        gap: 16px;
    }
    .table_list_pc ul.middle:not(:last-child) {
        margin-bottom: 16px;
    }
    .table_list_pc ul.middle li {
        height: 78px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .table_list_pc ul.middle li p {
        font-weight: 300;
        font-size: 1.8rem;
    }
    .table_list_pc ul.middle li h3 {
        color: var(--color-bl);
        font-weight: 400;
        font-size: 1.8rem;
        line-height: 21px;
        text-align: left !important;
    }
    .table_list_pc ul.middle li:not(:first-child) {
        width: 234px;
        background-color: var(--color-wh);
        box-shadow: 3px 3px 12px rgba(var(--color-secondary-rgb), 0.1);
    }
    .table_list_pc ul.middle li:first-child {
        width: 231px;
        background-color: var(--color-quaternary);
        box-shadow: none;
        padding: 0 24px;
        justify-content: left;
    }
    .table_list_pc ul.middle li:last-child p {
        color: var(--color-or);
        font-weight: 600;
        font-size: 2.5rem;
    }
    .table_list_pc ul.middle li p.notes {
        position: relative;
    }
    .table_list_pc ul.middle li p.notes::before {
        content: '※';
        font-size: 1.4rem;
        color: var(--color-bk);
        position: absolute;
        top: -1em;
        right: -1em;
    }
}

/*---------------------------------
case
---------------------------------*/
#case {
	background-color: rgba(var(--color-quaternary-rgb), .5);
}
.case_slider {
   width: 100%;
   /*max-width: 800px; */
   margin-inline: auto;
   .slick-slide {
    	margin: 0;
    	height: auto;
	}
	.slick-prev,
	.slick-next {
		position: absolute;
		top: 40%;
		height: 48px;
		width: 48px;
		cursor: pointer;
		outline: none;
		z-index: 1;
	}
	.slick-prev{
		background: url("/ai-ocr/img/top/slider_prev.svg") 0 0 no-repeat;
		background-size: contain;
		left: -4%;
		}
	.slick-next {
		background: url("/ai-ocr/img/top/slider_next.svg") 0 0 no-repeat;
		background-size: contain;
		right: -4%;
	}
	.slick-dots li {
		margin-right: 10px;
		margin-left: 10px;
	}
	.slick-dots li button::before {
		font-size: 14px;
		line-height: 14px;
	}
	.slick-dots li button:before {
		color: var(--color-secondary);
	}
	.slick-dots li.slick-active button:before {
		color:var(--color-secondary);
	}
	.slick-track {
		display: flex;
	}
	.case_slider_item {
		&:not(.slick-active) {
			opacity: .5;
			a {
				pointer-events: none;
			}
		}
		a {
			display: flex;
			flex-direction: column;
			position: relative;
			height: 100%;
			background-color: var(--color-wh);
			border-radius: 12px;
			figure {
				margin: 0;
				overflow: hidden;
				img {
					border-radius: 12px 12px 0 0;
    				transition: .3s;
				}
			}
			.text {
				padding: 16px;
				.tag {
					display: flex;
					flex-flow: row wrap;
					gap: 8px;
					li {
						padding: .5em 1.5em;
						background-color: var(--color-secondary);
						border-radius: 9999px;
						color: var(--color-wh);
						font-size: 14px;
						font-weight: 600;
						line-height: 1;
					}
				}
				h3 {
					margin-top: 1em;
					color: var(--color-secondary);
					font-size: 18px;
					font-weight: 600;
					line-height: 1.5;
				}
				.company {
					margin-top: 1.5em;
					font-size: 16px;
				}
			}
			&:hover {
				figure {
					img {
						transform: scale(1.08);
					}
				}
			}
		}
	}
}
@media (min-width: 1024px) {
	.case_slider {
		.case_slider_item {
			a {
				.text {
					h3 {
						font-size: 18px;
					}
				}
			}
		}
	}
}
@media (min-width:600px) {
	.case_slider {
		.slick-slide {
			margin: 0 12px;
		}
		.slick-prev,
		.slick-next {
			top: 40%;
			height: 64px;
			width: 64px;
		}
		.case_slider_item {
			a {
				.text {
					padding: 32px;
					h3 {
						font-size: 20px;
					}
				}
			}
		}
	}
}
#case {
	.transition_btn {
		margin-top: 30px;
	}
}
/*---------------------------------
faq
---------------------------------*/
#faq.section_wrapper {
    background-color: var(--color-wh);
}

.faq_item {
    max-width: 960px;
    margin: 0 auto 16px;
    cursor: pointer;
}

.faq_question {
    padding: 0 20px 0 56px;
    position: relative;
    background-color: var(--color-secondary);
    border-radius: 10px;
    height: 66px;
    font-weight: 600;
    display: flex;
    align-items: center;
    color: var(--color-wh);
}

.faq_question::after {
    content: '';
    width: 18px;
    height: 30px;
    background-image: url(/ai-ocr/img/top/icon-question.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 24px;
    transform: translateY(-50%);
}
.faq_question.open::before {
    transform: translateY(-50%) rotate(0deg);
}

.faq_answer {
    padding: 16px;
    font-size: 1.2rem;
    color: var(--color-bl);
    position: relative;
    display: none;
}

.faq_answer span {
    position: relative;
    color: #809BD3;
    display: block;
    text-align: right;
    margin-top: 1em;
    padding-top: 0.5em;
    font-size: 1.2rem;
}

.faq_answer span::before,
.faq_answer span::after {
    content: '';
    width: 6px;
    height: 1px;
    background-color: #809BD3;
    position: absolute;
    top: 0;
}

.faq_answer span::before {
    transform: rotate(45deg);
    left: calc(100% - 19px);
}

.faq_answer span::after {
    transform: rotate(-45deg);
    right: 17px;
}

.more_btn_faq {
    position: relative;
    display: block;
    margin: 0 0 0 auto;
    padding-right: 20px;
    width: fit-content;
	color: var(--color-primary);
    font-size: 1.6rem;
    font-weight: 600;
    text-align: right;
}

.more_btn_faq::after,
.more_btn_faq::before {
    content: '';
    width: 8px;
    height: 1px;
    background-color: var(--color-primary);
    position: absolute;
    right: 0;
}

.more_btn_faq::before {
    transform: rotate(45deg);
    top: 0.6em;
}

.more_btn_faq::after {
    transform: rotate(-45deg);
    bottom:0.5em;
}

@media screen and (min-width: 768px) {
    .faq_question {
        padding: 0 4% 0 10%;
    }

    .faq_question::after {
        left: 4%;
    }

    .faq_answer {
        font-size: 1.4rem;
    }
}

@media screen and (min-width: 1024px) {
    .faq_answer {
        font-size: 1.6rem;
        padding: 32px 32px 24px 32px;
    }
    .faq_answer span {
        margin-top: 2em;
    }

    .more_btn_faq {
        font-size: 1.8rem;
    }
}
