@charset "utf-8";

/* CSS Document */

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@font-face { font-family: 'NotoSerifCJKjp-Medium'; src:url(NotoSerifCJKjp-Medium.otf); }
@font-face { font-family: 'NotoSerifCJKjp-Regular'; src:url(NotoSerifCJKjp-Regular.otf); }

/*------------------------------------------------------------------------------------------------------------------
　base style
-------------------------------------------------------------------------------------------------------------------*/

body {
	color:#ffffff;
	background-color: #000000;
	font-size:16px;
	margin:0;
	height:100%;
	position:relative;
	font-family: 'NotoSerifCJKjp-Regular',"Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:1.6;
	overflow-x:hidden;
}

@media screen and (max-width: 640px) {
	body {
		font-size:22px;
	}
}

a:link {color:#cf3434; text-decoration:underline;}
a:visited {color:#cf3434; text-decoration:underline;}
a:hover {color:#e59c0e; text-decoration:underline;}

img {
	border:0;
	vertical-align: bottom;
}

/*------------------------------------------------------------------------------------------------------------------
　preparation
-------------------------------------------------------------------------------------------------------------------*/

#lineup-font-size-sampler { display:none; }

div:after, section:after, article:after, ul:after {
    content: "";
    display: block;
    clear: both;
}

.link a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	text-indent:100%;
	overflow:hidden;
	white-space:nowrap;
}

.pc {
	display:block;
}

.sp {
	display:none;
}

@media screen and (max-width: 640px) {
	.pc {
		display:none;
	}
	
	.sp {
		display:block;
	}
}

/*------------------------------------------------------------------------------------------------------------------
　expression
-------------------------------------------------------------------------------------------------------------------*/

.clear { clear:both; }

.under { margin-bottom:30px !important; }
.under-harf { margin-bottom:15px !important; }

.text-center { text-align:center; }
.text-left { text-align:left; }
.text-right { text-align:right; }

.first { padding-top:0 !important; margin-top:0 !important; }
.last { padding-bottom:0 !important; margin-bottom:0 !important; }

.ro img:hover,.ro:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

.dropshadow {
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
    -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
    -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.17);
}

@media screen and (max-width: 640px) {
	.page-comment {
		text-align: left !important;
	}
}

/*------------------------------------------------------------------------------------------------------------------
　img align for wordpress
-------------------------------------------------------------------------------------------------------------------*/

.aligncenter {
    display: block;
    margin: 0 auto;
	padding-bottom:25px;
	max-width:100%;
}
.alignright { float: right; margin-left:30px; margin-bottom:25px; max-width:100%; }
.alignleft { float: left; margin-right:30px; margin-bottom:25px; max-width:100%; }

.aligncenter img, .alignright img, .alignleft img {
	max-width:100%;
	height:auto;
}

@media screen and (max-width: 1140px) {
	.aligncenter {
		display: block;
		margin: 0 auto;
		padding-bottom:25px;
		max-width:100%;
		text-align:center;
	}
	.alignright { float: none; margin: 0 auto; margin-bottom:0; padding-bottom:25px; max-width:100%; text-align:center; width: auto; display: block; }
	.alignleft { float: none; margin: 0 auto; margin-bottom:0; padding-bottom:25px; max-width:100%; text-align:center; width: auto; display: block; }
}

/*------------------------------------------------------------------------------------------------------------------
　wp-pagenavi
-------------------------------------------------------------------------------------------------------------------*/

.wp-pagenavi {
	border-top:#d1d1d1 3px double;
	margin-top:40px;
	padding-top:40px;
	padding-bottom:40px;
	display:block !important;
	clear:both !important;
	text-align:center;
}

.wp-pagenavi a ,.wp-pagenavi span.pages, .wp-pagenavi span.extend {
		color:#333333 !important;
		text-shadow:0px 1px #F6F6F6 !important;
		padding:6px 12px 8px 12px !important;
		border:solid 1px #fedcd2 !important;
		box-shadow:0px 1px #EFEFEF !important;
		-moz-box-shadow:0px 1px #EFEFEF !important;
		-webkit-box-shadow:0px 1px #EFEFEF !important;
		background:#fedcd2 !important;
		background:-moz-linear-gradient(top,#fedcd2 1px,#F3F3F3 1px,#fedcd2) !important;
		background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#fedcd2),color-stop(0.02,#fedcd2),color-stop(1,#fedcd2)) !important;
		font-size:12px !important;
		margin-right:3px !important;
		text-decoration:none !important;
}	
.wp-pagenavi a:hover {
		color:#fff !important;
		text-shadow:0px 1px #de744c !important;
		border-color:#de744c !important;
		background:#de744c !important;
		background:-moz-linear-gradient(top,#de744c 1px,#de744c 1px,#de744c) !important;
		background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#de744c),color-stop(0.02,#de744c),color-stop(1,#de744c)) !important;
		color:#FFFFFF !important;
		box-shadow:0px 1px #E7E7E7 !important;
		-moz-box-shadow:0px 1px #E7E7E7 !important;
		-webkit-box-shadow:0px 1px #E7E7E7 !important;

}
 .wp-pagenavi span.current{
		padding:4px 12px 8px 12px !important;
		border:solid 1px #DCDCDC !important;
		color:#fff !important;
		font-size:14px;
		box-shadow:0px 1px #E7E7E7 !important;
		-moz-box-shadow:0px 1px #E7E7E7 !important;
		-webkit-box-shadow:0px 1px #E7E7E7 !important;
		margin-right:3px !important;
		text-shadow:0px 1px #de744c !important;
		border-color:#de744c !important;
		background:#de744c !important;
		background:-moz-linear-gradient(top,#de744c 1px,#de744c 1px,#de744c) !important;
		background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#de744c),color-stop(0.02,#de744c),color-stop(1,#de744c)) !important;
}

/*------------------------------------------------------------------------------------------------------------------
　primary
-------------------------------------------------------------------------------------------------------------------*/

#primary {
	width:100%;
	height:100%;
	min-width:640px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}



@media screen and (max-width: 640px) {
	#primary {
		width:640px;
		overflow:hidden;
	}
}

article {
	width:100%;
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	transition:0.3s;
	box-sizing:border-box;
}

@media screen and (max-width: 1200px) {
	article {
		width:100%;
		padding-left:30px;
		padding-right:30px;
	}
}


/*------------------------------------------------------------------------------------------------------------------
　header
-------------------------------------------------------------------------------------------------------------------*/

#subpage header {
	background-image:url(../image/header/subpage-back.jpg);
	background-position:center top;
	background-repeat:no-repeat;
	height:243px;
}

@media screen and (max-width: 800px) {
	#subpage header {
		background-position: top right;
	}
}

