@charset "utf-8";

@font-face{
	font-family:'Noto Sans JP';
	font-style:normal;
	font-weight: 400;
	font-display:swap;
	src:url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('opentype');
}
/*==============================
	基本設定
==============================*/
body{
	color:#333;
	font-size:12px;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "Noto Serif Japanese", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	margin:0;
	padding:0;
	text-align:left;
	background:#fff;
	min-width: 1240px;
	-webkit-text-size-adjust:100%;
	position:relative;
}
@media only screen and (max-width:767px){
	body{
		min-width: 0;
	}
}

body *, body *::before, body *::after{box-sizing:border-box;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
	font-weight:normal;
	text-align:left;
}
a{
	color: #000;
	text-decoration: none;
}

/*font layout*/
.fBold{font-weight:bold;}
.fSerif{font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;}
.fNoto{font-family:'Noto Sans JP', sans-serif;}
.fRoboto{font-family: 'Roboto', sans-serif;}
.f200{font-weight:200;}
.f400{font-weight:400;}
.f500{font-weight:500;}
.f700{font-weight:700;}
.f900{font-weight:900;}

/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover{ filter:alpha(opacity=80);opacity:0.8; }
.ro a,
a.ro,
a .ro{
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
	-webkit-tap-highlight-color: rgba(0,0,0,0);

}

/*rollover(brightnessによる変化)*/
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.brt a,
a.brt,
a .brt{
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

/*ro無効化*/
.ro .no_ro a:hover,
.ro a.no_ro:hover{ filter:alpha(opacity=100);opacity:1; }

/*========================================
	レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.imgSp{
	display:none;
}
@media only screen and (max-width:767px){
	.spNone,
	.brPc,
	.imgPc{
		display:none;
	}
	.spOnly{
		display:block;
	}
	.brSp,
	.imgSp{
		display:inline;
	}
	.imgR{
		width:100%;
		height:auto;
	}
}

/*-----------------------------------------------
	imgCover
-----------------------------------------------*/
/* imgCover */
.imgCover,
.imgCover2{
	position:relative;
}
.imgCover img{
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}
.imgCover2 img {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	object-fit:cover;
	font-family:'object-fit:cover;';
}


/*-----------------------------------------------
	contents
-----------------------------------------------*/
.wrapper1400{
	max-width:1400px;
    width: 92%;
	margin:0 auto;
}
.wrapper1800{
	max-width:1800px;
    width: 92%;
	margin:0 auto;
}
.wrapper1340{
	max-width:1340px;
    width: 92%;
	margin:0 auto;
}
.wrapper1380{
	width: calc(100% - 40px);
	max-width:1380px;
	margin:0 auto;
}
.wrapper1200{
	width:1200px;
	margin:0 auto;
}
.wrapper1280{
	width:1280px;
	margin:0 auto;
}
#main{
	padding-top: 105px;
	overflow: hidden;
}
@media only screen and (max-width:767px){
	.wrapper1380,
	.wrapper1280,
	.wrapper1200{
        width:100%;
	}
	#main{
		padding-top: 0;
	}
}


/*-----------------------------------------------
	header
-----------------------------------------------*/
#header{
	position: relative;
	height: 120px;
	padding: 30px 0 0;
}
#header .logoHeader{
	display: inline-block;
}
#header nav{
	position: absolute;
	right: 4%;
	bottom: 25px;
}
#header .navList{
	display: -webkit-flex;
	display:-ms-flexbox;
	display: flex;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
  text-align: center;
}
#header .navList.spOnly{
	display: none;
}
#header .item{
	position: relative;
  padding-left: 90px;
}
#header .item:first-child{
	padding-left: 0;
}
#header .txt{
	font-size: 18px;
	letter-spacing: 1px;
	color: #000;
	text-decoration: none;
  padding-bottom: 13px;
}
#header .txt01{
	font-size: 18px;
	letter-spacing: 1px;
	color: #000;
	text-decoration: none;
  padding-bottom: 13px;
	position: relative;
}
#header .txt01::after{
  background: url(../img/common/ornerlogo.png) center top no-repeat;
	position: absolute;
	content: "";
	left: -25px;
	width: 19px;
	height: 20px;
	top: -5px;
}
#header .txtSub{
	font-size: 12px;
	letter-spacing: 2px;
	color: #000;
  text-decoration: none;
}
#header .item .childList{
	position: absolute;
	height: 0;
	bottom: 0;
	left: 10px;
	right: 0;
	overflow: hidden;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
