@charset "utf-8";
/* -----------------------------------------

	G-FORES Fit Cloud Web Site
	breakpoint : 1000px (900px)/ 800px / 600px

	Powered by MTnet
	Arranged by ShiShiDesign

	2025.10.06

----------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap');

/* ---------------------------------
 reset CSS
--------------------------------- */
html, body,
h1, h2, h3, h4, h5, h6,
p, div, span, iframe,
ul, ol, li,
dl, dt, dd {
	box-sizing: border-box;
	}

a img {
	border: none;
}
input,
form textarea {
	display: block;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
}
button, input, select, textarea {
	font-family : inherit;
	font-size : 100%;
	padding: 0;
	border: none;
}

/* ---------------------------------
	clear
--------------------------------- */
.clear {
	font-size: 0;
	line-height: 0;
	clear: both;
	}
.clearfix:after{
	content:"";
	display: table;
	clear:both;
	}

/* ---------------------------------
	common
--------------------------------- */
.fr { float: right; }
.fl { float: left; }
.alignleft { text-align:left; }
.aligncenter { text-align:center; }
.alignright { text-align:right; }

/* MARGIN-TOP */
.mt00 { margin-top:0px!important; }
.mt06 { margin-top:6px!important; }
.mt12 { margin-top:12px!important; }
.mt24 { margin-top:24px!important; }
.mt36 { margin-top:36px!important; }
.mt48 { margin-top:48px!important; }
.mt60 { margin-top:60px!important; }

/* MARGIN-BOTTOM */
.mb00 { margin-bottom:0!important; }
.mb06 { margin-bottom:6px!important; }
.mb10 { margin-bottom:10px!important; }
.mb12 { margin-bottom:12px!important; }
.mb15 { margin-bottom:15px!important; }
.mb24 { margin-bottom:24px!important; }
.mb36 { margin-bottom:36px!important; }

small {
	font-size: 90%;
}
.angle {
	font-style: oblique;
}

/* ---------------------------------
	html / body
--------------------------------- */	
html {
	height: 100%;
}
body {
	color: #111;
	line-height: 1.8;
	letter-spacing: 0.025em;
	font-family: 'Noto Sans JP', sans-serif;
}

@media only screen and (max-width: 600px) {
	body {
		font-size: 90%;
		line-height: 1.6;
		overflow-x: hidden;
	}
}

/* ---------------------------------
	link
--------------------------------- */
a:link,
a:visited {
	color: #111;
	text-decoration: none;
	}
a:hover,
a:active {
	color: #111;
	text-decoration: none;
	}
a,
.button {
	outline: none;
	transition: 0.5s ease-in-out;
	backface-visibility: hidden;
	}
a img:hover,
.button:hover {
	opacity: 0.8;
	}
button {
	outline: none;
}


/* ---------------------------------
	header
--------------------------------- */
#header {
	position: relative;
	left: 0;
	top:0;
	z-index: 1000;
	width: 100%;
	margin: 0 auto;
	transition: top .5s;
	background: #fff;
	letter-spacing: 0;
}
#header > .inner {
	zoom: 1;
	width: 100%;
	padding: 0 0 10px;
	margin: 0 auto;
}
#header > .inner:after,
#header .header-wrap:after {
	content:"";
	display: table;
	clear:both;
}

.header-bar {
	background: #e2e2e2;
}
.header-bar .inner {
	width: 94%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 7px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header-bar img {
	vertical-align: bottom;
}
.user-login {
	font-weight: 700;
	font-size: 0.9em;
}
.user-login a {
	display: block;
}
.header-wrap {
	width: 94%;
	max-width: 1100px;
	margin: 25px auto 15px;
	position: relative;
}
.header-menu {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
}
h1.site-title {
	float: left;
	text-align: center;
	font-weight: 500;
	margin-right: 25px;
}
h1.site-title img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
h1.site-title span {
	display: block;
	font-size: 0.9em;
	margin-bottom: 0.5em;
}
h1.site-title a {
	display: block;
}

.search-area {
	width: 250px;
	margin-left: 10px;
	/*float: right;*/
}
.mt-site-search-form {
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
}
.mt-site-search-form {
	height: 36px;
	display: flex;
	justify-content:flex-end;
	align-items:center;
}
.mt-site-search-form__query {
	width: 220px;
	height: 36px;
	padding: 0 8px;
	outline: 1px solid #999;
	border: 0;
	border-radius: 0;
}
.mt-site-search-form__button {
	height: 36px;
	visibility: hidden;
	position: relative;
}
.mt-site-search-form__button:after {
	content: '';
	content: "\f002";
	font-family: "Font Awesome 5 Free";
	visibility: visible;
	font-weight: 900;
	width: 50px;
	height: 36px;
	line-height: 36px;
	margin-left: 0px;
	border-width: 0px;
	outline: 1px solid #004499;
	background-color: #004499;
	color: #ffffff;
	cursor: pointer;
	border-radius: 0;
	position: absolute;
	right: 15px;
	top: 0px;
}
#header.is-scroll {
	box-shadow: 0 1px 10px -4px rgba(0, 0, 0, 0.6);
	transition: top .5s;
	position: fixed;
	top: 0;
	padding: 0;
	border-top: 3px solid #e2e2e2;
}
#header.is-scroll > .inner {
	min-height: 0;
	margin: 0 auto;
	padding: 0;
}
#header.is-scroll .header-bar,
#header.is-scroll .header-menu,
#header.is-scroll h1.site-title span {
	display: none;
}
#header.is-scroll .header-wrap {
	margin: 10px auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header.is-scroll h1.site-title {
	width: 20%;
	margin-right: 2%;
}
#header.is-scroll #globalnavi {
	margin: 0 0 0 auto;
}

@media only screen and (max-width: 900px) {
	#header > .inner {
		padding: 0;
	}
	h1.site-title, .header-wrap, .header-menu {
		float: none;
	}
	h1.site-title {
		margin-right: 0;
	}
	.header-menu {
		justify-content: center;
		margin-top: 1em;
	}
	.header-menu > button, .header-menu > div {
		margin: 0 0.5em;
	}
	#header.is-scroll .header-wrap {
		flex-direction: column;
		justify-content: center;
	}
	#header.is-scroll h1.site-title {
		width: 30%;
		margin-right: 0;
	}
}
@media only screen and (max-width: 800px) {
	.header-wrap {
		width: 92%;
	}
	#header.is-scroll + .menu-button {
		top: 20px;
	}
	
	#header.is-scroll .header-wrap {
		display: block;
		margin: 15px auto;
	}
	#header.is-scroll .search-area {
		display: none;
	}
	#header.is-scroll h1.site-title span {
		margin-bottom: 0.3em;
	}
	.mt-site-search-form {
		justify-content: flex-start;
	}
}
@media only screen and (max-width: 600px) {
	#header > .inner {
		flex-direction: column;
	}
	.header-bar .inner {
		padding: 3px 0;
	}
	.header-bar .user-login {
		display: none;
	}
	.header-wrap {
		margin: 1em auto;
	}
	h1.site-title {
		text-align: left;
		margin: 0 auto 0 0;
		width: 75%;
	}
	h1.site-title span {
		font-size: 0.8em;
	}
	.header-menu {
		flex-direction: column;
	}
	.header-menu > button {
		margin: 0 0 1em;
	}
	#header.is-scroll h1.site-title {
		margin: 0;
		width: 50%;
	}
}

