@charset "utf-8";

/*------------------------------------------------------------------------------------------------
  index
--------------------------------------------------------------------------------------------------*/
#index .mainslide {
	width:100%;
	height:100%;
	overflow:hidden;
	position:absolute;
	z-index:-1;
}

#index .mainslide .slick-slide {
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	height:calc(100vh - 100px);
	height:100vh;
}

#index .mainslide .slick-slide:nth-child(1) {background-image:url(../image/index/main1.jpg);}
#index .mainslide .slick-slide:nth-child(2) {background-image:url(../image/index/main2.jpg);}

#index .mainslide img {
	width:100%;
	height:100%;
}

#index #particles-js {
	background:rgba(0,0,0,.4);
}

.news ul {
	margin:3em auto;
}

.news li a {
	padding:2em;
	border-bottom:solid 1px #0f344d;
	font-size:.875em;
	position:relative;
}

.news li a.no_detail {
	cursor:default;
}

.news li a::before {
	content:'';
	position:absolute;
	top:0;
	right:0;
	width:0;
	height:100%;
	background:rgba(15,52,77,.1);
	transition:.3s;
}

.news li a:hover::before {
	left:0;
	width:100%;
}

.news li a::after {
	content:'\f054';
	font-weight:600;
	color:#0f344d;
	position:absolute;
	top:50%;
	right:1em;
	transform:translateY(-50%);
	transition:.3s;
}

.news li a:hover::after {
	right:.2em;
}

.news li a.no_detail::before,
.news li a.no_detail::after {
	display:none;
}

.news li p {
	display:inline-block;
	width:calc(100% - 20em);
}

.news li span.date {
	display:inline-block;
	width:7em;
}

.news li span.category {
	display:inline-block;
	width:6em;
	margin:0 4em 0 2em;
	text-align:center;
}

#index h2 {
	font-size:3em;
	text-align:center;
}

#index h2 span {
	display:block;
	margin:1em 0 0;
}

#index .service .menu {
	display:flex;
	flex-wrap:wrap;
	margin:3em auto;
}

#index .service .menu div {
	width:50%;
	height:400px;
	background:no-repeat center / cover;
	position:relative;
	overflow:hidden;
}

#index .service .menu div:nth-of-type(1) {background-image:url(../image/index/service-server.jpg);}
#index .service .menu div:nth-of-type(2) {background-image:url(../image/index/service-creation.jpg);}
#index .service .menu div:nth-of-type(3) {background-image:url(../image/index/service-cloud.jpg);}
#index .service .menu div:nth-of-type(4) {background-image:url(../image/index/service-global.jpg);}

#index .service .menu div > a {
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.6);
	transition:.3s;
}

@media all and (min-width: 1025px) {
	#index .service .menu div:hover > a {
		width:70%;
		background:rgba(0,0,0,.2);
	}
}

#index .service .menu div h3 {
	color:#fff;
	font-size:2em;
	text-align:center;
}

#index .service .menu div ul {
	width:30%;
	height:100%;
	color:#fff;
	position:absolute;
	right:-30%;
	top:0;
	background:#0f344d;
	transition:.3s;
}

@media all and (min-width: 1025px) {
	#index .service .menu div:hover ul {
		right:0;
	}
}

#index .service .menu div li a {
	padding:1em;
	position:relative;
	z-index:0;
}

#index .service .menu div li a::before {
	content:'';
	position:absolute;
	width:0;
	height:100%;
	right:0;
	top:0;
	background:rgba(255,255,255,.2);
	transition:.3s;
	z-index:-1;
}

#index .service .menu div li:hover a::before {
	left:0;
	width:100%;
}

#index .service .menu div ul li a::after {
	content:'\f054';
	font-size:.875em;
	font-weight:bold;
	position:absolute;
	right:1em;
	top:50%;
	transform:translateY(-50%);
	transition:.3s;
}

#index .service .menu div li a[target="_blank"]::after {
	content:'\f35d';
}

#index .service .menu div li a:not([target="_blank"]):hover::after {
	right:.5em;
}

