@CHARSET "utf-8";
/*------------------------------------------------------------------------------
	共通
------------------------------------------------------------------------------*/
html, body	{
	padding: 0px;
	margin: 0px;
	height: 100%;
	color: #333;
}

body	{
	margin: 0;
	padding: 0;
}

body, input, textarea, select {
	font-family: 'メイリオ', 'Meiryo', Verdana, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 1.5;
}

form {
	display: inline;
}

select {
	background: white;
}
/*------------------------------------------------------------------------------
	ラッパー
------------------------------------------------------------------------------*/
.vs-wrapper	{
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

.vs-wrapper * {
	box-sizing: border-box;
}
/*------------------------------------------------------------------------------
	ヘッダ
------------------------------------------------------------------------------*/
header {
	background: #2F4F7A;
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	z-index: 100;
}

header.core {
	background: #0aabce;
}

header > ul {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;	
	padding: 30px 0;
	align-items: center;
	display: flex;
}

header > ul > li {
	width: 50%;
	color: white;
}

header > ul > li > h2 {
	font-size: 20px;
	font-weight: bold;
}

header > ul > li > h2 > a {
	color: white;
}

header > ul > li > h2 > a > span {
	font-size: 35px;
}

header > ul > li:last-of-type {
	font-size: 16px;
	text-align: right;
}
/*------------------------------------------------------------------------------
	ボディ
------------------------------------------------------------------------------*/
main {
	width: 100%;
	padding-bottom: 100px;
	font-size: 14px;
	flex: 1;
}

main.toppage {
	padding-bottom: 0;
}
/*------------------------------------------------------------------------------
	フッタ
------------------------------------------------------------------------------*/
footer {
	background: #F6F6F6;	
}

footer > div {
	padding: 50px 0;
	background: #4AB9BC;
	color: white;
	font-size: 20px;
	font-weight: bold;	
	text-align: center;
}

footer > div > a {
	width: 250px;
	margin: 20px auto 0 auto;
	padding: 10px 0;
	background: white;
	border-radius: 100vh;
	color: #333;
	text-align: center;
	display: block;
}

footer > ul {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0;
	display: flex;
}

footer > ul > li {
/*	width: 20%;
	font-size: 16px;*/
	width: 100%;
	font-size: 12px;
	text-align: center;
}

footer > ul > li > img {
	width: 100px;
}
/*------------------------------------------------------------------------------
	検索
------------------------------------------------------------------------------*/
.vs-search {
	padding: 50px 0;
	background: #F6F6F6;
	text-align: center;
}

.vs-search > h3 {
	margin-bottom: 20px;
	font-size: 30px;
	font-weight: bold;
}

.vs-search > input {
	width: 600px;
	padding: 10px;
	border: 1px solid #ccc;
}

.vs-search > a {
	width: 42px;
	height: 42px;
	margin-left: 20px;
	background: #333;
	border-radius: 50%;
	color: white;
	line-height: 42px;
	font-size: 20px;
	text-align: center;
	display: inline-block;
	cursor: pointer;
}
/*------------------------------------------------------------------------------
	ページ1
------------------------------------------------------------------------------*/
.vs-page1 {
	width: 100%;
	max-width: 1200px;
	margin: 50px auto 0 auto;
}

.vs-page1 > div {
	padding: 30px 0;
	background: #ECE8E8;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}

.vs-page1 > div > p:first-of-type {
	line-height: 1;
	font-size: 30px;
}

.vs-page1 > div > p:first-of-type::before {
	content: '？';
	width: 30px;
	height: 30px;
	background: black;
	border-radius: 50%;
	color: white;
	line-height: 30px;
	text-align: center;
	display: inline-block;
}

/*.vs-page1 > div > p:first-of-type::before {*/
/*    width: 30px;*/
/*    height: 30px;*/
/*    display: inline-block;*/
/*    font-size: 30px;*/
/*}*/

.vs-page1 > div > p:last-of-type {
	margin-top: 10px;
}

.vs-page1 > ul {
	margin-top: 20px;
	flex-wrap: wrap;
	display: flex;
}

.vs-page1 > ul > li {
	width: calc((100% - 60px) / 3);
	height: 180px;
	margin-top: 30px;
	margin-right: 30px;
	padding: 30px;
	border: 1px solid #707070;
	cursor: pointer;
}

.vs-page1 > ul > li:nth-of-type(3n) {
    margin-right: 0;
}

.vs-page1 > ul > li:hover {
	background: #F8F8F8;
}

.vs-page1 > ul > li:hover p:nth-of-type(2) {
	background: #D6933C;
}

.vs-page1 > ul > li > p:first-of-type {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

.vs-page1 > ul > li > p:nth-of-type(2) {
	width: 50px;
	height: 5px;
	margin: 5px auto 0 auto;
	background: #87745D;
}

.vs-page1 > ul > li > p:last-of-type {
	margin-top: 50px;
	line-height: 1.5;
}

.vs-page1 > p {
	margin-top: 50px;
	font-size: 25px;
	font-weight: bold;
	text-align: center;	
}

.vs-page1 .news-outer {
	margin: 50px calc(50% - 50vw) 0 calc(50% - 50vw);
	padding: 50px 0;
	background: #F6F6F6;
}

.vs-page1 .news-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px;
	background: white;
	text-align: left;
}

.vs-page1 .news-inner > p:first-of-type {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}

.vs-page1 .news-inner > p:last-of-type {
	text-align: right;
}

.vs-page1 .news-inner > p:last-of-type > a {
	color: #2273CF;
	font-size: 14px;
	cursor: pointer;	
}

.vs-page1 .news-inner > div {
	margin-top: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #ccc;
	color: #333;
	font-size: 18px;	
	font-weight: normal;
}

.vs-page1 .news-inner > div.post-news {
	cursor: pointer;
}

.vs-page1 .news-inner > div > span::before {
	content: 'メンテナンス';
	width: 120px;
	margin: 0 10px;
	padding: 3px 0;
	background: #D6933C;
	border-radius: 3px;
	color: white;
	font-size: 12px;
	text-align: center;
	vertical-align: top;
	display: inline-block;
}

.vs-page1 .news-inner > div > span.news-category-2::before {
	content: '障害';
	background: #9C6D75;
}

.vs-page1 .news-inner > div > span.news-category-3::before {
	content: 'その他';
	background: #889C6D;
}
/*------------------------------------------------------------------------------
	ページ2
------------------------------------------------------------------------------*/
.vs-page2 {
	width: 100%;
	max-width: 1200px;
	margin: 50px auto 0 auto;
}

.vs-page2 > .vs-split > li:first-of-type {
	font-size: 18px;
	font-weight: bold;
}

.vs-page2 > .vs-split > li:first-of-type > a {
	margin-top: 20px;
	display: block;
	cursor: pointer;
}

.vs-page2 > .vs-split > li:first-of-type > a.curr {
	background: #E9FEFE;
}

.vs-page2 > .vs-split > li:last-of-type > p {
	margin-top: 20px;
	font-size: 30px;
	font-weight: bold;
}

.vs-page2 > .vs-split > li:last-of-type > div {
	margin-top: 20px;
}

.vs-page2 > .vs-split > li:last-of-type > div > p {
	padding: 10px;
	background: #F1EEEE;
	font-size: 18px;
	font-weight: bold;
	position: relative;
	cursor: pointer;
}

.vs-page2 > .vs-split > li:last-of-type > div > p::after {
	content: '\f106';
	font-family: 'FontAwesome';
	right: 20px;
	position: absolute;
}

.vs-page2 > .vs-split > li:last-of-type > div > p.open::after {
	content: '\f107';
}

.vs-page2 > .vs-split > li:last-of-type > div > div a {
	margin: 20px 0 0 20px;
	color: #2273CF;
	font-size: 18px;
	display: inline-block;
	cursor: pointer;
}

.vs-page2 > .vs-split > li:last-of-type > div > div a::before {
	content: '・';
}
/*------------------------------------------------------------------------------
	ページ3
------------------------------------------------------------------------------*/
.vs-page3 {
	width: 100%;
	max-width: 1200px;
	margin: 50px auto 0 auto;
}

.vs-page3 > .vs-split > li:first-of-type {
	font-size: 18px;
	font-weight: bold;
}

.vs-page3 > .vs-split > li:first-of-type > a {
	margin-top: 20px;
	display: block;
	cursor: pointer;
	position: relative;
}

.vs-page3 > .vs-split > li:first-of-type > a::after {
	content: '\f107';
	font-family: 'FontAwesome';
	right: 20px;
	position: absolute;
}

.vs-page3 > .vs-split > li:first-of-type > a.curr::after {
	content: '\f106';
}

.vs-page3 > .vs-split > li:first-of-type > div {
	display: none;
}

.vs-page3 > .vs-split > li:first-of-type > div.curr {
	display: block;
}

.vs-page3 > .vs-split > li:first-of-type > div > a {
	margin: 10px 0 0 20px;
	font-size: 16px;
	font-weight: normal;
	display: block;
	cursor: pointer;
}

.vs-page3 > .vs-split > li:first-of-type > div > a::before {
	content: '\f105';
	font-family: 'FontAwesome';
	margin-right: 5px;
}

.vs-page3 > .vs-split > li:first-of-type > div > a.curr {
	background: #E9FEFE;
}

.vs-page3 > .vs-split > li:last-of-type > div#subject,
.vs-page3 > .vs-split > li:last-of-type > div#content {
	margin-top: 20px;
	padding: 20px;
	background: #F8F8F8;
}

.vs-page3 > .vs-split > li:last-of-type > div#subject > p:first-of-type {
	color: #707070;
	text-align: right;
}