/* ---------------------------------
	global-navi
--------------------------------- */
.sub-navi {
	display: none;
}
#globalnavi {
	position: relative;
	float: right;
	margin-top: 1.2em;
}
#globalnavi > ul {
	display: flex;
	justify-content: flex-end;
	}
#globalnavi > ul > li {
	line-height: 1;
	font-size: 1em;
	white-space: nowrap;
	cursor: pointer;
	position: relative;
	border-right: 1px solid #aaa;
}
#globalnavi > ul > li:first-child {
	border-left: 1px solid #aaa;
}
#globalnavi > ul > li a {
	font-weight: 500;
	position: relative;
	color: #2a2a2a;
}
#globalnavi a:hover {
	opacity: 1;
	color: #4488cc;
}
body#top li.navi-top > a,
body.pageid-1687916 li.navi-about > a,
body.pageid-1701446 li.navi-about > a,
body.pageid-1687918 li.pageid-1687918 > a,
body.pageid-1687919 li.pageid-1687919 > a,
body.pageid-1701450 li.pageid-1701450 > a {
	color: #004499!important;
}
li.has-sub > a:after {
	color: #0077cc;
	content: "\f0d7";
	font-family: "Font Awesome 5 Free";
	margin-left: 3px;
	font-weight: 900;
}
#globalnavi > ul > li a {
	display: block;
	padding: 0.4em 1em;
}
#globalnavi .dropmenu {
	display: none;
	position: absolute;
	left: 0.5em;
	top: 35px;
	width: auto;
	min-width: 200px;
	padding: 0 0;
	box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.2);
}
#globalnavi .sub-navi {
	display: flex;
	flex-direction: column;
	border-top: 3px solid #ceeafd;
	font-size: 0.9em;
	padding: 0 1.5em 0;
	background: #fff;
}
#globalnavi .sub-navi > li {
	padding: 0;
	border-bottom: 1px solid #e6e6e6;
}
#globalnavi .sub-navi li:last-child {
	border: none;
}
#globalnavi ul.sub-navi a {
	position: relative;
	padding: 1em 0;
}
#globalnavi li.has-sub-open li:last-child {
	border: 0;
}
#globalnavi li.has-sub-open li a {
	padding-left: 1.5em;
}
#globalnavi li.has-sub-open li a:before {
	content: "";
	position: absolute;
	top: 1.5em;
	left: 0.5em;
	width: 5px;
	height: 2px;
	background: #bbb;
	}
#globalnavi li.has-sub-open > a:hover {
	color: #2a2a2a;
	cursor: default;
}

#navi-mobile {
	display: none;
}

@media only screen and (max-width: 900px) {
	#globalnavi {
		float: none;
	}
	#globalnavi ul {
		justify-content: center;
	}
	#header.is-scroll #globalnavi {
		margin: 1em auto 0;
	}
}
@media only screen and (max-width: 800px) {
	.menu-button {
		height: 20px;
		position: fixed;
		right: 20px;
		top: 60px;
		width: 30px;
		z-index: 2000;
	}
	.menu-line {
		background: #0077cc;
		display: block;
		height: 2px;
		position: absolute;
		transition: 0.3s;
		width: 100%;
	}
	.menu-line--center {
		top: 9px;
	}
	.menu-line--bottom {
		bottom: 0;
	}
	.menu-line--top.active {
		top: 8px;
		transform: rotate(45deg);
	}
	.menu-line--center.active {
		transform: scaleX(0);
	}
	.menu-line--bottom.active {
		bottom: 10px;
		transform: rotate(135deg);
	}
	#globalnavi {
		display: none;
	}
	#navi-mobile {
		display: none;
		top: 0;
		left: 0;
		padding-top: 50px;
		padding: 50px 4% 0;
		width: 92%;
		text-align: left;
		z-index: 1500;
		background-image: none;
		background-color: #e7f5ff;
	}
	#navi-mobile ul li a:hover {
		opacity: 1;
	}
	#navi-mobile > ul {
		display: block;
		margin-bottom: 2em;
		overflow: auto;		
	}
	#navi-mobile > ul li {
		font-size: 1rem;
		height: auto;
		line-height: normal;
		padding: 0;
		margin: 0;
		display: block;
	}
	#navi-mobile > ul > li {
		border-bottom: 1px solid #fff;
	}
	body#top li.navi-top a {
		background-position: left center;
	}
	#navi-mobile > ul li a {
		font-weight: 500;
		display: block;
		padding: 0.7em 0.7em 0.7em 0.7em;
	}
	#navi-mobile li ul {
		width: 100%;
		overflow: auto;
		position: relative;
		background-color: transparent;
		padding-bottom: 0;
	}
	#navi-mobile ul.sub-navi {
		padding: 0 0 1em;
		font-size: 0.85em;		
	}
	#navi-mobile ul.sub-navi li {
		padding-left: 15px;
	}
	#navi-mobile ul.sub-navi a {
		position: relative;
		color: #666;
		font-size: 0.9em;
		padding-left: 15px;
	}
	#navi-mobile ul.sub-navi a:before {
		content: "";
		position: absolute;
		top: 1.5em;
		left: 0;
		width: 8px;
		height: 2px;
		background: rgba(0,0,0,.2);
	}
	#navi-mobile li.has-sub-open > ul {
		padding: 0;
	}
	#navi-mobile li.has-sub-open ul li a {
		display: block;
	}
	#navi-mobile li.catdepth-base > ul {
		top: auto;
	}
}
@media only screen and (max-width: 600px) {
	.menu-button {
		right: 5%;
		top: 50px;
	}
}

/* ---------------------------------
	breadcumb
--------------------------------- */
#breadcrumb {
	font-size: 0.8em;
	background: #e4e4e4;
	padding: 0.5em 0;
}
.breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	width: 94%;
	max-width: 1100px;
	margin: 0 auto;
}
.breadcrumb-list li {
	margin-right: 0.75em;
}
.breadcrumb-list li:before {
	font-family: "Font Awesome 5 Free";
	content: '\f054';
	font-size: 90%;
	font-weight: 900;
	padding: 0 0.75em 0 0;
	color: #999;
}
.breadcrumb-list li:first-child:before {
	display: none;
}
.breadcrumb-list li a:hover {
	color: #4488cc;
}

/* ---------------------------------
	content, section
--------------------------------- */
#content {
	position: relative;
	min-height: calc(100vh - 500px);
}
#content > .inner {
	width: 94%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
}
#content section {
	width: 100%;
	/*margin-bottom: 5em;*/
	z-index: -100;
}
#content section > .inner {
	width: 94%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 1.5em 0 3em;
}