.support .menu {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.support .menu a {
	width:calc(100% / 3);
	margin:3em 0;
	text-align:center;
	transition:.3s;
}

.support .menu a .svgwrap {
	position:relative;
	width:80px;
	height:80px;
	margin:0 auto;
}

.support .menu a .svgwrap img {
	position:absolute;
	top:0;
	left:0;
}

.support .menu a .svgwrap .app {
	width:50px;
}

.support .menu a .svgwrap .manual {
	width:50px;
	bottom:0;
	right:0;
	top:auto;
	left:auto;
}

.support .menu a:nth-child(-n+2):hover img.person {
	animation:support1 1.6s cubic-bezier(0.55, 0, 0.27, 2) infinite;
}

.support .menu a:nth-child(3):hover img.person {
	animation:support3 1.6s cubic-bezier(0.55, 0, 0.27, 2) infinite;
}

.support .menu a:nth-child(4):hover img {
	animation:support4 1.6s ease-in infinite;
}

.support .menu a:nth-child(5):hover img.gear {
	animation:support5 1.6s infinite;
	transform-origin:59px 54px;
}

.support .menu a:nth-child(6):hover img.app {
	animation:support6-app 1.6s infinite;
}

.support .menu a:nth-child(6):hover img.page {
	animation:support6-page 1.6s infinite;
	transform-origin:40px;
	transform-origin:25px;
}

@keyframes support1 {
	0%{top:26px;}
	50%{top:0;}
}

@keyframes support3 {
	0%{top:36px;}
	50%{top:0;}
}

@keyframes support4 {
	0%{transform:rotateY(0);}
	50%{transform:rotateY(180deg);}
}

@keyframes support5 {
	0% {transform:rotate(0);}
	100% {transform:rotate(180deg);}
}
@keyframes support6-app {
	0%{transform:rotate(0);}
	25%{transform:rotate(-10deg);}
	50%{transform:rotate(10deg);}
	75%{transform:rotate(-10deg);}
	100%{transform:rotate(0);}
}
@keyframes support6-page {
	0%{transform:rotateY(0);}
	100%{transform:rotateY(180deg);}
}

#index .support .menu a h3,
#support .support .menu a h2 {
	font-size:1.5em;
	text-align:center;
	line-height:2;
	letter-spacing:inherit;
	color:#333;
}

#index .com-rec {
	display:flex;
	padding:0!important;
}

#index .com-rec a {
	width:50%;
	position:relative;
	overflow:hidden;
}

#index .com-rec a:first-child {
	margin:3em 1.5em 3em 3em;
}

#index .com-rec a:last-child {
	margin:3em 3em 3em 1.5em;
}

#index .com-rec a::after {
	content:'';
	width:100%;
	height:100%;
	background:rgba(0,0,0,.6);
	position:absolute;
	left:0;
	top:0;
	transition:.3s;
}

#index .com-rec a:hover::after {
	background:rgba(0,0,0,.2);
}

#index .com-rec img {
	width:100%;
	transition:.3s;
}

@media all and (min-width: 1025px) {
	#index .com-rec a:hover img {
		transform:scale(1.05);
	}
}

#index .com-rec h2 {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:100%;
	color:#fff;
	z-index:1;
}

#index .contact {
	background:url(../image/index/contact.jpg) no-repeat center / cover;
	position:relative;
	z-index:0;
}

#index .contact::before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.6);
	z-index:-1;
}

#index .contact h2 {
	color:#fff;
}

#index .contact .contact-wrap {
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-top:3em;
}

#index .contact .contact-wrap div {
	width:50%;
	text-align:center;
	color:#fff;
	padding:1em 0;
}

#index .contact .contact-wrap .tel {
	border-right:solid 1px #fff;
}

#index .contact .contact-wrap .tel img {
	margin-right:.4em;
	vertical-align:middle;
}

#index .contact .contact-wrap .tel a {
	font-size:2.5em;
	display:inline-block;
	letter-spacing:.1em;
}

#index .contact .contact-wrap .tel rt {
	font-size:.35em;
}

#index .contact .contact-wrap .tel p {
	font-size:.4em;
}

#index .contact .contact-wrap .form a {
	font-size:1.5em;
	border:solid 1px #fff;
	display:inline-block;
	margin:0 auto;
	padding:0 2em;
	position:relative;
	transition:.3s;
}

#index .contact .contact-wrap .form a::before {
	content:'';
	width:0;
	height:100%;
	position:absolute;
	right:0;
	top:0;
	background:rgba(255,255,255,.3);
	transition:.3s;
}

@media all and (min-width: 1025px) {
	#index .contact .contact-wrap .form a:hover::before {
		width:100%;
		left:0;
	}
}


/*------------------------------------------------------------------------------------------------
  service index
--------------------------------------------------------------------------------------------------*/
#service.index .content {
	padding-top:0;
}

#service .menu div h2 {
	font-size:2em;
	padding:3em 0;
	color:#fff;
	background:no-repeat center / cover;
	text-align:center;
	position:relative;
	z-index:0;
}

#service .menu div:nth-child(1) h2 {background-image:url(../image/index/service-server.jpg);}
#service .menu div:nth-child(2) h2 {background-image:url(../image/index/service-creation.jpg);}
#service .menu div:nth-child(3) h2 {background-image:url(../image/index/service-cloud.jpg);}
#service .menu div:nth-child(4) h2 {background-image:url(../image/index/service-global.jpg);}

