@charset "utf-8";
/* CSS Document */
html{font-size: 62.5%}

body{
	font-size: 1.6rem;
	color: #444444;
	/*background-image: url("../images/bgimage.jpg");*/
	background-repeat: no-repeat;
	/*height: 5500px;*/
	font-family: YuGothic,'Yu Gothic',sans-serif;
	/*width: 1280px;*/
	
}
.nunitosans{font-family: 'Nunito Sans', sans-serif;}
.roboto{font-family: 'Roboto', sans-serif;}
.hiragino{font-family: 'ヒラギノ角ゴシック','Hiragino Sans',sans-serif;}
.inner{
	/*margin: 0 6.5rem;*/
	width: 86%;
     margin: 0 auto;	
}
.sp{display: none;
}
.pc{display: block;
	}


img{
	width: 100%;
	height: auto;
}
a:hover{
	opacity: 0.5;
}

.mainvisual:after{
	content: "";
	  display: block;
	  clear: both;
}

.header{
	background-color: #fff;
	line-height: 11.1rem;
	position: relative;
	height: 11.1rem;
}

.header h1{
	position: absolute;
	left: 9.5rem;
}

.header h1 a{
	color: #333333;
	text-decoration: none;
	font-size: 2.4rem;
}


.headerright{
	position: absolute;
	right: 10rem;
}
.headerright a{
	letter-spacing: 0.126em;
	color: #444444;
	text-decoration: none;
	margin-left: 5.2rem;
}



.headermain{
	z-index: 1;
	position: relative;
}



.slider { width: 100%;
	
	margin: 0 auto;
}
.slider img{ 
	width: 100%;
}

.headertmainttlcontainer{
	position: absolute;
	top: 33%;
	left: 10%;
	z-index: 100;
}
.headermain h2{
	margin-bottom: 4.8rem;
	color: #fff;
	font-size: 4.8rem;
	text-shadow: 1px 2px 3px #808080; 
}

.headermaintext{
	font-size: 3.2rem;
	font-weight: bold;
	color: #FFFFFF;
	text-shadow: 1px 2px 3px #808080; 
}
.intronewscontainer{
	display: flex;
	padding: 0;
	margin-bottom: 0;
}

.news{
	order: 2;
	box-sizing: border-box;
	padding-top: 0;
	width: 50%;
	position: relative;
}
.newstextcontainer{
	flex-wrap: wrap;
	justify-content: center;
  align-items: center;
	margin-left: 5.2rem;
	margin-right: 5.2rem;
	margin-top: 8.4rem;
	
}
.news h2{
	text-align: center;
	font-size:2.4rem;
	margin-bottom: 6rem;
	font-weight: 900;
	color: #525454;
	letter-spacing: 0.1em;
}

.news dl{
	display: flex;
	color: #1C1C1C;
	
	
}

.news dt{
	margin-right: 6.5rem;
	
}
.news dd{
	line-height: 1.5;
	letter-spacing: 0.126em;
}

.intro{
	order: 1;
	/*background-color: #364D6A;*/
	background-color: #212427;
	/*background: linear-gradient(#364D6A, #fff);*/
	/*background-image: url("../images/gradient.jpg");*/
	background-repeat: no-repeat;
	background-size: cover;
	width: 50%;
	font-weight: bold;
	height: 46rem;
	box-sizing: border-box;
	/*margin-top: -8.2rem;*/
	z-index: 10;
	display: flex;
	justify-content: center;
  align-items: center;
	padding: 9.7rem 9rem;
	transform: translateY(-14.5rem);
}

.introtext1{
	font-size: 2.4rem;
	color: #FFFFFF;
	line-height: 1.6;
	letter-spacing: 1.9;
	margin-bottom: 7.8rem;
	
}

.introtext2{
	color: #ECECEC;
	line-height: 2;
}

.service{
	margin-bottom: 20rem;
	clear: both;
}

.ttl{
	font-weight: 900;
	font-size: 4.8rem;
	text-align: center;
	margin-bottom: 4.6rem;
	color: #525454;
}




