@charset "UTF-8";

/* =BreakPoint
--------------------------------------------------------------
PC and TABLET ( and SP landscape )
@media ( min-width: 601px ){

PC ( and TABLET landscape )
@media ( min-width: 961px ){

TABLET ( and SP landscape )
@media ( min-width: 601px ) and ( max-width: 960px ){

TABLET and SP ( not TABLET landscape )
@media ( max-width: 960px ){

SP ( only portrait )
@media ( max-width: 600px ){

over
@media ( min-width: 1101px ){

under
@media ( max-width: 1100px ){
--------------------------------------------------------------
*/

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}

/* clearfix */
.cf:before, .cf:after {content:"";display:table;}
.cf:after {clear:both;}
.clr {clear: both;}


/* =Styles 
-------------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', YuGothic, -apple-system, BlinkMacSystemFont, 'Yu Gothic Medium', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	font-weight: 500;
	font-style: normal;
	color: var(--black);
	background: #fff;
}
a {
	text-decoration: none;
	color: #fff;
}
@media ( min-width: 601px ){
	body {
		font-size: 15px;
	}
	.sp {
		display: none !important;
	}
	.inner {
		max-width: 1100px;
		margin: 0 auto;
		padding: 0 20px;
	}
}
@media ( min-width: 961px ){
	.sptab {
		display: none !important;
	}
}
@media ( max-width: 960px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 600px ){
	body {
		font-size: 3.2vw;
	}
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 5.3333vw;
	}
}

:root {
	--navy: #034389;
	--light_blue: #1894D0;
	--red: #FB4C2D;
	--black: #0B1020;
	--yellow: #FCFF22;
}


#main_content {
	overflow: hidden;
}
body.thanks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
body.thanks #main_content {
	flex: 1;
}

/*-----------------------------------
common
-----------------------------------*/
#head {
	background: #fff;
}
#head.top,
.head.top {
	display: flex;
	align-items: center;
}
.head.top .catch {
	font-weight: bold;
}
@media ( min-width: 601px ) {
	#head {
		padding: 17px 0 0;
	}
	#head.top,
	.head.top {
		padding: 13px 20px 17px;
	}
	.head.top .catch {
		font-size: 16px;
		margin-left: 10px;
	}
}
@media ( max-width: 600px ) {
	#head,
	.head {
		padding: 0.8vw 4.8vw 0;
	}
	#head .logo,
	.head .logo {
		width: 25.3333vw;
	}
	.head.top .catch {
		font-size: 2.6667vw;
	}
	#document_conversion .head.top {
		background: url(img/bg_dc_head.jpg)no-repeat center/cover;
	}
}
@media ( min-width: 961px ){
	#head.top,
	.head.top {
		justify-content: center;
		background: url(img/bg_head.jpg)no-repeat center/cover;
	}
}
@media ( max-width: 960px ){
	#head.top,
	.head.top {
		justify-content: space-between;
		text-align: left;
		background: #D9D9D9;
	}
}

/*-----------------------------------
kv
-----------------------------------*/
#kv {
	position: relative;
}
#kv .wrap {
	overflow: hidden;
}
#kv .wrap .text_wrap .catch {
	color: #fff;
}
#kv .wrap .text_wrap .catch .block {
	display: inline-block;
	color: #20130B;
	font-weight: bold;
	background: #fff;
}
#kv .wrap .text_wrap .catch .block span {
	color: #1D5CD0;
}
#kv .wrap .text_wrap .catch .text {
	display: block;
}
#kv .wrap .text_wrap .catch .text .color {
	position: relative;
	z-index: 1;
}
#kv .wrap .text_wrap .catch .text .color::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 98%;
	height: 0.5em;
	margin: 0 auto;
	background: #1D5CD0;
	z-index: -1;
}
#kv .wrap .graph {
	position: relative;
}
#kv .wrap .graph .note {
	color: #fff;
	text-align: left;
}
#kv .wrap .text_wrap ul {
	display: inline-flex;
	flex-wrap: wrap;
}
#kv .wrap .text_wrap ul li {
	color: #fff;
	font-weight: bold;
	background: var(--light_blue);
}
#kv .links {
	position: absolute;
}
@media ( min-width: 601px ) {
	#kv .kv_case {
		padding: 0 20px;
	}
}
@media ( min-width: 961px ){
	#kv {
		background: url(img/bg_kv.jpg)no-repeat left 20%/cover;
	}
	#kv .inner {
		position: relative;
		padding: min(3.508vw, 40px) 20px 0;
	}
	#kv .wrap {
		position: relative
	}
	#kv .wrap .text_wrap {
		max-width: min(48.1579vw, 549px);
		margin: 0 0 min(7.5439vw, 86px);
	}
	#kv .wrap .text_wrap .catch {
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 min(3.1579vw, 36px);
		filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
	}
	#kv .wrap .text_wrap .catch .text {
		font-size: min(4.2105vw, 48px);
		margin: 0 0 min(1.0526vw, 12px);
		text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	}
	#kv .wrap .text_wrap .catch .text .color {
		padding: 0 0.1em;
	}
	#kv .wrap .text_wrap .catch .text .small {
		font-size: min(2.807vw, 32px);
		padding-left: 0.2em;
	}
	#kv .wrap .text_wrap .catch .block {
		font-size: min(2.4561vw, 28px);
		padding: 0 2.07em 3px;
		margin: 0 0 15px;
		box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	}
	#kv .wrap .text_wrap .catch .text_img {
		width: min(33.2456vw, 379px);
		margin: 0 auto min(3.1579vw, 36px);
	}
	#kv .wrap .text_wrap ul {
		justify-content: center;
		gap: min(0.7018vw, 8px) min(0.8772vw, 10px);
	}
	#kv .wrap .text_wrap ul li {
		font-size: min(1.7544vw,20px);
		line-height: 1.4;
		letter-spacing: 0.04em;
		padding: 1px 5px 3px;
		border-radius: 5px;
	}
	#kv .wrap .graph {
		position: absolute;
		top: 0;
		right: -4.18%;
		width: 55.54%;
	}
	#kv .wrap .graph .note {
		position: absolute;
		left: 0;
		bottom: min(1.4912vw, 17px);
		font-size: 12px;
		line-height: 1.4;
		padding-left: 7.2%;
	}
	#kv .kv_case {
		max-width: 1011px;
		margin: 20px auto 0;
		padding-bottom: 30px;
	}
	#kv .links {
		top: -75px;
		right: 0;
	}
	#kv .links a {
		opacity: 1;
		transition: .3s;
	}
	#kv .links a:hover {
		opacity: .8;
	}
}
@media ( min-width: 1440px ){
	#kv .links {
		right: calc((100vw - 1100px) / 2 - 170px);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	#kv .wrap .graph .note {
		padding: 0 20px;
	}
}
@media ( max-width: 960px ){
	#kv .wrap {
		text-align: left;
		padding: min(17.33vw, 130px) 0 min(2.6667vw, 20px);
		background: url(img/bg_kv_sp.jpg)no-repeat;
		background-size: cover;
	}
	#kv .wrap .inner {
		max-width: 670px;
	}
	#kv .wrap .text_wrap .catch {
		margin: 0 0 min(3.1579vw, 36px);
		filter: drop-shadow(0px 1.0667vw 1.0667vw rgba(0, 0, 0, 0.25));
	}
	#kv .wrap .text_wrap .catch .text {
		font-size: min(8vw, 60px);
		line-height: 1.2;
		margin: 0 0 min(2.6667vw, 20px);
		text-shadow: 0px 1.0667vw 1.0667vw rgba(0, 0, 0, 0.25);
	}
	#kv .wrap .text_wrap .catch .text .color {
		padding: 0 0.2em;
	}
	#kv .wrap .text_wrap .catch .text .small {
		font-size: min(5.3333vw, 40px);
		padding-left: 0.2em;
	}
	#kv .wrap .text_wrap .catch .block {
		font-size: min(3.7333vw, 28px);
		padding: min(1.3333vw, 10px) min(1.3333vw,10px) min(1.6vw, 12px);
		box-shadow: 0px 1.0667vw 1.0667vw rgba(0, 0, 0, 0.25);
	}
	#kv .wrap .text_wrap .catch .text_img {
		display: block;
		width: min(53.8667vw, 379px);
		margin: 0 0 min(2.6667vw, 20px);
	}
	#kv .wrap .text_wrap ul {
		gap: min(1.0667vw, 8px);
	}
	#kv .wrap .text_wrap ul li {
		font-size: min(3.7333vw,28px);
		line-height: 1.4;
		letter-spacing: 0.03em;
		padding: min(0.2667vw, 2px) min(1.3333vw, 10px);
		border-radius: min(0.8vw, 6px);
	}
	#kv .wrap .graph {
		margin: max(-8.8vw, -66px) max(-5.3333vw, -40px) 0;
	}
	#kv .wrap .graph .note {
		font-size: min(2.6667vw, 20px);
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: -1.7em auto 0;
		max-width: 670px;
	}
	#kv .links {
		top: max(-1.3333vw, -10px);
		right: min(5.3333vw, 40px);
		width: min(48vw, 360px);
	}
	#kv .kv_case {
		background-color: #F2F3FF;
	}
}
@media ( max-width: 600px ){
	#kv .wrap .graph .note {
		padding: 0 5.3333vw;
	}
}

