@charset "utf-8";

/*------------------------------------------------------------

メインイメージ

------------------------------------------------------------*/

/*------------------------------------------------------------

紹介文

------------------------------------------------------------*/
.top-about{
	padding: 75px 0;
	}
.top-aboutBox {
	margin-left:auto;
	margin-right:auto;
	padding:0 4%;
	}
.top-aboutBoxTmb {
  position: relative;
	width:100%;
	padding-right: 10%;
	margin-bottom:50px
	}
	.top-aboutBoxTmbMain {
		-webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
		        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
		}
		.top-aboutBoxTmbSub {
			z-index:1;
			position: absolute;
			right: 0;
			bottom: -10%;
			width: 40%;
			-webkit-box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
			        box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
			}
.top-aboutBoxCont {
	margin-left:auto;
	margin-right:auto;
	}
	.top-aboutBoxCont h2 {
		font-family: var(--bs-font-serif);
		font-size: 2.125em;
		font-weight: 500;
		line-height: 1.4;
		margin-bottom: 15px;
		}
	.top-aboutBoxCont p {
		font-weight: 500;
		line-height: 1.8;
		margin-bottom: 10px;
		}
		
/*TABLET*/
@media only screen and (min-width : 600px){
.top-about{
	/*background-color:yellow;*/
	}
.top-aboutBox{
	width:100%;
  max-width: 1440px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	}
.top-aboutBoxTmb {
	width:42.5%;
	padding-right:0;
	}
	.top-aboutBoxTmbMain {
		padding-right:0;
		}
		.top-aboutBoxTmbSub {
			z-index:1;
			position: absolute;
			bottom: -50%;
			right: -14%;
			width: 70%;
			}
.top-aboutBoxCont {
	width:42.5%;
	margin-top:0;
	margin-left:0;
	margin-right:0;
	}
}
/*PC*/
@media only screen and (min-width : 1025px){
.top-about{
	/*background-color:blue;*/
	padding: 150px 0;
	}
.top-aboutBox{
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	}
.top-aboutBoxTmb {
	width:50%;
	margin-bottom:0;
	}
.top-aboutBoxCont {
	width: 35%;
	}
	.top-aboutBoxCont h2 {
		margin-bottom: 30px;
		}
}
/**/
@media only screen and (min-width : 1440px){
.top-about{
	/*background-color:black;*/
	}
.top-aboutBox {
	padding:0 0;
	}

}
/*IE*/
@media all and (-ms-high-contrast:none){
}

/*------------------------------------------------------------

私たちの事業内容

------------------------------------------------------------*/

.top-service{
	padding: 75px 0;
	position:relative;
	background-color:#bbb6a6;
	background-image:url(../images/top/service_bg.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	}
.top-serviceCard{
	display:block;
	-webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.1);
	        box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.1);
	background-color:#fff;
	text-decoration:none;
	font-family: var(--bs-font-serif);
	color:#000;
	position:relative;
	}
	.top-serviceCard::before {
		display:block;
		content: "";
		position:absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		-webkit-box-shadow: 0px 0px 20px 0px rgba(187,182,166,0.5) inset;
		        box-shadow: 0px 0px 20px 0px rgba(187,182,166,0.5) inset;
		z-index: 1; /* 他の要素より前面にしたい場合 */
		-webkit-transition: 0.4s;
		-o-transition: 0.4s;
		transition: 0.4s;
		}
	.top-serviceCard:hover{
		color:#000;
		}
	.top-serviceCard:hover img{
		opacity:1;
		filter: alpha(opacity=100);        /* ie lt 8 */
		-ms-filter: "alpha(opacity=100)";  /* ie 8 */
		-moz-opacity:1;                 /* FF lt 1.5, Netscape */
		-khtml-opacity: 1;              /* Safari 1.x */
		}
	.top-serviceCard:hover::before{
		-webkit-box-shadow: 0px 0px 40px 0px rgba(187,182,166,1) inset;
		        box-shadow: 0px 0px 40px 0px rgba(187,182,166,1) inset;
		}
.top-serviceCardTmb{
	}
	.top-serviceCardTmb img{
		width:100%;
		}
.top-serviceCardCont{
	text-align:center;
	padding:1.5em 0.5em;
	font-size:1.25em;
	line-height:1;
	}
/*TABLET*/
@media only screen and (min-width : 600px){
.top-service{
	/*background-color:yellow;*/
	}
}
/*PC*/
@media only screen and (min-width : 1025px){
.top-service{
	padding: 200px 0 150px;
	}
.top-serviceCardCont{
	padding:2.5em 0.5em;
	}
}

/*------------------------------------------------------------

会社について

------------------------------------------------------------*/

.top-company{
	background-image:url(../images/top/company_txt.png);
	background-repeat:no-repeat;
	background-size: contain;
	background-position:left -50px;
	background-color:#7d796a;
	padding: 75px 4%;
	}
	.top-companyBoxTmb{
		margin-bottom:25px;
		}
	.top-companyBoxCont{
		color:#fff;
		}
	.top-companyBoxCont h2 {
		font-family: var(--bs-font-serif);
		font-size: 1.875em;
		font-weight: 500;
		line-height: 1.4;
		margin-bottom: 15px;
		}
	.top-companyBoxCont p {
		font-size: 1.125em;
		font-weight: 500;
		line-height: 1.8;
		margin-bottom: 10px;
		}
	.top-companyBoxCont ul{
		margin-top:25px;
		}
	.top-companyBoxCont a{
		border:2px solid #bbb6a6;
		padding:1em;
		display:block;
		text-align:center;
		font-size: 1.125em;
		line-height:1;
		color:#fff;
		text-decoration:none;
		font-family: var(--bs-font-serif);
		}
		.top-companyBoxCont a:hover{
			background-color:#bbb6a6;
			}
/*TABLET*/
@media only screen and (min-width : 600px){
.top-company{
	padding: 75px 0;
	}
.top-companyBox{
	/*margin: 0 calc(50% - 50vw);*/
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	}
.top-companyBoxTmb{
	width:35%;
	}
.top-companyBoxCont{
	width:65%;
	padding:0 4%;
	}
}
/*PC*/
@media only screen and (min-width : 1025px){
.top-company{
	padding: 200px 0 0 0;
	background-position:left -100px;
	background-size: auto;
	}
	.top-companyBox{
		-webkit-box-align:center;
		    -ms-flex-align:center;
		        align-items:center;
		}
	.top-companyBoxTmb{
		margin-bottom:0;
		width:57.86%;
		}
	.top-companyBoxCont{
		width:42.14%;
		padding:0 4%;
		}
	.top-companyBoxCont h2 {
		margin-bottom: 30px;
		}
	.top-companyBoxCont ul{
		margin-top:50px;
		}
}
/*IE*/
@media all and (-ms-high-contrast:none){
}

/*------------------------------------------------------------

新着情報

------------------------------------------------------------*/
.top-news{
	padding: 75px 0;
	}
/*PC*/
@media only screen and (min-width: 1025px) {
  .top-news {
    padding: 150px 0;
  }
}
/*IE*/
@media all and (-ms-high-contrast: none) {
}