#service .menu div h2::before {
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background:rgba(0,0,0,.6);
	z-index:-1;
}

#service .menu div h2 img {
	margin-bottom:.5em;
}

#service .menu div ul {
	margin:3em auto 6em;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

#service .menu div li {
	width:47.5%;
}

#service .menu div li:nth-child(n+3) {
	margin-top:4em;
}

#service .menu div li h3 {
	margin-bottom:.5em;
	border-bottom:solid 1px #333;
	padding-left:.5em;
	position:relative;
	transition:.3s;
}

#service .menu div li h3::before {
	content:'';
	position:absolute;
	width:0;
	height:100%;
	top:0;
	right:0;
	background:rgba(15, 52, 77, .1);
	transition:.3s;
}

#service .menu div li h3::after {
	content:'\f054';
	font-size:.583em;
	position:absolute;
	right:1em;
	top:50%;
	transform:translateY(-50%);
	transition:.3s;
}

#service .menu div li a[target="_blank"] h3::after {
	content:'\f35d';
}

@media all and (min-width: 1025px) {
	#service .menu div li a:hover h3::before {
		width:100%;
		left:0;
	}
}

#service .menu div li a:hover:not([target="_blank"]) h3::after {
	right:.2em;
}

#service .menu div li p {
	font-size:0.875em;
}

/*------------------------------------------------------------------------------------------------
  service second
--------------------------------------------------------------------------------------------------*/
.feature div {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.feature dl {
	width:48%;
	padding:0 2em 2em 0;
	margin-top:3em;
	border-right:solid 10px rgba(15,52,77,.3);
	border-bottom:solid 10px rgba(15,52,77,.3);
	position:relative;
}

.feature dl::before {
	position:absolute;
	top:0;
	left:0;
	font-size:5em;
	font-weight:600;
	font-family:'Montserrat', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	line-height:.4;
	color:#b7c2c9;
	z-index:-1;
	content:'1';
}
.feature dl:nth-of-type(2)::before { content:'2'; }
.feature dl:nth-of-type(3)::before { content:'3'; }
.feature dl:nth-of-type(4)::before { content:'4'; }

.feature dt {
	font-weight:bold;
	font-size:1.5em;
	margin:0 0 1em 1em;
}

#service table {
	margin:2em 0;
	font-size:.875em;
}

#service table th,
#service table td {
	padding:.5em 1em;
	text-align:center;
	font-weight:normal;
	border:solid 1px #ccc;
	line-height:normal;
}

#service table th {
	font-size:1.14em;
	background:#0f344d;
	color:#fff;
}

#service .flow .tab {
	display:flex;
	justify-content:space-between;
}

#service .flow .tab li {
	width:33%;
  background-color: rgba(15, 52, 77, .1);
  line-height: 50px;
  text-align: center;
	position:relative;
	transition:.3s;
	cursor:pointer;
}

#service.domain .flow .tab li {
	width:49.5%;
}

#service .flow .tab li:hover {
  background-color: rgba(15, 52, 77, .3);
}

#service .flow .tab li.check {
  background-color: #0f344d;
  color: #fff;
}

#service .flow .tab li::after {
	content:'';
	position:absolute;
	bottom:-.8em;
	left:50%;
	transform:translateX(-50%);
	border-top:solid .8em #0f344d;
	border-left:solid .8em transparent;
	border-right:solid .8em transparent;
	transition:.3s;
	opacity:0;
}

#service .flow .tab li.check::after {
	opacity:1;
}

#service .flow .tab-content li:not(:first-child) {
	display:none;
}

#service .flow .tab-content li div {
	border-bottom:solid 2px;
	padding:0 2.5em 3em 5em;
	margin-top:3em;
	position:relative;
}

#service .flow .tab-content li div::before {
	position:absolute;
	top:0;
	left:0;
	font-size:4em;
	line-height:normal;
}
#service .flow .tab-content li div:nth-of-type(1)::before { content:'1'; }
#service .flow .tab-content li div:nth-of-type(2)::before { content:'2'; }
#service .flow .tab-content li div:nth-of-type(3)::before {	content:'3'; }
#service .flow .tab-content li div:nth-of-type(4)::before {	content:'4'; }
#service .flow .tab-content li div:nth-of-type(5)::before {	content:'5'; }
#service .flow .tab-content li div:nth-of-type(6)::before {	content:'6'; }
#service .flow .tab-content li div:nth-of-type(7)::before {	content:'7'; }
#service .flow .tab-content li div:nth-of-type(8)::before {	content:'8'; }
#service .flow .tab-content li div:nth-of-type(9)::before {	content:'9'; }
#service .flow .tab-content li div:nth-of-type(10)::before {	content:'10'; }

