﻿@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav.gnav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav.gnav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
 * {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;				/* 余白 */
	font-size: min(3vw, 12px);			/* 12px 12÷390×100 */
	color:#333;
	font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height:1.6;
	background:#fff;
}

#contents {
	overflow:hidden;
	width:100%;
	margin:10px auto;
	padding: 0 10px ;		/* 左右の余白 */
}

#main {
	box-sizing:border-box;
	overflow:hidden;
	float:none;
	width:100%;
	margin: auto;
}

/* 調整用スタイル */
a {
	text-decoration: none;
}

ul,li {
	list-style: none;			/*unorder listの 中点を消す*/
	padding: 0;					/*中点が位置する左余白を消す*/
	margin: 0;					/*上下にある余白を消す*/
}

h2 {
	margin-bottom: 3em;
	font-size: min(4.1vw, 16px);			/* 16px */
	color: #333;
	text-align: center;
	line-height: 1.0;
}

h2 span {
	position: relative;
	font-size: min(5.1vw, 20px);			/* 20px */
	display: block;
	padding-top: 10px;
}

h3 {
	margin-top: 15px;
	margin-bottom: 0.5em;
	font-size: min(4.1vw, 16px);			/* 16px */
	color: #333;
	text-align: center;
	line-height: 1.0;
}

h3 span {
	position: relative;
	font-size: min(4.6vw, 18px);			/* 18px */
	color: #6129e3;
	display: block;
	padding-top: 10px;
}

/* ヘッダー */
.header {
	width: 100%;
	height: 60px;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
}

.header_top {
	background-color: #fff;
	padding: 0 20px; /*左右の余白確保*/
	display: flex;
	align-items: center;
	height: 40px;
	position: relative;
	justify-content: flex-start;
}
.header_logo {
	top:auto;
	margin-top:20px;
}

/* フッター */
#footer {
	clear:both;
	position: relative;
	background-color: #000;
	text-align: center;
	width: 100%;
	bottom: 0;
	box-sizing:border-box;
	margin:0 auto;
}

#footer .logo {
	text-align: center;
	padding: 10px 0;
	border-bottom: 1px solid #fff;
}

#footer .logo a {
	color: #fff;
	display: inline-block;
}

.footer div {
	margin: auto;
}

.copyright {
	clear:both;
	padding:3px 0;
	font-size: min(2.8vw, 11px);			/* 11px */
	text-align:center;
	color: #fff;
	background-color:#29abe2;
}

/* 申込ボタン */
a.entry-button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 40px;
	position: relative;
	background: #6129e3;
	border: 1px solid #6129e3;
	border-radius: 30px;
	box-sizing: border-box;
	padding: 0 45px 0 25px;
	color: #fff;
	font-size: min(2.8vw, 11px);			/* 11px */
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-align: left;
	transition-duration: 0.3s;
}

a.entry-button:before {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -6px;
}

a.entry-button:hover {
	background: #845be3;
	color: #fff;
}

.slide {
	position: relative;
	display: block;
}

.slide a {/*aタグを画像の真ん中に*/
	position: absolute;
	top: 83%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

.slide img {
	width: 100%;
	height: auto;
	box-sizing: border-box;
}

.features {
	width: 100%;
	box-sizing: border-box;
	padding: 0px 20px 30px 20px;
}

.features-box {
    padding: 0.5em 1em;
    background: #fff;
    border: solid 3px #29abe2;/*線*/
    border-radius: 10px;/*角の丸み*/
	width: 100%;
	margin: 0 auto;
	margin-bottom: 3em;
}

.features-num {
	width:40px;
	height:40px;
	border-radius:50%;
	color: #fff;
	background:#29abe2;
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size: min(4.6vw, 18px);			/* 18px */
	margin: 0 auto;
	margin-top: -30px;
}

.features-picture {
	height: 170px;
	padding: 10px 0px 30px 0px;
}

.features-picture img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	align-items: center;
}

.features-text{
	text-align: center;
}

.introduction {
	width: 100%;
	box-sizing: border-box;
	padding: 0px 20px 30px 20px;
}

.introduction-box {
	padding: 0.5em 1em;
    background: #FFF;
    border: solid 3px #29abe2;/*線*/
    border-radius: 10px;/*角の丸み*/
	width: 100%;
	margin: 0 auto;
	margin-bottom: 3em;
}