.service ul{
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin-bottom: 4.5rem;
}

.service li{
	width: 33%;
	height: auto;
	margin-right: 5.2rem;
}

.service li:last-of-type{
	margin-right: 0;
}

.serviceimage{
	z-index: 1;
	
}

.serviceimage img{
	width: 100%;
}
.serviceborder{
	display: flex;
	font-size: 2.4rem;
	border: solid 3px #525454;
	z-index: 100;
	/*margin-top: -40px;*/
	width: 89%;
	line-height: 5.2rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	top: -3rem;
	background-color: #fff;
}

.bordertext1{
	background-color: #525454;
	color: #FFFFFF;
	font-weight: bold;
	/*padding: 20px 10px;*/
	width: 21.5%;
	text-align: center;
	
	
}

.bordertext2{
	margin: 0 auto;
	color: #212138;
}

.bordertext2 span{
	font-weight: bold;
}
.servicetext{
	color: #A4ABB0;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.126em;
}
.detail{
	text-align: center;
	font-weight: bold;
	background-color: #525454;
	width: 29.7rem;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100px;
	box-sizing: border-box;
	cursor: pointer;
}

.detail a{
	text-decoration: none;
	color: #fff;
	display: block;
	padding: 3rem 0;
}

.blog{
	margin-bottom: 15rem;
	
}

.blog .ttl{
	margin-bottom: 5.5rem;
}
.blog ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-weight: bold;
	margin-bottom: 5.1rem;
}
.blog li{
	width: 30%;
	list-style: none;
	margin-bottom: 7.8rem;
}
.blogimage{
	margin-bottom: 3.7rem;
}
.blogimage img{
	width: 100%;
	height: auto;
}

.blog dt{
	font-size: 2rem;
	margin-bottom: 2rem;
	color: #5B5C5C;
}

.blog dd{
	
	color: #A4ABB0;
	line-height: 1.5;
}

#mapcontent{
	margin-bottom: 15.6rem;
	text-align: center;
	height: 40.7rem;
	background-position: center;
}

.maptext{
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 3.7rem;
	color: #252525;
}

.contact{
	text-align: center;
	font-weight: 900;
	background-color: #525454;
	width: 52rem;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100px;
	box-sizing: border-box;
	font-size: 3.2rem;
	margin-bottom: 15rem;
	
}

.contact a{
	text-decoration: none;
	color: #fff;
	display: block;
	padding: 4.5rem 0;
}

.footer{
	background-color: #212427;
	height: 16.5rem;
}


/*ここからaboutpage*/


.headerttl{
	height: 28.7rem;
	background-color: #212427;
}

.headerttl h2{
	text-align: center;
	line-height: 28.7rem;
	font-size: 4.8rem;
	color: #fff;
	letter-spacing: 0.2em;
	font-weight: 500;
}

.headerimage{
	/*visibility: hidden;*/
	z-index: 1;
}

.support{
	display: flex;
	height: 25rem;
	justify-content: space-between;
	padding: 7rem 7rem;
	 background-color: #F2F0E8;
	width: 77%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	color: #434343;
	z-index: 10;
	position: relative;
	top: -9rem;
	margin-bottom: 3.7rem;
}
.supporttext1{
	font-size: 3.6rem;
	margin-right: 7rem;
	line-height: 1.2;
	font-weight: 500;
	/*margin: 5rem 3rem;*/
}

.supportext2{
	font-size: 2rem;
	font-weight: bold;
	/*margin: 5rem 2rem;*/
}

.point{
	margin-bottom: 20.7rem;
}
.pointttl{
	font-weight: 500;
	color: #252635;
	font-size: 3.6rem;
}