#service .flow .tab-content li div:not(:last-of-type)::after {
	content:'';
	position:absolute;
	left:50%;
	bottom:-1.18em;
	transform:translateX(-50%) rotate(45deg);
	width:2em;
	height:2em;
	border-right:solid 2px;
	border-bottom:solid 2px;
	background:#fff;
}

#service .flow .tab-content li div span {
	display:block;
	font-weight:bold;
	font-size:1.5em;
}

.application .other {
	border-bottom:solid 1px;
	display:inline-block;
	margin-top:3em;
}

.application .other::after {
	content:'\f054';
	font-weight:bold;
	margin:0 1em;
	transition:.3s;
}

.application .other:hover::after {
	margin:0 .5em 0 1.5em;
}

/*---------------------------------------- shared ----------------------------------------*/
#service.shared .plan table {
	width:100%;
}

#service.shared .plan th {
	background:none;
}

#service.shared .plan table th:nth-child(2) { background:#ebaac6; color:#fff; }
#service.shared .plan table th:nth-child(3) { background:#4c4c4c; color:#fff; }
#service.shared .plan table th:nth-child(4) { background:#c3d60c; color:#fff; }
#service.shared .plan table th:nth-child(5) { background:#e03938; color:#fff; }

#service.shared .plan table td:nth-child(2) { background:rgba(235, 170, 198, .1); }
#service.shared .plan table td:nth-child(3) { background:rgba(76, 76, 76, .1); }
#service.shared .plan table td:nth-child(4) { background:rgba(195, 214, 12, .1); }
#service.shared .plan table td:nth-child(5) { background:rgba(224, 57, 56, .1); }

#service.shared table td:first-child {
	text-align:left;
}

#service.shared table .separator {
	background:#ccc;
	text-align:left;
}

#service.shared table td a {
	display:inline;
	color:#0f344d;
	text-decoration:underline;
	transition:.3s;
}

#service.shared table td a:hover {
	opacity:.7;
}

#service.shared .plan p.finished {
	margin-top:1em;
	cursor:pointer;
}

#service.shared .plan div.finished {
	display:none;
}

#service.shared .plan .finished table th:nth-child(2) { background:#ee61a7; color:#fff; }
#service.shared .plan .finished table th:nth-child(3) { background:#98d25d; color:#fff; }
#service.shared .plan .finished table th:nth-child(4) { background:#cc9933; color:#fff; }

#service.shared .plan .finished table td:nth-child(2) { background:rgba(238, 97, 167, .1); }
#service.shared .plan .finished table td:nth-child(3) { background:rgba(152, 210, 93, .1); }
#service.shared .plan .finished table td:nth-child(4) { background:rgba(204, 153, 51, .1); }

#service.shared .option dl {
	padding-top:200px;
	margin-top:-100px;
}

#service.shared .option dl:first-of-type {
	margin-top:-200px;
}

@media all and (min-width: 426px) {
	#service.shared .option table {
		min-width:50%;
	}
}

#service.shared .option table td img {
	width:2em;
}

#service.shared .option dd .caption p {
	font-size:.875em;
	margin-top:.5em;
}

#service.shared .payment {
	padding:200px 0 100px;
}

#service.shared .payment h3 {
	margin-top:3em;
}

#service.shared .payment .figure {
	width:50%;
	min-width:480px;
	border:solid 1px;
	padding:40px 40px 60px;
	margin:1em 0;
	cursor:default;
}

#service.shared .payment .figure ul {
	display:flex;
}

#service.shared .payment .figure li {
	width:33%;
	position:relative;
}

#service.shared .payment .figure li:nth-child(2) {
	margin:0 .5%;
}

#service.shared .payment .figure li p {
	background:#0f344d;
	color:#fff;
	text-align:center;
	margin-bottom:2em;
}

#service.shared .payment .figure li span {
	border:solid 1px;
	padding:5px;
	position:absolute;
	line-height:1;
}

#service.shared .payment .figure li:nth-child(1) span {left:40%}
#service.shared .payment .figure li:nth-child(2) span {left:20%}
#service.shared .payment .figure1 li:nth-child(3) span {background:rgba(255, 131, 50, .7);font-weight:bold;}
#service.shared .payment .figure2 li:nth-child(1) span {right:0;left:auto;}
#service.shared .payment .figure2 li:nth-child(2) span {left:10%}
#service.shared .payment .figure2 li:nth-child(3) span {left:-3px}


#service.shared .payment .figure li span::before {
	content:'';
	position:absolute;
	left:-1px;
	top:-2em;
	height:2em;
	border-left:dashed 1px;
}