#header .item .childList.on{
	height: 74px;
	bottom: -85px;
}
#header .childList .childItem{
  border-bottom: solid 1px #000;
}
#header .childList .childItem a{
	font-size: 16px;
	line-height: 36px;
	color: #000;
	text-decoration: none;
}
/* 221006追加 */
#header #nav .linklist{
	display: none;
}
#header #nav .btnClose{
	display: none;
}
@media only screen and (max-width:1490px){
  #header .item {
		padding-left: 45px;
}
}
@media only screen and (max-width:767px){
	#header{
		padding: 9px 0;
		height: 60px;
	}
	#header .logoHeader img{
		width: auto;
		height: 40px;
	}
	#header .boxMenu{
		position: absolute;
		width: 30px;
		height: 30px;
		right: 0;
		top: 15px;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	#header .boxMenu span{
		position: absolute;
		right: 0;
		left: 0;
		margin: 0 auto;
		width: 24px;
		height: 2px;
		background: #000;
	}
	#header .boxMenu span:nth-of-type(1) {
		top: 4px;
	}
	#header .boxMenu span:nth-of-type(2) {
		top: 14px;
	}
	#header .boxMenu span:nth-of-type(3) {
		top: 24px;
	}
	#header #bgNav{
		position: fixed;
		right: 0;
		top: 0;
		bottom: 0;
		width: 100%;
		background-color: rgb(0,0,0,0.3);
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		transition: all 0.5s;
		z-index: 1000;
	}
	#header #bgNav.open{
		display: block;
	}
	#header nav{
		position: fixed;
		top:0;
		bottom: 0;
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		transition: all 0.5s;
		z-index: 1100;
	}
	#header nav.open{
		right: 0;
	}
	#header .navList.spOnly{
		display: block;
		width: 100%;
	}
	#header .navList.spNone{
		display: none;
	}
	#header .item{
		flex-basis: 100%;
		width: 100%;
		padding: 0;
	}
	#header .item a,
	#header .item .aLink{
		display: block;
		padding: 15px;
	}
	#header .txtSub{
		letter-spacing: 0.5px;
		text-align: left;
	}
	/* 221006追加 */
	#header .item:first-child{
		border-top: solid 1px #fff;
	}
	#header nav{
		right: -100%;
		width: 100%;
		background: #005ca2;
		padding-bottom: 43px;
	}
	#header .item{
		border-bottom: solid 1px #fff;
	}
	#header .boxMenu, 
	#header .boxMenu span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	#header .boxMenu{
		z-index: 1101;
	}
	#header nav.open{
		overflow-y: scroll;
	}
	.menuOpen #header .boxMenu{
		position: absolute;
		right: 0;
	}
	.menuOpen #header .boxMenu span{
		background: #fff;
	}
	.menuOpen #header .boxMenu span:nth-of-type(1) {
		top: 6px;
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
	}
	.menuOpen #header .boxMenu span:nth-of-type(2) {
		opacity: 0;
	}
	.menuOpen #header .boxMenu span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
	}
	#nav .linklist{
		display: none;
	}
	#header .item .txtSub{
		color: #fff;
		font-size: 13px;
		line-height: 20px;
	}
	.menuOpen #header #nav .linklist{
		display: block;
	}
	.menuOpen .linklist .inner{
		width: 92%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-top: 62px;
		padding-bottom: 25px;
	}
	.menuOpen .linklist .inner .linkbox{
		width: 49.27%;
		display: block;
		margin-bottom: 5px;
	}
	.menuOpen .linklist .inner .linkbox01{
		width: 100%;
		display: block;
		margin-bottom: 5px;
		margin-top: 15px;
	}
	/* .menuOpen .linklist .inner .linkbox:first-child{
		width: 100%;
	} */
	.menuOpen #header #nav .btnClose{
		background-color: #fff;
		width: 80%;
		margin: 0 auto;
		display: block;
		text-align: center;
		margin-top: 30px;
	}
	.menuOpen #header #nav .btnClose .txt{
		font-size: 16px;
		line-height: 20px;
		color: #015da2;
		display: inline-block;
		padding: 20px 0;
	}
	.menuOpen #header #nav .btnClose .txt span{
		position: relative;
	}
	.menuOpen #header #nav .btnClose .txt span::after{
		content: "";
		position: absolute;
		left: -27px;
		top: calc( 50% - 8px);
		width: 15px;
		height: 16px;
		background: url(../img/common/imgbotnClose.gif?221006) center top no-repeat;
		background-size: cover;
	}
}