/*-----------------------------------
cta_are
-----------------------------------*/
.cta_are {
	background: linear-gradient(92.43deg, #1793CF 15.62%, #024288 76.14%);	
}
.cta_are .wrap .btn_wrap .text {
	position: relative;
	display: inline-block;
	color: #fff;
	font-weight: bold;
}
.cta_are .wrap .btn_wrap .text::before,
.cta_are .wrap .btn_wrap .text::after {
	content: '';
	position: absolute;
}
.cta_are .wrap .btn_wrap .text::before {
	left: 0;
	background: url(img/line_left.svg)no-repeat center/cover;
}
.cta_are .wrap .btn_wrap .text::after {
	right: 0;
	background: url(img/line_right.svg)no-repeat center/cover;
}
.cta_are .wrap .btn_wrap .btn {
	position: relative;
	font-weight: bold;
}
.cta_are .wrap .btn_wrap .btn a {
	display: flex;
	justify-content: center;
	align-items: center;
}
.cta_are .wrap .btn_wrap .btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.cta_are .wrap .btn_wrap .btn .contact {
	color: var(--black);
	background: linear-gradient(90deg, #FFE522 42%, #FFB005 100%);
}
.cta_are .wrap .btn_wrap .btn .contact::after {
	background: url(img/icon_btn_contact.svg)no-repeat center/contain;
}
.cta_are .wrap .btn_wrap .btn .document {
	background: linear-gradient(90deg, #FF7227 42%, #FF5335 100%);
}
.cta_are .wrap .btn_wrap .btn .document::after {
	background: url(img/icon_btn_document.svg)no-repeat center/contain;
}
.cta_are .wrap .btn_wrap .btn .document.ocr::before {
	content: '';
	position: absolute;
	background: url(img/btn_img_ocr.png)no-repeat center/contain;
}
.cta_are .wrap .btn_wrap .btn .document.dc::before {
	content: '';
	position: absolute;
	background: url(img/btn_img_dc.jpg)no-repeat left/contain;
}
.cta_are .trial a {
	display: inline-block;
	border-bottom: 1px solid #fff;
}
@media ( min-width: 601px ){
	.cta_are {
		padding: 29px 0 42px;
	}
	.cta_are.trial {
		padding: 46px 0;
	}
	.cta_are .wrap {
		gap: 0 50px;
	}
	.cta_are .wrap .btn_wrap {
		flex: 1 1 50%;
		max-width: 525px;
	}
	.cta_are .wrap .btn_wrap .text {
		font-size: 20px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		padding: 0 24px;
		margin: 0 0 7px;
	}
	.cta_are .wrap .btn_wrap .text::before,
	.cta_are .wrap .btn_wrap .text::after {
		bottom: 0;
		width: 15px;
		height: 20px;
	}
	.cta_are .wrap .btn_wrap .btn {
		font-size: 30px;
	}
	.cta_are .wrap .btn_wrap .btn a {
		height: 80px;
		border-radius: 100px;
		box-shadow: 5px 4px 20px rgba(0, 0, 0, 0.28);
	}
	.cta_are .wrap .btn_wrap .btn a::after {
		right: 23px;
		width: 49px;
		height: 49px;
	}
	.cta_are .wrap .btn_wrap .btn .document.ocr::before {
		top: -7px;
		left: 5.14%;
		width: 25.9%;
		height: 94px;
	}
	.cta_are .wrap .btn_wrap .btn .document.dc::before {
		top: -6px;
		left: 5.14%;
		width: 19.23%;
		height: 76px;
	}
	.cta_are .trial {
		margin: 20px 0 0;
	}
	.cta_are .trial a {
		font-size: 20px;
		padding: 0 0 2px;
	}
}
@media ( min-width: 961px ){
	.cta_are.top {
		position: relative;
	}
	.cta_are .wrap {
		display: flex;
		justify-content: center;
	}
	.cta_are .wrap .btn_wrap .btn a {
		transition: box-shadow .3s;
	}
	.cta_are .wrap .btn_wrap .btn a:hover {
		box-shadow: none;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.cta_are .wrap .btn_wrap {
		margin: 0 auto;
	}
	.cta_are .wrap .btn_wrap + .btn_wrap {
		margin: 40px auto 0;
	}
}
@media ( max-width: 600px ){
	.cta_are {
		padding: 6.9333vw 0 7.7333vw;
	}
	.cta_are .wrap .btn_wrap + .btn_wrap {
		margin: 5.3333vw auto 0;
	}
	.cta_are .wrap .btn_wrap .text {
		font-size: 4.2667vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		padding: 0 3.4667vw;
		margin: 0 0 1.8667vw;
	}
	.cta_are .wrap .btn_wrap .text::before,
	.cta_are .wrap .btn_wrap .text::after {
		bottom: 0.8vw;
		width: 2.6667vw;
		height: 3.4667vw;
	}
	.cta_are .wrap .btn_wrap .btn {
		font-size: 6.1333vw;
	}
	.cta_are .wrap .btn_wrap .btn a {
		height: 13.3333vw;
		border-radius: 26.6667vw;
		box-shadow: 1.3333vw 1.0667vw 5.3333vw rgba(0, 0, 0, 0.28);
	}
	.cta_are .wrap .btn_wrap .btn a::after {
		right: 1.6vw;
		width: 10.9333vw;
		height: 10.9333vw;
	}
	.cta_are .wrap .btn_wrap .btn .document.ocr::before {
		top: -1.8667vw;
		left: 0;
		width: 24vw;
		height: 16.2667vw;
	}
	.cta_are .wrap .btn_wrap .btn .document.dc::before {
		top: -1.8667vw;
		left: 0;
		width: 17.8667vw;
		height: 13.3333vw;
	}
	.cta_are .trial {
		margin: 4.5333vw 0 0;
	}
	.cta_are .trial a {
		font-size: 4.2667vw;
		padding: 0 0 0.5333vw;
	}
}

/*-----------------------------------
problem
-----------------------------------*/
#ocr_problem {
	position: relative;
	overflow: hidden;
}
.problem .sec_ttl {
	color: var(--navy);
	font-weight: bold;
}
.problem .type_list {
	position: relative;
	z-index: 1;
}
.problem .type_list li {
	border: 1px solid #FFFFFF;
	background: linear-gradient(180deg, #D2DCF0 47.71%, #9BBDFF 110.95%);
	box-sizing: border-box;
}
.problem .solution {
	position: relative;
	z-index: 0;
}
.problem .solution .solution_ttl {
	position: relative;
	display: inline-block;
	color: #fff;
}
.problem .solution .solution_list {
	display: flex;
	flex-wrap: wrap;
}
.problem .type_list li .text {
	font-weight: bold;
}
.problem .type_list li .text span {
	color: var(--light_blue);
}
.problem .solution .solution_list li .comment {
	position: absolute;
	color: var(--light_blue);
	font-weight: bold;
	white-space: nowrap;
	background: var(--yellow);
	box-sizing: border-box;
}
.problem .solution .solution_list li .comment::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: var(--yellow);
	clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.problem .solution .note {
	color: #fff;
	text-align: left;
}
.problem .solution .solution_list li .body p {
	font-weight: bold;
}
.problem .solution .solution_list li .body p .red {
	color: var(--red);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--yellow);
	text-decoration-skip-ink: none !important;
}
.red::first-letter,
.red::first-line {
	text-decoration: underline;
}
@media ( min-width: 601px ){
	#ocr_problem {
		background: url(img/bg_problem.jpg)no-repeat #E3F1FB top center/100% auto;
	}
	.problem {
		padding: 84px 0 0;
	}
	.problem .sec_ttl {
		font-size: 52px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 53px;
	}
	.problem .type_list {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		gap: 40px 20px;
	}
	.problem .type_list li {
		display: flex;
		flex-direction: column;
		padding: 0 0 18px;
		border-radius: 40px 0px 0px 0px;
		box-shadow: 5px 6px 40px rgba(0, 0, 0, 0.2);
	}
	.problem .type_list li .icon {
		margin-top: -24px;
	}
	.problem .type_list li:nth-child(1) .icon,
	.problem .type_list li:nth-child(2) .icon,
	.problem .type_list li:nth-child(4) .icon {
		margin-bottom: 21px;
	}
	.problem .type_list li:nth-child(3) .icon {
		margin-bottom: 8px;
	}
	.problem .type_list li .text {
		font-size: 18px;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	.problem .type_list li .text span {
		font-size: 23px;
		font-weight: bold;
	}
	.problem .solution {
		padding: 120px 0 60px;
		margin-top: -76px;
	}
	.problem .solution::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		max-width: 1790px;
		background: var(--light_blue);
		z-index: -1;
	}
	.problem .solution::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 245px;
		max-width: 1790px;
		background: #29A3DE;
		clip-path: polygon(100% 0, 0 0, 50% 100%);
		z-index: -1;
	}
	.problem .solution .solution_ttl {
		font-size: 52px;
		margin: 0 0 48px;
	}
	.problem .solution .solution_ttl .logo {
		display: inline-block;
		width: 277px;
		padding-right: 5px;
	}
	.problem .solution .solution_list {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	.problem .solution .solution_list li {
		position: relative;
		display: flex;
		flex-direction: column;
		padding-top: 94px;
	}
	.problem .solution .solution_list li .comment {
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		font-size: 18px;
		line-height: 1.2;
		padding: 5px 20px 7px;
		border-radius: 100px;
	}
	#ocr_problem .solution .solution_list li .comment {
		max-width: 190px;
	}
	.problem .solution .solution_list li .comment::after {
		bottom: -11px;
		width: 15px;
		height: 12px;
	}
	.problem .solution .solution_list li .body {
		flex: 1 1 auto;
		padding: 0 3px 20px;
		border-radius: 40px 0px 0px 0px;
		box-shadow: 5px 6px 40px rgba(0, 0, 0, 0.2);
		background: linear-gradient(180deg, #FFFFFF 56%, #E3DEDE 100%);
	}
	.problem .solution .solution_list li .body .icon {
		margin-top: -39px;
	}
	#ocr_problem .solution .solution_list li:nth-child(1) .icon {
		margin-bottom: 13px;
	}
	#ocr_problem .solution .solution_list li:nth-child(2) .icon {
		margin-bottom: 38px;
	}
	#ocr_problem .solution .solution_list li:nth-child(3) .icon {
		margin-bottom: 44px;
	}
	#ocr_problem .solution .solution_list li:nth-child(4) .icon {
		margin-bottom: 25px;
	}
	.problem .type_list li:nth-child(3) .icon {
		margin-bottom: 8px;
	}
	.problem .solution .solution_list li .body p {
		font-size: 18px;
		letter-spacing: 0.04em;
		line-height: 1.5;
	}
	.problem .solution .solution_list li .body p .red {
		font-size: 23px;
		text-decoration-thickness: 15px;
		text-underline-offset: -7px;
	}
	.problem .solution .solution_list li .body p .small {
		font-size: 20px;
	}
	.problem .solution .solution_list li .body p .sup {
		font-size: 14px;
		margin-left: 4px;
	}
	.problem .solution .solution_list li .body p .large {
		font-size: 23px;
		line-height: 1.3;
	}
}
@media ( min-width: 961px ){
	.problem .type_list li,
	.problem .solution .solution_list li {
		flex: 0 0 calc((100% - 60px)/4);
	}
	.problem .solution .solution_ttl {
		padding: 0 59px 16px 0;
		border-bottom: 4px solid #fff;
	}
	.problem .solution .solution_ttl::after {
		content: '';
		position: absolute;
		right: 0;
		top: 0;
		width: 54px;
		height: 54px;
		background: url(img/icon_light.svg)no-repeat center/contain;
	}
}
@media ( min-width: 1137px ){
	.problem .solution .solution_list li .body p {
		position: relative;
	}
	.problem .solution .solution_list li .body p .sup {
		position: absolute;
		top: -0.9em;
		right: 3px;
		margin: 0;
	}
}
@media ( min-width: 1790px ){
	.problem .solution::before,
	.problem .solution::after {
		left: calc(50% + 75px);
		transform: translateX(-50%);
	}
	.problem .solution::after {
		clip-path: polygon(100% 0, 0 0, 46.8% 100%);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.problem .solution .solution_list li .body p {
		position: relative;
	}
	.problem .solution .solution_list li .body p .sup {
		position: absolute;
		top: -0.9em;
		right: 3px;
		margin: 0;
	}
	.problem .type_list,
	.problem .solution .solution_list {
		justify-content: center;
	}
	.problem .type_list li,
	.problem .solution .solution_list li {
		flex: 0 1 261px;
	}
	.problem .solution .solution_ttl .border {
		padding: 0 0 16px;
		border-bottom: 4px solid #fff;
	}
	.problem .solution .solution_ttl .border:last-child {
		padding: 0 59px 16px 0;
	}
	.problem .solution .solution_ttl .border:last-child::after {
		width: 54px;
		height: 54px;
	}
}
@media ( max-width: 960px ){
	.problem .solution .solution_ttl .border {
		position: relative;
		display: inline-block;
	}
	.problem .solution .solution_ttl .border:last-child::after {
		content: '';
		position: absolute;
		right: 0;
		top: 0;
		width: 54px;
		height: 54px;
		background: url(img/icon_light.svg)no-repeat center/contain;
	}
}
@media ( max-width: 600px ){
	#ocr_problem {
		padding: 13.6vw 0 0;
		background: url(img/bg_problem_sp.jpg)no-repeat #E3F1FB top center/100% auto;
	}
	.problem .sec_ttl {
		font-size: 7.4667vw;
		line-height: 1.4;
		width: 100vw;
		white-space: nowrap;
		margin: 0 0 6.9333vw -5.3333vw;
	}
	.problem .type_list li {
		display: flex;
		align-items: center;
		padding: 3.2vw 3.2vw 3.2vw 0;
		border-radius: 10.6667vw 0px 0px 0px;
		box-shadow: 0.8vw 0.8vw 4.2667vw rgba(0, 0, 0, 0.2);
	}
	.problem .type_list li + li {
		margin-top: 2.6667vw;
	}
	.problem .type_list li .icon {
		flex: 0 0 32.2667vw;
	}
	.problem .type_list li .text {
		font-size: 4.2667vw;
		text-align: left;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	.problem .type_list li .text span {
		font-size: 4.8vw;
		font-weight: bold;
	}
	.problem .solution {
		padding: 20.5333vw 0 7.7333vw;
		margin-top: -12vw;
		background: var(--light_blue);
	}
	.problem .solution::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 41.0667vw;
		background: #29A3DE;
		clip-path: polygon(100% 0, 100% 11.7333vw, 50% 100%, 0 11.7333vw, 0 0);
		z-index: -1;
	}
	.problem .solution .solution_ttl {
		font-size: 7.4667vw;
		font-weight: bold;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 48px;
	}
	.problem .solution .solution_ttl .logo {
		display: inline-block;
		width: 49.6vw;
		padding-right: 0.8vw;
		vertical-align: bottom;
	}
	.problem .solution .solution_ttl .border {
		border-bottom: 0.5333vw solid #fff;
	}
	.problem .solution .solution_ttl .border:last-child {
		padding: 0 8.8vw 0 0;
		margin: 1.3333vw 0 0;
	}
	.problem .solution .solution_ttl .border:last-child::after {
		width: 8.8vw;
		height: 8.8vw;
	}
	.problem .solution .solution_list {
		gap: 6.6667vw 0;
	}
	.problem .solution .solution_list li {
		flex: 1 1 auto;
		position: relative;
		padding: 3.2vw 3.4667vw 3.2vw 0;
		border-radius: 10.6667vw 0px 0px 0px;
		box-shadow: 0.8vw 0.8vw 4.2667vw rgba(0, 0, 0, 0.2);
		background: linear-gradient(180deg, #FFFFFF 56%, #E3DEDE 100%);
	}
	.problem .solution .solution_list li .comment {
		top: -4vw;
		font-size: 3.7333vw;
		line-height: 1.2;
		padding: 1.3333vw 2.4vw 1.8667vw;
		border-radius: 26.6667vw;
	}
	#ocr_problem .solution .solution_list li .comment {
		right: 12vw;
		min-width: 35.7333vw;
	}
	.problem .solution .solution_list li .comment::after {
		bottom: -3.4667vw;
		width: 4.5333vw;
		height: 4vw;
	}
	.problem .solution .solution_list li .body {
		display: flex;
		align-items: center;
	}
	.problem .solution_list li .icon {
		flex: 0 0 32.2667vw;
	}
	#ocr_problem .solution .solution_list li:first-child .body p {
		padding-top: 3.4667vw;
	}
	#ocr_problem .solution .solution_list li:nth-child(4) .body p {
		padding-top: 0.8vw;
	}
	.problem .solution .solution_list li .body p {
		font-size: 4.2667vw;
		letter-spacing: 0.04em;
		line-height: 1.5;
		text-align: left;
	}
	.problem .solution .solution_list li .body p .red {
		font-size: 4.8vw;
		text-decoration-thickness: 2.9333vw;
		text-underline-offset: -1.6vw;
	}
	.problem .solution .solution_list li .body p .small {
		font-size: 4.2667vw;
	}
	.problem .solution .solution_list li:first-child .body p .small {
		font-size: 4.8vw;
	}
	.problem .solution .solution_list li .body p .sup {
		font-size: 3.2vw;
		margin-left: 0.8vw;
	}
	.problem .solution .solution_list li .body p .large {
		font-size: 4.8vw;
		line-height: 1.3;
	}
	.problem .solution .note {
		font-size: 3.2vw;
		line-height: 1.4;
		margin-top: 1.6vw;
	}
}