.vs-page3 > .vs-split > li:last-of-type > div#subject > p:nth-of-type(2) {
	margin-top: 10px;
	padding: 5px 10px;
	background: #2F4F7A;
	border-radius: 5px;
	color: white;
	text-align: center;
	display: inline-block;
}

.vs-page3 > .vs-split > li:last-of-type > div#subject > p:last-of-type {
	margin-top: 10px;
	line-height: 1.5;
	font-size: 20px;
	font-weight:bold;
}

.vs-page3.faq > .vs-split > li:last-of-type > div#subject > p:last-of-type::before {
	content: 'Q.';
}

.vs-page3 > .vs-split > li:last-of-type > div#content > p {
	font-size: 20px;
}

.vs-page3 > .vs-split > li:last-of-type > div#content > p::before {
	content: 'A.';
	font-size: 20px;
	font-weight: bold;
}

.vs-page3 > .vs-split > li:last-of-type > div#content > div {
	line-height: 2;
	font-size: 16px;
}

.vs-page3 > .vs-split > li:last-of-type > div#recommend {
	margin-top: 50px;
}

.vs-page3 > .vs-split > li:last-of-type > div#recommend > p {
	font-size: 25px;
	font-weight: bold;
}

.vs-page3 > .vs-split > li:last-of-type > div#recommend > a {
	padding: 5px 0;
	border-bottom: 1px solid #ccc;
	color: #2273CF;
	font-size: 18px;
	display: block;
	cursor: pointer;
}

