@charset "UTF-8";


#kv{
	margin: 0 auto 80px;
	padding: 0 0 0 0;
	position:relative;
	height: calc(100vh - 160px);
	min-width: 1170px;
	border-bottom:0 solid #585858;
}
#kv.v2{
	margin: -130px auto 80px;
	height:100vh;
}
#kv_inner{
	margin: 0 0px ;
	padding: 0 0 0 0;
	height: calc(100vh - 160px);
	position:relative;
}
.v2 #kv_inner{
	height:100vh;
}
h2.h2_tit{
	position: absolute;
	margin: auto;
	top:130px;
	left: 0;
	right:0;
	z-index:10;
	font-weight: 600;
	font-size: 32px;
	letter-spacing: 0.1em;
	line-height: 50px;
	text-align: center;
	color: #fff;
}
.v2 h2.h2_tit{
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
h2.h2_tit small{
	font-size: 23px;
	letter-spacing: 0.03em;
	line-height: 80px;
	text-align: center;
	color: #fff;
	display:block;
	margin-top:15px;
}
.kv_logo{
	position: absolute;
	bottom:90px;
	right:100px;
	z-index:10;
}

.flex_kv{
	margin: 0 0 0 0 !important;
	padding: 0 0;
	background:transparent !important;
}

.flex_kv ul.slides{
	margin: 0 0 0 0;
	padding: 0 0;
	height: calc(100vh - 160px);
}
.v2 .flex_kv ul.slides{
	height: 100vh;
}
.flex_kv ul.slides li{
	margin: 0 0 0 0;
	padding: 0 0;
	text-align:center;
	height: calc(100vh - 160px);
}
.v2 .flex_kv ul.slides li{
	height: 100vh;
}
.flex_kv ul.slides li.slide1{
background:  url(../../images/top/kv_p1.jpg?2) no-repeat center bottom;
background-size:cover;
}

.flex_kv ul.slides li.slide2{
background:  url(../../images/top/kv_p2.jpg?2) no-repeat center center;
background-size:cover;
}

.flex_kv ul.slides li.slide3{
background:  url(../../images/top/kv_p3new.jpg) no-repeat center center;
background-size:cover;
}
.flex_kv ul.slides li.slide4{
background:  url(../../images/top/kv_p4new.jpg) no-repeat center center;
background-size:cover;
}
.point_area{
	margin: 0;
	padding: 0;
	position: absolute;
	bottom:0;
	left: 0;
	right:0;
	min-width: 1170px;
	z-index:50;
}

ul.point_list{
	margin: 0 auto;
	padding: 0 0 0;
	position: relative;
	text-align:center;
	display: flex;
	align-items:stretch;
	justify-content:space-around;
	max-width: 1310px;
}

ul.point_list li{
	margin: 0 5px 0 0;
	padding: 0;
	position: relative;
	background-color: rgba(0, 0, 0, 0.6);
	/*#585858;*/
	width:256px;
    height:70px; /* 高さを指定（必要に応じて調整） */
    display: flex; /* 子要素をフレックスボックスで配置 */
    justify-content: center; /* 水平方向に中央寄せ */
    align-items: center; /* 垂直方向に中央寄せ */
}

ul.point_list li h3{
	margin: 0 auto;
	padding: 0;
font-family: Lato;
font-weight: bold;
font-size: 10px;
letter-spacing: 0.1em;
line-height:30px;
text-align: center;
color: #fff;
}
ul.point_list li span{
	margin: 0 auto;
	padding: 0;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.8;
	text-align: center;
	color: #fff;
}
ul.point_list li small{
	display:block;
	font-size: 12px;
}
ul.point_list li span strong{
	margin: 0 0;
	padding: 0 3px;
font-family: Lato;
font-weight: bold;
font-size: 29px;
	line-height: 1.15;
text-align: left;
color: #fff;
vertical-align:bottom;
}

.point_area p{
	margin: 0 0 0 0;
	padding: 0;
	position: relative;
font-weight: normal;
font-size: 12px;
letter-spacing: 0.03em;
line-height: 19px;
text-align: center;
color: #585858;
}




.btn_style{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
}

.btn_style a{
	margin: 0 auto;
	padding: 10px 0;
	position:relative;
	text-align:center;

font-family: Lato;
font-weight: bold;
font-size: 12px;
line-height: 1.5;
text-align: center;
color: #585858;
border: 1px solid rgba(88, 88, 88, 0.5);

transition-duration: .2s;
box-sizing: border-box;
background: url(../../images/base/plus.svg) no-repeat right 10px top 50%;
background-color: #fff;
}

.btn_style a:hover{
background: url(../../images/base/plus_on.svg) no-repeat right 10px top 50%;
background-color: #383837;
color:#fff;
text-decoration:none;
}




#document{
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0;
	position: relative;
	text-align:center;
	overflow: hidden;
}