/*-----------------------------------
problem ocr_contents
-----------------------------------*/
.problem {
	overflow: hidden;
}
.problem .ocr_contents dl {
	position: relative;
	background: #fff;
}
.problem .ocr_contents dl dt {
	position: relative;
	color: var(--navy);
	text-align: left;
	font-weight: bold;
}
.problem .ocr_contents dl dt::after {
	content: '';
	position: absolute;
	background: url(img/icon_1.png)no-repeat center/contain;
}
.problem .ocr_contents dl dd .wrap .text {
	text-align: left;
}
.problem .ocr_contents ul {
	display: flex;
	flex-wrap: wrap;
}
.problem .ocr_contents .note {
	text-align: left;
}
@media ( min-width: 601px ){
	.problem .ocr_contents {
		padding: 103px 0 100px;
		background: url(img/bg_ocr_problem.png)no-repeat #E3F1FB bottom left/100% auto;
	}
	.problem .ocr_contents dl {
		border-radius: 20px;
	}
	.problem .ocr_contents dl dt {
		font-size: 38px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		border-bottom: 4px solid var(--light_blue);
	}
	.problem .ocr_contents dl dd {
		padding: 34px 50px 80px;
	}
	.problem .ocr_contents dl dd .wrap {
		margin: 0 0 40px;
	}
	.problem .ocr_contents dl dd .wrap .text {
		font-size: 16px;
		line-height: 1.7;
	}
	.problem .ocr_contents dl dd .ocr_img {
		display: inline-block;
		max-width: 730px;
		padding: 0 0 0 min(2.9126vw, 24px);
		margin: 0 auto 28px;
	}
	.problem .ocr_contents ul li .icon {
		margin: 0 0 13px;
	}
	.problem .ocr_contents ul li p {
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	.problem .ocr_contents .note {
		font-size: 14px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin-top: 30px;
	}
}
@media ( min-width: 961px ){
	.problem .ocr_contents dl dt {
		padding: 43px 220px 23px 50px;
	}
	.problem .ocr_contents dl dt::after {
		top: -62px;
		right: -12px;
		width: 191px;
		height: 251px;
	}
	.problem .ocr_contents dl dd .wrap {
		display: flex;
		flex-direction: row-reverse;
		gap: 0 27px;
	}
	.problem .ocr_contents dl dd .wrap .text {
		flex: 1 1 auto;
	}
	.problem .ocr_contents dl dd .wrap .img {
		flex: 0 0 213px;
	}
	.problem .ocr_contents ul {
		justify-content: space-between;
		gap: 0 20px;
	}
	.problem .ocr_contents ul li {
		flex: 0 0 calc((100% - 60px)/4);
	}
	.problem .ocr_contents ul li p {
		font-size: min(1.6364vw, 18px);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.problem .ocr_contents dl dt {
		padding: 43px 23% 23px 50px;
	}
	.problem .ocr_contents dl dd .wrap .img {
		margin: 0 0 40px;
	}
	.problem .ocr_contents ul {
		gap: 30px;
	}
	.problem .ocr_contents ul li {
		flex: 0 1 236px;
	}
}
@media ( max-width: 960px ){
	.problem .ocr_contents dl dt::after {
		top: max(-14.4vw, -108px);
		right: max(-3.2vw, -24px);
		width: min(23.4667vw,176px);
		height: min(30.9333vw, 232px);
	}
	.problem .ocr_contents ul {
		justify-content: center;
	}
}
@media ( max-width: 600px ){
	.problem .ocr_contents {
		padding: 15.7333vw 0;
		background: url(img/bg_ocr_problem_sp.png)no-repeat bottom left/100% auto;
	}
	.problem .ocr_contents dl {
		border-radius: 0.8vw;
	}
	.problem .ocr_contents dl dt {
		font-size: 6.4vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		padding: 7.7333vw 2.6667vw 7.2vw 2.6667vw;
		border-bottom: 0.5333vw solid var(--light_blue);
	}
	.problem .ocr_contents dl dd {
		padding: 8vw 2.6667vw 8vw;
	}
	.problem .ocr_contents dl dd .wrap {
		margin: 0 0 5.3333vw;
	}
	.problem .ocr_contents dl dd .wrap .img {
		width: 42.4vw;
		margin: 0 auto 5.3333vw;
	}
	.problem .ocr_contents dl dd .wrap .text {
		font-size: 4.2667vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	.problem .ocr_contents dl dd .ocr_img {
		width: 65.3333vw;
		margin: 0 auto 6.9333vw;
	}
	.problem .ocr_contents ul {
		gap: 4vw;
	}
	.problem .ocr_contents ul li {
		flex: 0 0 40vw;
	}
	.problem .ocr_contents ul li .icon {
		margin: 0 0 1.3333vw;
	}
	.problem .ocr_contents ul li p {
		font-size: 3.7333vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	.problem .ocr_contents .note {
		position: absolute;
		bottom: -5.3333vw;
		left: 0;
		font-size: 3.2vw;
		line-height: 1.4;
	}
}

/*---------------------------------
#reason #feature
---------------------------------*/
#reason #feature .sec_ttl {
	color: var(--black);
	font-weight: bold;
}
#reason #feature .sec_ttl span {
	color: var(--navy);
}
#reason #feature .sec_ttl .logo {
	vertical-align: sub;
}
#reason #feature ul {
	display: flex;
	flex-wrap: wrap;
	transform: translate3d(0, 0, 0);
}
#reason #feature ul li {
	position: relative;
	display: flex;
	align-items: center;
	color: #fff;
	box-sizing: border-box;
}
#reason #feature ul li::before {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: url(img/check.svg)no-repeat center/contain;
}
@media ( min-width: 601px ){
	#reason #feature {
		padding: 50px 0 0;
	}
	#reason #feature .sec_ttl {
		font-size: 38px;
		margin: 0 0 40px;
	}
	#reason #feature .sec_ttl .logo {
		margin-right: 8px;
	}
	#reason #feature .sec_ttl .small {
		font-size: 40px;
	}
}
@media ( min-width: 961px ){
	#reason #feature ul {
		gap: 4px;
		filter: drop-shadow(5px 6px 40px rgba(0, 0, 0, 0.2));
	}
	#reason #feature ul li {
		font-size: min(1.8182vw, 20px);
		width: calc((100% - 8px)/3);
		height: 70px;
		padding-left: min(5.1818vw, 57px);
	}
	#reason #feature ul li:nth-child(1) {
		background: radial-gradient(105.38% 307.94% at 152.13% 0%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(2) {
		background: radial-gradient(104.36% 318.3% at 51.69% 0%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(3) {
		background: radial-gradient(103.97% 315.61% at -51.49% 0%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(4) {
		background: radial-gradient(108.08% 305.86% at 154.61% -102.39%, #1793CF 0.51%, #024288 100%) 
	}
	#reason #feature ul li:nth-child(5) {
		background: radial-gradient(102.88% 320.35% at 50% -103.31%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(6) {
		background: radial-gradient(103.97% 315.61% at -51.49% 0%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(7) {
		background: radial-gradient(102.32% 314.51% at 148.85% -214.51%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(8) {
		background: radial-gradient(102.96% 318.9% at 48.6% -218.9%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(9) {
		background: radial-gradient(99.87% 309.1% at -56.24% -209.1%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li::before {
		left: min(1.3636vw, 15px);
		width: min(2.4545vw, 27px);
		height: min(2.2727vw, 25px);
	}
}
@media ( max-width: 960px ){
	#reason #feature ul {
		gap: min(1.3333vw, 10px);
		filter: drop-shadow(min(1.3333vw, 5px) min(1.6vw, 6px) min(10.6667vw, 40px) rgba(0, 0, 0, 0.2));
	}
	#reason #feature ul li {
		font-size: min(1.8182vw, 20px);
		line-height: 1.2;
		width: calc((100% - min(1.3333vw, 10px))/2);
		padding-left: min(8vw, 57px);
	}
	#reason #feature ul li:nth-child(1) {
		background: radial-gradient(216.36% 642.81% at -25.76% 273.21%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(2) {
		background: radial-gradient(170% 483.89% at -128.79% 271.43%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(3) {
		background: radial-gradient(163.33% 467.1% at -26.36% 162.5%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(4) {
		background: radial-gradient(173.94% 533.61% at -129.7% 164.29%, #1793CF 0.51%, #024288 100%);
	}
	#reason #feature ul li:nth-child(5) {
		background: radial-gradient(164.55% 458.76% at -25.76% 50%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(6) {
		background: radial-gradient(196.97% 573.95% at -132.12% 50%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(7) {
		background: radial-gradient(162.12% 457.9% at -26.36% -55.36%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(8) {
		background: radial-gradient(188.48% 528.3% at -129.39% -55.36%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li:nth-child(9) {
		background: radial-gradient(160.3% 449.66% at -24.85% -164.29%, #1793CF 0%, #024288 100%);
	}
	#reason #feature ul li::before {
		left: min(1.3333vw, 10px);
		width: min(5.3333vw, 40px);
		height: min(5.0667vw, 38px);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	#reason #feature ul li {
		height: 70px;
		font-size: min(2.6667vw, 20px);
	}
}
@media ( max-width: 600px ){
	#reason #feature {
		padding: 4vw 0 7vw;
	}
	#reason #feature .sec_ttl {
		font-size: 7.2vw;
		line-height: 1.4;
		margin: 0 0 6.4vw;
	}
	#reason #feature .sec_ttl .logo {
		display: inline-block;
		width: 49.6vw;
		vertical-align: bottom;
	}
	#reason #feature ul li {
		height: 14.9333vw;
		text-align: left;
		font-size: 4.2667vw;
	}
}

/*---------------------------------
#function
---------------------------------*/
#function {
	background: linear-gradient(180deg, rgba(227, 241, 251, 0.00) 0%, #E3F1FB 24.78%);
}
#function .sec_ttl {
	color: var(--navy);
	font-weight: bold;
}
#function .sec_ttl .logo {
	vertical-align: sub;
}
#function .function_list li {
	position: relative;
	box-sizing: border-box;
	background: #fff;
}
#function .function_list li dl dt {
	color: var(--light_blue);
	font-weight: bold;
}
@media ( min-width: 601px ){
	#function {
		padding: 83px 0 160px;
		background: linear-gradient(180deg, rgba(227, 241, 251, 0.00) 0%, #E3F1FB 24.78%);
		background-image: url(img/bg_function.jpg) ;
		background-repeat: no-repeat;
		background-position: bottom left;
	}
	#function .sec_ttl {
		font-size: 52px;
		line-height: 1.4;
		margin: 0 0 57px;
	}
	#function .sec_ttl .logo {
		margin-right: 13px;
	}
	#function .sec_ttl .small {
		font-size: 40px;
	}
	#function .function_list {
		display: flex;
		flex-wrap: wrap;
	}
	#function .function_list li {
		padding: 46px 20px 10px;
		border: 1px solid #B9DEF9;
	}
	#function .function_list li .num {
		position: absolute;
		top: -22px;
		left: 0;
		right: 0;
		width: 53px;
		margin: 0 auto;
	}
	#function .function_list li:nth-child(-n + 3) {
		padding: 46px 20px 32px;
	}
	#function .function_list li dl dt,
	#function .function_list li dl dd {
		letter-spacing: 0.04em;
	}
	#function .function_list li dl dt {
		margin: 0 0 8px;
		line-height: 1.4;
	}
	#function .function_list li dl dd {
		line-height: 1.7;
	}
	#function .function_list li:nth-child(1) dl dd {
		margin: 0 0 70px;
	}
	#function .function_list li:nth-child(2) dl dd {
		margin: 0 0 11px;
	}
	#function .function_list li:nth-child(3) dl dd {
		margin: 0 0 34px;
	}
	#function .function_list li:nth-child(4) dl dd {
		margin: 0 0 18px;
	}
	#function .function_list li:nth-child(5) dl dd {
		margin: 0 0 44px;
	}
	#function .function_list li:nth-child(6) dl dd {
		margin: 0 0 28px;
	}
}
@media ( min-width: 961px ){
	#function .function_list li {
		width: 33.3%;
		padding: 46px 0 10px;
	}
	#function .function_list li dl dt {
		font-size: min(2.0909vw, 23px);
	}
	#function .function_list li dl dt span,
	#function .function_list li dl dd {
		font-size: min(1.4545vw, 16px);
	}
	#function .function_list li .img {
		margin: 0 auto;
	}
	#function .function_list li:nth-child(1) .img {
		max-width: 326px;
	}
	#function .function_list li:nth-child(2) .img {
		max-width: 280px;
	}
	#function .function_list li:nth-child(3) .img {
		max-width: 306px;
	}
	#function .function_list li:nth-child(4) .img {
		max-width: 327px;
	}
	#function .function_list li:nth-child(5) .img {
		max-width: 322px;
	}
	#function .function_list li:nth-child(6) .img {
		max-width: 307px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	#function .function_list li {
		width: 50%;
	}
	#function .function_list li dl dt {
		font-size: 23px;
	}
	#function .function_list li dl dt span,
	#function .function_list li dl dd {
		font-size: 16px;
	}
}
@media ( max-width: 600px ){
	#function {
		padding: 16vw 0 20vw;
		background: linear-gradient(180deg, rgba(227, 241, 251, 0.00) 0%, #E3F1FB 24.78%);
		background-image: url(img/bg_function_sp.jpg) ;
		background-repeat: no-repeat;
		background-position: bottom left;
		background-size: cover;
	}
	#function .sec_ttl {
		font-size: 7.4667vw;
		line-height: 1.4;
		margin: 0 0 11.7333vw;
	}
	#function .sec_ttl .logo {
		display: block;
		width: 49.6vw;
		margin: 0 auto 0.5333vw;
	}
	#function .function_list li {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 7.4667vw 2.6667vw 0;
		border: 1px solid #B9DEF9;
	}
	#function .function_list li + li {
		border-top: none;
	}
	#function .function_list li .num {
		flex: 0 0 14.1333vw;
	}
	#function .function_list li dl {
		flex: 0 0 68.5333vw;
		text-align: left;
	}
	#function .function_list li dl dt {
		font-size: 4.8vw;
		line-height: 1.3;
	}
	#function .function_list li dl dt span,
	#function .function_list li dl dd {
		font-size: 4.2667vw;
	}
	#function .function_list li dl dt span {
		font-feature-settings: 'palt';
	}
	#function .function_list li dl dd {
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	#function .function_list li:nth-child(1) .img {
		width: 80vw;
		margin: 7.4667vw auto 8.8vw;
	}
	#function .function_list li:nth-child(2) .img {
		width: 63.7333vw;
		margin: 7.4667vw auto 8.5333vw;
	}
	#function .function_list li:nth-child(3) .img {
		width: 75.7333vw;
		margin: 9.3333vw auto;
	}
	#function .function_list li:nth-child(4) .img {
		width: 80vw;
		margin: 3.2vw auto;
	}
	#function .function_list li:nth-child(5) .img {
		width: 79.2vw;
		margin: 8.2667vw auto 10.1333vw;
	}
	#function .function_list li:nth-child(6) .img {
		width: 74.1333vw;
		margin: 2.6667vw auto 2.6667vw;
	}
}