.vs-page3 > .vs-split > li:last-of-type > div#recommend > a:first-of-type {
	margin-top: 15px;
}
/*------------------------------------------------------------------------------
	ページ4
------------------------------------------------------------------------------*/
.vs-page4 {
	width: 100%;
	max-width: 1200px;
	margin: 50px auto 0 auto;
}

.vs-page4 > p {
	margin-top: 20px;
	font-size: 20px;
	font-weight: bold;
}

.vs-page4 > div {
	margin-top: 20px;
	padding: 20px;
	background: #FCFCFC;
	cursor: pointer;
}

.vs-page4 > div:hover {
	background: #FCFCFC;
	border: 1px solid #CCCCCC;
	box-shadow: 0px 3px 6px #00000029;
}

.vs-page4 > div > p:first-of-type {
	margin-bottom: 10px;
	color: #2273CF;
	font-size: 18px;
	font-weight: bold;
}

.vs-page4 > div > p:last-of-type {
	margin-top: 20px;
	line-height: 1.5;
	font-size: 16px;
}
/*------------------------------------------------------------------------------
	ページ7
------------------------------------------------------------------------------*/
.vs-page7 {
	width: 100%;
	max-width: 1200px;
	margin: 50px auto 0 auto;
}

.vs-page7 > .vs-split > li:first-of-type {
	font-size: 20px;
	font-weight: bold;
}

.vs-page7 > .vs-split > li:first-of-type > a {
	display: block;
	cursor: pointer;
}

.vs-page7 > .vs-split > li:first-of-type > a:nth-of-type(n + 2) {
	margin-top: 20px;
}

.vs-page7 > .vs-split > li:first-of-type > a.curr {
	background: #E9FEFE;
}

.vs-page7 > .vs-split > li:last-of-type > p:first-of-type {
	margin-top: 20px;
	font-size: 30px;
	font-weight: bold;
}

.vs-page7 > .vs-split > li:last-of-type > div {
	margin-top: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #ccc;
	color: #333;
	font-size: 18px;	
	font-weight: normal;
}

.vs-page7 > .vs-split > li:last-of-type > div.post-news {
	cursor: pointer;
}

.vs-page7 > .vs-split > li:last-of-type > div > span::before {
	content: 'メンテナンス';
	width: 120px;
	margin: 0 10px;
	padding: 3px 0;
	background: #D6933C;
	border-radius: 3px;
	color: white;
	font-size: 12px;
	text-align: center;
	vertical-align: top;
	display: inline-block;
}

.vs-page7 > .vs-split > li:last-of-type > div > span.news-category-2::before {
	content: '障害';
	background: #9C6D75;
}

.vs-page7 > .vs-split > li:last-of-type > div > span.news-category-3::before {
	content: 'その他';
	background: #889C6D;
}
/*------------------------------------------------------------------------------
	ページ8
------------------------------------------------------------------------------*/
.vs-page8 {
	width: 100%;
	max-width: 1200px;
	margin: 50px auto 0 auto;
}