.area_inner{
	width: 1170px;
	margin: 0 auto;
	padding: 0 0;
	position:relative;
}

h2.h2_style{
	margin: 0 0 50px;
	padding: 0 0;
	position: relative;
text-align: left;
display: flex;
align-items:center;
justify-content:flex-start;
}
h2.h2_style strong{
	margin: 0 30px 0 0;
	padding: 0 0 0 ;
	position: relative;

font-family: Lato;
font-weight: 300;
font-size: 30px;
letter-spacing: 0.25em;
line-height: 30px;
text-align: left;
color: #585858;
}

h2.h2_style small{
	margin: 0 0 0;
	padding: 0 0 0;
	position: relative;

font-family: "Noto Sans JP";
font-weight: 500;
font-size: 18px;
letter-spacing: 0.02em;
line-height: 38px;
text-align: left;
color: #585858;
}


.event_area{
	max-width: 1310px;
	min-width: 1170px;
	margin: 0 auto 100px;
	padding: 0 20px;
	position:relative;
	text-align:center;
}

.btn_style.event_btn{
	position:absolute;
	top:10px;
	right:20px;
}

ul.event_list{
	margin: 0 auto 50px;
	padding: 0 0;
	position:relative;
	text-align:center;
	max-width: 1310px;
	display: flex;
	align-items:stretch;
	justify-content: flex-start;
}

ul.event_list li{
	margin: 0 4% 0 0;
	padding: 0 0 20px;
	position:relative;
	text-align:center;
	width:22%;
	letter-spacing:normal;
	background-color:transparent;
}
ul.event_list li:nth-child(4){
	margin: 0;
}