/*-----------------------------------------------
	footer
-----------------------------------------------*/
#footer .linkList{
	display: -webkit-flex;
    display:-ms-flexbox;
    display: flex;
	justify-content: center;
	-webkit-justify-content: center;
    -ms-flex-pack: center;
    margin: auto;
    align-items:center;
    padding: 65px 0 70px;
}
#footer .linkList .item{
	display: inline-block;
	padding: 7px 10px;
	border-left: solid 1px #333;
	font-size: 13px;
	letter-spacing: 1px;
	line-height:1.3;
}
#footer .linkList .item:first-child{
	border: none;
}
#footer .linkList .item07{
	padding:0 10px;
  font-size:12px;
  text-align: center;
}
#footer .boxFooter{
	height: 325px;
	border-top: solid 1px #E6E6E6;
	padding: 42px 0 0;
}
#footer .boxLeft{
	float: left;
	width: 270px;
}
#footer .foterLogo{
	display: inline-block;
}
#footer .boxLeft .txtFooter{
	padding-top: 28px;
	font-size: 12px;
	line-height: 2;
	letter-spacing: 1px;
}
#footer .boxRight{
	float: right;
	text-align: right;
	position: relative;
	padding: 10px 0 0 8px;
	width: 925px;
}
#footer .boxRight .showroomList{
	display: -webkit-flex;
	display:-ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
	flex-wrap: wrap;
	text-align: left;
}
#footer .showroomList li{
	width: 226px;
	padding: 0 0 25px 25px;
}
#footer .showroomList li:nth-child(5),
#footer .showroomList li:nth-child(6){
	padding: 0 0 0 25px;
}
#footer .showroomList .tit{
	position: relative;
	margin-bottom: 8px;
	font-size: 12px;
	line-height: 1.4;
}
#footer .showroomList .tit::after{
	content: "";
	position: absolute;
	left: 10px;
	right: 0;
	top: 0;
	bottom: 0;
	display: block;
	height: 1px;
	margin: auto;
	background: #A7A7A7;
}
#footer .showroomList .tit span{
    position: relative;
    background: #FFF;
	display: inline-block;
	padding-right: 15px;
    z-index: 1;
}
#footer .showroomList .tit span.line{
	line-height: 32px;
}
#footer .showroomList .tel{
	position: relative;
	font-size: 24px;
	padding-left: 25px;
}
#footer .showroomList .tel::before{
	content: "";
    position: absolute;
    top: 3px;
    left: 0;
    height: 24px;
    width: 24px;
    background: url(../img/common/icoTel.gif) center no-repeat;
	background-size: 22px 22px;
}
#footer .boxRight .note{
	padding: 16px 0;
	background: #F5F5F5;
	border: solid 1px #CCC;
	font-size: 11px;
	letter-spacing: 0.3px;
	text-align: center;
}
#footer .unferFooter{
	margin-top: 70px;
	background: #005CA2;
}
#footer .unferFooter .inner{
	font-size: 12px;
	line-height: 50px;
	letter-spacing: 0.5px;
	color: #FFF;
}
@media only screen and (max-width:1400px){
	#footer .linkList .item{
		font-size:12px;
	}
}
@media only screen and (max-width:767px){
	#footer{
		padding-top: 50px;
	}
	#footer .boxFooter{
		height: auto;
		padding: 15px 0;
	}
	#footer .linkList{
		display: none;
	}
	#footer .boxLeft,
	#footer .boxRight{
		float: none;
		width: 100%;
		padding: 0;
		margin: auto;
		text-align: center;
	}
	#footer .boxLeft .txtFooter{
		padding: 15px 0 10px;
		line-height: 1.5;
		letter-spacing: 0.5px;
		text-align: center;
	}
	#footer .foterLogo{
		text-align: center;
	}
	#footer .foterLogo img{
		width: 200px;
		height: auto;
	}
	#footer .boxRight .note{
		position: relative;
		display: inline-block;
		bottom: auto;
		right: auto;
		width: auto;
		padding: 10px 15px;
		line-height: 1.3;
	}
	#footer .boxRight .showroomList{
		padding: 15px 0 5px;
		text-align: center;
	}
		 #footer .showroomList li,
		 #footer .showroomList li:nth-child(5){
    width: calc(50% - 5px);
    padding: 0 0 15px 10px;
  }
  #footer .showroomList li:nth-child(6){
    padding: 0 0 15px 10px;
  }
  #footer .showroomList li:nth-child(odd){
    padding: 0 0 0 10px;
  }
  #footer .showroomList .tit{
  	text-align:left;
    font-size: 11px;
  }
 #footer .showroomList .tit::after{
	left: 0px;
}
  #footer .showroomList .tit span{
    padding:0;
  }
  #footer .showroomList .tit span.line{
	  line-height: 30px;
  }
  #footer .showroomList .tel{
    font-size: 18px;
    padding-left: 0;
  }
  #footer .showroomList .tel::before{
    top: 3px;
    left: -20px;
      height: 16px;
      width: 16px;
    background-size: 16px 16px;
  }
	#footer .unferFooter{
		margin: 0;
	}
	#footer .unferFooter .inner{
		padding: 10px 4%;
		font-size: 11px;
		line-height: 1.3;
		letter-spacing: -0.5px;
	}
}