.vs-page8 > .vs-split > li:first-of-type {
	font-size: 20px;
	font-weight: bold;
}

.vs-page8 > .vs-split > li:first-of-type > a {
	display: block;
	cursor: pointer;
}

.vs-page8 > .vs-split > li:first-of-type > a:nth-of-type(n + 2) {
	margin-top: 20px;
}

.vs-page8 > .vs-split > li:first-of-type > a.curr {
	background: #E9FEFE;
}

.vs-page8 > .vs-split > li:last-of-type > div:first-of-type {
	margin-top: 20px;
	color: #333;
	font-size: 18px;	
	font-weight: normal;
}

.vs-page8 > .vs-split > li:last-of-type > div:first-of-type > span::before {
	content: 'メンテナンス';
	width: 120px;
	margin: 0 10px;
	padding: 3px 0;
	background: #D6933C;
	border-radius: 3px;
	color: white;
	font-size: 12px;
	text-align: center;
	vertical-align: top;
	display: inline-block;
}

.vs-page8 > .vs-split > li:last-of-type > div:first-of-type > span.news-category-2::before {
	content: '障害';
	background: #9C6D75;
}

.vs-page8 > .vs-split > li:last-of-type > div:first-of-type > span.news-category-3::before {
	content: 'その他';
	background: #889C6D;
}

.vs-page8 > .vs-split > li:last-of-type > p {
	margin-top: 20px;
	font-size: 30px;
	font-weight: bold;
}

.vs-page8 > .vs-split > li:last-of-type > div#content {
	margin-top: 20px;
	line-height: 2;
	font-size: 16px;
}
/*------------------------------------------------------------------------------
	問い合わせ
------------------------------------------------------------------------------*/
.vs-inquiry {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.vs-inquiry > h3 {
	margin-top: 50px;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}

.vs-inquiry > div {
	margin-top: 20px;
}

.vs-inquiry > div > iframe {
	width: 100%;
	height: 600px;
}
/*------------------------------------------------------------------------------
	画面分割
------------------------------------------------------------------------------*/
.vs-split {
	justify-content: space-between;
	display: flex;
}

.vs-split > li:first-of-type {
	width: 300px;
}

.vs-split > li:last-of-type {
	width: calc(100% - 320px);
}
/*------------------------------------------------------------------------------
	行数制限
------------------------------------------------------------------------------*/
.line-clamp-1 {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-clamp-3 {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/*------------------------------------------------------------------------------
	ボタン
------------------------------------------------------------------------------*/
.btn_or {
	font-size: 12px;
	padding: 5px 10px;
	color: #fff;
	background-color:#0075B5;
	border-style: none;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
 	cursor: pointer;
 }

.btn_or:hover {
	opacity: 0.8;
}

.btn_or:disabled	{
	background-color: #C0C0C0;
	cursor: auto;
}
/*------------------------------------------------------------------------------
	ページャー
------------------------------------------------------------------------------*/
.pager {
	margin-top: 20px;
	font-size: 20px;
	font-weight: normal;
	text-align: center;
}

.pager > a {
	color: #2273CF;
	cursor: pointer;
}

.pager > .page-prev {
	margin-right: 20px;
}

.pager > .page-next {
	margin-left: 20px;
}
/*------------------------------------------------------------------------------
	ナンバリング
------------------------------------------------------------------------------*/
tbody.numbering {
	counter-reset: rowCount;
}

tbody.numbering > tr {
	counter-increment: rowCount;
}

tbody.numbering > tr > th:first-of-type::before {
	content: counter(rowCount);
}
/*------------------------------------------------------------------------------
	パンくずリスト
------------------------------------------------------------------------------*/
#breadcrumb > li	{
	margin: 0 0.45em 0 0;
	padding: 0 0.9em 0 0;
	font-size: 0.9em;
	line-height: 0.9em;
	position: relative;
	display: inline-block;
}

#breadcrumb > li::after	{
	content: '\f105';
	font-family: FontAwesome;
	left: auto;
	right: 0;
	top: 0;
	bottom: 0;
	width: 0.9em;
	height: 0.9em;
	margin: auto 0;
	text-align: right;
	position: absolute;
	display: inline-block;
}

#breadcrumb > li:last-child {
	margin: 0;
	padding: 0;
}

#breadcrumb > li:last-child::after {
	display: none;
}

#breadcrumb a {
	cursor: pointer;
}
/*------------------------------------------------------------------------------
	その他
------------------------------------------------------------------------------*/
.require_mark	{
	color: #fd6c8b;
}

.error	{
	background: #ffb6c1 !important;
}

.hide {
	display: none;
}

