@charset "utf-8";
/* CSS Document */


.header {
	height: 101px;
	margin-bottom: 52px;
}
.header h1{
	position: relative;
	top:11px;
	left: 13px;
	width: 130px;
	height: 88px;
    z-index: 502;
}
.rogo img{
	width: 135px;
}

@media(min-width:955px) {
.header {
	position: relative;
	height: 126px;
	margin: 0 auto 40px;
	width: 100%;
	max-width: 1380px;
}
.header h1{
	top:15px;
	left: 49px;
	width: 158px;
	height: 107px;
}
.rogo img{
	width: 172px;
}	
}






/*top*/
/*top*/
/*top*/

.section-top{
	position: relative;
	margin-bottom: 90px;
}
.section-top h2{
	font-size: 2.3rem;
	line-height:3.4rem;
	letter-spacing: 0.12em;
	margin-bottom: 15px;
}
.top-main_a{
	width: 100%;
	height: 298px;
	margin-bottom: 9px;
}
.top-main_a img{
  width: 100%;
	height: 298px;
  object-fit: cover;
}
	
	
	
/* 右上へ */
.top-main_a ul{
animation-name:flipLeftAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes flipLeftAnime{
  from {
   transform: translate(-20px,80px) rotate(-3deg);
 	opacity: 0;
  }
  to {
   transform: translate(0,0) rotate(0deg);
	opacity: 1;
  }
}


.section-top p{
	font-size: 1.5rem;
	line-height:2.8rem;
	letter-spacing: 0em;
	margin-bottom: 48px;
}

.top-main_b{
	display: block;
	position: relative;
    margin-right:auto;
	width: 273px;
	height: 192px;
	margin-bottom: 15px;
	z-index: 1;
}
.top-main_b img{
	width: 273px;
	height: 192px;
    object-fit: cover;
}

.top-main_c{
	display: block;
	position: relative;
    margin-left:auto;
	width: 236px;
	height: 162px;
	margin-bottom: 15px;
	z-index: 1;
}
.top-main_c img{
	width: 236px;
	height: 162px;
    object-fit: cover;
}

.bg_box_01{
	position: absolute;
	top:440px;
	width: 110px;
	height: 455px;
	background-color:#F4F3E7;
	z-index: -1;
/* 右上へ */
animation-name:flipRightTopAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes flipRightTopAnime{
  from {
   transform: translate(-20px,80px) rotate(25deg);
   opacity: 0;
  }

  to {
   transform: translate(0,1) rotate(0deg);
	opacity: 1;
  }
}


.bg_box_02{
	position: absolute;
	bottom:-35px;
	right: 0px;
	width: 287px;
	height: 100px;
	background-color:#F4F3E7;
	z-index: -1;
}




@media(min-width:769px) {
.top-main_a{
	height:auto;
	margin-bottom: 25px;
}
.top-main_a img{
  height: auto;
}
.top-main_p-wrapper{
	display: flex;
width: 100%;
	}
.top-main_b{
	display: inline-block;
    margin-left:6%;
	width: 380px;
	height: 260px;
	margin-bottom: 15px;
}
.top-main_b img{
	width: 380px;
	height: 260px;
}
.top-main_c{
	display: inline-block;
	width: 305px;
	height: 205px;
	margin-top:90px; 
	margin-bottom: 15px;
	z-index: 1;
}
.top-main_c img{
	width: 305px;
	height: 205px;
    object-fit: cover;
}
.bg_box_01{
	top:460px;
	width: 156px;
	height: 455px;
}
.bg_box_02{
	bottom:-30px;
	right: 0px;
	width: 471px;
	height: 118px;
}	

	
	
	
}
@media(min-width:1060px) {
.section-top{
	margin-bottom: 160px;
}	
.top-top__wrapper{
	max-width: 1380px;	
	margin: 0 auto;
}
.section-top h2{
	font-size: 2.7rem;
	line-height:4.0rem;
	letter-spacing: 0.2em;
	margin-bottom: 25px;
position: relative;
text-align: right;
margin-right: 6%;	
}	
.top-main_a{
	height:auto;
	margin-bottom: 30px;
	max-height: 700px;
}
.top-main_a img{
  height: auto;
	max-height: 700px;
}	
.top-sub__wrapper{
	position: relative;
	max-width: 1380px;	
	margin: 0 auto;
	}
.section-top p{
	font-size: 1.7rem;
	line-height:3.7rem;
	letter-spacing: 0.05em;
	margin-bottom: 55px;
	text-align: left;
    margin-left: 6%;	
}
.top-twitter{
	position: absolute;
	width: 244px;
	height:184px;
	top:-170px;
	right: 6%;
}
.top-main_p-wrapper{
	display: flex;
width: 100%;
	max-width: 1380px;	
	margin: 0 auto;
	}
.top-main_b{
	display: inline-block;
    margin-left:6%;
	width: 581px;
	height: 408px;
	margin-bottom: 15px;
}
.top-main_b img{
	width: 581px;
	height: 408px;
}
.top-main_c{
	display: inline-block;
	width: 413px;
	height: 297px;
	margin-top:90px; 
	margin-bottom: 15px;
	z-index: 1;
}
.top-main_c img{
	width: 413px;
	height: 297px;
    object-fit: cover;
}
.bg_box_01{
	top:15px;
	width: 173px;
	height: 1283px;
}
.bg_box_02{
	bottom:-30px;
	right: 0px;
	width: 871px;
	height: 158px;
}	
}
	


/*service*/
/*service*/
/*service*/
.section-service{
	position: relative;
	margin-bottom: 90px;
	padding-top: 70px;
	text-align: center;
}

.section-service h3{
    font-size:1.7rem;
	letter-spacing: 0.04em;
    padding-top: 15px;
	background-color:#E9E8CF;
	width: 236px;
	height:61px;
	margin: 0 auto;
}

.section-service h4{
	font-size: 1.4rem;
	line-height: 1.3rem;
	color: #fff;
}

.section-service h5{
	font-size: 1.9rem;
	letter-spacing: 0.05em;
	border-bottom: solid 1px #333;
	padding-bottom: 5px;
	margin: 0 2px;
	text-align: left;
 }
.section-service p {
	font-size: 1.3rem;
	line-height: 1.1rem;
	letter-spacing: -0.02em;

}


.service-title__wrapper{
	display: block;
	position: relative;
	margin-bottom: 25px;
}
.service-title__wrapper img{
  position: absolute;
  width: 152px;
  top:-35px;
  left: 50%;
  transform:translateX(-50%);
  margin: auto;
}


.service-subtitle__wrapper{
	display: inline-block;
	background-color:#333;
	width: 133px;
	height:80px;
	border-radius: 40px;
	margin: 0 0 13px ;
}
.service-subtitle__wrapper img{
	height: 24px;
	width: auto;
	margin:15px 0 0 0;
}


.icon__wrapper {
	margin: 0 auto 35px;
	text-align: left;
	width:328px; 
}



.icon__wrapper li {
	display: inline-block;
	list-style: none;
	width: 102px;
	height: 102px;
	background-color: #F4F3E7;
	text-align: center;
	margin: 15px 2px 0px;
}
.icon__wrapper img {
	width: 59px;
	height: 59px;
	margin: 10px 0 0 0;
}


.service-ser__image-wrapper{
	display:block;
	position: relative;
	text-align: left;
}
.service-ser_a{
	display: block;
	position: relative;
	width: 179px;
	height: 140px;
	margin:40px 0 80px 8%;
	z-index: 2;

}


.service-ser_a img{
	width: 179px;
	height: 140px;
    object-fit: cover;
}



.service-ser_b{
	display: inline-block;
	position: absolute;
	top:80px;
	left:220px;
	width: 131px;
	height: 105px;
	z-index: 1;
}
.service-ser_b img{
	width: 131px;
	height: 105px;
    object-fit: cover;
}

.service-ser_c{
	display: inline-block;
	position: relative;
    margin-left:0px;
	width: 300px;
	height: 210px;
	margin-bottom: 0px;
	z-index: 1;

}
.service-ser_c img{
	width: 300px;
	height: 210px;
    object-fit: cover;
}

.bg_box_03{
	position: absolute;
	bottom:140px;
	right: 0px;
	width: 277px;
	height: 169px;
	background-color:#F4F3E7;
	z-index: -1;
}





@media(min-width:769px) {
.icon__wrapper {
	margin: 0 auto 55px;
	text-align: left;
	width:438px; 
}
.service-ser__image-wrapper{
margin: 170px auto 240px ;	
max-width: 1060px;
}
.service-ser_a{
	display: inline-block;
	width: 221px;
	height: 176px;
	margin: 90px 10px 0 50px;
	z-index: 2;
}
.service-ser_a img{
	width: 221px;
	height: 176px;
}
.service-ser_b{
	display: inline-block;
	position: absolute;
	top:40px;
	left:260px;
	width: 177px;
	height: 142px;
	margin: 0 0 0 ;
}


	
.service-ser_b img{
	width: 177px;
	height: 142px;
}

.service-ser_c{
	position: absolute;
    right:0px;
	width: 335px;
	height: 239px;
	margin-bottom: 15px;
	z-index: 1;
}
.service-ser_c img{
	width: 335px;
	height: 239px;
}
.bg_box_03{
	position: absolute;
	bottom:-70px;
	left: 0px;
	width: 748px;
	height: 130px;
}


}


@media(min-width:1060px) {
.section-service{
	margin-bottom: 140px;
	padding-top: 70px;
}
.section-service h3{
font-size:2.2rem;
padding-top: 36px;
	width: 340px;
	height:83px;
}

.section-service h4{
	font-size: 2.0rem;
}

.section-service h5{
	font-size: 2.5rem;
	padding-bottom: 20px;
	margin: 0 10px 0;
 }
.section-service p {
	font-size: 1.8rem;
	line-height: 1.1rem;
	letter-spacing: 0.05em;
}
.service-title__wrapper{
	margin-bottom: 50px;
}
.service-title__wrapper img{
  position: absolute;
  width: 226px;
  top:-50px;
}
.service-subtitle__wrapper{
	width: 200px;
	height:126px;
	border-radius: 63px;
	margin: 30px 0 30px ;
}
.service-subtitle__wrapper img{
	height: 32px;
	margin:27px 0 7px 0;
}
.icon__wrapper {
	margin: 0 auto 95px;
	width:854px; 
}
.icon__wrapper li {
	width: 190px;
	height: 190px;
	margin: 25px 10px 0px;
}
.icon__wrapper img {
	width: 100px;
	height: 100px;
	margin: 22px 0 9px 0;
}

	
.service-ser__image-wrapper{
margin: 170px auto 240px ;	
max-width: 1380px;
}

.service-ser_a{
	display: inline-block;
	width: 320px;
	height: 255px;
	margin: 90px 30px 0 50px;
	z-index: 2;
}
.service-ser_a img{
	width: 320px;
	height: 255px;
}
.service-ser_b{
	display: inline-block;
	position: absolute;
	top:40px;
	left:400px;
	width: 257px;
	height: 206px;
	margin: 0 0 0 ;
}

	
	
.service-ser_b img{
	width: 257px;
	height: 206px;
}

.service-ser_c{
	position: absolute;
    right:0px;
	width: 485px;
	height: 346px;
	margin-bottom: 15px;
	z-index: 1;
}
.service-ser_c img{
	width: 485px;
	height: 346px;
}
.bg_box_03{
	position: absolute;
	bottom:-50px;
	left: 0px;
	width: 978px;
	height: 180px;
}
}	

/*staff*/
/*staff*/
/*staff*/
.section-staff{
	background-image: url("../images/staff_back.jpg");
    background-repeat:  no-repeat;                         /* 画像の繰り返しを指定  */              
    background-position:center center;                     /* 画像の表示位置を指定  */
    background-size:auto 890px;                            /* 画像のサイズを指定    */
	width: 100%;
	height:  890px;
	margin-bottom: 90px

}
.staff-title__wrapper{
	display: block;
	position: relative;
	margin-bottom: 25px;
	padding-top:140px;
}
.staff-title__wrapper img{
  position: absolute;
  width: 134px;
  top:94px;
  left: 50%;
  transform:translateX(-50%);
  margin: auto;
}

.section-staff h3{
    font-size:1.7rem;
	letter-spacing: 0.04em;
    padding-top: 15px;
	background-color:#F8F8F1;
	width: 236px;
	height:61px;
	margin: 0px auto 30px;
}

.staff__wrapper li{
	display: inline-block;
	background-image: url("../images/staff_box.png");
    background-repeat:  no-repeat;                         /* 画像の繰り返しを指定  */              
    background-position:center center;                     /* 画像の表示位置を指定  */
    background-size:280px 455px;                            /* 画像のサイズを指定    */
	width: 280px;
	height: 455px;
}

.face{
	width: auto;
	height: 121px;
	margin: 52px auto 7px;
}

.staff__wrapper span{
	font-size: 1.2rem;
	line-height: 2.4rem;
	letter-spacing: 0.05rem;
}
.staff__wrapper h6{
	font-size: 2.1rem;
	letter-spacing: 0.25rem;
}
.hurigana{
	font-size: 1.0rem;
	letter-spacing: 0.25rem;
	line-height: 2.8rem;
	color:#CED5D9;
	margin-bottom: 10px;
}

.staff__wrapper p{
	text-align: left;
	font-size: 1.3rem;
	line-height: 2.6rem;
	width: 210px;
	border-bottom:dotted 1px #CED5D9;
	margin: 0 auto;
	padding-bottom: 10px;
}
.hobby{
	font-size: 1.2rem;
	line-height: 1.2rem;
	text-align: left;
	width: 210px;
	border-bottom:none;
	padding-top: 10px;
	margin: 0 auto;
}

.annotation{
	font-size: 1.4rem;
	line-height: 1.4rem;
	width: 326px;
	height: 58px;
	border: solid 1px #707070;
	margin: 50px auto 15px;
	padding-top: 20px;
}

@media(min-width:769px) {
.section-staff{
	min-height: 995px;
}
.staff-card__wrapper{
	max-width: 768px;
	margin: 0 auto;
}}

@media(min-width:1060px) {
.section-staff{
    background-size:100% auto;                            /* 画像のサイズを指定    */
	width: 100%;
	height:  auto;
	margin-bottom: 0px;
	padding-bottom:130px
}
.staff-title__wrapper{
	margin-bottom: 35px;
	padding-top:200px;
}
.staff-title__wrapper img{
  position: absolute;
  width: 183px;
  top:145px;
}
.section-staff h3{
font-size:2.1rem;
padding-top: 36px;
	width: 340px;
	height:83px;
	margin: 0px auto 50px;
}
	
	
.staff-card__wrapper{
	max-width: 1020px;
	margin: 0 auto;
}
	
.staff__wrapper li{
    background-size:324px 522px;                            /* 画像のサイズを指定    */
	width: 324px;
	height: 522px;
}

.face{
	height: 156px;
	margin: 52px auto 15px;
}
.staff__wrapper span{
	font-size: 1.3rem;
	line-height: 2.8rem;
}
.staff__wrapper h6{
	font-size: 2.5rem;
}
.hurigana{
	font-size: 1.1rem;
	line-height: 3.0rem;
	margin-bottom: 15px;
}

.staff__wrapper p{
	padding-bottom: 15px;
}
.hobby{
	padding-top: 15px;
}

.annotation{
	font-size: 1.5rem;
	line-height: 1.5rem;
	width: 404px;
	height: 66px;
	margin: 50px auto 0px;
	padding-top: 25px;
}
}








/*company*/
/*company*/
/*company*/
.section-company{
	padding-top:40px;
}
.section-company h3{
    font-size:1.7rem;
	letter-spacing: 0.04em;
    padding-top: 15px;
	background-color:#E9E8CF;
	width: 236px;
	height:61px;
	margin: 0 auto;
}
.company-title__wrapper{
	display: block;
	position: relative;
	margin-bottom: 45px;
}
.company-title__wrapper img{
  position: absolute;
  width: 182px;
  top:-35px;
  left: 50%;
  transform:translateX(-50%);
  margin: auto;
}
.section-company dt{
	display: block;
	font-size: 1.6rem;
	line-height: 2.8rem;
	letter-spacing: 0.1em;
	text-align: left;
	padding: 15px 40px 0px ;
	border-top: solid 1px #C5C4C4;
}
.section-company dd{
	display: block;
	font-size: 1.6rem;
	line-height: 2.8rem;
	letter-spacing: 0.1em;
	text-align: left;
	padding: 0px 40px 15px ;
}
.section-company dd:last-child{
	border-bottom: solid 1px #C5C4C4;
    margin-bottom: 25px;
}
.company-office{
	width: 272px;
	height: 272px;
	border-radius: 50%;
	margin-bottom: 35px;
}


@media(min-width:769px) {
.section-company{
	position: relative;
	padding-top:100px;
}
.section-company dl{
	display: block;
	max-width: 455px;
	margin: 0 auto 180px;
	}
.section-company dt{
	padding: 18px 0px 0px ;
}
.section-company dd{
	padding: 0px 0px 18px ;
}
.company-office{
position: absolute;
	width: 272px;
	height: 272px;
	bottom:195px;
	right: 10%;
}
.address-br{
		display: none;
	}

}
@media(min-width:1060px) {
.section-company{
	position: relative;
	padding-top:200px;
	max-width: 1380px;
	margin: 0 auto;
}
.section-company h3{
font-size:2.2rem;
padding-top: 36px;
	width: 340px;
	height:83px;
}
.company-title__wrapper{
	margin-bottom: 80px;
}
.company-title__wrapper img{
  width: 266px;
  top:-51px;
}
.section-company dl{
	display: block;
	max-width: 772px;
	margin: 0 auto 180px;
	border-bottom: solid 1px #C5C4C4;

	}
.section-company dt{
	display: inline-block;
	font-size: 1.7rem;
	letter-spacing: 0.1em;
	width: 220px;
	padding: 34px 0 34px ;
	border-top: solid 1px #C5C4C4;

}
.section-company dd{
	display: inline-block;
	font-size: 1.7rem;
	letter-spacing: 0.1em;
	width: 552px;
	padding: 34px 0 34px ;
	border-top: solid 1px #C5C4C4;
	border-bottom: none;

}
.section-company dd:last-child{
	border-bottom: none;
    margin-bottom: 0px;
}

.company-office{
position: absolute;
	width: 315px;
	height: 315px;
	border-radius: 50%;
	bottom:185px;
	right: 13%;
}
}





/*footer*/
/*footer*/
/*footer*/

.footer {
  display: block;
  background-color: #333;
  width: 100%;
  height: 162px;
  padding-top: 112px;
}
.footer small {
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  color: #fff;
}
@media(min-width:769px) {
.footer {
  height: 248px;
  padding-top: 188px;
}
	
.footer small {
  font-size: 1.2rem;
}
	
	
	
	
	
	
	
	
	
}