@charset "UTF-8";

/*-------------------------------------------
CSS
-------------------------------------------*/
	/*-------------------------------------------
	ALL
	-------------------------------------------*/
	html {
		font-size: 100%;
	}
	body {
		color: #24292e;
		font-family: '游ゴシック', YuGothic, 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'メイリオ', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, 'ＭＳ Ｐゴシック', tahoma, sans-serif;
	}
	.post,
	.page {
		margin: 0;
	}
	a {
		text-decoration: none;
	}
	img {
		max-width: 100%;
	}
	li {
		list-style: none;
	}

	.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 ,span {
	font-family:
	"Yu Gothic",
    Arial,
    'Meiryo',
    sans-serif !important;
	}

	.sup {
		font-size: 0.8em;
		vertical-align: top;
	}

	.breadcrumbs {
    margin: 0 0 0.8rem 0;
    list-style: none
	}

	.wrap {
		max-width: 1200px;
		margin: 0 auto;
		font-size: 1rem;
		padding: 0 20px;
	}



	.inner_800 {
		max-width: 800px;
		margin: 0 auto;
	}

	.inner_1200 {
		max-width: 1200px;
		margin: 0 auto;
	}

	.inner_1500 {
		max-width: 1500px;
		margin: 0 auto;
	}

	.blue {
		color: #0082FE;
	}

	.bg_blue01 {
		background-color: #DCE3FF;
	}

	.bg_blue02 {
		background-color: #3949AB;
	}

	.triangle {
		position: relative;
	}

	.triangle:after {
		content: "";
		position: absolute;
		top: 100%;
		box-sizing: border-box;
		border-right: 49vw solid transparent;
		border-left: 49vw solid transparent;
		border-top: 100px solid #FFF;
	}

	.sec_padding {
		padding: 50px 0;
	}

	.border-sec {
		padding: 50px 0px;
		background-color: #FFF;
	}

	.border-sec02 {
		padding-top: 150px;
		background-color: #DCE3FF;
	}

	@media screen and (max-width: 520px){
	.triangle:after {
			border-right: 49vw solid transparent;
			border-left: 49vw solid transparent;
			border-top: 50px solid #FFF;
	}
	.border-sec02 {
			padding-top: 100px;
	}
	}

	.headline {
		font-size: 1.8rem;
		font-weight: bold;
		margin: 0 auto;
		padding-bottom: 30px;
		text-align: center;
	}

	.headline_2 {
		font-size: 1.8rem;
		font-weight: bold;
		margin: 0 auto;
		padding-bottom: 10px;
		margin-top: 16px;
		text-align: center;
		color: #fff;
	}

	@media screen and (max-width: 520px){
	.headline {
		font-size: 1.2em;
		padding-bottom: 20px;
	}
	.headline_2 {
		font-size: 1.2em;
		padding-bottom: 10px;
	}
	}

	/*-------------------------------------------
	メインビジュアル
	-------------------------------------------*/
	#software-mv {
		max-width: 1000px;
		margin: 0 auto;
		padding: 80px 0;
	}

	.software-mv__inner {
		display: flex;
		align-items: center;
	}

	.software-mv__img {
		width: 50%;
		box-shadow: 2px 2px 2px #333;
	}

	.software-mv__textarea {
		width: 50%;
		padding: 30px;
	}

	.software-mv__heading {
		font-weight: bold;
		font-size: 3.0rem;
		padding-bottom: 10px;
	}

	.software-mv__copy {
		font-size: 2.0rem;
		white-space: pre-line;
		overflow-wrap: normal;
	}


	.main_visual {
		height: auto;
		margin: 50px 0;
	}
	.main_visual img {
		width: auto;
		max-height: 100%;
	}

	.software_main_container  {
	position: relative;
	display: block;
	width: 100% !important;
	height: 481px;
	max-height: 481px;
	}

	@media screen and (max-width: 1280px){
	.software_main_container {
		height:400px;
	}
	}

	@media screen and (max-width: 820px){
	.software_main_container {
		height:400px;
	}
	}

	@media screen and (max-width: 520px) {
	.software_main_container {
		height:200px;
	}
	}

	/*-----解決できること-----*/

	.solution_title {
		margin: 20px auto;
		text-align: center;
	}

	.solution_container {
		margin: 0 auto;
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.solution_container p {
		margin: 10px;
	}

	.solution_item {
		display: flex;
		align-items: center;
		padding: 0.5em 1em;
		margin: 1.0em 2em;
		font-weight: bold;
		font-size: 1.0rem;
		color: #000;/*文字色*/
		background: #FFF;
		border: solid 2px #000;/*線*/
		border-radius: 50px;/*角の丸み*/
		width: 300px;
		overflow-wrap: normal;
	}

	.solution_image {
		max-width: 600px;
		margin: 0px auto;
		margin-top: 50px;
	}

	@media screen and (max-width: 520px){
	.solution_item {
	font-size: 0.9em;
	padding: 0.2em 0.5em;
	margin: 0.5em 0.2em;
	}
	}

	/*-----特長（）-----*/

	.flex {
	display: flex;
	justify-content: center; /*左右中央揃え*/
	align-items: center;     /*上下中央揃え*/
	padding: 10px;
	}

	@media only screen and (min-width: 768px) {
	.flex {
	display: flex;
	}
	.flex.reverse {
	flex-direction: row-reverse;
	}
	}

	@media only screen and (max-width: 960px) {
	.flex {
	flex-wrap: wrap;
	}
	}

	@media only screen and (max-width: 520px) {
	.flex {
	flex-wrap: wrap;
	}
	}

	.point_container {
	display: inline-block;
	text-align: left;
	max-width: 600px;
	margin: 50px 0;
	}

	.point_text {
	font-size: 1.0rem;
	margin: 0 50px;
	overflow-wrap: normal;
	}

	.point_image {
	/*width: calc(100% / 2);*/
	width: 500px;
	}

	/*-----3つの便利機能-----*/

	.point_box {
	margin: 50px 10px;
	padding: 1.0rem;
	color: #fff;
	background-color: #3949AB;
	}

	.software-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(550px, 0));
	justify-content: center;
	}

	.software-item {
	padding: 20px;
	}

	.software-item__inner {
	display: flex;
	align-items: center;
	}

	.software-item__textblock {
		padding: 20px;
	}

	.software-item__title {
		font-size: 1.2rem;
		font-weight: bold;
		text-align: center;
	}

	.software-item__text {
		font-size: 0.8rem;
		padding-left: 10px;
	}

	.software-item img {
		max-width: 300px;
		width: 100%;
		height: 200px;
		aspect-ratio: 16 / 9;
	}

	@media screen and (max-width: 521px) {
	.software-grid {
	grid-template-columns: repeat(auto-fit, minmax(300px, 0));
	}
	.software-item__inner {
	display: block;
	}
	}

	/*-----紹介動画-----*/

	.product_video {
	margin: 0 auto;
	padding: 10px;
	text-align: center;
	}

	/*-----対応機種-----*/

	table{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	-webkit-overflow-scrolling: touch;
	}

	.tb_container {
	border: 1px solid #0A0A0A;
	margin-bottom: 50px;
	}

	.tb_container tr td {
	border: 1px solid #0A0A0A;
	border-bottom: none;
	font-size: 1.2em;
	margin: 0 auto;
	text-align: center;
	}

	.tb_item {
	text-align: left;
	}

	.tb_item th {
	text-align: center;
	border-bottom: none;
	border-right: 1px solid #0A0A0A;
	}

	.tb_item th:nth-child(4) {
	border-right: none;
	}

	tr td:nth-child(1) {
	background-color: #fff;
	border-left: none;
	}

	tr td:nth-child(4) {
	border-right: none;
	}

	@media (max-width: 521px) {
	.tb_item {
	overflow-x: scroll;
	font-size: 0.8em;
	overflow-x: scroll; /* 横スクロール処理 */
	white-space:nowrap;/* 自動改行させない */
	display: block;
	}
	}

	.tb_item a:hover {
	color: #0082FE;
	}

	.mrg_c {
	margin: 0 auto;
	}

	.tx_l {
	display: inline-block;
	text-align: left;
	}

	/*-----CTA-----*/

	.cta_container img {
	max-width: 500px;
	width: 100%;
	padding: 50px;
	filter: drop-shadow(5px 5px 5px #0A0A0A);
	}

	.cta_container img:hover {
	opacity: 0.5;
	cursor: pointer;
	}


	.cta_item {
	padding: 0 50px;
	font-weight: bold;
	width: 50%;
	}

	.cta_text {
	font-size: 1.5em;
	padding-bottom: 20px;
	overflow-wrap: normal;
	}

	.cta_button {
	width: 300px;
	margin: 0 auto;
	padding: 15px 15px 15px;
	background-color: #0082FE;
	border: 2px solid #FFF;
	border-radius: 50px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	cursor: pointer;
	transition: all .2s ease;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.0rem;
	}

	.cta_button:hover {
	opacity: 0.5;
	}

	.cta_button_2 {
	max-width: 400px;
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
	line-height: 3;
	background-color: #fff;
	color: #0082FE;
	border: 2px solid #0082FE;
	border-radius: 50px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	transition: all .2s ease;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.0rem;
	}

	.cta_button_2:hover {
	opacity: 0.5;
	}

	.cta_contact {
	font-size: 1.2em;
	font-weight: bold;
	color: #FFF;
	padding: 10px;
	}

	@media (max-width: 521px) {
	.cta_item {
		width: 100%;
	}
	.cta_text {
	font-size: 1.3em;
	}
	.cta_contact {
	font-size: 1.1em;
	}
	}


	.soft-contact-item {
    text-align: center;
    margin: 50px auto 0;
    max-width: 390px;
    width: 100%;
    background: #0082FE;
	border-radius: 50px;
	border: 2px solid #fff;
	box-sizing: border-box;
    font-size: 1.1rem;
    font-weight: bold;
	}

	.soft-contact-item a {
		color: #fff;
	}

	.soft-contact-item a:hover {
		opacity: 0.7;
		cursor:pointer;
	}

	.soft-contact-item p {
		padding: 30px 0 14px;
	}

/*-------------------------------------------
レスポンシブ対応
-------------------------------------------*/

		/*-------------------------------------------
		メインビジュアル
		-------------------------------------------*/
		/* ビューポート幅 375px 以下に有効 */
		@media (width <= 375px) {
		.software-mv__inner {
		display: grid;
		text-align: center;
		}
		.software-mv__img {
	    width: 90%;
		margin: 0 auto;
		}
		.software-mv__img--secondary {
		transform: none;
		}
		.software-mv__heading {
		font-size: 2rem;
		}
		.software-mv__textarea {
		width: 90%;
		margin: 0 auto;
		}
		.software-mv__copy {
		font-size: 1rem;
		}
		}