#service.shared .payment .figure2 li:nth-child(1) span::before {
	right:-1px;
	left:auto;
}

#service.shared .payment strong {
	border-bottom:solid 1px;
	margin-top:1em;
	display:inline-block;
	padding:0 .5em;
}

#service.shared .terms h3 {
	margin-top:3em;
}

#service.shared .terms dd {
	margin-left:1em;
}

#service.shared .faq dd a {
	display:inline;
	text-decoration:underline;
}

#service.shared .faq dd a:hover {
	color:#ff8332;
}

#service.shared .faq dd ul {
	margin-left:20px;
}

#service.shared .faq dd ul li {
	list-style:disc;
}

#service.shared .faq dd ol {
	margin-left:20px;
}

#service.shared .faq dd ol li {
	list-style:decimal;
	margin:0;
}

/*---------------------------------------- SSL ----------------------------------------*/
#service.ssl table {
	width:100%;
}

#service.ssl table th {
	line-height:1.5;
}

#service.ssl table tr:first-child th {
	padding:.5em;
}

#service.ssl .types {
	padding-top:100px;
}

#service.ssl .types .typewrap:not(:first-child) {
	margin-top:4em;
}

#service.ssl .types .caption {
	font-size:.875em;
}

#service.ssl .types li {
	list-style:disc;
	margin:1em 0 0 1em;
}

#service.ssl .types li div {
	display:flex;
	border:solid 1px;
	padding:20px;
}

#service.ssl .types li div ul {
	width:50%;
}

#service.ssl .types li div li {
	margin-bottom:0;
}

#service.ssl .types li div li:last-child {
	list-style:none;
	margin-left:0;
}

#service.ssl .types li ol li {
	list-style:decimal;
}

#service.ssl .types a {
	display:inline;
	text-decoration:underline;
}

#service.ssl .types strong {
	border-bottom:solid 1px;
	display:inline-block;
	padding:0 .5em;
}

#service.ssl .application {
	padding-top:200px;
}

/*---------------------------------------- DNS ----------------------------------------*/
#service.dns .overview h3:not(:first-of-type) {
	margin-top:3em;
}

#service.dns table {
	min-width:50%;
	margin:2em 0 0;
}

/*---------------------------------------- domain ----------------------------------------*/
#service.domain .content p {
	margin-top:.5em;
}

#service.domain .charge table td {
	text-align:center;
}

#service.domain .flow .tab {
	margin-top:3em;
}

#service.domain .flow .tab-content div:last-of-type {
	margin-bottom:3em;
}

#service.domain h3 {
	margin-top:3em;
}

#service.domain .content p strong {
	border-bottom:solid 1px;
	margin-top:1em;
	display:inline-block;
	padding:0 .5em;
}

#service.domain .search a {
	font-size:1.5em;
	color:#fff;
	background:#0f344d;
	padding:0 1em;
	margin-top:1em;
	position:relative;
	transition:.3s;
	z-index:0;
}

#service.domain .search a:hover {
	padding-right:.5em;
	color:#0f344d;
}

#service.domain .search a::before {
	content:'';
	width:0;
	height:100%;
	position:absolute;
	right:0;
	top:0;
	background:rgba(255,255,255,.9);
	transition:.3s;
	z-index:-1;
}

#service.domain .search a:hover::before {
	width:100%;
	left:0;
}

#service.domain .search a::after {
	content:'\f054';
	font-weight:bold;
	float:right;
}

/*---------------------------------------- web ----------------------------------------*/
#service.web .skill ul {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

#service.web .skill ul li {
	width:48%;
}

#service.web .skill ul li:nth-child(n+3) h3 {
	margin-top:3em;
}

/*---------------------------------------- system ----------------------------------------*/
#service.system .lang {
	overflow:hidden;
}

@media all and (min-width: 426px) {
	#service.system .lang div {
		width:48%;
		float:left;
	}
	
	#service.system .lang div:first-of-type {
		margin-right:4%;
	}
}

#service.system .content li {
	list-style:disc;
	margin-left:1em;
}

/*---------------------------------------- translation ----------------------------------------*/
#service.translation .lang {
	text-align:center;
	background:rgba(15,52,77,.1);
	width:80%;
	margin:0 auto;
	padding:3em;
}

#service.translation .lang p::after {
	content:'\f063';
	font-weight:bold;
	font-size:4em;
	display:block;
}

#service.translation .lang ul {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

#service.translation .content p {
	margin-top:.5em;
}

#service.translation .content p a {
	display:inline;
	text-decoration:underline;
}

/*------------------------------------------------------------------------------------------------
  support
--------------------------------------------------------------------------------------------------*/
#support .manual h3:not(:first-of-type),
#support .manual p + h3,
#support .application h3 {
	margin-top:3em;
}