section.page-title {
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 1.75em;
	padding: 1.5em 0;
	margin-bottom: 1em;
	background-image: -webkit-gradient(linear,right top,left top,from(#004499), color-stop(50%,#0099ee),to(#004499));
	background-image: -webkit-linear-gradient(right,#004499,#0099ee,#004499);
	background-image: linear-gradient(to left,#004499,#0099ee,#004499);
}
#blog-page.-support section.page-title {
	background-image: -webkit-gradient(linear,right top,left top,from(#552266), color-stop(50%,#8855aa),to(#552266));
	background-image: -webkit-linear-gradient(right,#552266,#8855aa,#552266);
	background-image: linear-gradient(to left,#552266,#8855aa,#552266);
}
#blog-page.-user section.page-title {
	background-image: -webkit-gradient(linear,right top,left top,from(#434348), color-stop(50%,#7c7c7f),to(#434348));
	background-image: -webkit-linear-gradient(right,#434348,#7c7c7f,#434348);
	background-image: linear-gradient(to left,#434348,#7c7c7f,#434348);
}
section.page-title + section {
	margin-top: 3em;
}
#blog-page.-subpage section.page-title {
	padding: 1em 0;	
}
#blog-page.-subpage section.page-title h1 span {
	display: block;
	font-size: 0.6em;
	font-weight: 500;
	
}

@media only screen and (max-width: 800px) {
	#content section > .inner {
		width: 92%;
	}
}

/* ---------------------------------
	subpage-list
--------------------------------- */
nav.subpage-list {
	width: 94%;
	margin: 1em auto 1.0em;
}
.subpage-list ul {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	justify-content: center;
	align-content: center;
	align-items: center;
}
.subpage-list ul:nth-child(2) {
	margin-top: 1em;
}
.subpage-list li {
	position: relative;
	line-height: 1;
	display: block;
	margin: 0 0.5em 0.5em;
	border-width: 0px;
	color: #004499;
	letter-spacing: 0.5px;
	cursor: pointer;

	background-image: -webkit-gradient(linear,right top,left top,color-stop(30%,#0077cc),to(#004499));
	background-image: -webkit-linear-gradient(right,#0077cc 30%,#004499 100%);
	background-image: linear-gradient(to left,#0077cc 30%,#004499 100%);
	
	font-size: 1em;
	overflow: hidden;
	z-index: 2;
}
.subpage-list li:before {
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	border-top: 2px solid #004499;
	border-right: 2px solid #004499;
	transform: rotate(45deg);
}

.subpage-list li.active {
	color: #fff;
	background-image: none;
	background-color: #0077cc;
}
.subpage-list li:after {
	position: absolute;
	content: '';
	top: 2px;
	left: 2px;
	background-color: #ffffff;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	display: block;
	z-index: -1;
	transition: 0.3s;
	opacity: 1;
}
.subpage-list li.active:before {
	border: none!important;
}
.subpage-list li.active:after {
	background-color: #0077cc;	
}
.subpage-list li a {
	display: block;
	color: #004499;
	padding: 0.75em 2.5em 0.8em 1.5em;
}
.subpage-list li.active a {
	padding-right: 1.5em;
	color: #fff;
}
.subpage-list li:hover a {
	transition: 0s;
	color: #fff;
}
.subpage-list li:hover:before {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;	
}
.subpage-list li:hover:after {
	opacity: 0;
	z-index: -1;
}
.subpage-list li i {
	margin-right: 0.3em;
}

@media only screen and (max-width: 600px) {
	.subpage-list {
		
	}
	.subpage-list li {
		width: 100%;
	}
}

/* ---------------------------------
	footer
--------------------------------- */
footer > .inner a:link {
	text-decoration: underline;
}
#footer-navi a:hover,
footer > .inner a:hover {
	color: #4488cc;
	text-decoration: none;
}
#footer-navi {
	margin: 4em auto 1em;
}
#footer-navi ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
}
#footer-navi ul li {
	line-height: 1;
	padding: 0.25em 20px;
	border-left: 1px solid #ccc;
}
#footer-navi ul li:first-child {
	border: none;
}
#footer {
	position: relative;
	z-index: 2;
	padding: 0;
	background-color: #e7f5ff;
}
#footer > .inner {
	width: 94%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 35px 0 0;
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-direction: row;
}
.footer-info-left {
	font-size: 0.875em;
	width: 42%;
}
.footer-logo {
	width: 90%;
	max-width: 410px;
}
.footer-logo img {
	width: 100%;
	height: auto;
}
.footer-info-left dt img {
	width: 100%;
	height: auto;
}
dl.privacy-mark {
	margin-top: 1.5em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 0.8em;
	line-height: 1.5;
}
dl.privacy-mark dt {
	width: 25%;
	max-width: 60px;
	
	margin-right: 1em;
}
dl.privacy-mark a {
	display: block;
}
.footer-info-right {
	width: 50%;
}
.footer-info-right dt {
	font-weight: 700;
	font-size: 1.1em;
	border-left: 5px solid #77ccff;
	padding: 0 0 0 8px;
	margin-bottom: 0.3em;
}
.footer-info-right dd {
	font-size: 0.875em;
	margin-bottom: 2em;
}
.footer-info-right dd p {
	margin-bottom: 0.5em;
	line-height: 1.5;
}
.footer-info-right ul {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.footer-info-right ul li {
	width: 31%;
}
.footer-info-right ul li img {
	width: 100%;
	height: auto;
	border: 1px solid #aaa;
}
.footer-info-right ul li a {
	display: block;
}

#footer .copyright {
	font-size: 0.7em;
	text-align: center;
	width: 100%;
	padding: 1em 0;
	color: #fff;
	background: #004499;
}
#footer .copyright a {
	color: #fff;
}

@media only screen and (max-width: 800px) {
	#footer > .inner {
		width: 92%;
		justify-content: flex-start;
		flex-direction: column;
		padding-top: 1.5em;
	}
	.footer-info-left, .footer-info-right {
		width: 100%;
	}
	.footer-info-left {
		margin-bottom: 2.2em;
	}
	
	#footer-navi ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 90%;
		margin: 0 auto;
	}
	#footer-navi ul li {
		font-size: 0.9em;
		width: calc(50% - 4px);
		margin: 0 0 10px;
		padding: 0;
		border: none;
	}
	#footer-navi ul li a {
		display: flex;
		height: 40px;
		background: #fff;
		border: 1px solid #ccc !important;
		text-align: center;
		justify-content: center;
		align-content: center;
		align-items: center;
	}
}
@media only screen and (max-width: 600px) {
	footer .inner {
		width: 94%;
	}
	.footer-logo {
		width: 100%;
	}
}
/* ---------------------------------
	button
--------------------------------- */
.btn-round {
	display: block;
	padding: 0.75em 1.5em 0.75em 1.5em;
	border-width: 0px;
	border-radius: 100vh;
	color: #fff;
	letter-spacing: 0.5px;
	cursor: pointer;
	position: relative;
	background-color: #00bbee;
	transition: 0.3s;
	font-size: 1em;
	line-height: 1;
	overflow: hidden;
	z-index: 2;
	
	background-image: -webkit-gradient(linear,right top,left top,color-stop(30%,#00bbee),to(#004499));
	background-image: -webkit-linear-gradient(right, #00bbee 30%, #004499 100%);
	background-image: linear-gradient(to left, #00bbee 30%, #004499 100%);
}
.btn-round:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	transition: all .5s;
	border-radius: 100vh;
	background-image: -webkit-gradient(linear,right top,left top,from(#00bbee), color-stop(50%,#0077cc),to(#004499));
	background-image: -webkit-linear-gradient(right,#00bbee,#0077cc,#004499);
	background-image: linear-gradient(to left,#00bbee,#0077cc,#004499);
	z-index: -1;
}
.btn-round:hover:after {
	color: #fff;
	opacity: 0;
}
.btn-round-edge {
	display: block;
	padding: 0.6em 1.5em 0.6em 1.5em;
	border-width: 0px;
	border-radius: 100vh;
	color: #004499;
	letter-spacing: 0.5px;
	cursor: pointer;
	position: relative;
	background-color: #00bbee;
	transition: 0.3s;
	font-size: 1em;
	line-height: 1;
	overflow: hidden;
	z-index: 2;
	
	background-image: -webkit-gradient(linear,right top,left top,color-stop(30%,#0077cc),to(#004499));
	background-image: -webkit-linear-gradient(right,#0077cc 30%,#004499 100%);
	background-image: linear-gradient(to left,#0077cc 30%,#004499 100%);
}
.btn-round-edge:after {
	position: absolute;
	content: '';
	top: 2px;
	left: 2px;
	background-color: #ffffff;
	border-radius: 100vh;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	display: block;
	z-index: -1;
	transition: 0.3s;
}

.btn-square {
	position: relative;
	display: block;
	padding: 0.75em 2.5em 0.8em 1.5em;
	margin: 0 0 0 auto;
	/*text-align: right;*/
	border-width: 0px;
	color: #004499;
	letter-spacing: 0.5px;
	cursor: pointer;

	background-image: -webkit-gradient(linear,right top,left top,color-stop(30%,#0077cc),to(#004499));
	background-image: -webkit-linear-gradient(right,#0077cc 30%,#004499 100%);
	background-image: linear-gradient(to left,#0077cc 30%,#004499 100%);
	
	font-size: 1em;
	line-height: 1;
	overflow: hidden;
	z-index: 2;
	
}
.btn-square:before {
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	border-top: 2px solid #004499;
	border-right: 2px solid #004499;

	transform: rotate(45deg);
}
.btn-square:hover:before {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;	
}
.btn-square:after {
	position: absolute;
	content: '';
	top: 2px;
	left: 2px;
	background-color: #ffffff;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	display: block;
	z-index: -1;
	transition: 0.3s;
	opacity: 1;
}
.btn-square:hover {
	color: #fff;
}
.btn-square:hover:after {
	opacity: 0;
	z-index: -1;
}
#navi-mobile .btn-round,
#navi-mobile .btn-round-edge {
	display: block;
	font-size: 1.2em;
	padding: 1em 2.5em 1em 1.5em;
	margin: 0 auto 1em;
	width: 60%;
}

@media only screen and (max-width: 600px) {
	.btn-round, .btn-square {
		width: 100%;
		padding: 1em 0.5em 1em 0.5em;
	}
	#navi-mobile .btn-round,
	#navi-mobile .btn-round-edge {
		width: 100%;
		margin-bottom: 1em;
	}
}

/* ---------------------------------
	totop
--------------------------------- */
.totop {
	position: fixed;
	visibility: hidden;
	display: block;
	right: 15px;
	bottom: 15px;
	z-index: 10000;
	width: 60px;
	height: 60px;
	background: rgba(111, 111, 111, 0.6);
	border-radius: 3px;
	color: #3a3a3a;
}
.totop.is-visible {
	visibility: visible;
}
.totop:hover {
	cursor: pointer;
}
.btn-arrow {
	position: relative;
	top: 24px;
	left: 16px;
	display: inline-block;
	width: 26px;
	height: 26px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(45deg);
}
@media(max-width:800px) {
	.totop {
		width: 48px;
		height: 48px;
	}
	.btn-arrow {
		width: 20px;
		height: 20px;
		top: 18px;
		left: 14px;
	}
}

/* ---------------------------------
	searcg result
--------------------------------- */
.mt-site-search-result-item {
	border-top: 1px solid #ddd;
	padding-top: 0.9em;
}
.mt-site-search-result-item:last-child {
	border-bottom: 1px solid #ddd;
	padding-bottom: 1em;
	margin-bottom: 1.5em;
}
.mt-site-search-result-item__label {
	font-weight: 500;
	xcolor: #0066bb;
}
a:hover .mt-site-search-result-item__label {
	color: #0066bb;
}
.mt-site-search-result-item__url cite {
	color: #004477;
}
.mt-site-search__pagination ul li {
	padding: 0;
	margin: 0 0.25rem;
}
.mt-site-search__pagination ul li a {
	color: #0077cc;
	display: inline-block;
	padding: .25rem .75rem;
	text-decoration: none;
    background-color: #fff;
	border: 1px solid #0077cc;
}
.mt-site-search__pagination ul li:hover a {
	background-color: #0077cc;	
	color: #fff;
}
.mt-site-search__pagination ul li.mt-site-search-pagination-item--current a {
	color: #fff;
	background-color: #0077cc;
}
/* ---------------------------------
	Top Page
--------------------------------- */
section.welcome-area {
	margin-top: 2em;
}
.welcome-area h2 {
	font-size: 1.5em;
	margin-bottom: 1em;
}
.welcome-area h2 img {
	max-width: 100%;
	height: auto;
}
h2.section-title {
	position: relative;
	font-size: 1.75em;
	font-weight: 700;
	color: #004499;
	margin-bottom: 0.5em;
	padding-left: 2%;
}
h2.section-title:before {
	position: absolute;
	content: '';
	display: block;
	width: 131px;
	height: 81px;
	background: url("../images/icon_cloud_2x.png") no-repeat left top;
	background-size: contain;
	top: -30px;
	left: -2%;
	z-index: -1;
}

section.welcome-area > .inner {
	display: flex;
	flex-direction: column;
	padding-top: 0;
}
section.welcome-area a:link,
section.welcome-area a:visited {
	color: #0066bb;
	text-decoration: underline;
}
section.welcome-area a:hover,
section.welcome-area a:active {
	color: #4488cc;
	text-decoration: none;
}

ul.news-list {
	width: 100%;
	margin-bottom: 1em;
}
ul.news-list > li {
	flex-direction: row;
	border-bottom: 1px dotted #999;
}
ul.news-list > li a {
	position: relative;
	display: flex;
	padding: 1em 2%;
	width: 96%;
}
ul.news-list > li a:hover {
	color: #4488cc;
	background: #f3faff;	
}
ul.news-list > li a:before {
	position: absolute;
	content: '';
	display: block;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 1px;
	background-color: #004499;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.5s;
}
ul.news-list > li a:hover:before {
	transform: scale(1, 1)
}
ul.news-meta {
	display: flex;
	flex-direction: row;
	margin-right: 1em;
}
ul.news-meta .date {
	display: flex;
	color: #888;
	margin-right: 0.75em;
}
ul.news-meta .cat {
	display: flex;
	font-size: 0.8em;
	line-height: 1;
	justify-content: center;
	align-items: center;
	color: #777;
	border: 1px solid #a0a0a0;
	margin: 0.3em 0;
	/*padding: 10px;*/
	width: 120px;
	height: 22px;
}
ul.news-meta .cat a {
	display: flex;
	width: 120px;
	height: 22px;
	justify-content: center;
	align-items: center;
}
.welcome-leading {
	display: flex;
	flex-direction: column;
	position: relative;
	margin-bottom: 2em;
}
.welcome-cont {
	margin-bottom: 2em;
}
.nine-cont {
	position: relative;
	margin-top: -50px;
	margin-left: 110px;
}
.nest {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
h2.five,
.appeal {
	margin-top: 30px;
	margin-left: 15px;
	margin-right: 0;
	margin-bottom: 0;
}
.nest p img {
	margin-top: 2em;
}
.movie-cont {
	position: relative;
	margin-top: -50px;
	margin-left: 110px;
}
.benefit-cont {
	position: relative;
	display: flex;
	margin: 1em 0 70px 110px;
	justify-content: space-between;
}
.benefit-movie {
	width: 45%;
	margin-top: 0;
	z-index: 3;
}
.benefit-movie a {
	display: block;
	position: relative;
	background-color: #000;
}
.benefit-movie img {
	width: 100%;
	height: auto;
	opacity: 0.5;
	vertical-align: bottom;
}
.benefit-movie a:hover img {
	opacity: 0.6;	
}
.benefit-movie a:after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 4em;
	color: #fff;
	content: "\f144";
	position: absolute;
 	top: 50%;
 	left: 50%;
 	transform: translate(-50%,-50%);
	opacity: 0.90;
}
.benefit-support {
	width: 50%;
	z-index: 2;
	margin-top: 110px;
	margin-right: 2%;
}
.benefit-bg {
	display: block;
	z-index: 1;
	position: absolute;
	top: 80px;
	left: 20%;
	width: 80%;
	height: 90%;
	background: #e7f5ff;
}
.benefit-cont h3 {
	color: #004499;
	font-weight: 700;
	font-size: 1.75em;
	margin-bottom: 0.3em;
}
.btn-area {
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-start;
	margin-top: 1.5em;
}
.btn-area .btn-square {
	margin: 0 1em 0.5em 0;
}

@media screen and (max-width: 900px) {
	.benefit-cont {
		flex-direction: column;
	}
	.benefit-movie {
		width: 90%;
	}
	.benefit-support {
		width: 85%;
		margin-left: 10%;
		margin-top: 20px;
	}
	.benefit-bg {
		width: 96%;
		left: 4%;
		height: 92%;		
	}
}

@media screen and (max-width: 800px) {
	.welcome-area .inner {
		justify-content: flex-start;
		flex-direction: column;
	}
	.welcome-leading h2 {
		/*width: 200px;*/
	}
	.welcome-cont h2 {
		/*width: 200px;*/
	}
	.welcome-area h2 img {
		max-width: 100%;
		height: auto;
	}
	.nine-cont {
		margin-top: -30px;
		/*margin-left: 70px;*/
		margin-left: 0;
	}
	.nest {
		flex-direction: column;
	}
	.appeal {
		margin-top: 1em;
	}
	.appeal img {
		max-width: 100%;
		height: auto;
	}
	h2.five {
		margin: 10px 0 0 auto;
	}
	.movie-cont {
		margin-top: -30px;
		margin-left: 0;		
	}
	.benefit-cont {
		margin-left: 70px;
	}
	.btn-area .btn-square {
		margin: 0.5em;
	}
}
@media screen and (max-width: 600px) {
	.welcome-leading {
		margin-bottom: 2em;
	}
	.nine-cont, .movie-cont {
		margin: 0;
	}
	.welcome-cont {
		margin-top: 1em;
	}
	.benefit-cont {
		margin-left: 0;
	} 
	.nest p {
		width: 100%;
	}
/*	h2.nine, h2.three {
		margin-bottom: 0;
	}*/
	h2.nine,h2.three {
		margin-bottom: 0;
	}
	h2.five {
		margin: 1em 0 0.5em auto;
	}
	.benefit-cont h3 {
		font-size: 1.5em;
	}
	.btn-area {
		display: flex;
		flex-direction: column;
	}
	.btn-area .btn-square {
		margin: 0.5em auto;
	}
	ul.news-list > li a {
		flex-direction: column;
	}
	ul.news-meta {
		justify-content: flex-start;
		align-items: baseline;
		margin-bottom: 0.5em;
	}
	ul.news-meta .cat {
		margin: 0;
	}
}

/* ---------------------------------
	swiper cssの上書き
--------------------------------- */
	.swiper-container .swiper-slide img{
		max-width: 100%;
		height: auto;
	}
	.swiper-container {
		padding-bottom: 30px;
	}
	.swiper-button-next, .swiper-button-prev {
		margin-top: -42px;
	}

/* ---------------------------------
	news
--------------------------------- */
ul.archive-list {
	width: 100%;
	margin-bottom: 1em;
}
ul.archive-list > li {
	padding-bottom: 1.5em;
	margin-bottom: 1.5em;
	border-bottom: 1px dotted #999;
}
ul.archive-list ul.news-meta {
	margin: 0 0 0.5em;
}
/*ul.archive-list ul.news-meta li a {
	width: auto;
}*/
ul.archive-list h3 {
	color: #0066bb;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	padding: 0.3em 0.5em 0.3em;
	margin-bottom: 0.5em;
	border-left: 5px solid #ddeeff;
}
p.arch-text {
	margin-bottom: 1em;
}
.entry-side h2 {
	padding: 0.5em;
	background: #ddeeff;
}
ul.entry-side-list {
	margin-bottom: 1em;
}

article.entry-wrap ul.news-meta {
	margin: 0 0 0.75em;
}
.entry-body {
	margin-bottom: 5em;
}
h1.entry-title {
	position: relative;
	font-size: 1.6em;
	line-height: 1.3;
	font-weight: 700;
	color: #004499;
	padding: 0.3em 0.5em 0.3em;
	border-left: 7px solid #ddeeff;
	margin-bottom: 1.0em;
}
.paginate {
	display: flex;
	justify-content: center;
	letter-spacing: normal;
	margin-bottom: 1em;
}
.paginate li {
	width: 48%;
	display: flex;
}
.paginate-prev {
	margin-right: 1em;
}
.paginate-next {
	margin-left: 1em;
	justify-content: flex-end;
	text-align: right;
}
.paginate li a:hover {
	color: #4488cc;
}
.paginate.-arch li {
	justify-content: center;
}
.paginate.-entry {
	margin: 2em auto;
	justify-content: space-between;
}
.paginate-header {
	margin-bottom: 0.3em;
}
.paginate-title {
	font-size: 0.80em;
	margin-bottom: 0.5em;
}
.paginate.-entry a {
	display: block;
	width: 100%;
	border-bottom: 1px solid #ccc;
	position: relative;
}
.paginate.-entry a:before {
	position: absolute;
	content: '';
	display: block;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 1px;
	background-color: #004499;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
.paginate.-entry a:hover:before {
	transform: scale(1, 1);
}

/* ---------------------------------
	WYSIWYG と 共通デザインページ（カスタムブロックを含む）
--------------------------------- */
/* link */
.mainpage-content a:link, .mainpage-content a:visited {
	color: #0066bb;
	text-decoration: underline;
	transition: ease-in-out .2s;
}
.mainpage-content a:hover {
	color: #4488cc;
	text-decoration: none;
}
/* headline */
.mainpage-content h1 {
	position: relative;
	font-size: 2em;
	font-weight: 700;
	color: #004499;
	margin-top: 3em;
	margin-bottom: 0.5em;
	clear: both;
}
.mainpage-content h1:before {
	position: absolute;
	content: '';
	display: block;
	width: 131px;
	height: 81px;
	background: url("../images/icon_cloud_2x.png") no-repeat left top;
	background-size: contain;
	top: -30px;
	left: -3%;
	z-index: -1;
}
.mainpage-content h2 {
	position: relative;
	font-size: 1.6em;
	line-height: 1.3;
	font-weight: 700;
	color: #0066bb;
	padding: 0.5em 0.3em 0.6em;
	margin-bottom: 20px;
}
.mainpage-content h2:before,
.mainpage-content h2:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	left: 0;
	background-image: -webkit-gradient(linear,right top,left top,from(#0066bb), color-stop(50%,#55bbff),to(#0066bb));
	background-image: -webkit-linear-gradient(right, #0066bb, #55bbff, #0066bb);
	background:linear-gradient(to right, #0066bb, #55bbff, #0066bb);
}
.mainpage-content h2:before {
	top: 0;
}
.mainpage-content h2:after {
	bottom: 0;
}

.mainpage-content h3 {
	color: #0066bb;
	background: #ddeeff;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	padding: 0.3em 0.75em;
	margin-bottom: 0.5em;
	border-radius: 6px;
}
.mainpage-content h4 {
	color: #5588dd;
	position: relative;
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1.5;
	margin-left: 0.25em;
	margin-bottom: 0.3em;
	padding-left: 1.0em;
	clear: both;
}
.mainpage-content h4:before {
	position: absolute;
	font-size: 80%;
	content: "\f192";
	color: #88aaee;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	left: 0em;
	top: 0.3em;
}
.mainpage-content h5 {
	font-size: 1.2em;
	font-weight: 700;
	color: #666;
	line-height: 1.25;
	margin-bottom: 0.5em;
}
.mainpage-content *:first-child {
	margin-top: 0;
}
.mainpage-content *+h1 {
	margin-top: 3em;
}
.mainpage-content > h1:first-child {
	margin-top: 1em;
}
.mainpage-content *+h2, .mainpage-content *+h3, .mainpage-content *+h4, .mainpage-content *+h5 {
	margin-top: 2.0em;
}
.mainpage-content h1 + h2,
.mainpage-content h1 + h3,
.mainpage-content h2 + h3,
.mainpage-content h3 + h4,
.mainpage-content h4 + h5 {
	margin-top: 1em;
}
.mainpage-content p {
	margin: 0 0.25em 0.5em;
}
.mainpage-content p strong,
.mainpage-content li strong {
	font-weight: bold;
	font-size: 1.05em;
	background-color: #ecf4f8;
	color: #00437c;
}

.mainpage-content em {
	font-style: italic;
}

.mainpage-content img {
	max-width: 100%;
	height: auto;
	margin-bottom: 0.5em;
}

.mainpage-content hr {
	height: 0px;
	margin: 20px 0;
	border: none;
	border-top: 1px solid #CCCCCC;
}
.mainpage-content blockquote {
	margin-bottom: 2rem;
	padding: 28px 30px;
	color: #666666;
	display: block;
	position: relative;
	background-color: #f7f7f7;
}

.mainpage-content blockquote::before {
	content: "";
	display: block;
	width: 4px;
	height: 100%;
	top: 0px;
	left: 0;
	background-color: #CCCCCC;
	position: absolute;
}

.mainpage-content blockquote p:first-child {
	margin-top: 0;
}

.mainpage-content ul {
	list-style: none;
	padding-left: 0;
	margin: 0.75em 0.5em 0.75em 0.5em;
	display: table;
}

.mainpage-content ul li:after {
	content: "";
	display: block;
	margin-bottom: 0.5em;
}
 
.mainpage-content ul li {
	display: table-row;
	position: relative;
}
.mainpage-content ul li:before {
	font-size: 60%;
	content: "\f111";
	color: #0066bb;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;

	display: table-cell;
	position: relative;
	top: -0.2em;
	padding-right: 0.4em;
}
.mainpage-content li ul {
	margin: 0.75em 0;
}
.mainpage-content li ul li:before,
.mainpage-content ul.ul-nest li:before {
	color: #ccc;
}

.mainpage-content ol {
	list-style: none;
	padding-left: 0;
	margin: 0.75em 0.5em 0.75em 0.5em;
	display: table;
}
.mainpage-content ol > li:after {
	content: "";
	display: block;
	margin-bottom: 0.5em;
}
.mainpage-content ol > li {
	display: table-row;
	counter-increment: table-ol;
}
.mainpage-content ol > li:before {
	content: counter(table-ol) ".";
	display: table-cell;
	padding-right: 0.4em;
	text-align: right;
}
.mainpage-content li {
	margin-bottom: 0.5em;
}
.mainpage-content ol.ol-bracket {
}
.mainpage-content ol.ol-bracket > li:before {
	content: "("counter(table-ol) ")";
	text-align: center;
}
.mainpage-content ol.ol-nest,
.mainpage-content ul.ul-nest {
	margin-left: 2em;
}
.mainpage-content ol + ol.ol-nest,
.mainpage-content ul + ol.ol-nest,
.mainpage-content ol + ul.ul-nest,
.mainpage-content ul + ul.ul-nest {
	margin-top: -1em;
}

/* table */
.mainpage-content table {
	width: 100%;
	min-width: 75%;
	border-collapse: collapse;
	border-spacing: 0;
	margin: 1.5em auto 2em;
	border: 2px solid #6699ee;
}
.mainpage-content table th, .mainpage-content table td {
	padding: 0.6em 1.25em;
	text-align: left;
	vertical-align: top;
	border-bottom: 2px dotted #6699ee;
}
.mainpage-content table th {
	background:#e7f5ff;
	border-right: 2px solid #6699ee;
}
.mainpage-content table td {
	border-right: 2px solid #6699ee;
}


/* 導入までの流れ　*/
.flow-wrap {
	margin-top: 2em;
}
.flow-block {
	display: flex;
}
.flow-step {
	position: relative;
	margin-right: 1em;
}
.flow-circle {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: #00aaee;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: 1;
	font-size: 0.8rem;
	font-weight: 700;
	padding-top: 2px;
}
.flow-circle strong {
	font-size: 2rem;
	font-weight: 500;
}
.flow-step:after {
	content: "";
	width: 2px;
	height: calc(100% - 70px);
	background-color: #00aaee;
	position: absolute;
	bottom: 0;
	left: 50%;
}
dl.flow-body {
	flex: 1;
	padding: 1em 1.5em 1em;
	margin-bottom: 40px;
	background-color: #e7f5ff;
}
dl.flow-body dt {
	color: #0066bb;
	font-size: 1.5em;
	line-height: 1.3;
	font-weight: 700;
	margin-bottom: 0.5em;
}
dl.flow-body dd {
	display: flex;
	justify-content: space-between;
	position: relative;
}

dl.flow-body dd:after {
	position: absolute;
	content: '';
	display: block;
	width: 0;
	height: 0;
	border: 30px solid transparent;
	border-top: 20px solid #ccc;
	bottom: -75px;
	left: 0;
	right: 0;
	margin: auto;
}
.flow-wrap .flow-block:last-child .flow-step:after{
	background-color: transparent;
}
.flow-wrap .flow-block:last-child dl.flow-body dd:after{
	border: none;
}
dl.flow-body dd.-img div {
	flex-basis: 80%;
}
dl.flow-body dd.flow-info div {
	flex-basis: auto;
}
dl.flow-body dd figure {
	flex-basis: 18%;
	justify-content: center;
}
dl.flow-body dd figure img {
	width: 100%;
	height: auto;
	border: 1px solid #ddd;
	vertical-align: bottom;
	margin-bottom: 0.3em!important;
}
dl.flow-body dd figcaption {
	text-align: center;
	font-size: 0.8em;
}
.flow-block.-setting .flow-circle {
	background: #ff6699;
}
.flow-block.-setting .flow-step:after {
	background-color: #ff6699;
}
.flow-block.-setting dl.flow-body {
	background: #ffe7f1;
}
.flow-block.-setting dl.flow-body dt {
	color: #ff6699;
}
sup {
	color: #333;
	font-weight: normal;
	vertical-align: super;
	font-size: 0.8rem;
}
dl.flow-body .phone {
	margin-top: 0.5em;
}

@media screen and (max-width: 800px) {
	dl.flow-body dd {
		flex-direction: column;
	}
	dl.flow-body dd div:first-child {
		margin-bottom: 1em;
	}
	dl.flow-body dd figure {
		width: 90%;
		margin: 0 auto;
		text-align: center;
	}
	dl.flow-body dd figure img {
		width: 60%;
		max-width: 200px;
		margin: 0 auto 0.3em;
	}
}
@media screen and (max-width: 600px) {
	.flow-circle {
		width: 50px;
		height: 50px;
	}
	.flow-circle strong {
		font-size: 1.5em;
	}
	.flow-step {
		margin-right: 0.5em;
	}
	.flow-step:after {
		height: calc(100% - 50px);
	}
}

 /* カラム */
.mt-be-columns .mt-be-column:first-child {
	margin-right: 0.5em;
}
.mt-be-columns .mt-be-column:last-child {
	margin-left: 0.5em;
}
 /* カラム（等分）*/

.mt-be-columns.column-equal .mt-be-column {
	flex: 1;
}

 /* 注意事項 */
.attention-list {
 	font-size: 90%;
 	background: #f1f1f1;
 	padding: 1em 1em 0.5em;
	 margin: 1em 0;
 }
.attention-list p {
 	padding-left: 1.0em;
 	text-indent: -1.0em;
 }
.attention-list ul:last-child,
.attention-list ol:last-child {
	margin-bottom: 0;
}
.attention-list li {
	margin-bottom: 0.3em;
}
.attention-list ul li:before {
	color: #ccc;
}

/* リンク用ボタン */
.btn-square-inline {
	margin: 1em 0; 
}
p.btn-inner {
	margin: 0;
}
.btn-square-inline .btn-inner a {
	position: relative;
	display: inline-block;
	padding: 0.75em 2.5em 0.8em 1.5em;
	margin: 0 0 0 auto;
	border-width: 0px;
	color: #004499;
	letter-spacing: 0.5px;
	cursor: pointer;

	background-image: -webkit-gradient(linear,right top,left top,color-stop(30%,#0077cc),to(#004499));
	background-image: -webkit-linear-gradient(right,#0077cc 30%,#004499 100%);
	background-image: linear-gradient(to left,#0077cc 30%,#004499 100%);
	
	font-size: 1em;
	line-height: 1;
	overflow: hidden;
	z-index: 2;
}
.btn-square-inline a {
	text-decoration: none!important;
}
.btn-square-inline .btn-inner a:before {
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	border-top: 2px solid #004499;
	border-right: 2px solid #004499;

	transform: rotate(45deg);
}
.btn-square-inline .btn-inner a:hover:before {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
.btn-square-inline .btn-inner a:after {
	position: absolute;
	content: '';
	top: 2px;
	left: 2px;
	background-color: #ffffff;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	display: block;
	z-index: -1;
	transition: 0.3s;
	opacity: 1;
}
.btn-square-inline .btn-inner a:hover {
	color: #fff;
}
.btn-square-inline .btn-inner a:hover:after {
	opacity: 0;
	z-index: -1;
}

/* ダウンロード */
div.dl-pdf div:before {
	color: #0066bb;
	content: "\f1c1";
	font-size: 1.5em;
	font-family: "Font Awesome 5 Free";
	margin-right: 0.2em;
	font-weight: 900;
}

/* faq */
.faq-wrap {
	width: 100%;
	margin: 0 auto 2em;
}
p + .faq-wrap {
	margin-top: 2em;
}
p.faq-Q {
	position: relative;
	color: #004499;
	font-weight: 700;
	font-size: 1.3em;
	margin: 2.5em 0 1em;
	padding: 0.5em 0.6em 0.5em 3.0em;
	background:#ddeeff;
	border-radius: 8px;
	}
.faq-Q:before {
	position: absolute;
	content: "Ｑ:";
	font-weight: 500;
	font-size: 1.5em;
	line-height: 1;
	color: #0099ff;
	margin-right: 8px;
	left: 0.4em;
	top: 0.3em;
}
.faq-Q:after {
	position: absolute;
	top: 100%;
	left: 22px;
	content: "";
	width: 0;
	height: 0;
	border: 8px solid transparent;
	border-top-width: 8px;
	border-top-style: solid;
	border-top-color: transparent;
	border-top: 12px solid #ddeeff;
}
.faq-A {
	margin: 1.5em 0 0;
	padding: 0 0 0 3.8em;
	position: relative;
}
.faq-A:before {
	position: absolute;
	top: -0.1em;
	left: 0.50em;
	content: "Ａ:";
	font-weight: 500;
	font-size: 1.7em;
	line-height: 1;
	color: #ff6699;
}
.faq-A p {
	margin-left: 0;
}

/* photo gallery zoom */
div.photo-gallery {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-top: 1.5em;
}
div.photo-gallery figure,
div.photo-gallery p {
	flex-basis: 23%;
	margin: 0 1% 2em;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	margin-top: auto;
}
div.photo-gallery img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
div.photo-gallery figcaption {
	text-align: center;
	margin-top: auto;
	font-size: 0.9em;
}
/* photo single zoom */
div.photo-zoom {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-top: 1.5em;
}
div.photo-zoom figure,
div.photo-zoom p {
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	margin-top: auto;
}
div.photo-zoom figcaption {
	text-align: center;
	margin-top: auto;
	font-size: 0.9em;
}

@media screen and (max-width: 600px) {
	.mt-be-columns {
		flex-direction: column;
	}
	.mt-be-columns .mt-be-column:first-child {
		margin-right: 0;
	}
	.mt-be-column {
		width: 100%;
	}
	.mt-be-columns .mt-be-column:last-child {
		margin-left: 0;
	}
	.mt-be-column img {
		margin: 1em auto!important;
	}
	div.photo-gallery figure,
	div.photo-gallery p {
		flex-basis: 48%;
	}
}

/* ---------------------------------
	オリジナルデザインページ
--------------------------------- */
.original-content h1 {
	position: relative;
	font-size: 2em;
	font-weight: 700;
	color: #004499;
	margin-top: 3em;
	margin-bottom: 0.5em;
	clear: both;
}
.original-content h1:before {
	position: absolute;
	content: '';
	display: block;
	width: 131px;
	height: 81px;
	background: url("../images/icon_cloud_2x.png") no-repeat left top;
	background-size: contain;
	top: -30px;
	left: -3%;
	z-index: -1;
}
.original-content h2 {
	position: relative;
	font-size: 1.6em;
	line-height: 1.3;
	font-weight: 700;
	color: #0066bb;
	padding: 0.5em 0.3em 0.6em;
	margin-bottom: 20px;
}
.original-content h2:before,
.original-content h2:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	left: 0;
	background-image: -webkit-gradient(linear,right top,left top,from(#0066bb), color-stop(50%,#55bbff),to(#0066bb));
	background-image: -webkit-linear-gradient(right, #0066bb, #55bbff, #0066bb);
	background:linear-gradient(to right, #0066bb, #55bbff, #0066bb);
}
.original-content h2:before {
	top: 0;
}
.original-content h2:after {
	bottom: 0;
}
.original-content h3 {
	color: #0066bb;
	background: #ddeeff;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	padding: 0.3em 0.75em;
	margin-bottom: 0.5em;
	border-radius: 6px;
}
.original-content h4 {
	color: #5588dd;
	position: relative;
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1.5;
	margin-left: 0.25em;
	margin-bottom: 0.5em;
}
.original-content *+h2, .original-content *+h3, .original-content *+h4, .original-content *+h5 {
	margin-top: 2.0em;
}
.original-content > h1:first-child {
	margin-top: 1em;
}
.original-content p {
	margin: 0 0.25em 0.5em;
}

/* 会社概要 */
.tbl-company {
	width: 100%;
	min-width: 75%;
	border-collapse: collapse;
	border-spacing: 0;
	margin: 1.5em auto 2em;
	border-bottom: 1px solid #c8d9e9;
}
.tbl-company th, .tbl-company td {
	padding: 0.75em 2%;
	text-align: left;
	vertical-align: top;
	border-top: 1px solid #c8d9e9;
}
.tbl-company th {
	color: #0066bb;
	font-weight: 700;
	background-color: #e7f5ff;
	width: 30%;
}
.tbl-company img {
	max-width: 100%;
	height: auto;
}
ul.service-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
}
ul.service-list li {
	flex-basis: 31.33%;
	margin: 0.5em 1%;
	justify-content: center;
	text-align: center;
}
ul.service-list li img {
	width: 100%;
	height: auto;
	border: 1px solid #ccc;
	vertical-align: bottom;
	margin-bottom: 0.2em;
}
ul.service-list figcaption {
	font-size: 90%;
}
ul.contact-list {
	display: flex;
	flex-wrap: wrap;
}
ul.contact-list li {
	flex-basis: 48%;
	margin: 0 1% 1em;
	padding: 1em 1.5em 0.5em;
	background: #e7f5ff;;
}
ul.contact-list li .phone {
	font-size: 120%;
	font-weight: 500;
}
ul.contact-list button {
	margin-bottom: 1em;
}
ul.contact-list button a {
	color: #fff;
}

/* プライバシーポリシー */
.privacy-wrap {
	margin-bottom: 3em;
	line-height: 1.5;
}
.privacy-wrap h3 {
	color: #999;
	font-weight: 500;
	text-align: center;
	background-color: transparent;
	letter-spacing: 2px;
}
.privacy-wrap h4 {
	font-size: 1.2em;
	color: #333;
	margin-left: 0;
}
.privacy-wrap strong {
	font-weight: bold;
}
.privacy-lead {
	margin: 1.2em auto 3em;
}
.privacy-box {
	border: 3px solid #ccc;
	width: 60%;
	margin: 1.5em auto;
	padding: 1.0em;
}
.privacy-box h4 {
	text-align: center;
}
.privacy-update {
	display: flex;
	justify-content: flex-end;
}
.privacy-wrap dl dt {
	margin-top: 0.75em;
	font-weight: bold;
}
.privacy-wrap dl dd {
	padding-left: 1.75em;
	padding-top: 0.25em;
}
.privacy-wrap dd ul {
	padding: 0 1.5em;
	margin: 0.75em auto;
}
.privacy-wrap ul.note {
	padding: 0 0.25em;
	margin: 1em auto;
}
.privacy-wrap ul.note li {
	font-size: 0.9em;
	margin-left: 1em;
	text-indent: -1em;
}
.privacy-box p:last-child,
.privacy-box ul.note:last-child {
	margin-bottom: 0;
}
.break-all {
	word-break: break-all;
}

/* サイトマップ　*/
ul.sitemap-list > li {
	margin-bottom: 1em;
}
ul.sitemap-list li ul {
	margin-left: 2em;
	margin-top: 0.5em;
	font-size: 0.9em;
}
ul.sitemap-list li i {
	color: #0077cc;
	font-size: 0.9em;
	margin-right: 0.5em;
}
ul.sitemap-list a:hover {
	color: #4488cc;
}
ul.sitemap-list li li {
	position: relative;
	padding-left: 1.8em;
	margin-bottom: 0.5em;
}
ul.sitemap-list li li:before {
	background-color: #0099dd;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 1em;
	width: 1em;
}


/* 認証ページ　*/
ul.index-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 2em auto;
	width: 100%;
}
ul.index-list li {
	width: 47%;
	margin: 0 0 3em;
}
ul.index-list h2 {
	position: relative;
	font-size: 1.4em;
	line-height: 1.3;
	font-weight: 700;
	color: #0066bb;
	padding: 0.3em 0.5em 0.3em;
	border-left: 7px solid #ddeeff;
	margin-bottom: 0.5em;
}
ul.index-list li .btn-square {
	margin: 0.75em auto 0 0;
}
.support-movie {
	margin: 1em auto 3em 0;
	width: 45%;
	z-index: 3;
}
.support-movie a {
	display: block;
	position: relative;
	background-color: #000;
}
.support-movie img {
	width: 100%;
	height: auto;
	opacity: 0.5;
	vertical-align: bottom;
}
.support-movie a:hover img {
	opacity: 0.6;	
}
.support-movie a:after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 4em;
	color: #fff;
	content: "\f144";
	position: absolute;
 	top: 50%;
 	left: 50%;
 	transform: translate(-50%,-50%);
	opacity: 0.90;
}
@media screen and (max-width: 800px) {
	ul.service-list li {
		flex-basis: 48%;
	}
	ul.contact-list li {
		flex: 98%;
	}
	.privacy-box {
		width: 100%;
	}
	.support-movie {
		margin: 1em auto 3em;
		width: 90%;
	}
}
@media screen and (max-width: 600px) {
	.tbl-company {
		border: 1px solid #c8d9e9;
	}
	.tbl-company th,
	.tbl-company td {
		display: block;
		width: 96%;
	}
	.tbl-company th:first-child {
		border: none;
	}
	.tbl-company td {
		border: none;
	}

	ul.index-list li {
	width: 100%;
	}
}

/* ---------------------------------
	更新のてびきページ
--------------------------------- */
.howto-img {
	width: 100%;
	background: #efefef;
	padding: 1.5rem 2rem;
	margin: 1rem auto 1.5rem;
}