/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/
.cookie-consent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 12px;
  color: #fff;
  background: rgba(0,0,0,.7);
  padding: 1.2em;
  box-sizing: border-box;
  z-index: 100;
  visibility: hidden;
}
.cookie-consent.is-show {
  visibility: visible;
}
.cookie-consent a {
  color: #fff !important;
}
.cookie-agree {
  color: #fff;
  background: dodgerblue;
  padding: .5em 1.5em;
}
.cookie-agree:hover {
  cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
  display: none;
}
/* ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards;
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
/* メディアクエリ */
@media screen and (max-width: 600px) {
  .cookie-consent {
    flex-direction: column;
  }
  .cookie-text {
    margin-bottom: 1em;
  }
}
/* .button-change */
.button-change {
	--height: 2.375rem;
	height: var(--height);
	line-height: calc(var(--height) - 2px) !important;
	border-bottom: 1px solid #222 !important;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
	display: inline-flex;
	flex-direction: column-reverse;
}

.button-change.btn-sm { --height: 2rem; }
.button-change.btn-lg { --height: 3rem; }

.button-change span {
	position: relative;
	display: block;
	transition: transform .35s ease;
	transform: translate3d(0px, 0%, 0px);
	transform-style: preserve-3d;
}

.button-change:hover span {
	transform: translate3d(0px, 100%, 0px);
}