/*---------------------------------
#case
---------------------------------*/
#case .sec_ttl {
	position: relative;
	color: var(--navy);
	font-weight: bold;
	z-index: 1;
}
#case .sec_ttl .logo {
	vertical-align: sub;
}
#case .contents {
	position: relative;
	background: #fff;
}
#case .contents::after {
	content: '';
	position: absolute;
	background: url(img/case_icon.png)no-repeat center/contain;
}
#case .contents .wrap .case_box {
	position: relative;
}
#case .contents .wrap .case_box.case_2::after {
	content: '';
	position: absolute;
}
#case .contents .case_list {
	display: flex;
	flex-wrap: wrap;
}
#case .contents .case_list li {
	color: var(--light_blue);
	font-weight: bold;
	background: #E5F8FF;
	box-sizing: border-box;
}
#case .contents .case_list .color {
	background: #FFE3C6;
}
@media ( min-width: 601px ){
	#case {
		padding: 162px 0 100px;
		margin-top: -72px;
	}
	#case .sec_ttl {
		font-size: 52px;
		line-height: 1.4;
	}
	#case .sec_ttl .small {
		font-size: 40px;
	}
	#case .sec_ttl .logo {
		margin-right: 13px;
	}
	#case .contents {
		padding: 68px 4.5% 40px;
		border-radius: 80px 0 0 0;
		box-shadow: 5px 6px 40px rgba(0, 0, 0, 0.2);
	}
	#case .contents::after {
		top: -60px;
		right: 7px;
		width: 132px;
		height: 126px;
	}
	#case .contents .wrap {
		padding: 50px 50px 0;
		border: 3px solid;
		border-image: linear-gradient(92.43deg, #1793CF 15.62%, #024288 76.14%) 1;
		margin: 0 0 26px;
	}
	#case .contents .wrap .case_box.case_2::after {
		top: -35px;
		right: -18%;
		width: 32.9%;
		height: 106px;
		background: url(img/case_share.png)no-repeat center/contain;
	}
	#case .contents .case_list {
		gap: 4px;
	}
	#case .contents .case_list li {
		font-size: 16px;
		line-height: 1.3;
		padding: 10px 5px 12px;
		border-radius: 5px;
	}
}
@media ( min-width: 961px ){
	#case {
		background: url(img/bg_case.jpg)no-repeat right center/cover;
	}
	#case .contents {
		margin-top: -48px;
	}
	#case .contents .wrap {
		display: flex;
		flex-wrap: wrap;
		gap: 16px 44px;
	}
	#case .contents .wrap .case_box {
		flex: 0 1 calc(50% - 22px);
	}
	#case .contents .case_list {
		justify-content: center;
	}
	#case .contents .case_list li {
		width: calc((100% - 8px)/3);
	}
	#case .contents .case_list li.color {
		width: calc(50% - 2px);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	#case .sec_ttl {
		margin: 0 0 57px;
	}
	#case .contents .wrap {
		padding: 50px 20px 0;
	}
	#case .contents .wrap .case_box.case_2 {
		margin-top: 40px;
	}
	#case .contents .wrap .cate {
		margin-top: 20px;
	}
	#case .contents .case_list li {
		flex: 0 1 calc(50% - 4px);
	}
}
@media ( max-width: 960px ){
	#case {
		position: relative;
		background: #E3F1FB;
		z-index: 0;
	}
	#case::after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		width: min(84vw, 630px);
		height: min(65.8667vw, 494px);
		background: url(img/bg_case_sp.png)no-repeat top right/cover;
		z-index: -1;
	}
	#case .contents .wrap .case_box {
		display: inline-block;
	}
	#case .contents .case_list li.color {
		flex: 1 1 100%;
	}
}
@media ( max-width: 600px ){
	#case {
		padding: 23.4667vw 0;
		margin-top: -7.4667vw;
	}
	#case .sec_ttl {
		font-size: 7.4667vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 6.9333vw;
	}
	#case .sec_ttl .logo {
		display: block;
		width: 49.6vw;
		margin: 0 auto;		
	}
	#case .contents {
		padding: 8.2667vw 2.6667vw 8vw;
		border-radius: 5.3333vw 0 0 0;
		box-shadow: 1.3333vw 1.6vw 10.6667vw rgba(0, 0, 0, 0.2);
	}
	#case .contents::after {
		top: -7.2vw;
		right: -1.8667vw;
		width: 24.2667vw;
		height: 23.2vw;
	}
	#case .contents .wrap {
		padding: 8vw 0 5.8667vw;
		border: 0.5333vw solid;
		border-image: linear-gradient(92.43deg, #1793CF 15.62%, #024288 76.14%) 1;
		margin: 0 0 8vw;
	}
	#case .contents .wrap .case_box {
		margin: 0 2.6667vw;
	}
	#case .contents .wrap .case_box.case_2 {
		margin: 8vw 2.6667vw 4.5333vw;
	}
	#case .contents .wrap .case_box.case_2::after {
		top: -6.6667vw;
		right: -4.8vw;
		width: 25.3333vw;
		height: 19.2vw;
		background: url(img/case_share_sp.png)no-repeat center/contain;
	}
	#case .contents .case_list {
		padding: 0 3.2vw;
		gap: 1.0667vw;
	}
	#case .contents .case_list li {
		display: flex;
		justify-content: center;
		align-items: center;
		flex: 0 1 calc(50% - 0.5333vw);
		font-size: 3.2vw;
		font-feature-settings: 'palt';
		line-height: 1.3;
		padding: 2.6667vw 0 3.2vw;
		border-radius: 1.3333vw;
	}
	#case .contents .case_list li:not(.color) {
		height: 13.6vw;
	}
}