.introduction-box h3{
	margin-bottom: 0.5em;
	font-size: min(3vw, 12px);			/* 12px 12÷390×100 */
	color: #333;
	text-align: center;
	border-bottom: 3px solid #29abe2;
	padding-bottom: 0.5em;
}

.introduction-picture {
	height: 200px;
	padding: 10px 0px 30px 0px;
}

.introduction-picture img {
	object-fit: contain;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	align-items: center;
}

/* デモ機貸出お問い合わせボタン */
a.demo-button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 65%;
	height: 40px;
	position: relative;
	background: #6129e3;
	border: 1px solid #6129e3;
	border-radius: 30px;
	box-sizing: border-box;
	padding: 0 45px 0 25px;
	color: #fff;
	font-size: min(2.8vw, 11px);			/* 11px */
	letter-spacing: 0.1em;
	line-height: 1.3;
	transition-duration: 0.3s;
	margin: 0 auto;
	margin-top: 1em;
}

a.demo-button:before {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -6px;
}

a.demo-button:hover {
	background: #845be3;
	color: #fff;
}

.contact-text{
	text-align: center;
	padding-top: 10px;
}

.price {
	width: 100%;
	box-sizing: border-box;
	padding: 0px 20px 30px 20px;
}

table.osusume {
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

table.osusume td {
	text-align: center;
	padding: 7px 0;
	color: #6129e3;
	font-weight: bold;
}

table.plans {
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
	margin: 0 auto;
	border-radius: 10px;/*角の丸み*/
    border: solid 3px #ddd;/*線*/
    border-radius: 10px;/*角の丸み*/
	overflow: hidden;
	text-align: center;
}

table.plans th,
table.plans td {
	padding: 12px;
  	border-bottom: 1px solid #ddd;/*一括指定せず、border-bottomのみ*/
}

table.plans tr:last-child th,
table.plans tr:last-child td {
	border-bottom: none;
}
  
table.plans th {
	text-align: center;
	vertical-align: middle;
	padding: 10px 0;
	border-right:solid 1px #ddd;
	border-left:solid 1px #ddd;
}

table.plans th:nth-child(1) {
	background-color:#f5f5f5;
}

table.plans th:nth-child(2) {
	background-color:#88c8e3;
	color: white;
	font-weight: bold;
}

table.plans th:nth-child(3) {
	background-color:#5bbae3;
	color: white;
	font-weight: bold;
}

table.plans th:nth-child(4) {
	background-color:#009fe3;
	color: white;
	font-weight: bold;
}
  
table.plans td {
	text-align: center;
	vertical-align: middle;
	padding: 7px 0;
	border:solid 1px #ddd;
}

.strong-price {
	font-size: min(3.6vw, 14px);			/* 14px */
	color: #e329ab;
	font-weight: bold;
}

.strong {
	font-size: min(3.6vw, 14px);			/* 14px */
	color: #e329ab;
	font-weight: bold;
	display: block;
}

.red-span {
	color: #e329ab;
}

.red {
	color: #e329ab;
	display: block;
}

table.caution {
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
	margin: 0 auto;
}

table.caution td {
	padding: 7px 0;
	font-weight: bold;
}

.application {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 20px 30px 20px;
}

.application-box {
	padding: 0.5em 1em;
	padding-top: 20px;
    background: #FFF;
    border: solid 3px #6129e3;/*線*/
    border-radius: 10px;/*角の丸み*/
	width: 100%;
	margin: 0 auto;
	margin-bottom: 3em;
}

.application-num {
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
	margin: 0 auto;
	margin-top: -40px;
}

.application-num img {
	object-fit: contain;
	width:40px;
	height:40px;
}

.application-text{
	text-align: center;
	padding-top: 10px;
}

/* デモ機貸出お問い合わせボタン */
a.app-button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 65%;
	height: 40px;
	position: relative;
	background: #6129e3;
	border: 1px solid #6129e3;
	border-radius: 30px;
	box-sizing: border-box;
	padding: 0 45px 0 25px;
	color: #fff;
	font-size: min(2.8vw, 11px);			/* 11px */
	letter-spacing: 0.1em;
	line-height: 1.3;
	transition-duration: 0.3s;
	margin: 0 auto;
	margin-top: 1em;
}

a.app-button:before {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -6px;
}