.header-primary {
	padding-top:70px;
	position:relative;
	z-index:99;
	width:100%;
	height:243px;
}

.header-primary article {
	max-width:inherit;
}

#subpage .header-primary {
	padding-top:60px;
	height:auto;
}

@media screen and (max-width: 1040px) {
	.header-primary {
		height:250px;
	}
}

.header-primary h1 {
	background-image:url(../image/header/logo.png);
	width:580px;
	height:114px;
	position:relative;
	margin-left:auto;
	margin-right:auto;
}

.header-primary h1 a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-indent:200%;
}

@media screen and (max-width: 1200px) {
	.header-primary h1 {
		background-image:url(../image/header/logo.png);
		width:580px;
		height:114px;
		margin-top:-10px;
		margin-bottom:30px;
	}
}

.header-primary .option {
	position:absolute;
	top:85px;
	right:47px;
}

#subpage .header-primary .option {
	top:75px;
}

.header-primary .option .tel {
	background-image:url(../image/header/tel.png?updata=20221020);
	width:289px;
	height:41px;
	position:relative;
	float:right;
	margin-bottom:5px;
}

.header-primary .option .tel a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
}

#subpage .header-primary .option .tel {
	background-image: url("../image/header/tel_subpage.png?updata=2022102001");
	width: 313px;
	height: 57px;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
}

.header-primary .option p {
	white-space:nowrap;
	text-align:right;
	font-size:14px;
	clear:both;
	font-family: 'NotoSerifCJKjp-Medium';
	color: #ffffff;
}

#subpage .header-primary .option p {
	display: none;
}

@media screen and (max-width: 1200px) {
	.header-primary .option {
		top:140px;
		right:0;
		width:100%;
	}
	.header-primary .option .tel {
		float:none;
		margin-left:auto;
		margin-right:auto;
		margin-bottom:5px;
		margin-top: 0;
	}
	
	#subpage .header-primary .option .tel {
		margin-top: 40px;
	}
	
	.header-primary .option p {
		text-align:center;
		font-size:22px;
		margin:0;
		padding:0;
	}
}


/*------------------------------------------------------------------------------------------------------------------
　mainvisual
-------------------------------------------------------------------------------------------------------------------*/

#mainvisual {
	position:relative;
	width:100%;
	height:468px;
}

@media screen and (max-width: 1040px) {
	#mainvisual {
		height:auto;
		position:relative;
		top:inherit;
		left:inherit;
	}
}

#mainvisual .panel {
	background-image:url(../image/mainvisual/mv.jpg);
	background-position:top center;
	background-repeat:no-repeat;
	width:100%;
	height:468px;
	transition:0.3s;
}

#mainvisual .panel:after {
	content:"";
	position:absolute;
	background-image:url(../image/mainvisual/kachou.png);
	width:365px;
	height:313px;
	top:70px;
	left:0;
}

@media screen and (max-width: 1680px) {
	#mainvisual .panel {
		background-position:top 0 right -177px;
	}
}

@media screen and (max-width: 1040px) {
	#mainvisual .panel:after {
		display:none;
	}
	#mainvisual .panel {
		background-image:url(../image/mainvisual/mv_tab.jpg);
		background-position:center top;
		background-repeat:no-repeat;
		background-size:contain;
		max-width:892px;
		width:100%;
		height:0;
		padding-top:50.224%;
		margin-left:auto;
		margin-right:auto;
	}
}

/*------------------------------------------------------------------------------------------------------------------
　navi
-------------------------------------------------------------------------------------------------------------------*/

nav {
	width:100%;
	height:95px;
	margin-top: 10px;
	border-bottom:1px solid #e9e9e9;
	position:relative;
	z-index:99;
}

#subpage nav {
	height:95px;
}

nav ul {
	max-width:1200px;
	width:100%;
	margin:0;
	padding:0;
	margin-left:auto;
	margin-right:auto;
	display:block;
	list-style:none;
	text-align:center;
	letter-spacing: -.4em;
}

nav ul li {
	width:12.5%;
	height:80px;
	margin:0;
	padding:0;
	display:inline-block;
	letter-spacing: normal;
	position:relative;
}

#subpage nav ul li {
	height:90px;
}

nav ul li a {
	text-decoration:none !important;
	font-size:16px !important;
	font-family: 'NotoSerifCJKjp-Medium';
	color:#ffffff !important;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	box-sizing:border-box;
	padding-top:18px;
	border-bottom:3px solid #000000;
	transition:0.3s;
}

#subpage nav ul li a {
	padding-top:32px;
}

@media screen and (max-width: 960px) {
	nav {
		height:auto;
		border-bottom:none;
		padding-top:20px;
	}
	nav ul li {
		width:25%;
		height:60px;
	}
	nav ul li a {
		font-size:20px !important;
	}
	#subpage nav {
		height:auto !important;
		padding-top:0 !important;
	}
	#subpage nav ul li {
		height:60px;
	}
	#subpage nav ul li a {
		padding-top:16px;
	}
}

nav ul li a:hover {
	border-bottom:3px solid #ac2121;
}

/*------------------------------------------------------------------------------------------------------------------
　sidebar
-------------------------------------------------------------------------------------------------------------------*/


/*------------------------------------------------------------------------------------------------------------------
　footer
-------------------------------------------------------------------------------------------------------------------*/

#footer {
	width:100%;
	padding-top:100px;
	padding-bottom:180px;
	position:relative;
}

#subpage #footer {
	background-color: #151515;
}

#footer article {
	width:100%;
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
}

.footer-left {
	width:382px;
	float:left;
}

@media screen and (max-width: 1200px) {
	.footer-left {
		float:none;
		margin-left:auto;
		margin-right:auto;
		padding-bottom:30px;
		width: 580px;
	}
}

#footer .logo {
	background-image:url("../image/header/logo.png");
	width:580px;
	height:114px;
	position:relative;
	margin-bottom:30px;
}

#footer .logo a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
}

#footer .option {
	width: 530px;
}

#footer .option .tel {
	background-image:url(../image/footer/tel_footer.png?updata=20221020);
	width:289px;
	height:40px;
	position:relative;
	margin-bottom:15px;
	margin-top: 7px;
	margin-right: 30px;
	float: left;
}

#footer .option .tel a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
}