/*---------------------------------
#dc_kv
---------------------------------*/
#dc_kv {
	position: relative;
}
#dc_kv .ttl_img {
	display: inline-block;
}
#dc_kv .links {
	position: absolute;
}
#dc_kv .contents {
	position: relative;
}
#dc_kv .contents .ttl_img {
	position: relative;
}
#dc_kv .contents .ttl_img a {
	position: absolute;
}
#dc_kv .note {
	position: absolute;
	left: 0;
	right: 0;
	color: #fff;
	width: 100%;
	box-sizing: border-box;
}
#dc_kv .bottom_img {
	position: relative;
}
#dc_kv .bottom_img .link {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
@media ( min-width: 601px ){
	#dc_kv .bottom_img {
		padding: 0 20px;
	}
}
@media ( min-width: 961px ){
	.head.top.dc {
		padding: 13px 0 40px;
	}
	#dc_kv {
		padding: 0 0 53px;
		background: url(img/bg_dc_kv.jpg)no-repeat center/cover;
	}
	#dc_kv .contents .ttl_img {
		position: relative;
		top: -20px;
		border-radius: 10px;
		box-shadow: 5px 6px 40px rgba(0, 0, 0, 0.2);
	}
	#dc_kv .contents .ttl_img a {
		right: 3.315%;
		top: 33.86%;
		width: 18.69%;
		height: 12.27%;
	}
	#dc_kv .links {
		top: -60px;
		right: 0;
		filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
		width: min(22.7925vw, 302px);
	}
	#dc_kv .links a {
		opacity: 1;
		transition: .3s;
	}
	#dc_kv .links a:hover {
		opacity: .8;
	}
	#dc_kv .note {
		bottom: 23px;
		text-align: right;
		max-width: 1026px;
		margin: 0 auto;
		padding: 0 20px;
	}
	#dc_kv .bottom_img {
		max-width: 984px;
		margin: 0 auto;
	}
	#dc_kv .bottom_img .link {
		right: 224px;
		width: 56px;
		height: 56px;
	}
}
@media (min-width: 1325px) {
	#dc_kv .links {
		right: calc((100vw - 987px) / 2 - 184px);
	}
}
@media ( max-width: 960px ){
	#dc_kv .contents {
		padding: min(28.8vw, 216px) 0 min(8.5333vw, 64px);
		background: url(img/bg_dc_kv_sp.jpg)no-repeat #9ba4ad top center/100% auto;
	}
	#dc_kv .contents .ttl_img {
		border-radius: min(2.6667vw, 20px);
		box-shadow: min(0.8vw, 6px) min(1.0667vw, 8px) min(5.3333vw, 40px) rgba(0, 0, 0, 0.2);
	}
	#dc_kv .contents .ttl_img a {
		right: 3.88%;
		top: 39.67%;
		width: 26.56%;
		height: 16.72%;
	}
	#dc_kv .contents .ttl_img .note {
		position: absolute;
		left: 0;
		bottom: calc((1em + 2.4vw)*-1);
		color: #fff;
		font-size: min(2.6667vw, 20px);
		text-align: left;
	}
	#dc_kv .bottom_img {
		background: #F2F3FF;
	}
	#dc_kv .links {
		top: max(-0.5vw, -7px);
		left: min(5.3333vw, 40px);
		width: min(44.2667vw, 332px);
		filter: drop-shadow(0px 0px min(2.9333vw, 22px) rgba(0, 0, 0, 0.25));
	}
	#dc_kv .bottom_img .link {
		right: 42vw;
		width: 12vw;
		height: 12vw;
		bottom: 2.5vw;
		top: auto;
	}
}

/*---------------------------------
#reason
---------------------------------*/
#reason {
    position: relative;
    background: #fff;
    z-index: 0;
    overflow: hidden;
}
#reason .sec_ttl {
    color: var(--navy);
    font-weight: 700;
}
#reason .sec_ttl .logo {
    vertical-align: sub;
}
#reason .reason_detail ul {
	display: flex;
	flex-direction: column;
	text-align: left;
	line-height: 1.4;
}
#reason .reason_detail ul li .text .sub_tit {
	color: var(--light_blue);
	font-weight: 700;
	position: relative;
}
#reason .reason_detail ul li .text .sub_tit span {
	text-decoration: underline;
    text-decoration-color: #BBFDFF;
    text-decoration-skip-ink: none !important;
}
#reason .reason_detail ul li .text p sup {
	font-size: 60%;
	vertical-align: bottom;
}
#reason .reason_detail ul li .img.ver2 {
	position: relative;
}
#reason .reason_detail ul li .img .link {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media ( min-width: 601px ){
	#reason {
        padding: 84px 0 100px;
        margin: -72px 0 0;
        border-radius: 80px;
    }
    #reason .sec_ttl {
        font-size: 52px;
        line-height: 1.4;
        margin: 0 0 57px;
    }
    #reason .sec_ttl .logo {
        margin-right: 13px;
    }
    #reason .sec_ttl .small {
        font-size: 40px;
    }
    #reason .reason_detail ul li {
		display: flex;
		align-items: center;
	    flex-direction: row-reverse;
	    margin-bottom: 60px;
	    justify-content: space-between;
	}
	#reason .reason_detail ul li:nth-child(even) {
		flex-direction: row;
	}
	#reason .reason_detail ul li .img,
	#reason .reason_detail ul li .text {
		width: 48%;
	}
	#reason .reason_detail ul li .img img {
		filter: drop-shadow(5px 6px 40px rgba(0, 0, 0, 0.2));
	}
	#reason .reason_detail ul li .img .link img {
		filter: none;
	}
	#reason .reason_detail ul li .text {
		border-top: 1px var(--light_blue) solid;
		border-bottom: 1px var(--light_blue) solid;
		box-sizing: border-box;
		padding: 50px 0;
	}
	#reason .reason_detail ul li .text .sub_tit {
		font-size: 23px;
		margin-bottom: 28px;
	}
	#reason .reason_detail ul li .text .sub_tit span {
		text-decoration-thickness: 15px;
        text-underline-offset: -7px;
	}
	#reason .reason_detail ul li .text p {
		font-size: 16px;
	}
	#reason .reason_detail ul li .img .link {
		left: 55px;
		width: 96px;
		height: 96px;
	}
}

@media ( max-width: 600px ){
	#reason {
        padding: 14.4vw 0 10.1333vw;
        margin: -7.4667vw 0 0;
        border-radius: 5.3333vw;
    }
    #reason .sec_ttl {
        font-size: 7.4667vw;
        line-height: 1.4;
        margin: 0 0 11.7333vw;
    }
    #reason .sec_ttl .logo {
        display: block;
        width: 49.6vw;
        margin: 0 auto 0.5333vw;
    }
    #reason .reason_detail ul li {
    	margin-bottom: 10.666vw;
    }
    #reason .reason_detail ul li .img img {
		filter: drop-shadow(0.4vw 0.5vw 3vw rgba(0, 0, 0, 0.2));
	}
	#reason .reason_detail ul li .img .link img {
		filter: none;
	}
	#reason .reason_detail ul li .img {
		margin-bottom: 6.666vw;
	}
	#reason .reason_detail ul li .text {
		padding-bottom: 8vw;
		border-bottom: 1px var(--light_blue) solid;
	}
	#reason .reason_detail ul li .text .sub_tit {
		font-size: 4.8vw;
		margin-bottom: 5.333vw;
	}
	#reason .reason_detail ul li .text .sub_tit span {
		text-decoration-thickness: 2.9333vw;
        text-underline-offset: -1.6vw;
	}
	#reason .reason_detail ul li .text p {
		font-size: 4.266vw;
	}
	#reason .reason_detail ul li .img .link {
		left: 2.666vw;
		width: 20.533vw;
		height: 20.533vw;
	}
}

/*---------------------------------
.price
---------------------------------*/
.price .sec_ttl {
    color: var(--navy);
    font-weight: 700;
}
.price .sec_ttl .logo {
    vertical-align: sub;
}
.price p {
	line-height: 1.4;
}
.price.cta_are .wrap .btn_wrap .text {
	color: var(--black);
}

@media ( min-width: 601px ){
	.price,
	.price.cta_are {
		padding: 100px 0;
        background: url(img/bg_price.jpg) no-repeat center;
        background-size: cover;
    }
    .price .sec_ttl {
        font-size: 52px;
        line-height: 1.4;
        margin: 0 0 57px;
    }
    .price .sec_ttl .logo {
        margin-right: 13px;
    }
    .price .sec_ttl .small {
        font-size: 40px;
    }
    .price p {
    	font-size: 16px;
    	margin-bottom: 60px;
    }
}

@media ( max-width: 600px ){
	.price,
	.price.cta_are {
		padding: 16vw 0;
        background: url(img/bg_price_sp.jpg) no-repeat center;
        background-size: cover;
    }
    .price .sec_ttl {
        font-size: 7.4667vw;
        line-height: 1.4;
        margin: 0 0 11.7333vw;
    }
    .price .sec_ttl .logo {
        display: block;
        width: 49.6vw;
        margin: 0 auto 0.5333vw;
    }
    .price p {
    	font-size: 4.266vw;
    	margin-bottom: 8vw;
    }
}


/*---------------------------------
#dc_problem
---------------------------------*/
@media ( min-width: 601px ){
	#dc_problem {
		padding: 87px 0 174px;
		background: url(img/bg_dc_problem.jpg)no-repeat center/100% 100%;
	}
}
@media ( min-width: 961px ){
	#dc_problem .solution .solution_list li .comment {
		width: fit-content;
	}
	#dc_problem .solution .solution_list li:nth-child(1) .icon {
		margin-bottom: 11px;
	}
	#dc_problem .solution .solution_list li:nth-child(2) .icon {
		margin-bottom: 5px;
	}
	#dc_problem .solution .solution_list li:nth-child(3) .icon {
		margin-bottom: 15px;
	}
	#dc_problem .solution .solution_list li:nth-child(4) .icon {
		margin-bottom: 13px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	.problem .solution .solution_ttl br + .border {
		margin-top: 20px;
	}
}
@media ( max-width: 600px ){
	#dc_problem {
		padding: 13.6vw 0 24.2667vw;
		background: url(img/bg_problem_sp.jpg)no-repeat  top center/100% auto,
		url(img/bg_ocr_problem_sp.png)no-repeat bottom left/100% auto;
		background-color: #E3F1FB;
	}
	#dc_problem .solution .solution_list li .comment {
		right: 4.5333vw;
		width: 50.6667vw;
	}
	#dc_problem .solution .solution_list li p {
		line-height: 1.3;
	}
	#dc_problem .solution .solution_list li:nth-child(2) p {
		line-height: 1.2;
		padding: 0.8vw 0 0;
	}
	#dc_problem .solution .solution_list li p .red {
		line-height: 1.5;
	}
}
/*---------------------------------
#realization
---------------------------------*/
#realization {
	background: linear-gradient(92.43deg, #1793CF 15.62%, #024288 76.14%);
}
#realization .contents {
	background: linear-gradient(180deg, #FFFFFF 22.87%, #E6F1F3 45.12%);
}
#realization .contents .sec_ttl {
	color: var(--navy);
	font-weight: bold;
}
#realization .contents .sec_ttl .border {
	border-bottom: 1px solid var(--navy);
}
#realization .contents .note {
	text-align: left;
}
@media ( min-width: 601px ){
	#realization {
		padding: 124px 0 123px;
		margin-top: -74px;
	}
	#realization .contents {
		box-shadow: 6px 6px 30px rgba(0, 0, 0, 0.25);
		border-radius: 20px;
	}
	#realization .contents .sec_ttl {
		font-size: 38px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 30px;
	}
	#realization .contents .sec_ttl .border {
		font-size: 30px;
	}
	#realization .contents .sec_ttl .border {
		padding: 0 0 5px;
	}
	#realization .contents .text {
		font-size: 16px;
		line-height: 1.7;
		margin: 0 0 54px;
	}
	#realization .contents .note {
		font-size: 14px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin-top: 20px;
	}
}
@media ( min-width: 961px ){
	#realization .inner {
		max-width: 1300px;
	}
	#realization .contents .sec_ttl .small {
		font-size: 30px;
	}
	#realization .contents {
		padding: 89px min(7.7%, 100px) 96px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	#realization .contents {
		padding: 40px 0;
	}
	#realization .contents .text,
	#realization .contents .img_wrap,
	#realization .contents .note {
		padding: 0 20px;
	}
	#realization .swiper {
		padding: 0 20px 60px;
	}
	#realization .swiper .swiper-slide {
		width: 1101px;
	}
}
@media ( max-width: 960px ){
	.swiper-scrollbar {
		background: #fff;
	}
	.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
		right: 0;
		width: 54.6667vw;
		height: 10px;
		margin: 0 auto;
	}
	.swiper-scrollbar-drag {
		background: var(--light_blue);
	}
}
@media ( max-width: 600px ){
	#realization {
		padding: 14.66667vw 0 16vw;
		margin-top: -7.46667vw;
	}
	#realization .contents {
		padding: 6.6667vw 0 8vw;
		box-shadow: 1.6vw 1.6vw 8vw rgba(0, 0, 0, 0.25);
		border-radius: 2.6667vw;
	}
	#realization .contents .sec_ttl {
		font-size: 4.8vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 2.6667vw;
	}
	#realization .contents .text {
		font-size: 3.7333vw;
		line-height: 1.4;
		text-align: left;
		letter-spacing: 0.04em;
		padding: 0 2.6667vw;
		margin: 0 0 6.9333vw;
	}
	#realization .swiper {
		padding: 0 2.6667vw 8vw;
	}
	#realization .swiper .swiper-slide {
		width: 190.9333vw;
	}
}