#support .manual h3 span {
	font-size:.583em;
}

#support .accordion dt {
	border-bottom:solid 1px #0f344d;
	padding:1em 3em 1em 1em;
	position:relative;
	cursor:pointer;
}

#support .accordion dt:not(.link)::before,
#support .accordion dt:not(.link)::after {
	content:'';
	width:1em;
	height:2px;
	background:#333;
	position:absolute;
	right:1em;
	top:50%;
	transform:translateY(-50%);
	transition:.3s;
}

#support .accordion dt:not(.link)::after {
	opacity:0;
}

#support .accordion dt:not(.open)::before {
	transform:translateY(-50%) rotate(-270deg) !important;
}

#support .accordion dt:not(.open)::after {
	transform:translateY(-50%) rotate(-180deg) !important;
	opacity:1;
}

#support .accordion dd {
	display:none;
	padding:1em 3em 3em 1em;
	font-size:.875em;
}

#support .accordion dd th,
#support .accordion dd td {
	padding:.5em 2em;
	border-bottom:solid 1px #ccc;
	text-align:center;
}

#support .accordion dd ul,
#support .accordion dd ol {
	margin:1em 0 0 1em;
}

#support .accordion dd ul li {
	list-style:disc;
}

#support .accordion dd a {
	display:inline;
	text-decoration:underline;
}

#support .accordion dd img {
	margin-top:1em;
	max-width:100%;
}

#support .accordion dd ol li {
	list-style:decimal;
}

#support .application .online::before {
	content:'\f108';
	color:#0767e6;
	font-size:1em;
	font-weight:bold;
	margin-right:.75em;
}

/*------------------------------------------------------------------------------------------------
  company
--------------------------------------------------------------------------------------------------*/
#company table {
	width:100%;
}

/*---------------------------------------- outline ----------------------------------------*/
#company.outline table tr,
#transaction table tr {
	border-bottom:solid 1px rgba(15,52,77,.1);
}

#company.outline table th,
#company.outline table td,
#transaction table th,
#transaction table td {
	padding:1em 2em;
}

#company.outline table th,
#transaction table th {
	width:20%;
	text-align:left;
	vertical-align:top;
	white-space:nowrap;
}

#company.outline table td #map {
	height: 400px;
	width: 100%;
	margin-top:1em;
}

#company.outline table td a {
	display:inline;
	text-decoration:underline;
}

#transaction .main h1 .en {
	font-size:2.9em;
}

/*---------------------------------------- top message ----------------------------------------*/
#company.message .introduce {
	display:flex;
	justify-content:space-between;
}

#company.message .introduce img {
	max-width:100%;
}

#company.message .introduce .profile {
	width:50%;
	font-size:.875em;
}

#company.message .introduce .profile span {
	font-size:1.5em;
	font-weight:bold;
	display:block;
}

#company.message h3 {
	margin-top:3em;
}

#company.message h3:first-of-type {
	margin-top:1em;
}

#company.message .content p {
	margin-top:1em;
}

#company.message .kodawari {
	margin-top:3em;
}

/*---------------------------------------- history ----------------------------------------*/
#company.history table th,
#company.history table td {
	padding:20px;
}

#company.history table th {
	vertical-align:top;
	text-align:right;
	border-right:solid 2px #ff8332;
	white-space:nowrap;
	position:relative;
}

#company.history table tr:first-child th::before {
	content:'';
	width:2px;
	height:50%;
	background:#fff;
	position:absolute;
	right:-2px;
	top:0;
}

#company.history table th::after {
	content:'';
	width:8px;
	height:8px;
	background:#ff8332;
	border-radius:100%;
	position:absolute;
	right:-5px;
	top:30px;
}
/*---------------------------------------- datacenter ----------------------------------------*/
#company.dc .about h2 + p {
	overflow:hidden;
}

#company.dc .about p img {
	float:right;
	margin:0 0 1em 1em;
}

#company.dc .special p {
	text-align:center;
}

#company.dc .special a {
	display:inline-block;
	transition:.3s;
}

#company.dc .special a:hover {
	opacity:.8;
}

/*------------------------------------------------------------------------------------------------
  news
--------------------------------------------------------------------------------------------------*/
#news .categories {
	display:flex;
	padding:0!important;
	margin-bottom:3em;
}

#news .categories a {
	margin:0 1em;
	position:relative;
}

#news .categories a::after {
	content:'';
	position:absolute;
	width:0;
	bottom:0;
	right:0;
	border-bottom:solid 2px #ff8332;
	transition:.3s;
}

#news .categories a.now::after,
#news .categories a:hover::after {
	width:100%;
	left:0;
}