#footer .option p {
	margin:0;
	padding:0;
	font-family: 'NotoSerifCJKjp-Regular';
	color: #ffffff;
	float: left;
}

@media screen and (max-width: 1200px) {
	#footer .option {
		text-align: center;
		width: 100%;
	}
	#footer .option .tel {
		margin-left:auto;
		margin-right:auto;
		float: none;
		display:inline-block;
	}
	#footer .option p {
		text-align:center;
		float: none;
		display:block;
	}
	#footer .option p br {
		display: none;
	}
}

@media screen and (max-width: 640px) {
	.footer-left {
		width:580px;
	}
	#footer .option p {
		width:100%;
		display:block;
		text-align:center;
	}
	#footer .logo {
		display:block;
		margin-left:auto;
		margin-right:auto;
	}
}

#footer .contact-button {
	background-image:url(../image/footer/contact.png);
	float:right;
	width:534px;
	height:136px;
	position:relative;
}

@media screen and (max-width: 1200px) {
	#footer .contact-button {
		float:none;
		margin-left:auto;
		margin-right:auto;
	}
}

#footer .contact-button a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
}

#footer .contact-button a p {
	display:none;
}

#footer .cc {
	width:100%;
	height:84px;
	background-color:#000000;
	text-align:center;
	line-height:84px;
	color:#ffffff;
	font-size:13px;
	font-family: 'NotoSerifCJKjp-Regular';
	position:absolute;
	bottom:0;
}

@media screen and (max-width: 800px) {
	#footer .cc {
		text-align:left;
		text-indent:30px;
	}
}

.topback {
	position:absolute;
	bottom:0;
	right:0;
	background-image:url(../image/footer/topback.png);
	width:210px;
	height:84px;
	display:block;
}

.topback a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow:hidden;
	white-space:nowrap;
	text-indent:100%;
	background-color:rgba(255,255,255,0);
	transition:0.3s;
}

.topback a:hover {
	background-color:rgba(255,255,255,0.2);
}

#footer .footer-sns {
  position: absolute;
  top: 160px;
  right: 0;
  text-align: right;
}

#footer .footer-sns a {
  display: inline-block;
  margin-left: 15px;
}

#footer .footer-sns a img {
  max-width: 100%;
}

@media screen and (max-width: 1200px) {
  #footer .footer-sns {
    position: relative;
    text-align: center;
    top: inherit;
    right: inherit;
    margin-top: 30px;
  }
  #footer .footer-sns a {
    margin-left: 10px;
    margin-right: 10px;
  }
}

/*------------------------------------------------------------------------------------------------------------------
　additional
-------------------------------------------------------------------------------------------------------------------*/

#contents-primary {
	position:relative;
}

#contents {
	position:relative;
	padding-top:65px;
}

#subpage #contents {
	padding-top:50px;
	padding-bottom:80px;
	background-image: url(../image/contents/top/back-left-top.png);
    background-position: top left;
    background-repeat: no-repeat;
	background-color:#000000;
}

#subpage h2 {
	display:block;
	font-family: 'NotoSerifCJKjp-Regular';
	font-weight:normal;
	text-align:center;
	font-size:32px;
	color:#ffffff;
	position:relative;
	padding-bottom:30px;
	width:580px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:50px;
}

#subpage h2 span {
	font-size:18px;
	display:block;
	color:#ac2121;
}

#subpage h2:after {
	content:"";
	width:80px;
	height:3px;
	background-color:#ac2121;
	display:block;
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-40px;
}

#subpage h3 {
	font-size:22px;
	font-weight:normal;
	border:2px solid #111111;
	background-color: #111111;
	padding-left:20px;
	padding-right:20px;
	padding-top:15px;
	padding-bottom:15px;
	margin-bottom:30px;
}

@media screen and (max-width: 640px) {
	.page-comment {
		text-align: left;
	}
}

/*----------------------------------------------------------------------------
   home
------------------------------------------------------------------------------*/

#works {
	position:relative;
}

#works .mv {
	background-image:url(../image/contents/top/works.jpg);
	background-position:center top;
	background-repeat:no-repeat;
	width:100%;
	height:500px;
}

@media screen and (max-width: 1030px) {
	#works .mv {
		background-position:top 0 right -450px;
	}
}
@media screen and (max-width: 960px) {
	#works .mv {
		background-image:url(../image/contents/top/works_tab.jpg);
	}
}
@media screen and (max-width: 800px) {
	#works .mv {
		background-image:url(../image/contents/top/works_sp.jpg);
		background-position:top 170px right 0;
	}
}

#works .mv h2 {
	display:none;
}

@media screen and (max-width: 800px) {
	#works .mv h2 {
		display:block;
		font-family: 'NotoSerifCJKjp-Regular';
		font-weight:normal;
		text-align:center;
		font-size:36px;
		color:#ac2121;
		position:relative;
		padding-bottom:30px;
	}
	#works .mv h2 span {
		font-size:22px;
		display:block;
		color:#ffffff;
	}
	#works .mv h2 span br {
		display:none;
	}
	#works .mv h2:after {
		content:"";
		width:80px;
		height:3px;
		background-color:#ac2121;
		display:block;
		position:absolute;
		bottom:0;
		left:50%;
		margin-left:-40px;
	}
}

#works article {
	list-style:none;
	margin:0;
	padding:0;
	margin-left:auto;
	margin-right:auto;
	max-width:1020px;
	width:calc(100% + 20px);
}

@media screen and (max-width: 1130px) {
	#works article {
		width:calc(100% - 140px);
	}
}

@media screen and (max-width: 640px) {
	#works article {
		width:inherit;
	}
}

#works .works-slider, #works .works-slider-sp {
	padding-top:100px;
	padding-bottom:100px;
	position:relative;
	z-index:99;
}

#works .works-slider-sp {
	padding-left:30px;
	padding-right:30px;
	box-sizing:border-box;
	width:calc(100% + 30px);
}

#works .works-slider ul, #works .works-slider-sp ul {
	list-style:none;
	margin:0;
	padding:0;
}

#works .works-slider-sp ul li {
	width:calc(50% - 30px);
	float:left;
	margin-right:30px;
}

.lSPager {
	margin-top:30px !important;
}

#works .works-slider .lightSlider {
	overflow:visible !important;
}

#works .prev {
	background-image:url(../image/contents/top/arrow-left.png);
	width:25px;
	height:48px;
	display:block;
	position:absolute;
	top:195px;
	left:-55px;
	transition:0.3s;
}

