/** 汎用スタイル **/
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: auto!important;
  }
}
body {
  color: #000000;
  line-height: 1.6rem;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}

.font-weight-bold {
	font-weight: 900 !important;
}
.ls {
  letter-spacing: 0.2rem;
}
.bw-2 {
  border-width: 2px !important;
}
.bw-3 {
  border-width: 3px !important;
}

.colorBlue { color:#0068b7!important; }
.colorNavy { color: #00338e!important; }

.bgcolorBlue { background-color: #0068b7!important; }
.bgcolorNavy { background-color: #00338e!important; }
.midashi-blue {
	color: #0068B7!important;
	font-weight: bold;
	border-bottom: solid 2px #333;
  position: relative;
	padding-bottom: 0.25em;
}

.midashi-blue:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #cce4ff;
  bottom: -2px;
  width: 20%;
}
/** 見出し円 **/
.circle {
  width: 215px;
  height: 215px;
  text-align:center;
  border-radius: 50%;
  border: solid 3px #0068b7;
  padding: 3rem;
  margin: 0 auto;
}
.markerYellow {
	background-color: #FFFF00;
}
/** 既存スタイルの疑似上書き **/
/** olカウンターを丸囲いに **/

ol.num-list {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
} 
.num-list li {
  margin-bottom: 10px;
  position: relative;
  font-weight: bold;
  font-size: 1.2rem;  
}
.num-list li:before {
content: counter(my-counter);
counter-increment: my-counter;
border: 2px solid #666;
color: #666;
float: left;
text-align: center;
height: 30px;
width: 30px;
border-radius: 50%;
margin-right: 5px;
margin-top: -2px;
font-family: 'Big Shoulders Display', cursive;  
}

/** jumbotronの背景に指定画像 **/
.top-BG {
  	background-color: #f2f0ef;
    width: 100%;
	height: 100%;
    background-image: url("../images/top-img.png");
    background-size: cover;
}

.topbox{
    padding: 50px 0;    
}


/*.top-BG::before {
  content: '';
  display: block;
  padding-top: 25%;
}
@media screen and (max-width:575.98px) {
	.top-BG {
  		background-image: url('../images/top-background.jpeg') ;
  		background-size: contain;
		background-position: left top;
		background-repeat: no-repeat;
	}
}


.top-bg-base {
	background-image: linear-gradient(90deg,rgba(127,179,219),rgba(0,104,183,1))
}*/

/** パンくずリストのセパレータ変更 **/
li.breadcrumb-item.wf-breadcrumb-separator::before {
  margin-left: 6px;
  font-family: 'Font Awesome 5 Free';
  content: '\f105';
  font-weight: bold;
}

/** customized css **/
/** size-{単位}: 正方サイズ指定 **/
.wf-square-xs {
  width: 20px;
  height: 20px;
}
.wf-square-lg {
  width: 260px;
  height: 260px;
}

/** 傾けられた文字 **/
.wf-slope-text {
  transform: rotate(-4deg) translateY(-20px);
}

/** 正円＋テキスト **/
.wf-circle {
  transform: translateY(-50%);
}
.wf-circle > span {
  position: absolute;
  display: inline-block;
  font-size: 1.3rem;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 180px;
  text-align: center;
}

/** 下側のみが突き出した五角形 **/
.wf-penta {
  clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 50% 100%, 0% 70%);
}

/** 声のテキスト **/
.comment-box {
  position: relative;
  display: inline-block;
  padding: 2rem;
  font-size: 16px;
  background: #f8f9fa;
}

/** 下側のみが突き出した吹き出し **/

.down-balloon:after {
  content: "";
  position: absolute;
  bottom: -50%;
  left: 20%;
  margin-left: -2.5rem;
  border: 5rem solid transparent;
  border-top: 3rem solid #f8f9fa;
  z-index: 999;
}

.down-balloon p {
  margin: 0;
  padding: 0;
}

/** 上側のみが突き出した吹き出し **/

.up-balloon:before {
  content: "";
  position: absolute;
  top: -130px;
  left: 20%;
  margin-left: -2.5rem;
  border: 5rem solid transparent;
  border-bottom: 3rem solid #f8f9fa;
  z-index: 999;
}

.up-balloon p {
  margin: 0;
  padding: 0;
}

/** 吹き出し **/
.wf-balloon {
  position: relative;
  padding: 20px;
  border: 2px solid rgba(75, 75, 75, 0.85);
  border-radius: 12px;
}

.wf-balloon-left::before,
.wf-balloon-left::after,
.wf-balloon-right::before,
.wf-balloon-right::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  top: 50px;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

.wf-balloon-left::before {
  left: -15px;
  border-right: 15px solid rgba(75, 75, 75, 0.85);
}
.wf-balloon-left::after {
  left: -12px;
  border-right: 15px solid white;
}

.wf-balloon-right::before {
  right: -15px;
  border-left: 15px solid rgba(75, 75, 75, 0.85);
}
.wf-balloon-right::after {
  right: -12px;
  border-left: 15px solid white;
}

/** トップへ戻るボタン **/
.wf-gotta-top {
  width: 100px;
  height: 74px;
  right: 0;
  bottom: 0;
  background: #4f4f4f;
  opacity: 0.6;
}

/** ステップフロー **/

.step-bar {
  display: flex;
  position: relative;
  margin: 20px auto;
  text-align: center;
  padding: 0;
}
.step-bar li {
  font-size: 12px;
  list-style: none;
  position: relative;
  width: 33.333%;
}
.step-bar li:after {
  background: #D0E1F9;
  content: "";
  width: calc(100% - 50px);
  height: 5px;
  position: absolute;
  left: calc(-50% + 32px);
  top: 50px;
}
.step-bar li:first-child:after {
  display: none;
}
.step-bar li span {
  background: #D0E1F9;
  color: #ffffff;
  display: inline-block;
  margin-bottom: 5px;
  padding: 20px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  z-index: 999;
}
.step-bar .visited:after {
  background: #4D648D;
}
.step-bar .visited span {
  background: #4D648D;
}


/* ---------------------------------- */
/*右下に常に出ているお問い合わせの指示*/
/* ---------------------------------- */
.contactForm {
    position: fixed;
    right: 50px;
    bottom: 50px;
    width: 350px;
    padding: 25px 5px 10px;
    text-align: center;
    background-color: white;
    border: 1px solid #0068b7;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    z-index: 15;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, .1);
    border-radius: 5px;
}

.contactForm a p{
    margin-bottom: 0;
    font-weight: 900;
    font-size: 18px;
}

p.ttl {
    background-color: #ff7953;
    border-radius: 15px;
    color: #fff;
    display: grid;
    font-size: 13px;
    font-weight: 700;
    height: 30px;
    left: 0;
    margin: auto;
    place-content: center;
    position: absolute;
    right: 0;
    top: -15px;
    width: 248px;
    z-index: 16;
}

.contactForm:hover {
	color: white;
	animation: poyo .6s;
}
.contactForm:active {
	color: gainsboro;
	transition-duration: .1s;
}
@keyframes poyo {
	10% { transform: scale(1.2); }
	40% { transform: scale(.9); }
	60% { transform: scale(1.04); }
	80% { transform: scale(.98); }
}

.contactForm a p.font30{
    font-size: 30px;
}


@media screen and (max-width:767.98px) {
.contactForm {
    right: 0;
    bottom: 0;
    width: 100%;
    margin: 0 auto;
    border-radius: 0;
}
}


/* ---------------------------------- */
/*追加指示*/
/* ---------------------------------- */
.btn-Blue {
	background-color: #0068b7;
	color: #ffffff;
}

.colorBlue {
	color:#0068b7!important;
}
.bg-Blue {
	background-color: #95D1FF;
}

.access-icon {
	background-color: rgba(0,104,183,1);
	border-radius: 5px;
	font-size: 80%;
	padding: 0.25em;
	color: #ffffff;
}

.nav-item a:hover {
	opacity: 0.5;
}

header {
	border-bottom: 2px solid #ffffff;
}

.balloon1 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  background: #0068b7;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #0068b7;
}

.balloon1 p {
  margin: 0;
  padding: 0;
}

.btn-outline-Blue {
	border: 1px solid #0068b7;
	border-radius: 5px;
}

.text-Blue {
	color: #0068b7;
}

/* ------------------------------------------
　見出し
---------------------------------------------*/
.midashi-border {
  border-bottom: solid 3px #0068b7;
  position: relative;
 padding-bottom: 0.25em;
	padding-top: 0.25em;
}

.midashi-border:after {
  position: absolute;
  content: " ";
  display: block;
	
  border-bottom: solid 3px #000000;
	
  bottom: -3px;
  width: 20%;
}

.form-must {
	font-size: .71429rem;
	color: #ffffff;
	background-color: #B70003;
	padding: 0.5em;
	margin-left: 10px;
	border-radius: 2px;
	line-height: 1;
}




/*---------------------------------------------*/
/* header/navigation
============================================== */

.navbar, .navbar-box {
	background-color: #B7DCFF; color: #000!important;
}

.header-logo{ width: auto; display: flex; flex-direction: column; align-content: center;
	padding: 0;
}

.header-logo img { width: 70px; padding-right: 1em;}
.header-logo p { color: #000000; display: inline-block; font-size: 160%; font-weight: bold;}

p.header-comments {
	font-size: 90%; font-weight: normal;
}
@media screen and (max-width:767.98px) {
	.header-logo { 
		width: auto; display: flex; flex-direction: column; padding: 0em 0; margin: 0;
	}
	.header-logo p { color: #000000; display: inline-block; font-weight: bold; margin: 0; font-size: 110%;
	}
	p.header-comments { font-size: 70%; font-weight: normal;}
	
}


.red { color: #ff0000;}

.breadcrumb-item + .breadcrumb-item::before {
	content: ">"
}
.nav-item
	{ width: 24%; border-left: 1px solid #ffffff; }
.nav-item:nth-child(5n) { border-left: 1px solid #ffffff; border-right:1px solid #ffffff;}

.nav-item .nav-link { padding: 0.5em; color: #ffffff!important; font-weight: bold;}


.nav-link-sub { color: #00b1ec; margin: 0; font-size: 90%; letter-spacing: 0.1em; }

.header-menu-box {
	display: flex;
	align-items: center; flex-direction: row;
}
.header-menu-box .telbox a {
	display: flex; flex-direction: row; font-family: "Arial Black", Gadget, "sans-serif"; font-size: 140%; padding-left: 1em; margin: 0;
}
.telbox img { width: 25px;}

.header-menu-box .otoi {
	 font-size: 90%; padding: 0; margin: 0;
}


/*- TOPページ以外のnav高さを低く -*/
#Page-company .nav-item .nav-link, 
#Page-recruit .nav-item .nav-link, 
#Page-works .nav-item .nav-link, 
#Page-contact .nav-item .nav-link, 
#Page-thanks .nav-item .nav-link
{ padding: 0.5em 1em!important; }
 
@media screen and (max-width:767.98px) {
	.nav-item {
		width: 100%; border-left: none;
	}
	.nav-item:nth-child(5n) {
		border-left: none; border-right:none;
	}
	
	.nav-item .nav-link {
		padding: 1em; color: #000000; font-weight: bold;}
	
	.nav-link-sub { display: none; }
	
}

a.nav-link:hover, a.nav-link:hover .nav-link-sub {
	color: #0f3f74!important;
}


/*---------------------------------------------*/
/* top #cleaning-scene
============================================== */
.cleaning-service-box {
	display: flex; flex-direction: row; flex-wrap: wrap; width:100%;
	justify-content: space-between;
}

.cleaning-service-box div {
	width: calc((100% - 30px)/3 );
	margin-bottom: 15px;
}


.cleaning-service-box div a:hover, .btn-contact:hover {
	opacity: 0.5;
}

@media screen and (max-width:767.98px) {
	.cleaning-service-box div {
	width: 100%;
	margin-bottom: 15px;
}
}


.top-mitsumori {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
}
#topMitsumori a.btn-contact {
	width: 100%!important;
}
.top-mitsumori p {
	font-size: 150%;
	line-height: 1.8em;
	outline-color: #ff0000;
	font-weight: bold;
}
/*---------------------------------------------*/
/* service_ihin
============================================== */
#Page-ihin .top-main-bar {
	width: 100%;
	height: 300px;
	background: url("../images/navy_bar.jpg") no-repeat center;
	background-size: contain;
	display: flex;
	align-items: center;
	margin: 0;
}
#Page-fuyouhin .top-main-bar {
	width: 100%;
	height: 300px;
	background: url("../images/blue_bar.jpg") no-repeat center;
	background-size: contain;
	display: flex;
	align-items: center;
	margin: 0;
}
#Page-service .top-main-bar {
	width: 100%;
	height: 300px;
	background: url("../images/mint-bar2.jpg") no-repeat center;
	background-size: contain;
	display: flex;
	align-items: center;
	margin: 0;
}
.top-main-bar p {
	font-size: 220%;
	margin: 0 auto;
	color: #ffffff;
	font-weight: bold;
}

.recruit-push {border: 1px solid #00b1ec; padding: 0.75em; margin: 0;}


@media screen and (min-width:768px) and (max-width:991.98px) {
	#Page-fuyouhin .top-main-bar img , #Page-ihin .top-main-bar img , #Page-service .top-main-bar img {
		width: 200px;	
	}
	.top-main-bar p {
	font-size: 140%;
	margin: 0 auto;
	color: #ffffff;
	font-weight: bold;
}
/*
	#Page-service  .top-main-bar p {
	font-size: 120%;
	margin: 0 auto;
	color: #ffffff;
	font-weight: bold;
}
*/
}

@media screen and (max-width:767.98px) {
	#Page-fuyouhin .top-main-bar, #Page-ihin .top-main-bar, #Page-service .top-main-bar {
		height: 100px;
	}
	#Page-fuyouhin .top-main-bar img , #Page-ihin .top-main-bar img , #Page-service .top-main-bar img {
		width: 150px;
		
	}
	.top-main-bar p {
	font-size: 140%;
	margin: 0 auto;
	color: #ffffff;
	font-weight: bold;
}
/*
	#Page-service  .top-main-bar p {
		font-size: 100%;
	}
*/

}
@media screen and (max-width:575.98px) {
	#Page-fuyouhin .top-main-bar img , #Page-ihin .top-main-bar img , #Page-service .top-main-bar img {
		width: 100px;
		
	}
/*
	#Page-service  .top-main-bar p {
		font-size: 100%;
		line-height: 1em;
	}
*/
}



a.top-btn {
	width: 100%;
	height: auto;
}
.top-btn p {
	font-size: 220%;
	margin: 0 auto;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	font-weight: bold;
}




.coaching-box {
	display: flex; flex-wrap: wrap; justify-content: space-between;
}

.coaching-box .left {
	width: 35%;
}

.coaching-box .left img {
	height: 100%;
}

.coaching-box .right {
	width: 100%;
}

@media screen and (max-width:767.98px) {
	.coaching-box .left, .coaching-box .right {
		width: 100%;
	}
	
	.coaching-box .left img {
	height: 340px;
		object-fit: cover;
		padding-top: 30px;
}
}

.flow-list { width: 80%; list-style-type: none; padding-left: 0; margin: 0 auto;}

.flow-list li:nth-of-type(2n-1) {
	padding: 1em; background-color: #eeeeee;
}
.flow-list li:nth-of-type(2n) {
	padding: 0.5em; font-size: 120%;
}

.flow-list .flow-right {
	width: 20%;
}

.flow-list .flow-left {
	width: 75%;
}

#Page-ihin .flow-arrow p {
	text-align: center; color: #00338e;
	font-size:250%;
	margin: 0; line-height: 1em; padding: 0;
}

