@charset "shift_jis";


h2.h2_style{
	min-width: 1100px;
	max-width: 1280px;
	margin: 170px auto 30px;
	padding: 0 0;
	position:relative;
	text-align:left;

font-weight: bold;
font-size: 50px;
line-height: 1.3;
color: #222;
}

h2.h2_style span{
	margin: 0 0 0 30px;
	padding: 0 0 0;
	position: relative;

	display:inline-block;
	vertical-align:middle;


font-weight: normal;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 1.5;
color: #222;
}

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

	display:inline-block;
	vertical-align:top;

font-family: "Yu Gothic Pr6N";
font-weight: normal;
font-size: 42px;
letter-spacing: normal;
color: #999;
}


.h3_wrap{
	min-width: 1100px;
	min-height:140px;
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:center;
	background-color:#f2f4f5;
}


.h3_block{
	min-width: 1100px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:left;
}

h3.h3_txt{
	margin: 0 0;
	padding: 0 0;
	position:relative;
	font-weight: bold;
font-weight: normal;
font-size: 24px;
line-height: 46px;
text-align: center;
color: #2b2e31;
display: flex;
align-items: center;
justify-content: center;
	min-height:140px;
}


h3.h3_cat{
	margin: 35px 0 0;
	padding: 0 0;
	position:relative;
	font-weight: bold;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 30px;
	text-align: left;
	color: #2b2e31;
	
	display:inline-block;
	vertical-align:top;
}
.h3_under{
    min-width: 900px;
    max-width: 900px;
	margin: 0 auto;
	padding: 1em 0 0;
    font-family: DINOT;
    font-weight: bold;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: #222;
	display:flex;
	justify-content: space-between;
}
.h3_under .works_type{
    text-align: right;
}
.h3_under .works_cat span a{
	margin-right: 1em;
    text-decoration: underline;
}
.h3_under .works_type span a{
	margin-left: 1em;
    text-decoration: underline;
}
.h3_under .works_cat span a:hover,
.h3_under .works_type span a:hover{
    text-decoration: none;
}

.cat_link{
	margin: 35px 0 0;
	padding: 0 0 0;
	position:relative;
	display:inline-block;
	vertical-align:top;
}

.cat_link div{
	margin: 0 0 10px 70px;
	padding: 0 0;
	position:relative;
font-weight: normal;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 30px;
text-align: left;
color: #2b2e31;
}

.cat_link div strong{
	margin: 0 0 ;
	padding: 0 0;
	position:relative;
font-weight: normal;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 30px;
text-align: left;
color: #2b2e31;
width:150px;
display:inline-block;
vertical-align:top;
}

.cat_link div a{
font-weight: normal;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 30px;
text-align: left;
color: #2b2e31;
}








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


.works_wrap{
	margin: 0 auto;
	padding: 0 0 0px;
	position:relative;
	text-align:center;
	background-color:#fff;
}

.works_area{
	min-width: 1100px;
	max-width: 1280px;
	margin: 0 auto ;
	padding: 0 0;
	position:relative;
	text-align:center;
}

ul.works_list{
	margin: 0 0 0 -3.0%;
	padding: 0 0;
	position:relative;
	text-align:left;
	letter-spacing:-.4em;
}

ul.works_list li{
	margin: 0 0 100px 3%;
	padding: 0 0;
	position:relative;
	text-align:left;
	display:inline-block;
	vertical-align:top;
	width:30.3%;
	letter-spacing:normal;
}

ul.works_list li .works_img{
	margin: 0 auto;
	padding: 0 0px;
	position:relative;
	text-align:center;
}

ul.works_list li .works_img img{
	width:100%;
	height:auto;
	vertical-align:top;
	transition-duration: .2s;
}

ul.works_list li a:hover .works_img img{
	opacity: 0.6;
	filter:alpha(opacity=60);
}
ul.works_list li .works_box{
	width:auto;
	min-height:180px;
	margin: 0 auto 0;
	padding: 30px 0 0;
	position:relative;
	vertical-align:top;

	box-sizing: border-box;
}