#works .next {
	background-image:url(../image/contents/top/arrow-right.png);
	width:25px;
	height:48px;
	display:block;
	position:absolute;
	top:195px;
	right:-55px;
	transition:0.3s;
}

#works .prev:hover, #works .next:hover {
	cursor:pointer;
}
#works .prev:hover {
	left:-65px;
}
#works .next:hover {
	right:-65px;
}

@media screen and (max-width: 1130px) {
	.prev-next {
		width:calc(100% - 60px);
		display:block;
		left:30px;
	}
	#works .prev {
		left:-75px;
	}
	#works .next {
		right:-75px;
	}
	#works .prev:hover {
		left:-85px;
	}
	#works .next:hover {
		right:-85px;
	}
}

@media screen and (max-width: 640px) {
	.prev-next {
		display:none !important;
	}
}

#works .works-slider ul li img {
	max-width:100%;
	object-fit:cover;
	height:143px;
	transition:0.3s;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:30px;
	display:block;
}

#works .works-slider-sp ul li img {
	width:100%;
	height:auto;
}

#works .works-slider ul li img.cover {
	width:100%;
	height:143px;
	object-fit:cover;
}

@media screen and (max-width: 640px) {
	#works .works-slider ul li img { height:182px !important;  }
}

#works .works-slider ul li a {
	transition:0.3s;
}

#works .works-slider ul li a:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

#works .works-slider ul li p {
	margin:0;
	padding:0;
	text-align:center;
	padding-left:15px;
	padding-right:15px;
	font-family: 'NotoSerifCJKjp-Regular';
}

#works .works-slider-sp ul li p {
	display:block;
	width:100%;
	text-align:center;
	padding-bottom:20px;
}

#about {
	position:relative;
}

#about .mv {
	background-image:url(../image/contents/top/about-back-right-bottom.png), url(../image/contents/top/about.jpg);
	background-color:#161616;
	background-position:right bottom, center top;
	background-repeat:no-repeat;
	width:100%;
	min-height:1000px;
	padding-top:580px;
	box-sizing:border-box;
	position:relative;
}

@media screen and (max-width: 1000px) {
	#about .mv {
		background-image:url(../image/contents/top/about-back-right-bottom.png), url(../image/contents/top/about_tab.jpg);
		background-position:right bottom, left -440px top 0;
	}
}

@media screen and (max-width: 800px) {
	#about .mv {
		background-image:url(../image/contents/top/about-back-right-bottom.png), url(../image/contents/top/about.jpg);
		background-position:right bottom, left -1042px top 190px;
		padding-top:720px;
	}
}

#about .mv h2 {
	display:none;
}

@media screen and (max-width: 800px) {
	#about .mv h2 {
		display:block;
		font-family: 'NotoSerifCJKjp-Regular';
		font-weight:normal;
		text-align:center;
		font-size:36px;
		color:#ac2121;
		position:relative;
		padding-bottom:30px;
		position:absolute;
		top:0px;
		width:580px;
		left:50%;
		margin-left:-290px;
	}
	#about .mv h2 span {
		font-size:22px;
		display:block;
		color:#ffffff;
	}
	#about .mv h2 span br {
		display:none;
	}
	#about .mv h2:after {
		content:"";
		width:80px;
		height:3px;
		background-color:#ac2121;
		display:block;
		position:absolute;
		bottom:0;
		left:50%;
		margin-left:-40px;
	}
}

#about .about-primary {
	width: 100%;
	overflow: hidden;
}

#about .about-primary ul {
	list-style:none;
	margin:0;
	padding:0;
	margin-left:auto;
	margin-right:auto;
	max-width:1200px;
	width:calc(100% + 30px);
	padding-bottom:100px;
	box-sizing:border-box;
}

@media screen and (max-width: 1000px) {
	#about .about-primary ul {
		padding-left:30px;
		padding-right:30px;
		box-sizing:border-box;
	}
}

#about .about-primary ul li {
	width:calc(25% - 30px);
	margin-right:30px;
	padding-bottom:40px;
	float:left;
	background-color:#FFFFFF;
	position:relative;
}

#about .about-primary ul li a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	transition:0.3s;
	background-color:rgba(255,255,255,0);
}

#about .about-primary ul li a:hover {
	background-color:rgba(255,255,255,0.3);
}

@media screen and (max-width: 800px) {
	#about .about-primary ul {
		width:100%;
	}
	#about .about-primary ul li {
		width:100%;
		padding-top:30px;
		margin-bottom:30px;
	}
}

#about .about-primary ul li:after {
	background-image:url(../image/contents/top/ar.png);
	width:20px;
	height:20px;
	position:absolute;
	bottom:10px;
	right:10px;
	content:"";
	display:block;
}

#about .about-primary ul li img {
	width:100%;
	height:auto;
	margin-bottom:30px;
}

@media screen and (max-width: 800px) {
	#about .about-primary ul li img {
		width:auto;
		margin-left:auto;
		margin-right:auto;
		display:block;
	}
}

#about .about-primary ul li h3 {
	text-align:center;
	margin:0;
	padding:0;
	padding-left:20px;
	padding-right:20px;
	font-family: 'NotoSerifCJKjp-Regular';
	font-size:20px;
	font-weight:normal;
	padding-bottom:15px;
	color: #000000;
}

@media screen and (max-width: 640px) {
	#about .about-primary ul li h3 {
		font-size:24px;
	}
}

#about .about-primary ul li p {
	margin:0;
	padding:0;
	text-align:center;
	padding-left:20px;
	padding-right:20px;
	font-family: 'NotoSerifCJKjp-Regular';
	font-size:14px;
	color: #000000;
}

@media screen and (max-width: 640px) {
	#about .about-primary ul li p {
		font-size:22px;
	}
}


/*----------------------------------------------------------------------------
   result
------------------------------------------------------------------------------*/

.result-primary {
	width:calc(100% + 30px);
}

.result-primary .list {
	width:calc(33.333% - 30px);
	margin-right:30px;
	float:left;
	padding-bottom:20px;
	margin-bottom:30px;
	background-color:#0f0f0f;
	position:relative;
}

@media screen and (max-width: 800px) {
	.result-primary .list {
		width:calc(50% - 30px);
	}
}

.result-primary .list img {
	max-width:100%;
	height:195px;
	object-fit: cover;
	transition:0.3s;
	margin-left:auto;
	margin-right:auto;
	display:block;
}

.result-primary .list img.cover {
	width:100%;
	height:195px;
}