/*-----------------------------------------------
	pnkz
-----------------------------------------------*/
#pnkz{
	padding: 10px 0;
}
#pnkz li{
	display: inline-block;
	vertical-align: top;
	line-height: 20px;
	letter-spacing: 1px;
	font-size:12px;
	color:#000;
    max-width: none;
    overflow: auto;
    white-space: normal;
    text-overflow: inherit;  
    width: auto !important;    
}
#pnkz li::before{
	content: ">";
	display: inline-block;
	padding: 0 5px 0 5px;
	font-size:12px;
}
#pnkz li:first-child::before{
	display: none;
}
#pnkz li a{
    color: #000;
    font-size: 12px;
    text-decoration: none;
}
#pnkz li a:hover{
    color: #000;
}
#pnkz .swiper-wrapper{
	white-space: nowrap !important;
}
#pnkz .swiper-slide{
	display: inline-block;
	float: none !important;
	cursor: default;
}
@media only screen and (max-width: 767px){
	#pnkz{
		overflow: hidden;
		padding: 15px 0;
	}
	#pnkz li{
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		padding: 0;
	}
	#pnkz li::before{
		color: #000;
		padding: 0 2px 0 2px;
	}
    #pnkz .swiper-wrapper{
        -webkit-justify-content: flex-start;
        justify-content: flex-start;	
    }
}

/*-----------------------------------------------
	jsHide
-----------------------------------------------*/
.jsHide{
	opacity:0;
	-webkit-transform:translate(0px, 100px);
	transform:translate(0px, 100px);
	-webkit-transition:opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
	transition:opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
	transition:opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
	transition:opacity 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00), -webkit-transform 2s cubic-bezier(0.18, 1.00, 0.29, 1.00);
}
.jsHide.jsShow{
	-webkit-transform:none;
	transform:none;
	opacity:1;
}
@media only screen and (max-width:1024px){
	.jsHide.jsShowSp{
		-webkit-transform:none;
		transform:none;
		opacity:1;
	}
}

/*-----------------------------------------------
	cmnTop
-----------------------------------------------*/
.cmnTop{
	background-position: center;
	background-repeat: no-repeat;
}
.cmnTop .inner{
	position: relative;
	height: 420px;
}
.cmnTop .cmnTit{
	padding: 108px 0;
}
.cmnTop .titCmn{
	font-size: 33px;
	letter-spacing: -1px;
	color: #FFF;
	line-height: 1.69;
	/* padding-left: 6px; */
}
.cmnTop .titCmnSub{
	padding-top: 25px;
	font-size: 22px;
	letter-spacing: 0.5px;
	color: #FFF;
}
@media only screen and (max-width:767px){
	.cmnTop{
		background-size: cover;
	}
	.cmnTop .inner{
		height: 140px;
	}
	.cmnTop .cmnTit{
		padding: 23px 0;
	}
	.cmnTop .titCmn{
		font-size: 16px;
		letter-spacing: 0px;
		line-height: 1.5;
	}
	.cmnTop .titCmnSub{
		padding-top: 10px;
		font-size: 12px;
	}
}