ul.works_list li .works_cat{
	margin: 0 0 30px;
	padding: 0 0;
	width:auto;
	display:block;
font-family: DINOT;
font-weight: bold;
font-size: 12px;
letter-spacing: 0.05em;
line-height: 1.5;
text-align: center;
color: #222;

}
ul.works_list li .works_cat span{
	margin: 0 0.5em;
	display:inline-block;
	text-decoration: underline;
}
ul.works_list li .works_txt{
	margin: 0 0 0;
	padding: 0 0;
	display:block;
	font-weight: normal;
	font-size: 16px;
	line-height: 30px;
	text-align: center;
	color: #2b2e31;
}
ul.works_list li a:hover{
	text-decoration:none !important;
}
ul.works_list li a:hover .btn_style span{
background: #fff;
border: 1px solid #222;
color:#222;
text-decoration:none;
}

img.updated{
	position:absolute;
	top:-10px;
	left:-10px;
	z-index:1;
}





.main_img{
	margin: 0 auto 50px;
	padding: 0 0;
	position:relative;
	text-align:center;
}

.detail_block{
	margin: 0 auto 100px;
	padding: 0 0;
	position:relative;
	text-align:center;
	width:900px;
	display: flex;
}

.detail_txt{
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:left;
	width:600px;

font-weight: normal;
font-size: 15px;
letter-spacing: 0.04em;
line-height: 36px;
text-align: left;
color: #2b2e31;

}

.detail_data{
	margin: 0 0 0 60px;
	padding: 0 0;
	position:relative;
	text-align:left;
	width:270px;

font-weight: normal;
font-size: 13px;
line-height: 32px;
color: #454d55;
}
.detail_data.no_intro{
	margin: 0;
	width:auto;
}

.detail_data strong{
font-weight: bold;
font-size: 18px;
letter-spacing: 0.03em;
line-height: 30px;
color: #2b2e31;

}
.detail_data p.no_intro{
	display:inline-block;
	vertical-align: top;
	padding-left:3em;
}
.detail_data p.no_intro br{
	display:none;
}

ul.photo_list{
	margin: 0 auto 100px;
	padding: 0 0;
	position:relative;
	text-align:center;
}
ul.photo_list li.yoko{
	margin: 0 auto 20px;
	padding: 0 0;
	position:relative;
	text-align:center;
	display:block;
}
ul.photo_list li.tate{
	margin: 0 auto 20px;
	padding: 0 0;
	display:inline-block;
	width:400px;
}
ul.photo_list li.tate img{
	width:100%;
	height:auto;
}
p .tate{
	margin: 0 auto 20px;
	padding: 0 0;
	display:inline-block;
	width:380px;
}
p .tate:nth-child(1){
	padding-right: 10px;
}
p .tate img{
	width:100%;
	height:auto;
}
.pagination_block{
	margin: 0 auto 40px;
	padding: 0 0;
	position:relative;
	text-align:center;
	letter-spacing:normal;
	max-width:930px;
	display: flex;
	flex-wrap: wrap; 
}
.pagination_block2{
	margin: 0 auto;
	padding: 0 0;
	position:relative;
	text-align:center;
	letter-spacing:normal;
	width:930px;
	display: flex;
	flex-wrap: wrap; 
}

.link_prev_txt{
	margin: 0 auto;
	padding: 0px 0 ;
	position:relative;
	text-align:left;
	flex-basis:50%; 
}
.link_prev_txt a{
	margin: 0 0 0;
	padding: 10px 0px;
	position:relative;
	display:inline-block;
font-family: DINOT;
font-weight: bold;
font-size: 10px;
letter-spacing: 0.05em;
line-height: 1.0;
color: #222;
transition-duration: .2s;
}
.link_prev_txt a span{
	display:inline-block;
	vertical-align:middle;
	transition-duration: .2s;
}
.link_prev_txt a img{
	margin-right:10px;
	display:inline-block;
	vertical-align:middle;
	transition-duration: .2s;
	transform: scaleX(-1);
}
.link_prev_txt a:hover span{
text-decoration:none;
transform: translate(5px, 0);
}
.link_prev_txt a:hover img{
transform: translate(-5px, 0) scaleX(-1);
}