/*---------------------------------
#delivery
---------------------------------*/
#delivery {
	position: relative;
	background: #fff;
	z-index: 0;
	overflow: hidden;
}
#delivery::after {
	content: '';
	position: absolute;
	z-index: -1;
}
#delivery .sec_ttl {
	color: var(--navy);
	font-weight: bold;
}
#delivery .service_wrap ul li {
	display: flex;
	text-align: left;
}
#delivery .service_wrap ul li dl dt {
	color: var(--light_blue);
	font-weight: bold;
}
#delivery .service_wrap ul li dl dt span {
	text-decoration: underline;
	text-decoration-color: #BBFDFF;
}
#delivery .license {
	background: #F7F7F7;
	line-height: 1.4;
}
#delivery .license .tit_wrap {
	font-weight: 700;
}
#delivery .license .tit_wrap span {
	display: block;
}
#delivery .license .img {
	position: relative;
}
#delivery .license .img .link {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}

@media ( min-width: 601px ){
	#delivery {
		padding: 84px 0 100px;
		margin: -72px 0 0;
		border-radius: 80px;
	}
	#delivery .sec_ttl {
		font-size: 52px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 39px;
	}
	#delivery .text {
		font-size: 16px;
		line-height: 1.7;
		margin: 0 0 54px;
	}
	#delivery .service_wrap {
		margin-bottom: 50px;
	}
	#delivery .service_wrap ul li {
		gap: 0 25px;
	}
	#delivery .service_wrap ul li .icon {
		flex: 0 0 100px;
	}
	#delivery .service_wrap ul li dl dt {
		font-size: 23px;
		line-height: 1.2;
		letter-spacing: 0.04em;
		margin: 0 0 13px;
	}
	#delivery .service_wrap ul li dl dt span {
		text-underline-offset: -8px;
		text-decoration-thickness: 13px;
	}
	#delivery .service_wrap ul li dl dd {
		font-size: 16px;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	#delivery .license {
		border-radius: 20px;
		padding: 60px;
	}
	#delivery .license .tit_wrap {
		font-size: 38px;
		margin-bottom: 30px;
	}
	#delivery .license .tit_wrap span {
		font-size: 16px;
	}
	#delivery .license .img {
		max-width: 440px;
		margin: 0 auto 35px;
	}
	#delivery .license .img .link {
		left: 20px;
		width: 96px;
		height: 96px;
	}
	#delivery .license p {
		font-size: 16px;
	}
}
@media ( min-width: 961px ){
	#delivery::after {
		top: 0;
		right: 0;
		width: min(42.5521vw, 817px);
		height: 561px;
		background: url(img/bg_item_case.png)no-repeat top center/contain;
	}
	#delivery .service_wrap {
		position: relative;
	}
	#delivery .service_wrap::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 1px;
		height: 100%;
		background: var(--light_blue);
	}
	#delivery .service_wrap ul {
		display: flex;
		flex-wrap: wrap;
		gap: 0 90px;
	}
	#delivery .service_wrap ul li {
		flex: 1 1 calc(50% - 45px);
	}
	#delivery .service_wrap ul li:nth-child(-n + 2) {
		padding: 0 0 58px;
		border-bottom: 1px solid var(--light_blue);
	}
	#delivery .service_wrap ul li:nth-child(n + 3) {
		padding: 28px 0 0;
	}
	#delivery .service_wrap ul li .icon {
		padding: 17px 0 0;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	#delivery .service_wrap ul li {
		padding: 30px 20px;
	}
}
@media ( max-width: 960px ){
	#delivery::after {
		top: 0;
		right: 0;
		width: min(73.3333vw, 548px);
		height: min(43.3333vw, 325px);
		background: url(img/bg_item_case_sp.png)no-repeat top center/contain;
	}

	#delivery .service_wrap ul li {
		border: 1px solid var(--light_blue);
	}
	#delivery .service_wrap ul li + li {
		border-top: none;
	}
}
@media ( max-width: 600px ){
	#delivery {
		padding: 14.4vw 0 10.1333vw;
		margin: -7.4667vw 0 0;
		border-radius: 5.3333vw;
	}
	#delivery .sec_ttl {
		font-size: 7.4667vw;
		line-height: 1.3;
		letter-spacing: 0.04em;
		margin: 0 0 4.2667vw;
	}
	#delivery .text {
		font-size: 4.2667vw;
		text-align: left;
		line-height: 1.4;
		margin: 0 0 7.4667vw;
	}
	#delivery .service_wrap {
		margin-bottom: 8vw;
	}
	#delivery .service_wrap ul li {
		align-items: center;
		gap: 0 4vw;
		padding: 5.3333vw 2.6667vw 5.3333vw 3.4667vw;
	}
	#delivery .service_wrap ul li .icon {
		flex: 0 0 14.4vw;
	}
	#delivery .service_wrap ul li dl dt {
		font-size: 4.8vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 2.6667vw;
	}
	#delivery .service_wrap ul li dl dt span {
		text-underline-offset: -8px;
		text-decoration-thickness: 13px;
	}
	#delivery .service_wrap ul li dl dd {
		font-size: 4.2667vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	#delivery .license {
		border-radius: 1.333vw;
		padding: 8vw 2.666vw;
	}
	#delivery .license .tit_wrap {
		font-size: 4.8vw;
		margin-bottom: 5.333vw;
	}
	#delivery .license .tit_wrap span {
		font-size: 3.2vw;
	}
	#delivery .license .img {
		margin-bottom:  5.333vw;
	}
	#delivery .license .img .link {
		left: 5.333vw;
		width: 19.733vw;
		height: 19.733vw;
	}
	#delivery .license p {
		font-size: 4.266vw;
		text-align: left;
	}
}


/*---------------------------------
#consulting
---------------------------------*/
#consulting {
	background: #E3F1FB;
}
#consulting .contents .sec_ttl {
	display: inline-block;
	color: #fff;
	font-weight: bold;
}
#consulting .contents .text {
	color: #fff;
}
#consulting .contents .text span {
	display: block;
}
#consulting .contents .consulting_list li {
	text-align: left;
	background: #fff;
}
#consulting .contents .consulting_list li dl dt {
	color: var(--light_blue);
	font-weight: bold;
}
#consulting .flow .caption {
	color: var(--navy);
	font-weight: bold;
}
@media ( min-width: 601px ){
	#consulting {
		padding: 100px 0 100px;
	}
	#consulting .contents {
		padding: 57px 40px 70px;
		box-shadow: 5px 6px 40px rgba(0, 0, 0, 0.2);
		border-radius: 80px 10px;
		margin: 0 0 57px;
		background: url(img/bg_consulting.jpg)no-repeat right top/100% auto,
		linear-gradient(92.43deg, #1793CF 15.62%, #024288 76.14%);
	}
	#consulting .contents .sec_ttl {
		font-size: 52px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 16px;
		padding: 0 0 7px;
		border-bottom: 3px solid #fff;
	}
	#consulting .contents .text {
		font-size: 16px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 30px;
	}
	#consulting .contents .consulting_list li {
		padding: 15px;
	}
	#consulting .contents .consulting_list li + li {
		margin-top: 5px;
	}
	#consulting .contents .consulting_list li dl dt {
		font-size: 23px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 5px;
	}
	#consulting .contents .consulting_list li dl dd {
		font-size: 16px;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	#consulting .flow .caption {
		font-size: 38px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 4px;
	}
}
@media ( max-width: 960px ){
	#consulting .contents .text {
		text-align: left;
	}
}
@media ( max-width: 600px ){
	#consulting {
		padding: 16vw 0 16vw;
	}
	#consulting .contents {
		padding: 6.9333vw 2.6667vw 8vw;
		box-shadow: 1.3333vw 1.6vw 10.6667vw rgba(0, 0, 0, 0.2);
		border-radius: 5.3333vw 1.3333vw 5.3333vw 1.3333vw;
		margin: 0 0 5.6vw;
		background: url(img/bg_consulting_sp.png)no-repeat right top/cover;
	}
	#consulting .contents .sec_ttl {
		position: relative;
		font-size: 7.4667vw;
		line-height: 1.2;
		letter-spacing: 0.04em;
		width: 75.4667vw;
		margin: 0 auto 4.2667vw;
		padding: 0 0 5.3333vw;
		border-bottom: 0.5333vw solid #fff;
		box-sizing: border-box;
	}
	#consulting .contents .text {
		font-size: 4.2667vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 4.5333vw;
	}
	#consulting .contents .text span {
		margin-top: 1.6vw;
	}
	#consulting .contents .consulting_list li {
		padding: 4vw;
	}
	#consulting .contents .consulting_list li + li {
		margin-top: 1.3333vw;
	}
	#consulting .contents .consulting_list li dl dt {
		font-size: 4.8vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 1.3333vw;
	}
	#consulting .contents .consulting_list li dl dd {
		font-size: 4.2667vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	#consulting .flow .caption {
		font-size: 7.4667vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 4.2667vw;
	}
	#consulting .flow .flow_img {
		width: 66.6667vw;
		margin: 0 auto;
	}
}


/*-----------------------------------
company
-----------------------------------*/
#company {
	background: #fff;
}
#company .sec_ttl {
	color: var(--navy);
	font-weight: bold;
}
#company ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
@media ( min-width: 601px ){
	#company {
		padding: 28px 20px 25px;
	}
	#company .sec_ttl {
		font-size: 38px;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 23px;
	}
	#company ul {
		gap: 30px 60px;
	}
}
@media ( max-width: 960px ){
	#company ul {
		flex-wrap: wrap;
	}
}
@media ( max-width: 600px ){
	#company {
		padding: 5.3333vw 0 6.6667vw;
		border-bottom: 1.6vw solid var(--navy);
	}
	#company .sec_ttl {
		font-size: 4.8vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 2.4vw;
	}
	#company ul {
		gap: 2.6667vw 4vw;
	}
	#company ul li.logo_1 {
		width: 19.7333vw;
	}
	#company ul li.logo_2 {
		width: 11.7333vw;
	}
	#company ul li.logo_3 {
		width: 34.9333vw;
	}
	#company ul li.logo_4 {
		width: 16.8vw;
	}
	#company ul li.logo_5 {
		width: 38.1333vw;
	}
	#company ul li.logo_6 {
		width: 36.8vw;
	}
}

/*---------------------------------
#pagetop
---------------------------------*/
#pagetop {
	position: fixed;
	z-index: 9999;
	opacity : 0;
	visibility: hidden;
	right: 0;
	transition : all .3s;
}
#pagetop.show {
	opacity : 1;
	visibility: visible;
	transition : all .3s;
}
@media ( min-width: 601px ) {
	#pagetop {
		bottom: 200px;
		display: block;
		width: 80px;
	}
}
@media ( max-width: 600px ) {
	#pagetop {
		width: 12vw;
	}
	#pagetop {
		bottom: 45vw;
	}
}