#news .pager {
	padding:0!important;
}

#news .pager ul {
	display:flex;
	justify-content:center;
	align-items:center;
	margin-top:50px;
}

#news .pager li {
	margin:0 .5em;
	padding:1em;
	background:rgba(15,52,77,.3);
	line-height:1;
	font-weight:bold;
}

#news .pager li:not(.active) {
	padding:0;
	background:#0f344d;
	color:#fff;
}

#news .pager li a {
	padding:1em;
	position:relative;
	z-index:0;
}

#news .pager li a:hover {
	color:#0f344d;
}

#news .pager li a::after {
	content:'';
	background:rgba(255,255,255,.7);
	width:0;
	height:100%;
	position:absolute;
	right:0;
	top:0;
	transition:.3s;
	z-index:-1;
}

#news .pager li a:hover::after {
	width:100%;
	left:0;
}

#news.detail .content span {
	font-size:.875em;
}

#news.detail .content span.category {
	margin:0 4em 0 2em;
}

#news.detail h2 {
	font-size:2em;
	display:inline;
}

#news.detail .post-content {
	margin:2em auto 4em;
	padding:0!important;
}

#news.detail .post-content p:not(:first-of-type) {
	margin-top:1em;
}

#news.detail .post-content table {
	width:auto!important;
	margin-top:3em;
}

#news.detail .post-content table td {
	padding:.5em 1em;
	border:solid 1px #ccc;
	width:auto!important;
}

/*------------------------------------------------------------------------------------------------
  recruit
--------------------------------------------------------------------------------------------------*/
#recruit .job li:not(.first-child) {
	margin-top:1.5em;
}

#recruit .job a {
	font-size:1.5em;
	color:#fff;
	background:#0f344d;
	padding:1em;
	position:relative;
	transition:.3s;
	z-index:0;
}

#recruit .job a:hover {
	color:#0f344d;
	padding-right:.5em;
}

#recruit .job a::before {
	content:'';
	width:0;
	height:100%;
	background:rgba(255,255,255,.7);
	position:absolute;
	right:0;
	top:0;
	transition:.3s;
	z-index:-1;
}

#recruit .job a:hover::before {
	width:100%;
	left:0;
}

#recruit .job a::after {
	content:'\f054';
	font-weight:bold;
	float:right;
}

#recruit table {
	width:100%;
}

#recruit tr:not(:last-child) {
	border-bottom:solid 1px #ccc;
}

#recruit th,
#recruit td {
	padding:1em;
}

#recruit td {
	border-left:solid 1px #ccc;
	width:70%;
}

/*------------------------------------------------------------------------------------------------
  contact
--------------------------------------------------------------------------------------------------*/
#contact .container > div {
	padding:0!important;
}

#contact .flow {
	display:flex;
	margin:0 auto;
}

#contact .flow div {
	flex-grow:1;
	background:#efefef;
	padding:.5em 0;
	text-align:center;
	line-height:normal;
	position:relative;
	overflow:hidden;
}

#contact .flow div:not(:first-child) {
	padding-left:20px;
}

#contact .mw_wp_form_input .flow div:first-child,
#contact .mw_wp_form_confirm .flow div:nth-child(2),
#contact .mw_wp_form_complete .flow div:last-child {
	background:#0f344d;
	color:#fff;
}

#contact .flow div:nth-child(n+2)::before,
#contact .flow div:nth-child(n+2)::after {
	content:'';
	border-left:solid 20px #fff;
	border-top:solid 50px transparent;
	border-bottom:solid 50px transparent;
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
}

#contact .flow div:nth-child(n+2)::after {
	border-left-color:#efefef;
	left:-4px;
}

#contact .mw_wp_form_input .flow div:nth-child(2)::after,
#contact .mw_wp_form_confirm .flow div:nth-child(3)::after {
	border-left-color:#0f344d;
}

#contact .flow div span {
	display:block;
	font-size:.75em;
	font-weight:bold;
}

#contact table {
	margin:3em auto;
	width:80%;
}

#contact table th,
#contact table td {
	padding:1em;
}

#contact table th {
	width:20%;
	text-align:left;
	vertical-align:top;
	white-space:nowrap;
	padding:1.5em 1em;
}

@media all and (min-width: 426px) {
	#contact .mw_wp_form_input table tr:last-child td {
		padding-top:1.5em;
	}	
}

#contact .nice-select {
	border-radius:0;
	border-color:transparent;
	background:#eee;
}

#contact .nice-select:active,
#contact .nice-select.open,
#contact .nice-select:focus {
	border-color:#0f344d;
}

#contact .nice-select .list {
	border-radius:0;
	box-shadow:none;
	border:solid 1px #0f344d;
	margin-top:0;
}