.link_next_txt{
	margin: 0 auto;
	padding: 0px 0 ;
	position:relative;
	text-align:right;
	flex-basis:50%; 
}
.link_next_txt a{
	margin: 0 0 0;
	padding: 10px 0px;
	position:relative;
	display:inline-block;
font-family: DINOT;
font-weight: bold;
font-size: 10px;
letter-spacing: 0.05em;
line-height: 1.0;
color: #222;
transition-duration: .2s;
}
.link_next_txt a span{
	display:inline-block;
	vertical-align:middle;
	transition-duration: .2s;
}
.link_next_txt a img{
	margin-left:10px;
	display:inline-block;
	vertical-align:middle;
	transition-duration: .2s;
}
.link_next_txt a:hover span{
text-decoration:none;
transform: translate(-5px, 0);
}
.link_next_txt a:hover img{
transform: translate(5px, 0);
}


.link_img{
	margin: 0 auto 0 0;
	padding: 0 0;
	position:relative;
	width:220px;
	font-weight: normal;
	font-size: 14px;
	line-height:1.6;
	text-align: justify;
}
.link_img:nth-child(2){
	margin: 0 0 0 auto;
}
.link_img br{
	display:none;;
}
.link_img img{
	width:220px;
	height:140px;
	object-fit: cover;
	margin-bottom:10px;
}



ul.pagination_list{
	margin: 0 auto 60px;
	padding: 0 0;
	position:relative;
	text-align:center;
	letter-spacing:normal;
	_width:470px;
}

ul.pagination_list li{
	margin: 0 0 5px 0;
	padding: 0 0;
	position:relative;
	text-align:center;
	display:inline-block;
	vertical-align:top;
	width:110px;
	letter-spacing:normal;
}

ul.pagination_list li .pagination_img{
	margin: 0 auto;
	padding: 0 0px;
	position:relative;
	text-align:center;
}

ul.pagination_list li .pagination_img img{
  width: 110px;
  height: 110px;
  object-fit: cover;
}

ul.pagination_list li .pagination_txt{
	margin: 0 0 0;
	padding: 20px 0 0;

font-weight: normal;
font-size: 15px;
letter-spacing: 0.03em;
line-height: 30px;
text-align: left;
color: #2b2e31;

display:none;
}

.slick-slider{position: static;}

.slick-list{overflow: visible;}

.slick-next{ right:-20px!important; }
.slick-prev{ left:-20px!important; }
.slick-arrow{ z-index:2!important; }


.slick-arrow:before{
content:""!important;
width: 35px!important;
height: 35px!important;
position: absolute;
top: 0;
left: 0;
}

.slick-prev,
.slick-next{
top: 90px !important;
width: 35px!important;
height: 35px!important;
}

.slick-next:before{
background: url(../../images/top/arr2.svg)!important;
background-size: 35px 35px !important;
}

.slick-prev:before{
background: url(../../images/top/arr3.svg)!important;
background-size: 35px 35px !important;
}

.slick-dots
{
	position: relative !important;
	bottom: auto !important;

	display: block;

	width: 100%;
	padding: 0;
	margin: 45px 0 0!important;

	list-style: none;

	text-align: center;
}
.slick-dots li{
	margin: 0 2px 0 !important;
	padding: 0 0;
	position:relative;
	text-align:left;
	display:inline-block;
	vertical-align:top;
	width:50px !important;
	letter-spacing:normal;
	height: 4px !important;

	cursor: pointer;
}
.slick-dots li button
{
	font-size: 0;
	line-height: 0;

	display: block;

	width: 100% !important;
	height: 4px !important;
	padding: 0px !important;

	cursor: pointer;

	color: transparent;
	border: 0;
	outline: none;
	background: #ddd !important;


	border:0px solid #777 !important;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
	outline: none;


}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
	opacity: 1 !important;
}
.slick-dots li button:before
{
	font-family: 'slick';
	font-size: 0px !important;
	line-height: 0px !important;

	position: absolute;
	top: 0;
	left: 0;

	width: 100% !important;
	height: 4px !important;



	content: ' ' !important;
	text-align: center;

	opacity: 1 !important;
	color: black;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
	background-color:#777 !important;
}