/*---------------------------------
#fixed_btns
---------------------------------*/
#fixed_btns {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 100;
	transition: opacity .3s, visibility .3s;
	opacity: 0;
	visibility: hidden;
}
#fixed_btns.show {
	opacity: 1;
	visibility: visible;
}
@media ( min-width: 601px ){
	#fixed_btns {
		padding: 15px 0;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	#fixed_btns  .btn_wrap + .btn_wrap {
		margin: 20px auto 0;
	}
}
@media ( max-width: 600px ){
	#fixed_btns {
		padding: 3vw 0;
	}
	#fixed_btns  .btn_wrap + .btn_wrap {
		margin: 3vw auto 0;
	}
}
/*---------------------------------
#contact_form
---------------------------------*/
#contact_form {
	background: #fff;
}
#contact_form .section_title {
	color: var(--navy);
	font-weight: 700;
}
#contact_form .form_wrap {
	margin: 0 auto;
}
.form_wrap .item > dt,
.form_wrap .item > dd {
	text-align: left;
}
.form_wrap .item > dt {
	display: flex;
	align-items: baseline;
	box-sizing: border-box;
	position: relative;
}
.form_wrap .item > dt .required,
.form_wrap .item > dt .any {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}
.form_wrap .item > dt .required {
	background: var(--light_blue);
}
.form_wrap .item > dt .any {
	background: #B7BDC0;
}
.form_wrap .item > dd input:not([type="checkbox"]),
.form_wrap .item > dd textarea {
	background: #E3F1FB;
	outline: none;
	border: none;
	width: 100%;
	box-sizing: border-box;
}
.form_wrap .item > dd textarea {
	resize: none;
}
.form_wrap .error_msg {
	display:block;
	color: var(--red);
	font-weight: normal;
}
.form_wrap .item > dd input::placeholder,
.form_wrap .item > dd textarea::placeholder {
	color: #B9BCC4;
}
.form_wrap .item > dd ul {
	display: flex;
	flex-wrap: wrap;
}
.form_wrap label {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	border: 1px solid #DFDCDC;
}
.form_wrap #agree_check label {
	background: #DFDCDC;
}
.form_wrap label:has(input[type="checkbox"]:checked) {
	border: 1px solid var(--light_blue);
	background: var(--light_blue);
}
.form_wrap input[type="checkbox"] {
	margin: 0;
	width: 0;
	opacity: 0;
}
.form_wrap .dummy_input {
	position: relative;
	display: block;
	width: 1.735em;
	height: 1.735em;
	box-sizing: border-box;
	background: #E0E2E3;
}
.form_wrap input[type="checkbox"]:checked + .dummy_input,
.form_wrap #agree_check input[type="checkbox"] + .dummy_input {
	background: #fff;
}
.form_wrap input[type="checkbox"]:checked + .dummy_input::after {
	content: '';
	display: block;
	position: absolute;
	top: 60%;
	left: 5%;
	background: url(img/icon_check.svg)no-repeat center/contain;
}
.form_wrap .label_text {
	display: block;
}
.form_wrap .item label:has(input[type="checkbox"]:checked) .label_text {
	color: #fff;
}
.form_wrap .personal_info {
	text-align: left;
}
.form_wrap .personal_info .privacy_box {
	text-align: left;
	overflow: auto;
	border: 1px solid #E7E7E7;
	box-sizing: border-box;
}
.form_wrap .personal_info .privacy_dl a {
	color: var(--light_blue);
	text-decoration: underline;
}
.form_wrap .personal_info .note {
	color: var(--red);
}
.form_wrap .btn .submit,
.btn .top {
	position: relative;
	border: none;
	outline: none;
	color: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	cursor: pointer;
}
.form_wrap .btn .submit {
	background: var(--red);
}
.btn .top {
	background: var(--navy);
}
.form_wrap .btn .submit::after,
.btn .top::after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.form_wrap .btn .submit::after {
	background: url(img/icon_btn_submit.svg)no-repeat center/contain;
}
.btn .top::after {
	background: url(img/icon_btn_top.svg)no-repeat center/contain;
}
@media ( min-width: 601px ) {
	#contact_form {
		padding: 86px 0 100px;
	}
	#contact_form .section_title {
		font-size: 52px;
		margin: 0 0 36px;
	}
	#contact_form .lead {
		font-size: 16px;
		line-height: 1.7;
		margin: 0 0 54px;
	}
	#contact_form .form_wrap {
		max-width: 700px;
	}
	.form_wrap .item + .item {
		margin: 54px 0 0;
	}
	.form_wrap .item > dt {
		padding-left: 42px;
		margin: 0 0 12px;
	}
	.form_wrap .item > dt .comment {
		font-size: 13px;
		margin-left: 17px;
	}
	.form_wrap .item > dt .required,
	.form_wrap .item > dt .any {
		font-size: 12px;
		width: 35px;
		height: 21px;
		padding: 4px 0 5px;
	}
	.form_wrap .item > dd {
		font-size: 14px;
	}
	.form_wrap .item > dd input:not([type="checkbox"]) {
		font-size: 16px;
		padding: 17px 13px 17px;
	}
	.form_wrap .error_msg {
		margin-top: 10px;
		font-size: 12px;
	}
	.form_wrap .item > dd input:not([type="checkbox"]) {
		height: 50px;
	}
	.form_wrap .item > dd ul {
		gap: 10px;
	}
	.form_wrap .item > dd li {
		min-width: 226px;
	}
	.trial .form_wrap .item > dd li {
		flex: 1 1 auto;
		min-width: auto;
	}
	.form_wrap label {
		font-size: 14px;
		padding: 4px;
		height: 34px;
	}
	.form_wrap input[type="checkbox"]:checked + .dummy_input::after {
		top: 8px;
		left: 5px;
		width: 16px;
		height: 11px;
	}
	.form_wrap .label_text {
		margin: 0 0 0 11px;
	}
	.form_wrap .item > dd textarea {
		font-size: 16px;
		line-height: 1.7;
		height: 150px;
		padding: 12px 13px 12px;
	}
	.form_wrap .personal_info {
		margin-top: 50px;
	}
	.form_wrap .personal_info .text {
		font-size: 14px;
		margin: 0 0 14px;
	}
	.form_wrap .personal_info .privacy_box {
		height: 204px;
		padding: 20px 36px 10px 26px;
	}
	.form_wrap .personal_info .privacy_box::-webkit-scrollbar {
		width: 15px;
		background-color: #EFEFEF; 
	}
	.form_wrap .personal_info .privacy_box::-webkit-scrollbar-thumb {
		background: var(--light_blue);
		width: 15px;
	}
	.form_wrap .personal_info .privacy_box .privacy_dl {
		font-size: 14px;
		line-height: 1.7;
	}
	.form_wrap .personal_info .privacy_box .privacy_dl dt:not(:first-child) {
		margin-top: 20px;
	}
	.form_wrap .personal_info .note {
		font-size: 14px;
		margin: 10px 0 12px;
	}
	.form_wrap .btn,
	.confirm .btn,
	.thanks .btn {
		margin: 40px auto 0;
		display: flex;
		justify-content: center;
		gap: 20px;
	}
	.form_wrap .btn .submit,
	.btn .top {
		flex: 0 1 400px;
		font-size: 20px;
		height: 74px;
		padding-right: 25px;
		border-radius: 37px;
		box-shadow: 5px 12px 20px rgba(189, 198, 228, 0.74);
		transition: box-shadow 0.3s;
	}
	.form_wrap .btn .submit:hover,
	.form_wrap .btn .back:hover,
	.btn .top:hover {
		box-shadow: none;
	}
	.form_wrap .btn .submit::after,
	.btn .top::after {
		right: 10px;
		width: 54px;
		height: 54px;
	}
}
@media ( max-width: 600px ) {
	#contact_form {
		padding: 15.2vw 0 16vw;
	}
	#contact_form .section_title {
		font-size: 7.4667vw;
		margin: 0 0 4.5333vw;
	}
	#contact_form .lead {
		font-size: 4.2667vw;
		text-align: left;
		line-height: 1.7;
		margin: 0 0 7.4667vw;
	}
	.form_wrap .item + .item {
		margin-top: 9.0667vw;
	}
	.form_wrap .item > dt {
		font-size: 3.7333vw;
		padding-left: 11.2vw;
		margin: 0 0 2.9333vw;
	}
	.form_wrap .item > dt .comment {
		font-size: 3.4667vw;
		margin-left: 4.5333vw;
	}
	.form_wrap .item > dt .required,
	.form_wrap .item > dt .any {
		font-size: 3.2vw;
		width: 9.3333vw;
		height: 5.6vw;
		padding: 1.0667vw 0 1.3333vw;
	}
	.form_wrap .item > dd {
		font-size: 3.7333vw;
	}
	.form_wrap .item > dd input:not([type="checkbox"]) {
		font-size: 4.2667vw;
		padding: 4.5333vw 3.4667vw 4.5333vw;
	}
	.form_wrap .error_msg {
		display: block;
		margin-top: 2.6667vw;
		font-size: 3.2vw;
	}
	.form_wrap .item > dd input:not([type="checkbox"]) {
		height: 13.3333vw;
	}
	.form_wrap .item > dd ul {
		gap: 2.6667vw;
	}
	.form_wrap .item > dd .contact_solution li {
		flex: 0 1 auto;
	}
	.form_wrap .item > dd .contact_type li {
		flex: 1 1 100%;
	}
	.form_wrap label {
		font-size: 3.7333vw;
		padding: 1.0667vw 3.2vw 1.0667vw 1.0667vw;
		height: 9.0667vw;
	}
	.form_wrap input[type="checkbox"]:checked + .dummy_input::after {
		top: 2.1333vw;
		left: 1.3333vw;
		width: 4.2667vw;
		height: 2.9333vw;
	}
	.form_wrap .label_text {
		margin: 0 0 0 2.9333vw;
	}
	.form_wrap .item > dd textarea {
		font-size: 3.7333vw;
		line-height: 1.4;
		height: 40vw;
		padding: 2.4vw 2.6667vw 2.4vw;
	}
	.form_wrap .personal_info {
		margin-top: 5.3333vw;
	}
	.form_wrap .personal_info .text {
		font-size: 3.7333vw;
		white-space: nowrap;
		margin: 0 0 3.7333vw;
	}
	.form_wrap .personal_info .privacy_box {
		height: 54.6667vw;
		padding: 20px 36px 10px 26px;
	}
	.form_wrap .personal_info .privacy_box::-webkit-scrollbar {
		width: 4vw;
		background-color: #EFEFEF; 
	}
	.form_wrap .personal_info .privacy_box::-webkit-scrollbar-thumb {
		background: var(--light_blue);
		width: 4vw;
	}
	.form_wrap .personal_info .privacy_box .privacy_dl {
		font-size: 3.7333vw;
		line-height: 1.4;
	}
	.form_wrap .personal_info .privacy_box .privacy_dl dt:not(:first-child) {
		margin-top: 2.6667vw;
	}
	.form_wrap .personal_info .note {
		font-size: 3.2vw;
		margin: 3.7333vw 0 4vw;
	}
	.form_wrap .btn,
	.confirm .btn,
	.thanks .btn {
		margin: 5.3333vw auto 0;
		display: flex;
		justify-content: center;
		gap: 5.3333vw;
	}
	.form_wrap .btn .submit,
	.btn .top {
		font-size: 4.2667vw;
		height: 13.3333vw;
		width: 72vw;
		margin: 0 auto;
		border-radius: 6.6667vw;
		box-shadow: 1.3333vw 3.2vw 5.3333vw rgba(189, 198, 228, 0.74);
	}
	.form_wrap .btn .submit::after,
	.btn .top::after {
		right: 1.0667vw;
		width: 10.9333vw;
		height: 10.9333vw;
	}
}
/*---------------------------------
#contact_form .confirm
---------------------------------*/
.confirm .form_wrap dl {
	text-align: left;
}
.confirm .form_wrap dl dt {
	color: var(--navy);
}
.confirm .form_wrap dl dd ul li {
	display: inline;
	white-space: wrap;
}
.confirm .form_wrap dl dd ul li:not(:last-child)::after {
	content: '/';
}
.confirm .btn .back {
	border: none;
	outline: none;
	color: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: var(--black);
}
@media ( min-width: 601px ) {
	.confirm .form_wrap dl {
		display: flex;
		align-items: center;
		gap: 0 20px;
	}
	.confirm .form_wrap dl + dl {
		margin-top: 50px;
	}
	.confirm .form_wrap dl dt {
		flex: 0 0 170px;
		font-size: 16px;
		line-height: 1.6;
	}
	.confirm .form_wrap dl dd {
		flex: 1 1 auto;
		font-size: 18px;
		line-height: 1.7;
	}
	.confirm .btn .back {
		flex: 0 1 200px;
		font-size: 20px;
		height: 74px;
		border-radius: 37px;
		box-shadow: 5px 12px 20px rgba(189, 198, 228, 0.74);
		transition: box-shadow 0.3s;
	}
}
@media ( max-width: 600px ) {
	.confirm .form_wrap dl + dl {
		margin-top: 8vw;
	}
	.confirm .form_wrap dl dt {
		font-size: 3.7333vw;
		line-height: 1.6;
	}
	.confirm .form_wrap dl dd {
		font-size: 4.2667vw;
		line-height: 1.7;
	}
	.confirm .btn {
		flex-direction: column-reverse;
	}
	.confirm .btn .back {
		font-size: 4.2667vw;
		height: 13.3333vw;
		width: 72vw;
		margin: 0 auto 0;
		border-radius: 6.6667vw;
		box-shadow: 1.3333vw 3.2vw 5.3333vw rgba(189, 198, 228, 0.74);
	}
}