#Page-fuyouhin .flow-arrow p {
	text-align: center; color: #0068b7;
	font-size:250%;
	margin: 0; line-height: 1em; padding: 0;
}

a.btn-contact {
	display: block;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
}
table.markerYellow {
	width: 80%;
	margin: 0 auto;
}

.salespoints {
	 font-size: 170%; font-weight: bold; line-height: 2.5em;
}
.feature-3-box {
	padding: 1em 2em; width: 90%; margin: 0px auto;
}
.price-point {
	width: 90%;  margin: 0px auto;
}
.price-bar {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 90%;  margin: 0px auto;
}

.price-bar div {
	width: 48%;
}
.price-top-bar {
	display: flex;
	width: 400px;
	flex-direction: row;
	justify-content: space-between;
}
@media screen and (min-width: 768px) and (max-width: 991.98px) {
	.salespoints {
		font-size: 150%; line-height: 2em;
	}
	.feature-3-box {
		padding: 1em 1.5em; width: 100%; margin: 0px auto;
	}
	table.markerYellow {
		width:100%;
	}
	
	.flow-list {
		width:  100%;
	}
}

@media screen and (max-width: 767.98px) {
	.salespoints {
		font-size: 130%; line-height: 2em;
	}
	.feature-3-box {
	padding: 1em; width: 100%; margin: 0px auto;
}
	.flow-list {
		width:  100%;
	}
	table.markerYellow {
		width:100%;
	}
	
	.price-bar {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.price-bar div {
		width: 100%;
		margin: 0 auto 10px auto;
	}
}

@media screen and (max-width: 575.98px) {
	.salespoints {
		font-size: 120%; line-height: 2em;
	}
	table.markerYellow {
		width:100%;
	}
}

.service-sonota {
	font-size: 150%; text-align: left; line-height: 1.5em;
}