a.app-button:hover {
	background: #845be3;
	color: #fff;
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
 .totop {
	position:fixed;
	bottom:15px;
	right:15px;
	z-index:1;
}
.totop a {
	display:block;
	text-decoration:none;
}
.totop img {
	border-radius:50%;
	background:#6129e3;
	width: 30px;
	height: 30px;
}
.totop img:hover {
	background:#845be3;
}

/*================================================
 *  タブレット向けデザイン
 ================================================*/
 @media screen and (min-width:768px) {
	body {
	  	font-size: min(1.8vw, 14px);			/* 14px 14÷768×100 */
	}

	h2 {
		font-size: min(2.03125vw, 16px);			/* 16px */
	}
	h2 span {
		font-size: min(4.6875vw, 36px);			/* 36px */
	}

	h3 {
		font-size: min(3.6vw, 28px);			/* 28px */
	}
	h3 span {
		font-size: min(3.90625vw, 30px);			/* 30px */
	}

	a.entry-button {
		width: 40%;
		height: 60px;
		font-size: min(2vw, 16px);			/* 16px */
	}

	.features-num {
		width:70px;
		height:70px;
		font-size: min(2.34375vw, 30px);			/* 30px */
		margin-top: -45px;
	}

	.features-box {
		width: 68%;
	}

	.introduction-outline{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0px 100px;
	}

	.introduction-box {
		width: 100%;
		margin: 1em;
	}

	.introduction-box h3 {
		font-size: min(1.8vw, 14px);			/* 14px 14÷768×100 */
  	}

  	a.demo-button {
		width: 60%;
		height: 40px;
		font-size: min(1.8vw, 14px);			/* 14px */
	}

	.strong-price {
		font-size: min(2.34vw, 18px);			/* 18px */
	}

	.strong {
		font-size: min(2vw, 16px);			/* 16px */
	}

	.application-outline{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0px 100px;
	}

	.application-box {
		width: 100%;
	}

	.application-num {
		margin-top: -55px;
	}

	.application-num img {
		width:70px;
		height:70px;
	}

	a.app-button {
		width: 60%;
		height: 40px;
		font-size: min(1.8vw, 14px);			/* 14px */
	}

	.totop img {
		width: 40px;
		height: 40px;
	}
}

/* パソコンのCSS */
@media screen and (min-width: 1280px) {
	body {
		font-size: min(1.25vw, 16px);			/* 16px 16÷1280×100 */
		display: flex;
		flex-direction: column;
		min-height: 100vh;
	}

	.main {
		float:right;
		margin: 0 5px 0 0;
	}

	h2 {
		font-size: min(1.25vw, 16px);			/* 16px */
	}
	h2 span {
		font-size: min(2.8125vw, 36px);			/* 36px */
	}

	h3 {
		font-size: min(2.1875vw, 28px);			/* 28px */
	}
	h3 span {
		font-size: min(2.34375vw, 30px);			/* 30px */
	}

	#footer {
		position: relative;
		left: 0;
		right: 0;
		z-index: 999;
		margin-top: auto;
	}

	.copyright {
		font-size: min(0.85vw, 11px);			/* 11px */
	}

	.header img {
		width: 100%;
	}

	a.entry-button {
		width: 30%;
		height: 70px;
		border-radius: 40px;
		font-size: min(2.03125vw, 26px);			/* 26px */
	}

	.features-num {
		width:70px;
		height:70px;
		font-size: min(2.34375vw, 30px);			/* 30px */
		margin-top: -45px;
	}

	.features-box {
		width: 60%;
	}

	.features-picture {
		height: 220px;
	}

	.introduction-outline{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0px 200px;
	}

	.introduction-box {
		width: 350px;
	}

	.introduction-box h3 {
		font-size: min(1.25vw, 16px);			/* 16px 16÷1280×100 */
  	}

	a.demo-button {
		width: 50%;
		height: 40px;
		border-radius: 40px;
		font-size: min(1.25vw, 16px);			/* 16px */
	}

	table.plans {
		width: 76%;
	}

	table.osusume {
		width: 76%;
	}

	table.caution {
		width: 76%;
	}

	.strong-price {
		font-size: min(1.56vw, 20px);			/* 20px */
	}

	.strong {
		font-size: min(1.4vw, 18px);			/* 18px */
	}

	.application-outline{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0px 210px;
	}

	.application-box {
		width: 330px;
	}

	.application-num {
		margin-top: -55px;
	}

	.application-num img {
		width:70px;
		height:70px;
	}

	a.app-button {
		width: 75%;
		height: 40px;
		border-radius: 40px;
		font-size: min(1.25vw, 16px);			/* 16px */
	}

	.totop img {
		width: 50px;
		height: 50px;
	}
}