/*---------------------------------
#contact_form .thanks
---------------------------------*/
#contact_form.thanks .lead {
	font-weight: 700;
}

@media ( min-width: 601px ) {
	#contact_form.thanks .section_title {
		margin: 0 0 64px;
	}
	#contact_form.thanks .lead {
		font-size: 18px;
		line-height: 1.7;
	}
}
@media ( max-width: 600px ) {
	#contact_form.thanks .section_title {
		margin: 0 0 13.0667vw;
	}
	#contact_form.thanks .lead {
		margin: 0 0 14.6667vw;
	}
}
/*---------------------------------
#document_form
---------------------------------*/
#document_form .section_title {
	color: var(--navy);
	font-weight: 700;
}
#document_form .contents .dc_imgs .img_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#document_form .contents .text {
	text-align: left;
}
#document_form .contents dl {
	text-align: left;
	background: #F4F3F3;
}
#document_form .contents dl dt {
	color: var(--light_blue);
	font-weight: 700;
}
#document_form .contents dl dd ul li {
	position: relative;
}
#document_form .contents dl dd ul li::before {
	content: '';
	position: absolute;
	left: 0;
	border-radius: 50%;
	background: var(--light_blue);
}
#document_form .contents dl dd ul li span {
	font-weight: bold;
}
#document_form .btn .submit span {
	display: inline-block;
	color: var(--red);
	background: #fff;
}
@media ( min-width: 601px ) {
	#document_form {
		padding: 78px 0 98px;
	}
	#document_form .section_title {
		font-size: 52px;
		line-height: 1.4;
		margin: 0 0 36px;
	}
	#document_form .lead {
		font-size: 16px;
		line-height: 1.7;
		margin: 0 0 43px;
	}
	#document_form .contents .dc_imgs {
		margin: 0 0 26px;
	}
	#document_form .contents .dc_imgs .img_wrap {
		gap: 10px;
		filter: drop-shadow(0px 0px 11px rgba(0, 0, 0, 0.15));
	}
	#document_form .contents .dc_imgs .img_wrap .img {
		flex: 0 1 calc(50% - 5px);
		max-width: 252px;
	}
	#document_form .contents .text {
		font-size: 16px;
		line-height: 1.7;
		margin: 0 0 26px;
	}
	#document_form .contents dl {
		padding: 20px;
	}
	#document_form .contents dl dt {
		font-size: 23px;
		line-height: 1.3;
		margin: 0 0 10px;
	}
	#document_form .contents dl dd ul li {
		font-size: 14px;
		line-height: 1.6;
		padding-left: 18px;
	}
	#document_form .contents dl dd ul li::before {
		top: calc(0.8em - 4px);
		width: 8px;
		height: 8px;
	}
	#document_form .contents dl dd ul li + li {
		margin-top: 10px;
	}
	#document_form .btn .submit span {
		padding: 0 5px;
		margin-right: 10px;
	}
}
@media ( min-width: 961px ){
	#document_form .wrap {
		display: flex;
		gap: 0 50px;
	}
	#document_form .contents {
		flex: 0 1 46.8%;
	}
	#document_form .form_wrap {
		flex: 0 0 534px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ){
	#document_form .contents {
		margin: 0 0 60px;
	}
}
@media ( max-width: 600px ) {
	#document_form {
		padding: 13.3333vw 0 15.7333vw;
	}
	#document_form .section_title {
		font-size: 7.4667vw;
		line-height: 1.4;
		white-space: nowrap;
		margin: 0 0 3.2vw;
	}
	#document_form .lead {
		font-size: 4.2667vw;
		text-align: left;
		line-height: 1.4;
		margin: 0 0 8vw;
	}
	#document_form .contents {
		margin: 0 0 9.0667vw;
	}
	#document_form .contents .dc_imgs {
		margin: 0 0 5.3333vw;
	}
	#document_form .contents .dc_imgs .img_wrap {
		gap: 1.3333vw;
		filter: drop-shadow(0px 0px 2.9333vw rgba(0, 0, 0, 0.15));
	}
	#document_form .contents .dc_imgs .img_wrap .img {
		flex: 0 1 calc(50% - 0.6667vw);
		max-width: 252px;
	}
	#document_form .contents .text {
		font-size: 4.2667vw;
		line-height: 1.4;
		letter-spacing: 0.04em;
		margin: 0 0 7.4667vw;
	}
	#document_form .contents dl {
		padding: 20px;
	}
	#document_form .contents dl dt {
		font-size: 6.1333vw;
		line-height: 1.3;
		text-align: center;
		margin: 0 0 2.6667vw;
	}
	#document_form .contents dl dd ul li {
		font-size: 3.7333vw;
		line-height: 1.6;
		padding-left: 4.8vw;
	}
	#document_form .contents dl dd ul li::before {
		top: calc(0.8em - 1.0666vw);
		width: 2.1333vw;
		height: 2.1333vw;
	}
	#document_form .contents dl dd ul li + li {
		margin-top: 2.6667vw;
	}
	#document_form .btn .submit span {
		padding: 0 1.3333vw;
		margin-right: 2.1333vw;
	}
	#document_form .btn .submit.dl {
		padding-right: 12vw;
	}
}

/*---------------------------------
#document_form .confirm
---------------------------------*/
#document_form.confirm .confilm_text {
	display: inline-block;
	color: var(--red);
	border: 1px solid var(--red);
}
@media ( min-width: 601px ){
	#document_form.confirm .confilm_text {
		font-size: 16px;
		line-height: 1.7;
		padding: 20px;
		margin: 0 0 53px;
	}
	#document_form.confirm.trial .text {
		font-size: 16px;
		line-height: 1.7;
		margin: 0 0 47px;
	}
	#document_form.confirm .form_wrap {
		max-width: 680px;
		margin: 0 auto;
	}
	#document_form.confirm.trial .form_wrap {
		max-width: 700px;
	}
	#document_form.confirm.trial .form_wrap dl {
		right: 0;
	}
	#document_form.confirm.trial .form_wrap dl dt {
		flex: 0 0 290px;
	}
}
@media ( min-width: 961px ){
	#document_form.confirm .form_wrap dl {
		position: relative;
		right: calc(-50% + 550px - 304px);
	}
}
@media ( max-width: 600px ) {
	#document_form.confirm .confilm_text {
		font-size: 4.2667vw;
		line-height: 1.4;
		text-align: left;
		padding: 2.6667vw;
		margin: 0 0 7.4667vw;
	}
	#document_form.confirm.trial .trial_img {
		width: 64.8vw;
		margin: 0 auto;
	}
	#document_form.confirm.trial .text {
		font-size: 4.2667vw;
		line-height: 1.4;
		text-align: left;
		padding: 0 2.6667vw;
		margin: 0 0 6.6667vw;
	}
	#document_form.confirm .form_wrap dl ul li {
		display: inline-block;
	}
	#document_form.confirm.trial .form_wrap dl ul li {
		display: inline;
	}
	#document_form.confirm .btn {
		margin: 8vw auto 0;
	}
}
/*---------------------------------
#document_form .thanks
---------------------------------*/
#document_form.thanks .caption {
	color: var(--light_blue);
}
#document_form.thanks .caption,
#document_form.thanks .lead {
	font-weight: 700;
}
@media ( min-width: 601px ){
	#document_form.thanks .section_title {
		margin: 0 0 70px;
	}
	#document_form.thanks .caption {
		font-size: 32px;
		margin: 0 0 32px;
	}
	#document_form.thanks .lead {
		font-size: 18px;
		line-height: 1.7;
		margin: 0 0 28px;
	}
	#document_form.thanks .text {
		font-size: 14px;
		line-height: 1.7;
	}
	#document_form.thanks .btn {
		margin: 80px auto 0;
	}
}
@media ( max-width: 600px ) {
	#document_form.thanks .section_title {
		margin: 0 0 16vw;
	}
	#document_form.thanks.trial .section_title {
		margin: 0 0 13.3333vw;
	}
	#document_form.thanks .caption {
		font-size: 5.3333vw;
		margin: 0 0 7.2vw;
	}
	#document_form.thanks.trial .caption {
		line-height: 1.7;
		margin: 0 0 5.3333vw;
	}
	#document_form.thanks .lead {
		font-size: 4.2667vw;
		line-height: 1.7;
		margin: 0 0 5.3333vw;
	}
	#document_form.thanks .text {
		font-size: 3.7333vw;
		text-align: left;
		line-height: 1.7;
	}
	#document_form.thanks .btn {
		margin: 16vw auto 0;
	}
}

/*---------------------------------
#company
---------------------------------*/
#company .sec_ttl,
#company .sec_sub_ttl {
	color: var(--navy);
}
#company table tr {
	border-bottom: 1px #E0E2E3 solid;
	text-align: left;
	line-height: 1.4;
}
@media ( min-width: 601px ){
	#company {
		padding-bottom: 100px;
	}
	#company .sec_ttl {
		font-size: 52px;
		margin-bottom: 30px;
	}
	#company .sec_sub_ttl {
		font-size: 38px;
		margin-bottom: 30px;
	}
	#company table {
		max-width: 700px;
		margin: 0 auto 80px;
	}
	#company table th {
		width: 130px;
		font-size: 18px;
		padding: 30px 0;
		vertical-align: top;
	}
	#company table td {
		font-size: 16px;
		padding: 30px 0;
	}
}
 
@media ( max-width: 600px ) {
	#company {
		padding-bottom: 16vw;
	}
	#company .sec_ttl {
		font-size: 8vw;
		margin-bottom: 5.333vw;
	}
	#company .sec_sub_ttl {
		font-size: 4.8vw;
		margin-bottom: 5.333vw;
	}
	#company table {
		width: 100%;
		margin-bottom: 8vw;
	}
	#company table th {
		width: 22.666vw;
		font-size: 4.266vw;
		padding: 4vw 0;
		vertical-align: top;
	}
	#company table td {
		font-size: 3.733vw;
		padding: 4vw 0;
	}
}

/*---------------------------------
#foot
---------------------------------*/
#foot {
	background: #E3F1FB;
}
@media ( min-width: 601px ) {
	#foot {
		padding: 25px 0;
	}
	#foot .copyright {
		font-size: 14px;
	}
}
@media ( max-width: 600px ) {
	#foot {
		padding: 3.7333vw 0;
	}
	#foot .copyright {
		font-size: 3.2vw;
	}
}