ul.event_list li a{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index:999;
	background-color:#FFF;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

ul.event_list li .event_img{
	margin: 0 auto 15px;
	padding: 0 0px;
	position:relative;
	text-align:center;
	overflow: hidden;
}

ul.event_list li .event_img img{
	width:100%;
	aspect-ratio: 1200 / 900;
	object-fit:cover;
	vertical-align:top;
	transition-duration: .3s;
}

ul.event_list li:hover .event_img img {
	transform: scale(1.03);
}

ul.event_list li .event_date{
	margin: 0 0 0;
	padding: 0 0 4px;
	position:relative;
font-family: "Noto Sans JP";
font-weight: 500;
font-size: 14px;
line-height: 1.5;
text-align: left;
color: #585858;
}

ul.event_list li .event_txt{
	margin: 0 0 15px;
	padding: 0 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 15px;
line-height: 1.6;
text-align: left;
color: #585858;

}

ul.event_list li .btn_event{
	margin: 0 auto;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
}

ul.event_list li .btn_event span{
	margin: 0 auto;
	padding: 8px 0;
	position:relative;
	text-align:center;
	
font-family: "Noto Sans JP";
font-weight: 500;
font-size: 14px;
line-height: 1.5;
text-align: center;
color: #585858;


width: 160px;
border-bottom: 1px solid #585858;

display:inline-block;
transition-duration: .2s;
box-sizing: border-box;
background-color: transparent;
}

ul.event_list li:hover .btn_event span{

background-color: #585858;
border-bottom: 1px solid #585858;
color:#fff;
text-decoration:none;
}





.news_area{
	max-width: 1310px;
	min-width: 1170px;
	margin: 0 auto 100px;
	padding: 0 20px;
	position:relative;
	text-align:center;

display: flex;
align-items:flex-start;
justify-content:space-between;
}

ul.news_list{
	margin: 0 0;
	padding: 0 0;
	position:relative;
	text-align:justify;
	width:75%;
}

ul.news_list li{
	margin: 0 0;
	padding: 0 0 0 ;
	position:relative;
	text-align:justify;
	border-bottom:1px solid #ccc;
}

ul.news_list li a:before {
	content:  "";
	width: 7px!important;
	height: 7px;
	display:  inline-block;
	background-color: #585858;
	position:  relative;
	top: 2px;
	left: 0;
}

ul.news_list li a{
	margin: 0 0 ;
	padding: 15px 10px 15px 10px;
	position:relative;
	display:block;
	display: flex;
	align-items:center;
	justify-content:flex-start;
	color:#585858 !important;
}

ul.news_list li a:hover{
	text-decoration:none;
	background-color:rgba(0,0,0,0.05);
}

.news_date{
	padding: 0 20px 0 10px;
font-family: Lato;
font-weight: normal;
font-size: 16px;
line-height: 1.5;
text-align: left;
color: #585858;

}
.news_txt{
	padding: 0 0 0 0;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 15px;
line-height: 1.5;
text-align: left;
color: #585858;
}

.btn_style.news_btn{
	position:absolute;
	top:60px;
	left:20px;
}









.concept_area{
	min-width: 1170px;
	margin: 0 auto;
	padding: 100px 0 100px;
	position:relative;
	text-align:center;
	background-color:#e6e6e6;
}

.concept_inner{
	max-width: 1500px;
	min-width: 1320px;
	margin: 0 auto 0;
	padding: 0 0 0 20px;
	position:relative;
	text-align:center;
}

.concept_area h2.h2_style{
	margin: 0 0 30px;
	padding: 30px 0 0;
	position: relative;
text-align: left;
display: block;
align-items:flex-start;
justify-content:flex-start;
}
.concept_area h2.h2_style strong{
	margin: 0 0 0 0;
	padding: 0 0 0 ;
	position: relative;

font-family: Lato;
font-weight: 300;
font-size: 30px;
letter-spacing: 0.25em;
line-height: 30px;
text-align: left;
color: #585858;
width:100%;
}

.concept_area h2.h2_style small{
	margin: 0 0 0;
	padding: 20px 0 0;
	position: relative;
display: block;
font-family: "Noto Sans JP";
font-weight: 500;
font-size: 18px;
letter-spacing: 0.02em;
line-height: 38px;
text-align: left;
color: #585858;
}



.concept_area h3{
	margin: 0 0 20px;
	padding: 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: 600;
font-size: 24px;
letter-spacing: 0.05em;
line-height: 43px;
text-align: center;
color: #585858;
}

.concept_area h4{
	margin: 0 0 20px;
	padding: 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 16px;
letter-spacing: 0.03em;
line-height: 34px;
text-align: center;
color: #585858;
}

.concept_column{
	margin: 0 auto;
	padding: 0 0;
	position: relative;
display: flex;
align-items:stretch;
justify-content:space-between;
}

.concept_l{
	margin: 0 0;
	padding: 0 0 0 50px;
	position: relative;
}

.concept_l h3{
	margin: 0 0 50px;
	padding: 0 0;
	position: relative;

font-family: "Noto Sans JP";
font-weight: normal;
font-size: 18px;
line-height: 34px;
text-align: left;
color: #585858;

}

.concept_l h3:before {
  position: absolute;
  bottom: -20px;
  left: 0px;
  width: 60px;
  height: 2px;
  content: '';
  background: #585858;
}

.concept_l h3 small{
	margin: 0 0;
	padding: 0 0;
	position: relative;
font-family: Lato;
font-weight:normal;
font-size: 14px;
letter-spacing: 0.1em;
line-height: 34px;
text-align: left;
color: #403a3a;
display:block;
}
.concept_l p{
	margin: 0 0;
	padding: 0 0;
	position: relative;
font-weight: normal;
font-size: 16px;
line-height: 34px;
text-align: left;
color: #585858;
}


ul.concept_list{
	width: 70%;
	margin: 0 0;
	padding: 0 0;
	position: relative;
display: flex;
align-items:stretch;
justify-content:space-between;
flex-wrap:wrap;
}

ul.concept_list li{
	margin: 0 0 0 0;
	padding: 0;
	position: relative;
	width:49.5%;
	height:260px;
}

ul.concept_list li:nth-child(1){
	background-image: url(../../images/top/concept_bg1.jpg?2);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
ul.concept_list li:nth-child(2){
	background-image: url(../../images/top/concept_bg2.jpg?2);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	margin-top:50px;
}
ul.concept_list li:nth-child(3){
	background-image: url(../../images/top/concept_bg3.jpg?2);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	margin-top:-40px;
}
ul.concept_list li:nth-child(4){
	background-image: url(../../images/top/concept_bg4.jpg?2);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	margin-top:10px;
}

ul.concept_list li::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index:0;
}

ul.concept_list li a{
	margin: 0 0;
	padding: 0;
	position: relative;
display: flex;
align-items:center;
justify-content:center;
	max-width:520px;
	height:260px;
	z-index: 1;
}

ul.concept_list li a:hover{
text-decoration:none;
}



ul.concept_list li a em{
position: absolute;
top:15px;
left:15px;
font-family: Lato;
font-weight: 300;
font-size: 28px;
letter-spacing: 0.03em;
line-height: 28px;
text-align: left;
color: #fff;
}

ul.concept_list li a strong{
position: absolute;
top:30px;
left:0;
right:0;
font-family: Lato;
font-weight: bold;
font-size: 16px;
letter-spacing: 0.03em;
line-height: 16px;
text-align: center;
color: #fff;
}
ul.concept_list li a h3{
position: absolute;
top:90px;
left:0;
right:0;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 16px;
letter-spacing: 0.03em;
line-height: 16px;
text-align: center;
color: #fff;
}

ul.concept_list li a span{
	position: absolute;
	top:130px;
	width:78px;
	padding: 10px 20px;
font-family: "Noto Sans JP";
font-weight: 500;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 28px;
text-align: center;
color: #fff;
display: block;
border:1px solid #fff;
transition : 0.3s;
}
ul.concept_list li a:hover span{
	background-color: rgb(66,66,66,0.7);
}



.serivice_area{
	min-width: 1170px;
	margin: 0 auto;
	padding: 100px 0 100px;
	position:relative;
	text-align:center;
	background-color:#434343;
}

.serivice_area h2.h2_style{
justify-content:center;
text-align: center;
}
.serivice_area h2.h2_style strong{
color: #fff;
}

.serivice_area h2.h2_style small{
color: #fff;
}


ul.serivice_list{
	width: 100%;
	margin: 0 0;
	padding: 0 0;
	position: relative;
display: flex;
align-items:stretch;
justify-content:space-between;
flex-wrap:wrap;
}

ul.serivice_list li{
	margin: 0 0 0 0;
	padding: 0;
	position: relative;
	width:33.3333%;
	height:360px;
}

ul.serivice_list li:nth-child(1){
	background-image: url(../../images/top/serivice_bg1.jpg?2);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
ul.serivice_list li:nth-child(2){
	background-image: url(../../images/top/serivice_bg3.jpg?2);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
ul.serivice_list li:nth-child(3){
	background-image: url(../../images/top/serivice_bg2.jpg?2);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

ul.serivice_list li::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.0);
  z-index:0;
}

ul.serivice_list li a{
	margin: 0 0;
	padding: 0;
	position: relative;
display: flex;
align-items:center;
justify-content:center;

	height:360px;
	z-index: 1;
}

ul.serivice_list li a:hover{
text-decoration:none;
}



ul.serivice_list li a strong{
position: absolute;
top:30px;
left:0;
right:0;
font-family: Lato;
font-weight: bold;
font-size: 16px;
letter-spacing: 0.03em;
line-height: 16px;
text-align: center;
color: #fff;
}

ul.serivice_list li a span{
	position: absolute;
	top:100px;

	padding: 10px 20px;
font-family: "Noto Sans JP";
font-weight: 500;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 28px;
text-align: center;
color: #585858;
letter-spacing: 0.15em;
display: block;
background-color:#fff;
border:1px solid #fff;
transition : 0.3s;
white-space:nowrap;
}

ul.serivice_list li a em{
position: absolute;
bottom:0px;
left:0;
right:0;
padding: 20px 0;
font-family: "Yu Gothic Pr6N";
font-weight: normal;
font-size: 18px;
line-height: 18px;
text-align: center;
color: #fff;
background-color: rgb(0,0,0,0.3);
transition : 0.3s;
}

ul.serivice_list li a:hover em{
background-color: rgb(0,0,0,0.8);
}




.price_area{
	min-width: 1170px;
	margin: 0 auto;
	padding: 100px 0 100px;
	position:relative;
	text-align:center;
	background-color:#434343;
}

.price_area h2.h2_style{
justify-content:center;
text-align: center;
}
.price_area h2.h2_style strong{
color: #fff;
}

.price_area h2.h2_style small{
color: #fff;
}

.price_img{
	margin: 0 0 40px;
	padding: 0 0;
	position: relative;
	background-image: url(../../images/top/price_img.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height:500px;
}

.price_area h3{
	margin: -130px 0 30px;
	padding: 130px 0;
	position: relative;
	font-family: "Noto Sans JP";
	font-weight: 600;
	font-size: 26px;
	letter-spacing: 0.05em;
	line-height: 45px;
	text-align: center;
	color: #fff;
}
.price_area h3 img{vertical-align:middle;margin-left:20px;}

.price_area p{
	margin: 0 auto 50px;
	padding: 0 0 0;
	position: relative;
	text-align:center;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 18px;
line-height: 34px;
text-align: center;
color: #fff;
}

.price_area h4{
	margin: 0 auto 20px;
	padding: 5px 0;
	position: relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 38px;
text-align: center;
color: #585858;

background-color:#fff;
display:block;
width:1110px;
}

.price_area p small{
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 14px;
letter-spacing: 0.08em;
line-height: 34px;
text-align: center;
color: #fff;
}

.price_block{
	margin: 0px auto 80px;
	padding: 0 0 0;
	position:relative;
	text-align:center;
	display: flex;
align-items:stretch;
justify-content:space-between;
width:1110px;
}

.price_column{
	margin: 0px 0;
	padding: 0 0 0;
	position:relative;
	text-align:center;
width:540px;
}

.price_column h5{
	margin: 0px auto 20px;
	padding: 0 0 0;
	position:relative;

font-family: "Noto Sans JP";
font-weight: bold;
font-size: 20px;
letter-spacing: 0.05em;
line-height: 1.5;
text-align: center;
color: #fff;
}

.price_column h5 em{
	margin: 0px 0;
	padding: 0 10px 0 0;
	position:relative;
font-family: Lato;
font-weight: bold;
font-size: 22px;
letter-spacing: 0.1em;
line-height: 1.5;
text-align: left;
color: #fff;

}

.price_column h5 strong{
	margin: 0px 0;
	padding: 0 0 0 10px;
	position:relative;
font-family: Lato;
font-weight: bold;
font-size: 39px;
line-height: 39px;
text-align: left;
color: #fff;
}


ul.price_list{
	margin: 0px auto 30px;
	padding: 0 0 0;
	position:relative;
	text-align:center;
	display: flex;
align-items:stretch;
justify-content:space-between;
flex-wrap:wrap;
}

ul.price_list li{
	margin: 0px 0;
	padding: 18px 0 0;
	position:relative;
	text-align:center;
	letter-spacing:normal;
	width:180px;
	box-sizing: border-box;
	background-color:#fff;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 0;
	line-height: 1.5;
	text-align: center;
	color: #585858;
	height:80px;
}
ul.price_list li.three_line{
	font-size: 15px;
	padding: 11px 0 0;
	line-height: 1.3;
}
ul.price_list li.two_line{
	padding: 18px 0 0;
	line-height: 1.3;
}
ul.price_list li.one_line{
	padding: 32px 0 0;
	line-height: 1.0;
}
ul.price_list li:nth-child(odd){
	background-color:#f1f3f4;
}
ul.price_list li small{
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
	color: #585858;
	display:block;
}




.flex_model{
	margin: 0 auto 80px;
	padding: 0 0;
	position:relative;
	text-align:center;
	display:block;
	height:540px;
	max-width: 1310px;
}

.flex_model ul.slides{
	margin: 0 auto;
	padding: 0 0;
	width: 100%;
	height: auto;
	display:block;
}

.flex_model ul.slides li{
	margin: 0 auto ;
	padding: 0 0;
	text-align:center;
	width: 100%;
	height: auto;
}

.flex_model ul.slides li img.model_p{
	width: 100%;
	height: 540px;
	object-fit: cover;
}
.flex_model ul.slides li span{
position:absolute;
top:30px;
right:30px;
font-family: "Noto Sans JP";
font-weight: 600;
font-size: 25px;
letter-spacing: 0.03em;
line-height: 38px;
text-align: left;
color: #fff;
}
.flex_model ul.slides li img.model_img{
position:absolute;
bottom:-40px;
right:20px;
}




.flex_model .flex-control-nav {
  width: 100%;
  position: absolute;
  bottom: -60px;
  text-align: center;
}
.flex_model .flex-control-nav li {
  margin: 0 10px;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

.flex_model .flex-control-paging li a {
width: 70px;
height: 3px;
display: block;
background: rgba(255, 255, 255, 0.5);
cursor: pointer;
text-indent: -9999px;
-webkit-box-shadow: inset 0 0 0 rgba(255, 2550, 255, 0.3);
-moz-box-shadow: inset 0 0 0 rgba(255, 255, 255, 0.3);
-o-box-shadow: inset 0 0 0 rgba(255, 255, 255, 0.3);
box-shadow: inset 0 0 0 rgba(255, 255, 255, 0.3);
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.flex_model .flex-control-paging li a:hover {
background: rgba(255, 255, 255, 0.7);
}
.flex_model .flex-control-paging li a.flex-active {
background: rgba(255, 255, 255, 1.0);
cursor: default;
}



.price_area h6{
	margin: 0 0 30px;
	padding: 0 0;
	position: relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 18px;
line-height: 34px;
text-align: center;
color: #fff;
}
.price_area h6 small{
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 14px;
letter-spacing: 0.08em;
line-height: 34px;
text-align: center;
color: #fff;
display:block;
}

.btn_reserv{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
}

.btn_reserv a{
	margin: 0 auto;
	padding: 15px 0;
	position:relative;
	width:720px;
	display:block;

font-family: "Noto Sans JP";
font-weight: 600;
font-size: 20px;
letter-spacing: 0.05em;
line-height: 20px;
text-align: center;
color: #585858;

border: 1px solid rgba(88, 88, 88, 0.5);

transition-duration: .2s;
box-sizing: border-box;
background-color: #fff;
}
.btn_reserv a em{
padding-right:20px;
font-family: Lato;
font-weight: bold;
font-size: 13px;
letter-spacing: 0.05em;
line-height: 13px;
text-align: center;

}

.btn_reserv a:hover{
background-color: #383837;
color:#fff;
text-decoration:none;
}



.performance_area{
	min-width: 1170px;
	margin: 0 auto;
	padding: 100px 0 100px;
	position:relative;
	text-align:center;
	background-color:#9d9d9d;
}

.performance_area h2.h2_style{
justify-content:center;
text-align: center;
}
.performance_area h2.h2_style strong{
color: #fff;
}

.performance_area h2.h2_style small{
color: #fff;
}
.performance_area p{
	margin: -20px auto 50px;
	padding: 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 18px;
line-height: 34px;
text-align: center;
color: #fff;
}


ul.performance_list{
	margin: 0 auto 50px;
	padding: 0 0 0;
	position: relative;
	text-align:center;
	display: flex;
align-items:stretch;
justify-content:space-between;
width: 1080px;
}

ul.performance_list li{
	margin: 0 0 0;
	padding: 0 0;
	position: relative;
	width:334px;
}

ul.performance_list li h3{
	margin: 0 auto 20px;
	padding: 0;
font-family: Lato;
font-weight: bold;
font-size: 26px;
letter-spacing: 0.1em;
line-height: 1.8;
text-align: center;
color: #fff;

}

ul.performance_list li h3 small{
	margin: 0 auto;
	padding: 0;
font-family: Lato;
font-weight: bold;
font-size: 14px;
letter-spacing: 0.1em;
line-height: 1.8;
text-align: center;
color: #fff;
display:block;
border-top:1px solid #fff;
}

.performance_box{
	margin: 0 0 10px;
	padding: 0 0;
	position: relative;
	background-color:#585858;
	height:86px;
display: flex;
align-items:center;
justify-content:center;
}


.performance_box span{
	margin: 0 auto;
	padding: 0;
font-family: "Noto Sans JP";
font-weight: 600;
font-size: 16px;
letter-spacing: 0.03em;
line-height: 23px;
text-align: center;
color: #fff;
}
.performance_box span strong{
	margin: 0 0;
	padding: 0 3px;
font-family: Lato;
font-weight: bold;
font-size: 37px;
letter-spacing: 0.03em;
line-height: 28px;
text-align: left;
color: #fff;
vertical-align:bottom;
}

.performance_box span small{
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 14px;
line-height: 22px;
text-align: center;
color: #fff;
display:block;
}

ul.performance_list li p{
	margin: 0 auto;
	padding: 0;
font-family: "Noto Sans JP";
font-weight: 500;
font-size: 19px;
letter-spacing: 0.05em;
line-height: 38px;
text-align: center;
color: #fff;
}


.btn_more{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	position:relative;
	text-align:center;
}

.btn_more a{
	margin: 0 auto;
	padding: 15px 0;
	position:relative;
	width:720px;
	display:block;
font-family: "Noto Sans JP";
font-weight: 600;
font-size: 20px;
letter-spacing: 0.05em;
line-height: 20px;
text-align: center;
color: #585858;
border: 1px solid rgba(88, 88, 88, 0.5);
transition-duration: .2s;
box-sizing: border-box;
background-color: #fff;
}
.btn_more.price a{
	padding: 10px 0;
	width:50%;
	font-size: 16px;
}
.btn_more a em{
padding-right:20px;
font-family: Lato;
font-weight: bold;
font-size: 13px;
letter-spacing: 0.05em;
line-height: 13px;
text-align: center;

}

.btn_more a:hover{
background-color: #383837;
color:#fff;
text-decoration:none;
}

.works_area{
	max-width: 1500px;
	min-width: 1170px;
	margin: 100px auto 150px;
	padding: 0 0;
	position:relative;
	text-align:center;
}

.works_area h2.h2_style{
justify-content:center;
text-align: center;
}


.btn_style.works_btn{
	position:absolute;
	top:10px;
	right:20px;
}

ul.works_list{
	margin: 0 auto 50px;
	padding: 0 20px;
	position:relative;
	text-align:center;

	display: flex;
align-items:stretch;
justify-content:space-between;
}

ul.works_list li{
	margin: 0 0 0 0;
	padding: 0 0 20px;
	position:relative;
	text-align:center;
	width:33%;
	letter-spacing:normal;
	background-color:transparent;
}
ul.works_list li:nth-child(4){
	display:none;
}
ul.works_list li a{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index:999;
	background-color:#FFF;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

ul.works_list li .works_img{
	width:100%;
	height:70%;
	margin: 0 auto 15px;
	padding: 0 0px;
	position:relative;
	text-align:center;
	overflow: hidden;
}

ul.works_list li .works_img img{
	width:100%;
	height:100%;
	object-fit:cover;
	vertical-align:top;
	transition-duration: .3s;
}

ul.works_list li:hover .works_img img {
	transform: scale(1.03);
}
ul.works_list .works_info{
	margin: 0 0 0;
	padding: 0;
	position:relative;
}
ul.works_list li .works_txt{
	margin: 0 0 15px;
	padding: 0 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 38px;
text-align: center;
color: #585858;
}
ul.works_list li .works_data{
	margin: 0 0 0;
	padding: 0 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 14px;
line-height: 23px;
text-align: center;
color: #585858;
}
ul.works_list li .works_cat{
	margin: 0 0 0;
	padding: 5px 1.5em;
	position:absolute;
	top:0;
	right:8px;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 14px;
text-align: center;
color: #585858;
background: #fff;
border: 1px solid #585858;
}
ul.works_list li:nth-child(4){
	display:none;
}





.staff_area{
	max-width: 1300px;
	min-width: 1170px;
	margin: 0 auto 100px;
	padding: 0 0 0 20px;
	position:relative;
	text-align:center;

display: flex;
align-items:flex-start;
justify-content:space-between;
}

.staff_p{
	margin: 0 0;
	padding: 0 20px 0 0;
	position:relative;
	text-align:justify;
	width:864px;
}

.staff_p img{
	width:100%;
	height:auto;
}

.btn_style.staff_btn{
	position:absolute;
	top:60px;
	left:20px;
}






.blog_area{
	max-width: 1310px;
	min-width: 1170px;
	margin: 0 auto 100px;
	padding: 0 0;
	position:relative;
	text-align:center;
display: flex;
align-items:flex-start;
justify-content:space-between;
}
.blog_area h2.h2_style{
	padding: 0 0 0 20px;
}


ul.blog_list{
	margin: 0 0;
	padding: 0 20px 0 0;
	position:relative;
	text-align:center;
	width:864px;
	display: flex;
align-items:stretch;
justify-content:space-between;
}

/*
ul.blog_list li{
	margin: 0 0 0 0;
	padding: 0 0 0;
	position:relative;
	text-align:center;
	width:260px;
	min-height:390px;
	letter-spacing:normal;
	background-color:transparent;
}
ul.blog_list li a{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index:999;
	background-color:#FFF;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

ul.blog_list li .blog_p{
	margin: 0 auto 15px;
	padding: 0 0px;
	position:relative;
	text-align:center;
	overflow: hidden;
}

ul.blog_list li .blog_p img{
	width:100%;
	height:auto;
	vertical-align:top;
	transition-duration: .3s;
}

ul.blog_list li:hover .blog_p img {
	transform: scale(1.03);
}

ul.blog_list li .blog_img{
	position:absolute;
	bottom:0;
	left:10px;
}

ul.blog_list li .blog_date{
	margin: 0 0 0 60px;
	padding: 0 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: 500;
font-size: 14px;
line-height: 1.8;
text-align: left;
color: #585858;
}

ul.blog_list li .blog_txt{
	margin: 0 0 15px 60px;
	padding: 0 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 15px;
line-height: 1.8;
text-align: left;
color: #585858;

}

ul.blog_list li .blog_cat{
	margin: 0 0 0 60px;
	padding: 0 0 0;
	position:relative;
	text-align: left;
}

ul.blog_list li .blog_cat span{
	margin: 0 5px 0 0;
	padding: 5px 10px;
	position:relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 14px;
text-align: left;
color: #585858;
border:1px solid #ccc;
display:inline-block;
vertical-align:middle;
}
*/


ul.blog_list li{
	margin: 0 0 0 0;
	padding: 0 0 0;
	position:relative;
	text-align:center;
	width:260px;
	min-height:390px;
	letter-spacing:normal;
	background-color:transparent;
}
ul.blog_list li:nth-child(4){
	display: none;
}
ul.blog_list li a{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index:999;
	background-color:#FFF;
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}

ul.blog_list li .blog_img{
	margin: 0 auto 15px;
	padding: 0 0px;
	position:relative;
	text-align:center;
	overflow: hidden;
    width: 100%;
}

ul.blog_list li .blog_img img{
	width:100%;
    height: 200px;
	vertical-align:top;
	object-fit: cover;
	transition-duration: .3s;
}

ul.blog_list li:hover .blog_img img {
	transform: scale(1.03);
}

ul.blog_list li .blog_date{
	margin: 0 0 0;
	padding: 0 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: 500;
font-size: 14px;
line-height: 1.5;
text-align: left;
color: #585858;
}

ul.blog_list li .blog_txt{
	margin: 0 0 15px;
	padding: 0 0 0;
	position:relative;
font-family: "Noto Sans JP";
font-weight: normal;
font-size: 15px;
line-height: 28px;
text-align: left;
color: #585858;
}

ul.blog_list li .btn_blog{
	margin: 0 10px 0 0;
	padding: 0 0 0 0;
	position:relative;
	text-align:right;
}

ul.blog_list li .btn_blog span{
	margin: 0 auto;
	padding: 8px 0;
	position:relative;
	text-align:center;
	
font-family: "Noto Sans JP";
font-weight: 500;
font-size: 14px;
line-height: 1.5;
text-align: center;
color: #585858;


width: 160px;
border-bottom: 1px solid #585858;

display:inline-block;
transition-duration: .2s;
box-sizing: border-box;
background-color: transparent;
}

ul.blog_list li:hover .btn_blog span{
background-color: #585858;
border-bottom: 1px solid #585858;
color:#fff;
text-decoration:none;
}


.btn_style.blog_btn{
	position:absolute;
	top:60px;
	left:20px;
}


.kotei {
    animation-name: fadeIn01;
    animation-fill-mode: backwards;
    animation-timing-function: ease-out;
    animation: fadeIn 2s ease-in-out;
}


@keyframes fadeInUp01 {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.h2_kv01 {
    animation-name: fadeInUp01;
    animation-duration: 0.3s; 
    animation-delay: 0.3s; 
    animation-fill-mode: backwards;
    animation-timing-function: ease-out;
}
.h2_kv02 {
    animation-name: fadeInUp01;
    animation-duration: 0.3s;
    animation-delay: 1.0s;
    animation-fill-mode: backwards;
    animation-timing-function: ease-out;
}

@keyframes fadeInRight01 {
    from {
        opacity: 0;
        transform: translateX(10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
.h3_kv {
    animation-name: fadeInRight01;
    animation-duration: 0.3s;
    animation-delay: 1.5s;
    animation-fill-mode: backwards;
    animation-timing-function: ease-out;
}