.pointttl:after{
	content: '';
	background: linear-gradient(#AB5683, #C07C59);
	width: 15rem;
	height: 4px;
	display: block;
	/*margin-top: 1.8rem;*/
	margin-bottom: 6rem;
	position: relative;
	top: 1rem;
}
.pointtextcontainer{
	display: flex;
	justify-content: space-between;
}
.pointleft{
	/*margin: 0 2rem;*/
	margin-right: 12rem;
}
.pointleftttl{
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 6rem;
	color: #2B2B2B;
	letter-spacing: 0.084em;
}

.pointtextcontainer p{
	font-weight: bold;
	color: #474747;
	letter-spacing: 0.126em;
	line-height: 2;
}

.pointtextcontainer p:nth-child(1){
	margin-bottom: 0.5rem;
}

.point p:nth-child(2){
	margin-bottom: 4.8rem;
}

.pointright{
	font-weight: bold;
	line-height: 2;
	/*margin: 0 2rem;*/
}
.office{
	background-size: 100% auto;
	background-color: #F2F2F2;
	padding-top: 11rem;
	padding-bottom: 13rem;
}
.officetextcontainer{
	display: flex;
	justify-content: space-between;
	width: 68%;
     margin: 0 auto;
	letter-spacing: 0.126em;
}
.office h2{
	font-size: 3.6rem;
	font-weight: 500;
	margin-bottom: 7.5rem;
	color: #212F41;
	
}
.office ul{
	list-style: none;
	font-size: 2rem;
	font-weight: bold;
	color: #505050;
	
}

.office li{
	margin-bottom: 3rem;
}

.officeimage{
	width: 44rem;
	height: auto;
}

.aboutmapcontent{
	margin-bottom: 15.6rem;
	text-align: center;
	height: 57.5rem;
}




/*ここまでaboutpage*/




/*ここからservice*/


.servicesectioncontainer{
	margin-bottom: 18rem;
	border: solid #F2F0E8 15px;
	padding: 14rem 0;
	
}
.servicesection{
	display: flex;
	margin-bottom: 7.5rem;
}


.servicesection:last-of-type{
	margin-bottom: 0;
}

.sectionleft{
	width: 50%;
	margin-right: 9rem;
	
}
.sectionlefttop{
	display: flex;
	font-size: 2.4rem;
	font-weight: 900;
	line-height: 7.6rem;
	margin-bottom: 3rem;
}

.sectionlefttoptext1{
	background-color: #212427;
	color: #fff;
	padding: 0 1.95rem;
	margin-right: 6rem;
	
}

.sectionleftbottom{
	line-height: 1.7;
	font-size: 1.4rem;
	color: #888888;
	font-weight: bold;
	letter-spacing: 0.2em;
}

.sectionleftbottomtext1{
	margin-bottom: 3rem;
}
.sectionright{
	/*width: 50%;*/
	height: 100%;
	padding: 7.5rem;
	background-color: #F2F0E8;
}

.sectionrightttl{
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 6rem;
	color: #202037;
}

.sectionright ul{
	list-style: none;
	margin-bottom: 6rem;
}

.sectionright li{
	margin-bottom: 1.5rem;
	color: #888888;
	font-weight: bold;
}

.sectionrightdetail{
	background-color: #212427;
}






/*ここまでservice*/

/*ここからprice*/

.headerbottommenu {
		display: flex;
		justify-content: center;
	line-height: 10.5rem;
	border-bottom: solid 1px #212427;
	margin-bottom: 10.5rem;
	}


.headerbottommenu p:after{
	font-family: "Font Awesome 5 Free"; 
font-weight: 900;
content: "\f078";
	display: block;
	position: absolute;
	left: 50%;
	top: 3rem;
	cursor: pointer;
	
}


.headerbottommenu p{
	width: 33%;
	text-align: center;
	position: relative;
	letter-spacing: 0.126em;
}
.headerbottommenu a{
	font-size: 2.4rem;
	color: #212427;
	font-weight: bold;
	text-decoration: none;
}

.pricesectioncontainer{
	width: 95%;
     margin:0 auto;
	margin-bottom: 14rem;
	
}
.pricesectionttl{
	margin-bottom: 3rem;
}
.pricesectiontext1, .pricesectiontext2, .pricesectiontext3, .pricesectiontext4, .tablettl, .table{
	color: #212427;
	letter-spacing: 0.126em;
}
.pricesectiontext1{
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 3rem;
	
}

.pricesectiontext2{
	font-weight: bold;
	margin-bottom: 5.2rem;
	
	
}
.tablettl{
	display: flex;
	width: 100%;
	font-weight: bold;
	margin-bottom: 1rem;
}

.tablettl p:nth-child(1){
	width: 47%;
}

.tablettl p:nth-child(2){
	width: 23%;
}

.table{
	width: 100%;
	border-top: solid 9px #212427;
	margin-bottom: 4.5rem;
	
}
th, td {
	border: 1px solid #212427;
	border-collapse: collapse;
	padding: 0.4rem;
	height: 3.7rem;
}
th {
	
	width: 47%;
}

.table1 th{
	background: #F2F2F2;
}

td:first-of-type{
	width: 23%;
}

.pricesectiontext3{
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

.pricesectiontext4{
	font-weight: bold;
}

	
/*//tableの偶数行と奇数行で色違いになるように指定するタグ//*/
.table2 tr:nth-child(even) {
background: #F2F2F2;
	border: solid 1px #212427;
}
 
.table2 tr:nth-child(odd) {
background: #fff;
}

.pricesectioncontainer:last-of-type{
	margin-bottom: 34.5rem;
}
/*ここまでprice*/


@media screen and (max-width:768px){
	html{font-size: 62.5%}
	.sp{
	display: block;
}
.pc{
	display: none;
}
.inner{
	/*margin: 0 3rem;*/
}

	body{
		/*background-image: url("../images/bgimagesp.jpg");*/
		/*width: 37.5rem;*/
	}
	
	.headermain{
		position: relative;
		/*height: 46.4rem;*/
		/*height: 100vh;*/
	}
	
	.slider { width: 100%;
	
	margin: 0 auto;
}
.slider img{ 
	height: 46.4rem;
	/*height: 100vh;*/
	
	object-fit: cover;
}
	
	
	.headertmainttlcontainer{
		position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
		
	}
	
	.headertmainttlcontainer h2{
		width: 31rem;
		/*margin-left: auto;
		margin-right: auto;
*/
		
	}
	.intro{
		display: block;
		width: 86%;
     margin: 0 auto;
		background-color: transparent;
		margin-bottom: 3rem;
		padding: 0;
	}
	
	
	.intronewscontainer{
	display: block;
}
	
	.news{
		width: 100%;
		padding-left: 3rem;
		padding-right: 3rem;
		margin-bottom: 3.7rem;
		
	}
	.newstextcontainer{
		border-bottom: solid #202037 10px;
		display: block;
		margin-left: 0;
		margin-right: 0;
		padding-bottom: 2rem;
	}
	.news h2{
		text-align: left;
		font-size: 2.4rem;
		
	}
	
	.news dl{
		margin-bottom: 1.5rem;
		margin: 0;
	}
	.news dt{
		font-weight: 900;
		font-size: 1.2rem;
	}
	
	.news dd{
		font-size: 1.2rem;
		font-weight: 600;
	}
	.intro{
		transform: translateY(0);
		margin-bottom: 7.6rem;
		background: none;
	}
	
	
	.introtext1, .introtext2{
		color: #333333;
	}
	
	.introtext1{
		font-size: 2.2rem;
		margin-bottom: 5rem;
		letter-spacing: 0.02em;
	}
	
	.introtext2{
		font-size: 1.2rem;
		letter-spacing: 0.126em;
	}
	
	.service{
		margin-bottom: 17.2rem;
	}
	.ttl{
		font-size: 2.4rem;
	}
	.service .ttl{
		margin-bottom: 3.5rem
	}
	
	.service ul{
		display: block;
		margin-bottom: 10.5rem;
	}
	
	.service li{
		width: 100%;
		height: auto;
		margin-right: 0;
		margin-bottom: 6.5rem;
	}
	
	.blogimage{
		margin-bottom: 1.2rem;
	}
	
	.detail{
		width: 100%;
		box-sizing: border-box;
		font-size: 1.6rem;
	}
	
	
	.bordertext1{
		font-size: 2rem;
	}
	
	.bordertext2{
		font-size: 2.4rem;
	}
	
	.servicetext{
		font-size: 1.4rem;
		font-weight: bold;
		color: #A4ABB0;
		line-height: 1.7;
		width: 89%;
		margin-left: auto;
		margin-right: auto;
	}
	
	.blog ul{
		margin-bottom: 5.7rem;
	}
	.blog li{
		width: 47%;
		
	} 
	
	.blog li:nth-child(odd){
		margin-right: 1rem;
	}
	
	.blog dt{
		font-size: 1.4rem;
	}
	
	.blog dd{
		font-size: 1.2rem;
	}
	
	.blog .detail{
		margin-bottom: 17.4rem;
	}
	
	.mapimage{
		height: 40rem;
		margin-bottom: 9rem;
	}
	.maptext{
		font-size: 2rem;
		text-align: center;
		margin-bottom: 5.4rem;
	}
	
	.mapdetail{
		background: #212427;
		font-size: 1.6rem;
		width: 83%;
		margin-bottom: 20.2rem;
	}
	
	.footer{
		height: 16.5rem;
	}
	
	/*ここからaboutpage*/
	.headerttl{
		height: 10rem;
	}
	
	.headerttl h2{
		line-height: 10rem;
		font-size: 2.8rem;
	}
	
	.headerimage{
		margin-bottom: 3.5rem;
	}
	.support{
	display: block;
	/*background-color: transparent;*/
	padding: 3rem;
	position: relative;
	top: 0;
		margin-top: 5rem;
		margin-bottom: 10rem;
}
.supporttext1{
	font-size: 2.2rem;
	margin-right: 0;
	line-height: 1.2;
	font-weight: bold;
	margin-bottom: 1.5rem;
}
.supportext2{
	font-size: 1.4rem;
	/*margin: 5rem 2rem;*/
}
	
.point{
	margin-bottom: 17rem;
}
.point h2{
	font-size: 2.4rem;
	font-weight: bold;
}


.pointtextcontainer{
	display: block;
}
	.pointtextcontainer p{
		font-size: 1.4rem;
	}
.pointleft{
	/*margin: 0 2rem;*/
	margin-right: 0;
	margin-bottom: 2rem;
}
	
	.pointleftttl{
		font-size: 1.8rem;
	}
	
	.office{
		display: block;
		/*width: 86%;*/
     margin: 0 auto;
	}
	
	.office h2{
		font-size: 2.4rem;
	font-weight: bold;
		margin-bottom: 3rem;
	}
	
	.officetextcontainer{
		display: block;
		width: 86%;
     margin: 0 auto;	
	}
	
	.office ul{
		font-size: 1.4rem;
		margin-bottom: 3rem;
	}
	
	.officeimage{
		width: 100%;
		height: auto;
	}
	
	/*ここまでaboutpage*/
	
	
	
	
	/*ここからservice*/
	
	.servicesection{
		display: block;
		margin-bottom: 20rem;
	}
	
	.sectionleft{
		width: 100%;
		margin-bottom: 2rem;
	}
	.sectionlefttoptext1{
		font-size: 2rem;
	}
	.sectionlefttoptext2{
		font-size: 2.4rem;
	}
	
	.sectionleftbottom{
		font-size: 1.4rem;
	}
	
	.sectionrightttl{
		font-size: 1.8rem;
	}
	
	.sectionright li{
		font-size: 1.4rem;
	}
	
	
	
	
	
	
	
	/*ここまでservice*/
	
	
	
	
	
	/*ここからprice*/
	.headerbottommenu a{
		font-size: 1.2rem;
	}
	
	.pricesectiontext1{
		font-size: 1.8rem;
	}
	
	.pricesectiontext2{
		font-size: 1.4rem;
	}
	
	.tablettl{
		font-size: 1.2rem;
	}
	
	.pricesectiontext3{
		font-size: 1.8rem;
	}
	
	.pricesectiontext4{
		font-size: 1.4rem;
	}
	
	
	
	
	
	/*ここまでprice*/
	
	
	
	
	
	
	
	}

	
	
	