ul.pagination_list .slick-prev,
ul.pagination_list .slick-next
{top: 120px !important;}

ul.pagination_list .slick-next{ right:0px!important; }
ul.pagination_list .slick-prev{ left:0px!important; }

.pagination_list .slick-list {
position: static!important;
padding: 0 0 !important;
}
.pagination_list .slick-track {}
.pagination_list .slick-slide {
	margin: 0 2px !important;
	width:90px !important;
}
.pagination_list .slick-slide.slick-current {
  opacity: 1;
}
.pagination_list .slick-slide a {
  display: block;
}
.pagination_list .slick-slide a:hover {

}
.pagination_list img {

}












.voice_block{
	margin: 0 auto 0px;
	padding: 0 0;
	position:relative;
	text-align:center;
	width:930px;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}

.voice_block:before {
	position: absolute;
	top: 200px;
	left: -1750px;
	width: 2000px;
	height: 1930px;
	content: '';
	background: #f2f4f5;
}

.voice_main_p{
	margin: 0 0 150px;
	padding: 0 0;
	position:relative;
	text-align:left;
}


.voice_txt{
	margin: 0 0 150px;
	padding: 0 0;
	position:relative;
	text-align:left;
	width:420px;
	flex-basis:420px; 
	align-self: center;

font-weight: normal;
font-size: 20px;
line-height: 42px;
text-align: left;
color: #2b2e31;
}

.voice_txt small{
	margin-top: 30px;
	display:block;

font-size: 15px;
letter-spacing: 0.03em;
line-height: 30px;
}

.voice_p{
	margin: 0 0 70px;
	padding: 0 0;
	position:relative;
	text-align:left;
}

img.voice_p_right{
	float:right;
	margin-top:-170px;
	position:relative;
}


.voice_qa{
	margin: 0 0 100px;
	padding: 0 0;
	position:relative;
	text-align:left;
	width:430px;
	flex-basis:430px; 

font-weight: normal;
font-size: 13px;
line-height: 32px;
text-align: left;
color: #454d55;

}

.voice_qa strong{
	margin-bottom: 20px;
	display:block;

font-weight: normal;
font-size: 17px;
line-height: 36px;
text-align: left;
color: #2b2e31;

}



.blog_article{
	margin: 0 auto 100px;
	padding: 0 0;
	position:relative;
	text-align:center;
	width:770px;
}


.blog_article .article_block{
	margin: 0 auto 100px;
	padding: 0 0;
	position:relative;
	text-align:center;
}

.blog_article img{
	margin: 0 auto 2em;
	padding: 0 0;
	position:relative;
	text-align:center;
	max-width:100%;
}
.blog_article h4{
margin: 0 auto 20px;
padding: 0 0;
position:relative;
font-weight: normal;
font-size: 18px;
line-height: 36px;
text-align: left;
color: #222;
}
.blog_article p{
	margin: 0 auto 1em;
	padding: 0 0;
	position:relative;
font-weight: normal;
font-size: 16px;
line-height: 1.8;
text-align: left;
color: #454d55;
}
.blog_article img{
	max-width:100%;
	height:auto;
}
.blog_article img.aligncenter{
	display:block;
	margin:0 auto;
}
.blog_article strong{
	font-weight: bold;
}
.blog_article a{
	color:#1e90ff;
}

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

.btn_works a{
	margin: 0 auto;
	padding: 10px 30px;
	position:relative;
	text-align:center;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-align: center;
	color: #fff;
	background: #222;
	border: 1px solid #222;
	display:inline-block;
	transition-duration: .2s;
}

.btn_works a:hover{
background: #fff;
border: 1px solid #222;
color:#222;
text-decoration:none;
}

.youtube___ {
  position: relative;
  width:100%; 
  height:0; 
  padding-top: 56.25%; 
}

.youtube___ iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.center{
	text-align:center;
}

.sp_only{
	display:none;
}

.img_sp {
	display:none;
}