/*-----------------------------------------------
	cmnContents
-----------------------------------------------*/
.cmnContents{
	padding-top: 60px;
}
@media only screen and (max-width:767px){
	.cmnContents{
		padding-top: 30px;
	}
}

/*-----------------------------------------------
	cmnBtn
-----------------------------------------------*/
.cmnBtn{
    display: block;
    position: relative;
    width: 220px;
    height: 50px;
    margin: auto;
    border: solid 1px #000;
    font-size: 14px;
    line-height: 48px;
    text-align: center;
}
@media only screen and (max-width:767px){
	.cmnBtn{
		width: 180px;
		height: 40px;
		line-height: 38px;
		font-size: 12px;
	}
}

/*-----------------------------------------------
	titMain
-----------------------------------------------*/
.titMain{
	font-size: 34px;
	letter-spacing: 3px;
	text-align: center;
}
@media only screen and (max-width:767px){
	.titMain{
		font-size: 16px;
		letter-spacing: 1px;
		line-height: 1.5;
	}
}

/*-----------------------------------------------
	secCmnBnr
-----------------------------------------------*/
.secCmnBnr{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding: 60px 0 55px;
}
.secCmnBnr .boxLeft,
.secCmnBnr .boxRight{
	position: relative;
	display: block;
	width: 47%;
}
.secCmnBnr .inner{
	width: 100%;
	padding: 24.2% 0;
	background-size: cover;
	background-position: center;
}
.secCmnBnr .bnrActivity{background-image: url(../img/common/bnrActivity.jpg);}
.secCmnBnr .bnrVision{background-image: url(../img/common/bnrVision.jpg);}
.secCmnBnr .bnrPhilosophy{background-image: url(../img/common/bnrPhilosophy.jpg);}
.secCmnBnr .bnrTit{
	font-size: 28px;
	letter-spacing: 1.5px;
	color: #FFF;
	text-align: center;
}
.secCmnBnr .boxBottom{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: center;
	-webkit-align-items: center;
	padding-top: 25px;
}
.secCmnBnr .bnrTxt{
	font-size: 24px;
	letter-spacing: 0.8px;
	font-weight: 200;
}
.secCmnBnr .btn{
	position: relative;
	width: 180px;
	height: 40px;
	margin-right: 20px;
	padding: 12px 10px 11px 0;
	border: solid 1px #005CA2;
	font-size: 14px;
	text-align: center;
	color: #005CA2;
}
.secCmnBnr .btn::after{
	content: "";
	position: absolute;
	top: 13px;
	right: -20px;
	width: 27px;
	height: 8px;
	background: center / contain no-repeat url(../img/common/icoArrowB.png);
}

@media only screen and (max-width:1490px){
	.secCmnBnr .bnrTxt {
		font-size: 22px;
	}
}
@media only screen and (max-width:1390px){
	.secCmnBnr .bnrTxt {
		font-size: 18px;
	}
}
@media only screen and (max-width:767px){
	.secCmnBnr{
		display: block;
		padding: 10px 0 50px;
	}
	.secCmnBnr .boxLeft,
	.secCmnBnr .boxRight{
		width: 100%;
	}
	.secCmnBnr .boxRight{
        margin-top: 25px;
    }
	.secCmnBnr .bnrTit{
		font-size: 18px;
	}
	.secCmnBnr .boxBottom{
		padding-top: 15px;
	}
	.secCmnBnr .bnrTxt{
		font-size: 14px;
		line-height: 1.4;
		letter-spacing: 0;
	}
	.secCmnBnr .btn {
		width: 130px;
		height: 35px;
		margin-right: 15px;
		padding: 11px 10px 10px 0;
		font-size: 12px;
	}
	.secCmnBnr .btn::after{
		right: -15px;
	}
}


/*制作中*/
/*secAnnounce*/
.secAnnounce{
	padding-bottom: 80px;
}
.secAnnounce .tit{
	font-size: 32px;
	text-align: center;
}
.secAnnounce .txt{
	padding: 60px 0 40px;
	font-size: 18px;
	line-height: 1.8;
	text-align: center;
}
@media only screen and (max-width:767px){
	.secAnnounce .tit{
		font-size: 24px;
	}
	.secAnnounce .txt{
		padding: 50px 0 30px;
		font-size: 13px;
	}
}