@media screen and (max-width: 640px) {
	.result-primary .list img {
		height:172px;
	}
	.result-primary .list img.cover {
		height:172px;
	}
}

.result-primary .list img:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

.result-primary .list p {
	padding:20px;
	text-align:center;
	display:block;
	font-family: 'NotoSerifCJKjp-Regular';
	color: #ffffff;
}

.result-primary .list:after {
	background-image:url(../image/contents/top/ar.png);
	width:20px;
	height:20px;
	position:absolute;
	bottom:10px;
	right:10px;
	content:"";
	display:block;
}

.result-category {
	background-color:#111111;
	padding-top:30px;
	padding-bottom:15px;
	margin-bottom:50px;
}

.result-category-primary {
	width:calc(100% + 15px);
	position:relative;
}

.result-category .list {
	width:calc(33.333% - 15px);
	margin-right:15px;
	margin-bottom: 15px;
	float:left;
	height:60px;
	box-sizing:border-box;
	position:relative;
}

@media screen and (max-width: 1000px) {
	.result-category .list {
		width:calc(50% - 15px);
		margin-right:15px;
	}
}

@media screen and (max-width: 800px) {
	.result-category-primary {
		width:100%;
	}
	.result-category .list {
		width:100%;
		float:none;
		margin-bottom:15px;
	}
}

.result-category .list a:after {
	content:"〉";
	position:absolute;
	top:0;
	right:10px;
	color:rgba(187,187,187,1.00);
}

.result-category .list a {
	font-family: 'NotoSerifCJKjp-Regular';
	display:block;
	width:100%;
	height:60px;
	line-height:60px;
	padding-left:15px;
	text-decoration:none;
	box-sizing:border-box;
	color:#ffffff;
	background-color:#333333;
	border: 1px solid #333333;
	transition:0.3s;
}

.result-category .list:nth-child(2) a {
	/*letter-spacing:-4px;*/
}

@media screen and (max-width: 1000px) {
	.result-category .list:nth-child(2) a {
		font-size:15px;
	}
}

@media screen and (max-width: 800px) {
	.result-category .list:nth-child(2) a {
		letter-spacing:normal;
		font-size:inherit;
	}
}

.result-category .list a.active {
	border:1px solid #ac2121;
	color:#ac2121;
}

.result-category .list a.active:after {
	color:#ac2121;
}

.result-category .list a:hover {
	border:1px solid #ac2121;
	background-color: #555555;
}

.result-detail-primary {
	background-image:url(../image/contents/top/back-bottom-right.png);
	background-repeat:no-repeat;
	background-position:bottom right;
}

.result-detail {
}

.result-detail .pan {
	padding-bottom:50px;
}

.result-detail .pan ul {
	list-style:none;
	margin:0;
	padding:0;
	text-align:left;
}

.result-detail .pan ul li {
	display:inline-block;
	margin-right:7px;
}

.result-detail .pan ul li a:after {
	position:absolute;
	top:6px;
	right:-13px;
	content:"ー";
	display:block;
}

.result-detail .pan ul li a {
	text-decoration:none;
	color:#ffffff;
	transition:0.3s;
	padding-left:10px;
	padding-right:10px;
	padding-top:6px;
	padding-bottom:6px;
	border:1px solid #ffffff;
	font-size:14px;
	position:relative;
	width:100%;
	height:100%;
	box-sizing:border-box;
	display:block;
	position:relative;
}

.result-detail .pan ul li a:hover {
	color:#ac2121;
	border:1px solid #ac2121;
}

.result-detail .pan ul li.current {
	text-decoration:none;
	transition:0.3s;
	padding-left:10px;
	padding-right:10px;
	padding-top:6px;
	padding-bottom:6px;
	font-size:14px;
	position:relative;
	box-sizing:border-box;
	display:inline-block;
	position:relative;
	color:#ac2121;
	border:1px solid #ac2121;
}

.result-detail .pan ul li.current:after {
	display:none;
}

.result-detail .mv img {
	max-width:100%;
	height:auto;
	display:block;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:30px;
}

.result-detail .catch {
	font-family: 'NotoSerifCJKjp-Regular';
	font-weight:normal;
	margin:0;
	padding:0;
	font-size:40px;
	line-height:50px;
	min-height:185px;
	/*padding-top:35px;*/
	box-sizing:border-box;
	background-image:url(../image/contents/result/h3-back.png);
	background-position:left top;
	background-repeat:no-repeat;
	padding-left:100px;
	margin-bottom:30px;
	margin-left:-50px;
	display: flex;
	align-items: center;
}

.result-detail p {
	padding:0;
	margin:0;
	font-family: 'NotoSerifCJKjp-Regular';
	padding-bottom:20px;
}

.result-detail p:last-of-type {
	padding-bottom:80px;
}

.result-gallery {
	background-color:#111111;
	background-position:right top;
	background-repeat:no-repeat;
	padding-top:10px;
	position:relative;
	overflow:hidden;
	margin-bottom:50px;
}

@media screen and (max-width: 640px) {
	.result-gallery {
		padding-bottom:50px;
	}
}

.result-gallery .back-image {
	position:absolute;
	top:0;
	right:0;
	width:1000px;
	height:100%;
	background-size:cover;
}

@media screen and (max-width: 640px) {
	.result-gallery .back-image {
		display:none;
	}
}

/*
.result-gallery .back-image:after {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background: -moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(left, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to right, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000',GradientType=1 );
	content:"";
	display:block;
}

.result-gallery:before {
	width:1000px;
	height:100%;
	position:absolute;
	top:0;
	right:0;
	content:"";
	background: -moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(left, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to right, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00000000',GradientType=1 );
}
*/


/*.result-gallery:after {
	content:"Gallery";
	position:absolute;
	bottom:-64px;
	left:0;
	font-size:150px;
	color:#191919;
	font-family:"Palatino Linotype", "Book Antiqua", Palatino, serif;
}*/

@media screen and (max-width: 930px) {
	.result-gallery:after {
		display:none;
	}
}

.result-gallery {
	position:relative;
	z-index:100;
}

@media screen and (max-width: 1130px) {
	.result-gallery article {
		width:calc(100% - 140px);
	}
}

@media screen and (max-width: 900px) {
	.result-gallery article {
		width:100%;
	}
}

.result-gallery .slider {
	position:relative;
	z-index:100;
	height:auto !important;
}

.result-gallery .item {
	position:relative;
	z-index:99;
	align-items: center;
    display: flex;
	flex-wrap: wrap;
	align-content:center;
}