.menu-link {
	 text-shadow: 0px 1px 2px rgba(255, 255, 255, 1), 0px -1px 2px rgba(255, 255, 255, 1), 1px 0px 2px rgba(255, 255, 255, 1), -1px 0px 2px rgba(255, 255, 255, 1);
}
.bg-ptn-1 {
	background-color: #fff;
	opacity: 1;
	background-image:  linear-gradient(#cef0ff 1.1px, transparent 1.1px), linear-gradient(to right, #cef0ff 1.1px, #ffffff 1.1px);
	background-size: 22px 22px;
}
.bg-ptn-2 {
	background-color: #0a3883;
opacity: 1;
background-image:  linear-gradient(#43456d 1.1px, transparent 1.1px), linear-gradient(to right, #43456d 1.1px, #0a3883 1.1px);
background-size: 22px 22px;
}
.fc_red {
	color: #d10000 !important;
}
.fs_15 {
	font-size:1.5em;
	display:inline-flex;
}
.bgc_white {
	background-color:#fff !important;
}
.arrow {
	position:absolute;
	left:50%;
	top:400px;
	margin-left: -79px;
	z-index:2;
}
.telnum {
	font-size:3em;
	line-height:1;
}
.telnum p {
	font-size:1rem;
}
.top_face.left {
	position:absolute;
	top:5%;
	left:0;
	transform:rotate(-10deg);
}
.top_face.right {
	position:absolute;
	top:5%;
	right:0;
	transform:rotate(20deg);
}

.ticker-wrap {
	--cnvs-ticker-duration: 100s;
	position: absolute;
	top: 50%;
	left: -100%;
	z-index: auto;
	width: 100%;
	overflow: hidden;
	padding-left: 100%;
	box-sizing: content-box;
	opacity: .05;
	transform: translateY(-50%);
}

.ticker-wrap .ticker-item {
	display: inline-block;
	font-size: 15rem !important;
	font-weight: 900;
}

.table.hikaku table th.aigis {
	background: #EC6A1C;
	border-right: solid 5px #EC6A1C;
	border-left: solid 5px #EC6A1C;
	border-top: solid 10px #EC6A1C;
}
.table.hikaku table th.aigis img {
	width:120px;
}
.table.hikaku table th {
	background: #555;
	color: #fff;
	height: 40px;
	border-right: solid 1px #ccc;
	box-sizing: border-box;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	width:20%;
}
.table.hikaku table tr td {
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	text-align:center;
	vertical-align: middle;
}
.table.hikaku table tr td:first-child {
	background: #0a3883;
	color: #fff;
	line-height: 1.5;
	border-bottom: solid 1px #ccc;
	font-weight: bold;
	box-sizing: border-box;
}
.table.hikaku table tr td:nth-child(2) {
	border-right: solid 5px #EC6A1C;
	border-left: solid 5px #EC6A1C;
	border-bottom: solid 1px #ccc;
}
.table.hikaku table tr td.last {
	border-bottom: solid 5px #EC6A1C;
}
.table.hikaku table th:first-child {
	background: none;
	border: none;
}
.table.hikaku table tr td.servicecont {
	background-color: #ffffff;
	opacity: 1;
	background-image:  repeating-linear-gradient(45deg, #fffa90 25%, transparent 25%, transparent 75%, #fffa90 75%, #fffa90), repeating-linear-gradient(45deg, #fffa90 25%, #ffffff 25%, #ffffff 75%, #fffa90 75%, #fffa90);
	background-position: 0 0, 5px 5px;
	background-size: 10px 10px;
}

.flow_box {
	position:relative !important;
	z-index:-1;
}
.step-num {
	background:#EC6A1C;
	border-radius:0.5rem 0.5rem 0 0;
	font-size:1.5em;
}
.feature-box {
	height:100%;
}
.w80 {
	width:80%;
}
.arrow2 {
	position:absolute;
	left: -60px;
	top:150px;
	width:100px;
}
.copyright {
	position:relative;
	z-index:10;
}

.plan_title {
	text-align:center;
}
.plan_title span {
	display:inline-block;
	color:#fff !important;
	background-color:#f9870c;
	padding:5px 1em;
	border-radius:50px;
	font-size:20px;
}

.company th {
	width:9em;
	text-align:justify;
	text-align-last: justify;
	vertical-align:middle;
}
.company td {
	padding-left:1em;
}
.gmap {
	aspect-ratio: 20 / 8;
}
.gmap iframe {
	width: 100%;
	height: 100%;
}

.seo_plan thead th {
	text-align:center;
	color:#fff;
	background-color:#0a3883;
	vertical-align:middle;
	white-space:nowrap;
}
.seo_plan th,.seo_plan td {
	text-align:center;
	vertical-align:middle;
}
.seo_plan th {
	white-space:nowrap;
}
.seo_plan td.price {
	font-weight:bold;
	color:#c80505;
	white-space:nowrap;
	font-size:1.1em;
}
.seo_plan td.price span {
	font-weight:normal;
	color:#555;
	font-size: .7em;
}

.title_under {
	padding-bottom: 10px;
	font-size: 26px;
	background-image: repeating-linear-gradient(90deg, #0a3883 0, #0a3883 2px, rgba(0,0,0,0) 2px, rgba(0,0,0,0) 4px);
	background-size: 4px 4px;
	background-repeat: repeat-x;
	background-position: center bottom;
}

.pp h3 {
	margin:2em 0 .5em;
	border-top:dashed 1px #1C9FD6;
	padding:1em 0 0;
}
.pp ul {
	padding-left: 25px;
}

@media (max-width: 1400px) {
	.arrow {
		top: 360px;
		margin-left: -70px;
		max-width:140px;
	}
}

@media (max-width: 1200px) {
	.arrow {
		top: 340px;
		margin-left: -60px;
		max-width:120px;
	}
}
@media (max-width: 991px) {
	.arrow {
		top: 400px;
		margin-left: -60px;
		max-width:120px;
	}
	.top_face.left,.top_face.right {
		width:300px;
		top:-20px;
	}
}

@media (max-width: 767px) {
	body:not(.is-expanded-menu) #header:not([data-mobile-sticky=true]) #header-wrap {
		position: fixed;
	}
	.arrow {
		top: 640px;
		margin-left: -60px;
		max-width:120px;
	}
	.table.hikaku {
		overflow-x:scroll;

	}
	.table.hikaku table ,.table {
		width:auto;
	}
	.table.hikaku td,.table.hikaku th {
		min-width: 120px;
		white-space:nowrap;
	}
}

@media (max-width: 576px) {
	.container {
		width:95%;
	}
	.arrow {
		top: 650px;
		margin-left: -50px;
		max-width:100px;
	}
	.flow_box {
		margin-bottom:70px;
	}
	.flow_box .fbox-content {
		margin-top:10px;
	}
	.arrow2 {
		top:-100px;
		left:50%;
		transform:rotate(90deg);
		margin-left:-50px;
	}
	.top_face.left,.top_face.right {
		width:180px;
		top:-4%;
	}
}