#contact table td input,
#contact table td textarea {
	padding:.5em;
	width:100%;
	font:inherit;
	outline:none;
	background:#eee;
	border:solid 1px transparent;
	border-radius:0;
	-webkit-appearance:none;
}

#contact table td input:focus,
#contact table td textarea:focus {
	border:solid 1px #0f344d;
}

#contact table td #postal {
	width:8em;
	margin-bottom:1em;
}

#contact table td input[type="checkbox"] {
	display:none;
}

#contact table td input[type="checkbox"] + span::before {
	content:'\f00c';
	width:30px;
	height:30px;
	background:#eee;
	display:inline-block;
	margin-right:10px;
	vertical-align:middle;
	font-size:0;
	font-weight:bold;
	color:#0f344d;
	line-height:30px;
	text-align:center;
	transition:.05s;
}

#contact table td input[type="checkbox"]:checked + span::before {
	font-size:1em;
}

#contact .mw_wp_form_input table th.required::after {
	content:'必須';
	background:#f01405;
	color:#fff;
	font-size:.75em;
	padding:.5em;
	margin-left:1em;
}

#contact table td a {
	display:inline;
	font-size:.75em;
	text-decoration:underline;
	margin-left:40px;
}

#contact .mw_wp_form_confirm table td span.postalmark,
#contact .mw_wp_form_confirm table td a {
	display:none;
}

#contact .buttonwrap {
	display:flex;
	justify-content:center;
}

#contact button {
	left:auto;
	transform:none;
	-webkit-appearance:none;
	border:none;
	outline:none;
	font:inherit;
	margin:0 2em;
	cursor:pointer;
}

#contact .mw_wp_form_confirm button:first-child {
	background:rgba(15, 52, 77, .5);
}

#contact .mw_wp_form_confirm button:last-child {
	background:#ff8332;
}

#contact .mw_wp_form_confirm button:hover {
	opacity:.7;
	color:#fff;
}

#contact .mw_wp_form_confirm button::before {
	display:none;
}

#contact span.error {
	color:#f01405;
	display:block;
}

#contact span.error + br {
	display:none;
}

#contact .mw_wp_form_complete h2 {
	margin-top:3em;
	font-size:2em;
}

#contact .mw_wp_form_complete .more {
	margin-top:3em;
}

/*------------------------------------------------------------------------------------------------
  policy
--------------------------------------------------------------------------------------------------*/
#policy .content li {
	margin-left:2em;
	list-style:disc;
}

/*-------------------- privacy_policy --------------------*/
#policy.privacy h3 {
	margin-top:3em;
}

#policy.privacy dd {
	margin-top:1em;
}

/*-------------------- securitypolicy --------------------*/
#policy.security .content p {
	text-indent:1em;
}

#policy.security .content p:not(:first-child) {
	margin-top:1em;
}

#policy.security .isms {
	display:flex;
}

#policy.security .isms p {
	text-indent:0;
	margin-top:0;
	font-size:.875em;
}

/*------------------------------------------------------------------------------------------------
  sitemap
--------------------------------------------------------------------------------------------------*/
#sitemap .content .container {
	display:flex;
	justify-content:space-between;
}

#sitemap .content .container > ul {
	width:31%;
}

#sitemap .content .container > ul > li:not(:first-child) {
	margin-top:3em;
}

#sitemap .content li a {
	position:relative;
	padding-left:.5em;
}

#sitemap .content .container > ul > li > a {
	font-size:1.125em;
	font-weight:bold;
	color:#0f344d;
	border-bottom:solid 1px #333;
}

#sitemap .content li a::before {
	content:'';
	width:0;
	height:100%;
	position:absolute;
	right:0;
	top:0;
	background:rgba(15, 52, 77, .1);
	transition:.3s;
}

#sitemap .content li a:hover::before {
	width:100%;
	left:0;
}

#sitemap .content li a[target="_blank"]::after {
	content:'\f35d';
	font-weight:bold;
	margin-left:.5em;
}

#sitemap .content li p {
	font-weight:bold;
	margin-left:1em;
	margin-top:1em;
}

#sitemap .content li ul {
	margin-left:1em;
}

#sitemap .container > ul:not(:first-child) > li > ul {
	margin-top:1em;
}

/*access20240207*/
.howAccess {
padding-top: 4em;
}

.howgo {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-top: 2em;
}

.howgo div.p {
width: 48%;
margin: 0 0 4em;
line-height: 1.4;
display: flex;
flex-direction: column;
}

.howgo div.p p {
margin: 0 0 1em;
flex-grow:1;
}


.howgo div.p div {
margin: 0 0 1em;
}