.result-gallery .item img {
	max-width:100%;
	object-fit: cover;
	margin-left:auto;
	margin-right:auto;
}

@media all and (-ms-high-contrast: none){
  .result-gallery .item img {
	  width:100%;
  }
}

.result-gallery .item:after {
	display:none !important;
}

.result-gallery .slider-sp {
	width:100%;
}

.result-gallery .slider-sp .item {
	width:100%;
	padding-bottom:20px;
	display:block;
}

.result-gallery .slider-sp .item img {
	max-width:100%;
}

.result-gallery p {
	font-family: 'NotoSerifCJKjp-Regular';
	color:#ffffff;
	display:block;
	text-align:center;
	width:100%;
}

.result-gallery a {
	transition:0.3s;
}

.result-gallery a:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

.prev-next {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	z-index:1;
}

.result-gallery .prev {
	background-image:url(../image/contents/result/arrow-left.png);
	width:25px;
	height:48px;
	display:block;
	position:absolute;
	left:-55px;
	top: 0;
	bottom: 0;
	margin: auto;
	transition:0.3s;
}

.result-gallery .next {
	background-image:url(../image/contents/result/arrow-right.png);
	width:25px;
	height:48px;
	display:block;
	position:absolute;
	right:-55px;
	top: 0;
	bottom: 0;
	margin: auto;
	transition:0.3s;
}

.result-gallery .prev:hover, .result-gallery .next:hover {
	cursor:pointer;
}
.result-gallery .prev:hover {
	left:-65px;
}
.result-gallery .next:hover {
	right:-65px;
}

@media screen and (max-width: 1130px) {
	.prev-next {
		width:calc(100% - 60px);
		display:block;
		left:30px;
	}
	.result-gallery .prev {
		left:-75px;
	}
	.result-gallery .next {
		right:-75px;
	}
	.result-gallery .prev:hover {
		left:-85px;
	}
	.result-gallery .next:hover {
		right:-85px;
	}
}

.slider .bx-prev {
	background-image:url(../image/contents/result/prev.png);
	width:47px !important;
	height:88px !important;
	left:0;
	top:40% !important;
	transition:0.3s;
}

.slider .bx-next {
	background-image:url(../image/contents/result/next.png);
	width:47px !important;
	height:88px !important;
	right:0;
	top:40% !important;
	transition:0.3s;
}

@media screen and (max-width: 1100px) {
	.slider .bx-prev {
		left:-50px;
	}
	.slider .bx-next {
		right:-50px;
	}
}

@media screen and (max-width: 900px) {
	.slider .bx-prev {
		left:-20px;
	}
	.slider .bx-next {
		right:-20px;
	}
}

.slider .bx-prev:hover {
	left:-10px;
}

.slider .bx-next:hover {
	right:-10px;
}

/*カスタマイズ用追記CSS Start*/

div.slider {
  width:100%;
	max-width:1200px;
	display:block;
}

div.slider .bx-wrapper {
	margin:0 auto 15px;/*メインスライダーとサムネイルの間の余白を変更*/
}

ul.bxslider01 li {
	display:block;
	width:850px;/*メインスライダーの横幅*/
}

ul.bxslider01 li p {
	margin:0;
	padding:0;
	padding-top:15px;
	padding-bottom:30px;
	text-align:center;
}

@media screen and (max-width: 900px) {
	ul.bxslider01 li {
		width:80%;
	}
}

ul.bxslider01 li img {
	display:block;
	object-fit: contain;
	width:80%;
	min-height:600px;
	max-height:600px;
	margin-left:auto;
	margin-right:auto;
}

@media screen and (max-width: 1000px) {
	ul.bxslider01 li img {
		width:88%;
	}
}

ul.bxslider02 li a {
	display:block;
	width:200px;
	height:200px;
	overflow:hidden;
}

ul.bxslider02 li.active img {
	box-sizing:border-box;
	border:2px solid #ffffff;
}

ul.bxslider02 li a img{
	display:block;
	width:200px;
	height:200px;
	border:2px solid #000000;
	box-sizing:border-box;
	object-fit: cover;
}

div.controlWrap {
	width:100%;
	display:block;
	position:relative;
	margin:0 auto;
	margin-top:29px;
	background-color:#2E2E2E;
	box-sizing:border-box;
}

div.controlWrap .bx-viewport {
	min-height:259px;
}

div.controlWrap .bxslider02 {
	margin-top:28px !important;
	margin-left:5px !important;
}


div.controlWrap p {
	margin:0;
	padding:0;
	background-color:#2E2E2E;
	display:block;
}

@media screen and (max-width: 1140px) {
	div.controlWrap p {
		display:none;
	}
}

div.controlWrap p#PrevIcon a{
	display:block;
	width:25px;
	height:48px;
	position:absolute;
	color:#fff;
	top:75px;
	left:20px;
	text-indent:-9999px;
	background-image:url(../image/contents/result/arrow-left.png);
}

div.controlWrap p#NextIcon a{
	display:block;
	width:25px;
	height:48px;
	position:absolute;
	color:#fff;
	top:75px;
	right:20px;
	text-indent:-9999px;
	background-image:url(../image/contents/result/arrow-right.png);
}
/*カスタマイズ用追記CSS End*/


/*----------------------------------------------------------------------------
   company
------------------------------------------------------------------------------*/

.company-table {
	font-family: 'NotoSerifCJKjp-Regular';
	padding-top: 20px;
	width: 100%;
	overflow: hidden;
}

.company-table .separate {
	width: calc(100% + 50px);
	padding-bottom: 20px;
}

.company-table .separate .list {
	width: calc(50% - 50px);
	margin-right: 50px;
	float: left;
}

@media screen and (max-width: 1000px) {
	.company-table .separate {
		width: 100%;
	}
	.company-table .separate .list {
		width: 100%;
		margin-right: 0;
		margin-bottom: 50px;
		float: none;
	}
}

.company-table .separate .list table {
	margin-bottom: 0 !important;
}

.company-table .separate .list:nth-of-type(2) {
	background-color: #111111;
	height: 100%;
	display: block;
}

@media screen and (max-width: 1000px) {
	.company-table .separate .list:nth-of-type(2) {
		margin-bottom: 0;
	}
}

.company-table .separate .list h3 {
	background-color: #333333 !important;
	width: calc(100% + 20px);
	margin-left: -30px;
	margin-top: -30px;
	border: none !important;
}

.company-table .separate .list:nth-of-type(2) .box {
	padding: 30px;
	box-sizing: border-box;
}

.company-table .separate .list:nth-of-type(2) ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.company-table .separate .list:nth-of-type(2) ul li {
	border-bottom: 1px solid #333333;
	padding-bottom: 10px;
	margin-bottom: 10px;
	position: relative;
}

.company-table .separate .list:nth-of-type(2) ul li:last-of-type {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.company-table .separate .list:nth-of-type(2) ul li span {
	position: absolute;
	top: 0;
	right: 0;
}

/*----------------------------------------------------------------------------
   recruit
------------------------------------------------------------------------------*/

.recruit-label {
	list-style:none;
	margin:0;
	padding:0;
	width:calc(100% + 20px);
}

.recruit-label li {
	width:calc(33.333% - 20px);
	margin-right:20px;
	float:left;
	background-color:#333333;
	color:#ffffff;
	box-sizing:border-box;
	padding-top:10px;
	padding-bottom:10px;
	padding-left:15px;
	padding-right:15px;
	text-align:center;
}

.recruit-list-primary {
	width:100%;
	padding-top:70px;
}

.recruit-list-primary .list {
	background-color:#222222;
	border-left:4px solid #444444;
	padding:30px;
	padding-top:25px;
	padding-bottom:25px;
	margin-bottom:30px;
	width:100%;
	box-sizing:border-box;
}

.recruit-catch {
	font-size: 35px;
	display: block;
	padding-bottom: 20px;
}

@media screen and (max-width: 800px) {
	.recruit-catch br {
		display: none;
	}
}

.recruit-list-primary .list h4 {
	padding:0;
	margin:0;
	font-size:30px;
	font-weight:normal;
	margin-bottom:30px;
	color:#ac2121;
	border-bottom:3px dotted #ac2121;
	padding-bottom:10px;
}

.recruit-list-primary .list h4 span {
	font-size:16px;
	display:inline-block;
	padding-left:20px;
	color:#B4B4B4;
}

.recruit-list-primary .list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.recruit-list-primary .list ul li {
	position: relative;
	border-bottom: 1px solid #666666;
	padding-bottom: 14px;
	margin-bottom: 14px;
}

.recruit-list-primary .list ul li:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.recruit-list-primary .list ul li span {
	position: absolute;
	top: 0;
	left: 0;
}

.recruit-list-primary .list ul li p {
	display: block;
	padding: 0;
	margin: 0;
	padding-left: 100px;
	box-sizing: border-box;
}

@media screen and (max-width: 640px) {
	.recruit-list-primary .list ul li p {
		padding-left: 120px;
	}
}

.daikushien-box p a {
	display: inline-block;
	padding-top: 10px;
}

.daikushien-gallery {
	border: 4px solid #222222;
	box-sizing: border-box;
	padding: 30px;
	padding-bottom: 0;
}

.daikushien-gallery h4 {
	font-size: 24px;
	font-weight: normal;
	display: block;
	text-align: center;
	margin: 0;
	padding: 0;
	margin-bottom: 30px;
}

.daikushien-gallery h4 br {
	display: none;
}

@media screen and (max-width: 640px) {
	.daikushien-gallery .img-auto-width img {
		width: auto !important;
		max-width: 100% !important;
		float: none !important;
		margin-right: 0!important;
	}
	.daikushien-gallery h4 br {
		display: block;
	}
}

.recruit-primary .interview-block {
  margin-top:70px;
}
.recruit-primary .interview-block img {
  width:100%;
  margin:0 0 50px 0;
}
.recruit-primary .interview-block .link-button-new a {
  width:100%;
  min-width:initial;
  max-width:580px;
}

/*----------------------------------------------------------------------------
   builder
------------------------------------------------------------------------------*/

.builder-list {
	padding-top:30px;
}

.builder-list .list-primary {
	width:calc(100% + 30px);
}

.builder-list .list-primary .list {
	background-color:#000000 !important;
	width:calc(33.333% - 30px) !important;
	margin-right:30px !important;
	margin-bottom:30px !important;
	text-align: center;
}

@media screen and (max-width: 900px) {
	.builder-list .list-primary .list {
		width:calc(50% - 30px) !important;
	}
}

@media screen and (max-width: 640px) {
	.builder-list .list-primary {
		width:100% !important;
	}
	.builder-list .list-primary .list {
		width:100% !important;
	}
}

.builder-list .list-primary .list img {
	width:100%;
	height:auto;
	margin-bottom:20px;
}

.builder-list .list-primary .list h4 {
	font-family: 'NotoSerifCJKjp-Regular';
	margin:0;
	padding:0;
	padding-left:20px;
	padding-right:20px;
	margin-bottom:10px;
	font-size:30px;
	font-weight:normal;
	color:#941717;
}

@media screen and (max-width: 640px) {
	.builder-list .list-primary .list h4 {
		font-size:26px;
	}
}

.builder-list .list-primary .list h4 span {
	display:block;
	font-size:18px;
	color:#666666;
}

@media screen and (max-width: 640px) {
	.builder-list .list-primary .list h4 span {
		font-size:22px !important;
	}
}

.builder-list .list-primary .list p {
	margin:0;
	padding:0;
	padding-left:20px;
	padding-right:20px;
	padding-bottom:20px;
	color: #ffffff;
}

@media screen and (max-width: 640px) {
	.builder-list .list-primary .list p {
		text-align: left;
	}
}

.builder-list .list-primary .interview-block {
  width:calc(100% - 30px);
  margin:70px 0 0 0;
}
.builder-list .list-primary .interview-block img {
  width:100%;
  margin:0 0 50px 0;
}
.builder-list .list-primary .interview-block .link-button-new a {
  width:100%;
  min-width:initial;
  max-width:580px;
}

@media screen and (max-width: 640px) {
  .builder-list .list-primary .interview-block {
    width:100%;
  }
}

/*----------------------------------------------------------------------------
   interview
------------------------------------------------------------------------------*/

.interview-list {
  width:100%;
	padding-top:30px;
}

.interview-list .interview-primary {
	width:100%;
}

.interview-list .interview-primary .main-photo {
  width:100%;
}
.interview-list .interview-primary .main-photo img {
  width:100%;
  height:auto;
}

.interview-list .interview-primary .interview-container {
  display:flex;
  flex-direction:row-reverse;
  justify-content:space-between;
  column-gap:50px;
  width:100%;
  margin:100px 0 0 0;
}
.interview-list .interview-primary .interview-container::after {
  display:none;
}

.interview-list .interview-primary .interview-container ul.interview-contents {
  display:flex;
  flex-direction:column;
  row-gap:75px;
  flex-basis:calc(60% - 25px);
  margin:0;
  padding:0;
	list-style:none;
}
.interview-list .interview-primary .interview-container ul.interview-contents li {
  margin:0;
  padding:0;
}
.interview-list .interview-primary .interview-container ul.interview-contents li dl {
  display:flex;
  flex-direction:column;
  row-gap:25px;
  background:transparent url("../image/contents/interview/subject_bg.png") left top / auto 110px no-repeat;
  padding:25px 0 0 73px;
}
.interview-list .interview-primary .interview-container ul.interview-contents li dl dt {
  display:flex;
  align-items:center;
  column-gap:10px;
  font-size:32px;
  font-weight:bold;
  margin:0;
}
.interview-list .interview-primary .interview-container ul.interview-contents li dl dt::before {
  content:"";
  display:block;
  flex-shrink:0;
  width:20px;
  height:2px;
  background:#ffffff;
  margin:3px 0 0 0;
}
.interview-list .interview-primary .interview-container ul.interview-contents li dl dd {
  margin:0;
}

.interview-list .interview-primary .interview-container ul.interview-photo {
  display:flex;
  flex-direction:column;
  row-gap:100px;
  flex-basis:calc(40% - 25px);
  margin:0;
  padding:0;
	list-style:none;
}
.interview-list .interview-primary .interview-container ul.interview-photo li {
  width:100%;
  margin:0;
  padding:0;
}
.interview-list .interview-primary .interview-container ul.interview-photo li img {
  width:100%;
  height:auto;
}
.interview-list .interview-primary .interview-container ul.interview-photo::after,
.interview-list .interview-primary .interview-container ul.interview-contents::after {
  display:none;
}

.interview-list .interview-primary .interview-movie {
  width:100%;
  height:auto;
  aspect-ratio:57 / 32;
  margin:70px 0 0 0;
  padding:0;
}
.interview-list .interview-primary .interview-movie iframe {
  width:100%;
  height:auto;
  aspect-ratio:57 / 32;
  margin:-26px 0 -6px 0;
  padding:0;
}

@media screen and (max-width: 1000px) {
  .interview-list .interview-primary .interview-container {
    flex-direction:column;
    column-gap:0;
    row-gap:30px;
    margin:50px 0 0 0;
  }

  .interview-list .interview-primary .interview-container ul.interview-contents {
    flex-basis:auto;
    row-gap:15px;
  }

  .interview-list .interview-primary .interview-container ul.interview-photo {
    flex-direction:row;
    column-gap:30px;
    row-gap:0;
    flex-basis:auto;
  }
}

@media screen and (max-width: 640px) {
  .interview-list {
	  padding-top:30px;
  }
  .interview-list .interview-primary .interview-container {
    row-gap:30px;
  }
}


/*----------------------------------------------------------------------------
   link
------------------------------------------------------------------------------*/

.link-primary {
}

.link-primary figure {
	background-color:#ffffff;
	border:1px solid #000000;
	padding:10px;
	padding-bottom:20px;
	box-sizing:border-box;
	width:calc(33.333% - 30px) !important;
}

@media screen and (max-width: 640px) {
	.link-primary figure {
		width:calc(50% - 30px) !important;
	}
}

.link-primary figure a {
	display:block;
	/*width:100%;*/
}

.link-primary figure figcaption {
	color: #000000;
}

.link-primary .img-auto-width img {
	float:none;
}

.link-primary figure a img {
	width:inherit !important;
	height:inherit !important;
	max-width:100%;
	display:block;
	margin-left:auto;
	margin-right:auto;
	transition:0.3s;
}

.link-primary figure img:hover {
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}


/*----------------------------------------------------------------------------
   rebuild
------------------------------------------------------------------------------*/

#rebuild-detail {
}

#rebuild-detail .title {
  text-align: center;
  color: #ffffff;
  font-size: 42px;
  margin-bottom: 50px;
}

#rebuild-detail .before-after {
  width: calc(100% + 50px);
}

#rebuild-detail .before-after .list {
  width: calc(50% - 50px);
  margin-right: 50px;
  margin-bottom: 50px;
  float: left;
  position: relative;
}

@media screen and (max-width: 1100px) {
  #rebuild-detail .before-after {
    width: calc(100% + 30px);
  }
  #rebuild-detail .before-after .list {
    width: calc(50% - 30px);
    margin-right: 30px;
  }
}

#rebuild-detail .before-after .list img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#rebuild-detail .before-after .list.before:after {
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: url("../image/contents/rebuild/before.png");
  width: 191px;
  height: 118px;
  display: block;
  content: "";
}

#rebuild-detail .before-after .list.after:after {
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: url("../image/contents/rebuild/after.png");
  width: 191px;
  height: 118px;
  display: block;
  content: "";
}

@media screen and (max-width: 750px) {
  #rebuild-detail .before-after .list.before:after {
    transform: scale(0.5,0.5);
    transform-origin: bottom left;
  }
  #rebuild-detail .before-after .list.after:after {
    transform: scale(0.5,0.5);
    transform-origin: bottom left;
  }
}

#rebuild-detail .sns {
  text-align: center;
  margin-bottom: 50px;
}

#rebuild-detail .sns img {
  display: inline-block;
  margin-left: 12px;
  margin-right: 12px;
}

#rebuild-detail .before-after+p {
  margin: 0;
  padding: 0;
  margin-bottom: 50px;
  font-size: 20px;
  display: block;
  text-align: center;
}

#rebuild-detail .mv img {
  margin-bottom: 50px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

.rebuild-info {
  margin-top: 80px;
  margin-bottom: 50px;
}

.rebuild-info .content {
  background-color: #222222;
  padding: 50px;
  box-sizing: border-box;
  display: flex;
  justify-content: left;
  align-items: center;
}

.rebuild-info .content a img {
  margin-left: 20px;
}

.rebuild-info .content p {
  display: inline-block;
  margin: 0;
  padding: 0;
  padding-left: 50px;
  box-sizing: border-box;
  font-size: 18px;
  line-height: 38px;
}

@media screen and (max-width: 952px) {
  .rebuild-info .content {
    display: block;
    justify-content: center;
    text-align: center;
  }
  .rebuild-info .content a {
    display: inline-block;
  }
  .rebuild-info .content a img {
    display: inline-block;
    text-align: center;
  }
  .rebuild-info .content img {
    margin-bottom: 20px;
  }
  .rebuild-info .content p {
    text-align: center;
    padding-left: 0;
  }
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}