/*
Theme Name:twentytwenty-child
Template:twentytwenty
Version:1.2
*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap');

body{
	font-family: 'Noto Sans JP', sans-serif !important;
	color: #222222 !important;
	font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

a{
	color:#222 !important;
	text-decoration:none;
}

a:hover{
	text-decoration: none !important;
}

ul,li{
	list-style:none;
	margin:0 auto;
	padding:0;
}

hr{
	margin:0 auto;
}

/* 404ページ */

.error404-content form{
	display:none;
}

/* SNS アイコン */

p.sns_icon{
	text-align: center;
}


@media screen and (min-width: 961px) {

/* ヘッダー */

.header-navi_top{
	margin:0 auto;
	display:flex;
	overflow:hidden;
}

/* ロゴ */
.header-titles-wrapper{
	margin:0 auto 0 auto;
	width:600px !important;
	text-align:center;
}

.header-titles{
	display: block;
	margin:0 auto;
}

.site-logo{
	margin:0 auto;
}

.header-titles .site-logo{
	margin:0 auto;
}

.header-inner{
	display:block;
	padding:30px 0 !important;
}

/* ヘッダー採用ナビ */

.header_recruite_navi {
	/*width:100%;
	float:right;*/
	position:absolute;
	top:30px;
	right:50px;
}

.header_recruite_navi ul{
	width:200px;
	display:flex;
	margin:0 auto;
	padding:0;
}

.header_recruite_navi ul li{
	justify-content: space-around;
	margin:0 auto;
	padding:0;
}

.header_recruite_navi ul li i{
	font-size:3rem;
}

.header_recruite_navi ul li:last-child{
	width:100px;
	height:30px;
	position:relative;
	color:#fff;
	padding:5px 15px;
	font-size:1.4rem;
	letter-spacing:0.1em;
	text-align:center;
}

.header_recruite_navi ul li:last-child a{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	background:#8b0008;
	color:#fff !important;
	text-decoration:none;
	box-sizing: border-box;
	border:1px solid #8b0008;
	border-radius:5px;
}

.header_recruite_navi ul li:last-child a:hover{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	background:#fff;
	color:#8b0008 !important;
	text-decoration:none;
	box-sizing: border-box;
	border:1px solid #8b0008;
	border-radius:5px;
}

.header_recruite_navi ul li:last-child p{
	margin:0 auto;
	display: inline;
    vertical-align: middle;
	line-height: 2.6rem;
}
/*
.header_recruite_navi ul li:last-child:hover{
	background:#fff;
	box-sizing: border-box;
	border:1px solid #312425;
	color:#312425 !important;
	text-decoration:none;
}
*/

/* ヘッダープライマリーナビ */

ul.primary-menu{
	margin:0 auto !important;
	justify-content: space-around;
}

.header-navigation-wrapper{
	width:600px;
	margin:60px auto 0;
	float:none;
}

.header-navigation-wrapper a{
	padding-top:8px;
}
/*
.header-navigation-wrapper a:hover{
	border-top:2px solid #8b0008;
}
*/

.header-navigation-wrapper a {
  display: block;
  padding: 12px 0 0px;
  position: relative;
  text-decoration: none;
	letter-spacing: 0.1em;
}
.header-navigation-wrapper a::before,
.header-navigation-wrapper a::after {
  box-sizing: border-box;
  border-bottom: solid 2px #8b0008;
  top: 0;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}

.header-navigation-wrapper a::before {
  left: 50%;
}
.header-navigation-wrapper a::after {
  right: 50%;
}
.header-navigation-wrapper a:hover::before,
.header-navigation-wrapper a:hover::after {
  width: 50%;
}

.header-navigation-wrapper .primary-menu li.current-menu-item{
	  padding: 8px 0 0px;
}

.header-navigation-wrapper .primary-menu li:not(.current-menu-item){
	  padding: 10px 0 0px;
}

.header-navigation-wrapper .primary-menu li.current-menu-item a::before,
.header-navigation-wrapper .primary-menu li.current-menu-item a::after {
  transition: none;
  -webkit-transition: none;
  width: 0;
}

.primary-menu li.current-menu-item > a{
/*
	box-sizing: border-box;
	border-top:2px solid #8b0008;
*/
	/*padding-top:6px;*/

	text-decoration: none;
}


.primary-menu li.current-menu-item a::before,
.primary-menu li.current-menu-item a::after{
	transition:none;
	-webkit-transition:none;
}

.primary-menu li{
	margin:0 auto;
}

/* フッター */

#site-footer{
	padding: 4.3rem 0 0;
}

footer nav ul{
	list-style:none;
}

footer nav ul li{
	font-size:1.8rem;
	letter-spacing:0.1em;
}

.footer_wrapper{
	width:600px;
	margin:0 auto;
}

.footer-credits{
	display:block !important;
}

.footer-copyright{
	margin:50px auto 0px;
	padding:0 0 40px;
	font-weight:normal;
	text-align:center;
	font-size:1.2rem;
	letter-spacing:0.1em;
}

/* フッターナビ:採用 */

#f_recruit_navi{
	padding:50px 0;
	background:#f2f2f2;
}

#f_recruit_navi p{
	margin:0 auto 10px;
	font-size:3.5rem;
	letter-spacing:0.1em;
	font-weight:bold;
	text-align:center;
}

#f_recruit_navi p span{
	font-size:1.6rem;
	font-weight:normal;
	letter-spacing:0.05em;
	vertical-align: middle;
}

#f_recruit_navi .arrow {
	margin:0 auto;
	text-align:center;
	font-size:3.5rem;
}

#f_recruit_navi ul{
	display:flex;
	margin:30px auto 20px !important;
	padding:0;
}

#f_recruit_navi ul li {
    width: 25%;
    margin: 0 auto 0;
    padding: 5px 20px;
    border-right: 1px dashed #222;
    text-align: center;
}

#f_recruit_navi ul li:last-child {
	border:none;
}

/* フッターナビ:会社 */

#f_company_navi{
	padding:70px 0 0;
	background:#444444;
	color:#fff;
}

#f_company_navi a{
	color:#fff !important;
}

#f_company_navi #footer_logo{
	width:200px;
	margin:0 auto;
}

#f_company_navi hr {
    margin: 3rem auto;
}

#f_company_navi ul{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	width:420px;
	margin:30px auto 20px !important;
	padding:0;
}

#f_company_navi ul li {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0px auto 0;
    padding: 0 20px;
    text-align: center;
	font-size:1.6rem;
}

#f_company_navi ul li:nth-child(1){
    margin: 0 0px 0 70px;
    padding: 0;
    width: 100px;
}

#f_company_navi ul li:nth-child(2){
	width: 100px;
    padding: 0;
    margin: 0 60px 0 10px;
}

#f_company_navi ul li:nth-child(3){
	    width: 25%;
	    margin: 30px auto 0;
	    padding: 0 0px;
}

#f_company_navi ul li:nth-child(4){
	    width: 25%;
	    margin: 30px auto 0;
	    padding: 0 0px;
}

#f_company_navi ul li:nth-child(5){
	    width: 25%;
	    margin: 30px auto 0;
	    padding: 0 0px;
}

#f_company_navi ul li:nth-child(6){
	    width: 25%;
	    margin: 30px auto 0;
	    padding: 0 0px;
}

/* コンテンツ共通 */
.title{
	font-size:2.3rem;
}

section{
	max-width:780px;
	margin:0 auto;
}

section .title{
	position:relative;
	overflow:hidden;
	clear:both;
}

section .title .red_box{
	margin:0 23px 0 auto;
	float:left;
	width:24px;
	height:24px;
	background:#8b0007;
	position:relative;
	z-index:1;
}

section .title .red_box .white_box{
	width:8px;
	height:8px;
	background:#fff;
	position:absolute;
	bottom:0;
	right:0;
	z-index:2;
}

section .title p{
	margin:0 auto;
}

section h2{
	font-size:2.3rem;
	margin:20px auto;
	letter-spacing:0.1em;
}

section hr{
	margin:100px auto 0;
	border-color:#ffffff;
}
/*
section .sub_title{
	width:30%;
	position:relative;
	top:-15px;
	text-align:center;
	margin:0 auto;
	padding:0 0px;
	background:#fff;
	font-size:1.8rem;
	font-weight:bold;
	letter-spacing:0.2em;
}
*/
section .sub_title {
font-size:1.8rem;
font-weight:bold;
letter-spacing:0.2em;
display: flex;
align-items: center;
}
section .sub_title:before,
section .sub_title:after {
border-top: 1px solid;
content: "";
flex-grow: 1;
}
section .sub_title:before {
margin-right: 2rem;
}
section .sub_title:after {
margin-left: 2rem;
}

/* トップページ(front-page) */

#site-content{
	max-width:1200px;
	margin:0 auto;
}

#mv{
	margin:0 auto;
	padding:0;
	list-style:none;
}

#mv .slick-arrow{
	display:none !important;
}

#mv li{
	max-width:1000px !important;
	margin:0 auto !important;
	padding:0;
}

.slick-dots{
	position: static !important;
}

.slick-dots li button:before{
	width:30px !important;
	height:30px !important;
	font-size:30px !important;
}

/* ABOUUT US */

#about ul hr{
	margin:80px auto;
/*	width:60px;
	height:4px;
*/	width:780px;
	height:1px;
/*	background:#dbdac5;
	border-color:#dbdac5;*/
	background:#dbdbdb;
	border-color:#dbdbdb;
}

#about ul li{
	margin:20px auto 0;
}

#about ul li div{
	margin:60px auto;
	width:287px;
}

#about ul li ul{
	width:600px;
	margin:40px auto 10px;
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

#about ul li ul li{
    clear: both;
    overflow: hidden;
	position:relative;
	width:45%;
	margin:0 2.5% 5%;
    padding: 22px 0;
	justify-content: center;
	background:#312425;
	border:1px solid #312425;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius:2px;
	text-align:center;
	color:#fff;
	font-size:1.6rem;	
}

#about ul li ul li a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	padding:8px 0;
	color:#f2f2f2 !important;
	text-align:center;
	text-decoration:none;
}

#about ul li ul.link_rococo li:first-child{
     -webkit-flex-grow: 1;
    flex-grow: 1;
	width:100% !important;
}

#about ul li ul.link_koromobito li{
     -webkit-flex-grow: 1;
    flex-grow: 1;
	width:90% !important;
}
#about ul li div + p{
	font-weight: bold;
}

/* MESSAGE */
#message #showroom{
	width:80%;
	margin:80px auto;
}

#message #showroom p{
	margin:0 auto 10px;
	font-size:1.4rem;
	text-align:center;
	font-style: italic;
	letter-spacing:0.05em;
}

#message table{
	width:600px;
	margin:60px auto;
	border:none !important;
	border-collapse: separate;
	border-spacing: 0 20px;
}

#message table tr{
	line-height:2;
	margin:10px auto;
}

#message table th{
	vertical-align: middle;
	border:none !important;
}

#message table td{
	border-top:none !important;
	border-right:none !important;
	border-bottom:none !important;
	border-left:4px solid #dbdac5;
	padding-left:60px;
	font-size:1.6rem;
}

#philosophy{
	width:640px;
	margin:60px auto 0;
}
#philosophy .slogan{
	margin-bottom: 60px;
	text-align: center;
}
#philosophy .slogan p{
	font-weight: bold;
 font-size: 4rem;
}
	
#philosophy .slogan span{
	font-size: 2rem;
    letter-spacing: 0.15em;
}

#philosophy .slogan > hr {
    margin: 40px auto;
    width: 60px;
    height: 8px;
    background: #8b0007;
    border-color: #8b0007;
}

/* company overview */
#company_overview table{
	width:600px;
	margin:0 auto 10px;
	border:none !important;
	border-collapse: separate;
	border-spacing: 0 20px;
	border-bottom:2px solid #dbdac5 !important;
}

#company_overview table tr{
	line-height:2;
	margin:10px auto;
	padding:10px 0;
}

#company_overview table th{
	width:30%;
	vertical-align: middle;
	border-top:2px solid #dbdac5;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	padding-top:30px;
}

#company_overview table td{
	width:70%;
	border-top:2px solid #dbdac5;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	font-size:1.6rem;
	padding-top:30px;
}

#company_overview p.attention{
	max-width:600px;
	margin:0 auto;
	font-size:1rem;
	letter-spacing:0.05em;
	text-align:right;
}

/* Access */
#access iframe{
	margin:40px auto;
}

#access table{
	width:600px;
	margin:60px auto;
	border:none !important;
	border-collapse: separate;
	border-spacing: 0 20px;
}

#access table tr{
	line-height:2;
	margin:10px auto;
}

#access table th{
	width:20%;
	vertical-align: top;
	border:none !important;
	font-size: 1.6rem;
}

#access table td{
	width:80%;
	border-top:none !important;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	font-size:1.6rem;
	padding-left:0px;
}

/* カンパニー：問い合わせフォーム */

.contactform_txt{
	margin:30px auto;
	font-size: 1.3rem !important;
	line-height:2;
	letter-spacing:0.05em;
	text-align:center;
}

.wpcf7-form-control-wrap select{
    padding: 1.5rem 1.8rem;
    border-width: 0.1rem;
    background: #fff;
    border-radius: 0;
    border-style: solid;
    border-color: #dbdbdb;
}

.cation{
	font-size: 1rem !important;
	color:#8b0007;
}


div.wpcf7 .ajax-loader{
	display:none;
	margin:0 !important;
}


#confirm,#submit_sent{
    margin: 0 20px 0 0;
	background-color:#8b0007 !important;
	font-weight: normal;
}

#confirm_back{
	background-color:#bbb !important;
}

/*　採用:共通 */
#recruit_mv{
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

#recruit_mv li {
	position:relative;
}

#recruit_mv li img{
	position:relative;
	z-index:997;
}

#recruit_mv a{
	text-decoration:none;
	color:#fff;
	position:relative;
	z-index:999;
}

#recruit_mv a:hover{
	text-decoration:none;
	opacity:0.6;
}

#recruit_mv li p{
	position:absolute;
	top:0;
	z-index:998;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
	vertical-align:middle;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1.5px solid #fff;
	padding:10px 5%;
	text-align:center;
	font-weight:normal;
	letter-spacing: 0.1em;
	color:#fff;
	text-decoration:none;
	background-color: rgba(55,55,55,0.3);
}

#recruit_nav{
	margin:80px auto;
}

#recruit_nav ul{
	width:900px;
	display:flex;
	margin:0 auto;
}
#recruit_nav ul li{
	width:20%;
	height:70px;
	align-content: space-around;
	text-align:center;
	padding:10px 0 13px;
	background:#312425;
	color:#fff;
	font-size:2rem;
	position:relative;
}

#recruit_nav ul li a{
	color:#f2f2f2 !important;
	text-decoration:none;
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}

#recruit_nav ul li a span:first-child{
	font-size:3.5rem;
    position: relative;
    top: 7px;
}

#recruit_nav ul li a span:last-child{
	font-size:2rem;
	padding-left:10px;
    position: relative;
    top: 2px;
}

#recruit_nav ul li:first-child span:last-child{
	padding-left:0px !important;
}

.recruit_top_link{
	position:relative;
	width:400px;
	height:70px;
	margin:0 auto;
	padding:15px 0;
	text-align:center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1px solid #444;
	border-radius:5px;
	font-size:1.9rem;
	font-weight:bold;
	letter-spacing:0.05em;
}

.recruit_top_link a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	line-height: 65px;
}

.recruit_top_link i{
	padding-left:10px;
}

/* 採用：メッセージ */

#recruit_message{
	margin:200px auto;
	padding:0;
}

/*#recruit_message .sub_title{
	width:40%;
}*/

#recruit_message_sentence{
	margin:60px auto 0;
}

/* 採用：理念 */
#recruit_vision{
	padding:0;
}
#recruit_vision > .slogan{
    text-align: center;
    font-size: 4.2rem;
    font-weight: bold;
    padding: 1.2em 0 0.8em;
}
.recruit_vision_visual{
	margin:60px auto;
	padding:0;
}

.recruit_vision_visual div{
	width:150px;
	margin:0 auto 40px;
	padding:7.5px 0;
	background:#8b0007;
	color:#fff;
	font-size:1.9rem;
	text-align:center;
}

.recruit_vision_visual p.italic{
	margin:0px auto 20px;
	font-size:2.5rem;
	font-style:italic;
	text-align:center;
	letter-spacing:0.05em;
}

.recruit_vision_visual p:last-child{
	margin:0px auto 40px;
	font-size:3.8rem;
	font-weight:bold;
	text-align:center;
	letter-spacing:0.1em;
}

#recruit_vision #vision_line{
	width:60px !important;
	height:4px !important;
	background:#8b0007 !important;
	margin:0 auto !important;
	border: none !important;
}

#recruit_vision  .recruit_vision_txt{
	margin:60px auto 0;
}

#recruit_mission{
	width:600px;
	margin:60px auto;
	padding:20px 0;
	border:5px solid #dbdac5;
}

#recruit_mission li{
	width:420px;
	margin:40px auto;
	font-size:1.5rem;
	letter-spacing:0.05em;
}

#recruit_mission li span{
	font-weight:bold;
	font-size:1.7rem;
	padding-right:30px;
}

.more_button{
	position:relative;
	width:400px;
	height:70px;
	margin:60px auto 0;
	padding:15px 0;
	text-align:center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1px solid #444;
	border-radius:5px;
	font-size:1.9rem;
	font-weight:bold;
	letter-spacing:0.05em;
}

.more_button a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	line-height: 65px;
	letter-spacing: 0.2em;
}

.more_button i{
	padding-left:10px;
}

/* 採用：求める・与える */

#recruit_givetake{
	max-width:1000px !important;
	margin:200px auto;
	padding:0;
}

#recruit_givetake hr{
	width:780px;
}
/*
#recruit_givetake .sub_title {
    width: 30%;
    position: relative;
    top: -15px;
    text-align: center;
    margin: 0 auto;
    padding: 0 0px;
    background: #fff;
    font-size: 1.8rem;
    font-weight: bold;
}
*/
#recruit_givetake ul{
	width:1000px;
	margin:60px auto 80px;
	display:flex;
}

#recruit_givetake ul li{
	width:30%;
	margin:0 auto 30px;
	padding:30px 20px;
	border:1px solid #444;
}

#recruit_givetake ul li i{
	display:block;
	margin:0 auto;
	text-align:center;
	color:#8b0007;
	font-size:4rem;
}

#recruit_givetake ul li .givetake_title{
	margin:30px auto;
	color:#fff;
	text-align:center;
}

#recruit_givetake ul li .givetake_title span{
		background:#444;
		padding:5px 20px;
}

#recruit_givetake ul li .givetake_txt{
	margin:0 auto;
	text-align:justify;
	font-size:1.7rem;
	line-height:1.7;
	letter-spacing:0.05em;
}

#recruit_givetake #givetake_line{
	width:60px !important;
	height:4px !important;
	background:#dbdac5 !important;
	margin:0 auto !important;
	border:0;
}

/* 採用：職種別 */
#job{
	max-width:1000px;
	margin:200px auto;
	padding:0;
}

#job .title{
	width:780px;
	margin:0 auto;
}

#job h2{
	width:780px;
	margin:20px auto;
}

#job_wrap{
	margin:60px auto;
	padding:0;
}

#job_wrap .job_name{
	position:relative;
	margin:0 auto 4px;
	padding:15px 50px;
	/*text-align:center;*/
	background:#312425;
	color:#f2f2f2;
	font-size:2.3rem;
	letter-spacing:0.05em;
	cursor:pointer;
	font-weight:normal;
	width: 850px;
}

#job_wrap .job_name img{
	position:relative;
	top:0px;
	width:25px;
	display:inline;
}

#job_wrap #jyutyuu img{
	width: 22px !important;
	top:2px;
}

#job_wrap .job_name span{
	vertical-align: top;
	padding-left:30px;
}

#job_wrap .job_name i{
       width: 30px;
    text-align: center;
}
	
#job_wrap .job_name i.down-arrow{
    position: absolute;
    right: 50px;
    top: 22px;
	/*text-align:right;*/
}

#job_wrap .job_name i.rotate{
	-moz-transform: rotateX(180deg);
	-webkit-transform: rotateX(180deg);
	-o-transform: rotateX(180deg);
	-ms-transform: rotateX(180deg);
}

#job_wrap .job_body{
	display:none;
	margin:0 auto;
	padding:0 0 80px;
	width: 850px;
}

.job_copy{
	width:740px;
	margin:60px auto;
	padding-left:20px;
	border-left:4px solid #8b0007;
	font-size:3.3rem;
}

.job_other_img{
	width:740px;
	margin:0 auto;
	display:flex;
}

.job_other_img li{
	width: 30%;
	
}
.job_other_img img{
	width:100%;

}

.job_title{
    width: 670px;
    margin: 80px auto 20px;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
}

.job_title i{
	color:#8b0007;
	font-size:2.6rem;
}

.job_title span{
	padding-left:20px;
	font-weight:bold;
}

.job_txt{
	width: 670px;
    margin: 0 auto;
	font-size:1.6rem;
	line-height:2;
	/*letter-spacing:0.05em;*/
}

.job_menu{
	width:900px;
	margin:60px auto;
	overflow:hidden;
	display:flex;
    -webkit-flex-grow: 1;
    flex-grow: 1;
	justify-content:space-between;
}

.job_last_img{
	width:45%;
}

.job_menu div:last-child{
	width: 50%;
}

.job_menu_title{
	margin:10px auto 10px;
	font-size:1.6rem;
	font-weight:bold;
}

.job_menu ul{
	margin:20px auto 0;
	padding:0 0 0 20px;
}

.job_menu ul li{
	/*list-style:square;*/
	font-size:1.7rem;
	line-height:2;
	paddingledt:10px;
}

.job_menu ul li::before{
	content:"■　";
	font-size:0.8rem;
	top:-2px;
}

.job_menu hr{
	margin:20px auto;
}

.job_link{
    position: relative;
    width: 400px;
    height: 70px;
    margin: 0 auto;
    padding: 15px 0;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #312425;
    border-radius: 5px;
    font-size: 1.9rem;
    font-weight: normal;
    letter-spacing: 0.05em;
	color:#fff;
	background:#312425;
}

.job_link a{
	color:#fff !important;
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	line-height: 66px;
}
.job_link a:hover{
	color:#312425 !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #312425;
    border-radius: 5px;
	background:#fff;
}

.job_link i{
	padding-left:10px;
}

/* 採用ページ：数字で見るロココ */
#figures{
	max-width: 1000px !important;
	margin:200px auto;
	padding:0;
}

#figures hr{
	width:780px;
}

/*#figures .sub_title{
	width:25%;
}
*/
#figures ul{
	width:1000px !important;
	margin:60px auto 0;
	display:flex;
	align-content: space-between;
    -webkit-flex-grow: 1;
    flex-grow: 1;
	flex-wrap:wrap;
}

#figures ul li{
	width:45%;
	margin:20px auto;
}

/* 採用ページ：成長計画 */
#plan{
	margin:200px auto;
	padding:0;
}

/*#plan .title_team{
	width:45%;
}
*/
/*#plan .title_mokuhyou{
	width:30%;
}
*/
/*#plan .title_bonus{
	width:40%;
}*/
/*
#plan .title_benefit{
	width:45% ;
}*/

section#plan .plan_txt{
	width:740px;
	margin:40px auto 0;
	text-align:justify;
	font-size: 1.7rem;
}

#plan .plan_line{
	margin:80px auto !important;
	width:60px !important;
	height:4px !important;
	background:#dbdac5 !important;
	border-color:#dbdac5 !important;
}

/* 採用ページ：社内活動*/

#activity{
	margin: 200px auto;
    padding: 0;
}

.activity_title,.activity_txt {
    width: 740px;
    margin: 40px auto 0;
    text-align: justify;
    font-size: 1.7rem;
}

#activity .activity_line{
	margin:80px auto !important;
	width:60px !important;
	height:4px !important;
	background:#dbdac5 !important;
	border-color:#dbdac5 !important;
}

#activity ul{
	width:740px;
	margin:30px auto;
	display:flex;
	align-content: space-around;
    -webkit-flex-grow: 1;
    flex-grow: 1;
}

#activity ul li{
	width:33%;
}

/* 理念 */

#philosophy_title{
	width:100%;
	margin:20px auto 0;
	padding:15px 0;
	background:#e6e6e6;
	font-size:2.6rem;
	text-align:center;
}


.slogan_box {
    position: relative;
	border: 2px solid #8b0007;
	padding-top: 20px;
}
	
.slogan_box > p{
position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -15px;
    background-color: #ffffff;
    padding: 0 1.5em;
    font-weight: bold;
}
	
	
#recruit_mission_wrap{
	padding: 8rem 0 4rem;
}

#recruit_mission_wrap hr{
	margin:60px auto;
	width:60px;
	height:4px;
	background:#8b0007;
	border-color:#8b0007;
}

.point3{
	margin:30px auto;
	padding:15px 0;
	background:#444;
	font-size:2.6rem;
	/*font-weight:bold;*/
	color:#fff;
	text-align:center;
	letter-spacing:0.1em;
}

.big{
	font-size:3.6rem;
}

.middle{
	font-size:2.6rem;
}

.small{
	font-size:2.0rem;
}

.kati{
	font-size: 3.4rem;
/*    padding-top: 0.2em;
    background-position: top left -6px;
    background-repeat: repeat-x;
    background-size: 1.3em .3em;
    background-image: radial-gradient(.12em .12em at center center,#fff,#fff 100%,transparent);
*/
	text-emphasis: filled dot;
	-webkit-text-emphasis: filled dot;
}

.point3_visual{
	width:600px;
	margin:40px auto;
	text-align:center;
}

.point3_txt{
	width:600px;
	margin:20px auto;
	overflow:hidden;
}

.point3_txt dt{
	width: 13%;
	min-height: 50px;
    float: left;
    margin: 0;
    margin-right: 5%;
	margin-bottom:15px;
    padding: 10px 20px;
    background: #444;
    color: #fff;
    font-size: 1.7rem;
	font-weight: normal;
}

.point3_txt dd{
	width: 80%;
    min-height: 50px;
    float: right;
    font-size: 1.5rem;
    padding: 0;
    margin: 0 0 15px 0;
}

.mission_txt{
	margin:20px auto 80px;
	font-size:1.7rem;
	letter-spacing: 0.05em;
}

.square{
	width:45px;
	font-size:0.6rem;
	color:#dbdac5;
	margin:0 auto 40px;
	text-align:center;
	display:flex;
}

.square span{
	display:block;
	margin:0 auto;
	width:6px;
	height:6px;
	align-content: space-around;
	text-align:center;
}

#recruit_action{
	marign:80px auto;
	padding:0;
}

.action_txt{
	font-size:2.5rem;
	letter-spacing:0.05em;
	text-align:center;
}

.action_txt span:first-child{
	font-size:4.2rem;
}

.action_txt span:last-child{
	font-size:3.1rem;
}

#action_line{
	width:420px;
	height:1px;
	background:#222;
	margin:0 auto;
	padding:0;
}

#action{
	width:680px;
	margin:60px auto;
}

#action li{
	margin:0 auto 40px;
	height:60px;
	vertical-align: middle;
}

#action li span{
	height:60px;
	vertical-align: middle;	
}

#action li span:first-child{
	font-size:4.15rem;
	color:#dbdac5;
	font-style:italic;
}

#action li span:nth-child(2){
	padding:0 50px 0 15px;
	font-size:3.1rem;
	font-weight:bold;
	letter-spacing:0.1em;
}

#action li span:nth-child(3){
	font-size:1.8rem;
	letter-spacing:0.05em;	
}

#recruit_action #vision_line{
	width:60px !important;
	height:4px !important;
	background:#8b0007 !important;
	margin:0 auto 60px !important;
	border: none !important;
}

/*　募集要項 */

#job_description table{
	width: 98%;
    margin: 30px auto;
	border:2px solid #bbb;
	color:#222;
}

#job_description table tr{
	margin:10px auto;
	padding:10px 0;
	border:2px solid #bbb;
}

#job_description table th{
	width:30%;
	font-size:1.6rem;
	text-align: center;
	letter-spacing:0.1em;
	border:2px solid #bbb;
	background:#e7e7e7;
}

#job_description table td{
	width:70%;
	font-size:1.4rem;
	padding:20px;
	line-height:2;
	letter-spacing:0.05em;
	border:2px solid #bbb;
}

#job_description table td span{
	font-size:1.2rem;
}

#job_description ul{
    width: 96%;
    margin: 40px auto 0;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	overflow:hidden;
}

#job_description ul li{
	width:28%;
}

#job_description ul li p.job_name{
	font-size:2.0rem;
	font-weight:bold;
	text-align:center;
	border-bottom:1px solid #ccc;
	padding-bottom:10px;
}

#job_description ul li p.job_name span{
	/*font-size:1rem;*/
	color:#8b0007;
	padding-right:10px;
}

#job_description ul li div{
	margin:0 auto;
	text-align:center;
	line-height: 1;
}

#job_description ul li .job_attention{
	font-size:1.5rem;
	text-align:center;
	letter-spacing:0.05em;
	/*padding-left:10px;*/
}

#job_description ul li div a{
	text-align:center;
	color:#1111cc !important;
	font-size:1.5rem;
	/*padding-left:10px;*/
}

.arrow{
    margin: 0 auto;
    text-align: center;
    font-size: 3rem;
}

}

@media only screen and (min-width: 641px) and (max-width: 960px) {
	
.header-navi_top{
	margin:0 auto;
	display:flex;
	overflow:hidden;
}

/* ロゴ */
.header-titles-wrapper{
	margin:0 auto 0 auto;
	width:60% !important;
	text-align:center;
}

.header-titles{
	display: block;
	margin:0 auto;
}

.site-logo{
	margin:0 auto;
}

.header-titles .site-logo{
	margin:0 auto;
}

.header-inner{
	display:block;
	padding:30px 0 !important;
}

/* ヘッダー採用ナビ */

.header-navigation-wrapper{
	display:block !important;
}

.primary-menu-wrapper{
	display:block !important;
}

.header_recruite_navi {
	/*width:100%;
	float:right;*/
	position:absolute;
	top:30px;
	right:20px;
}

.header_recruite_navi ul{
	width:200px;
	display:flex;
	margin:0 auto;
	padding:0;
}

.header_recruite_navi ul li{
	justify-content: space-around;
	margin:0 auto;
	padding:0;
}

.header_recruite_navi ul li i{
	font-size:3rem;
}

.header_recruite_navi ul li:last-child{
	width:100px;
	height:30px;
	position:relative;
	color:#fff;
	padding:5px 15px;
	font-size:1.4rem;
	letter-spacing:0.1em;
	text-align:center;
}

.header_recruite_navi ul li:last-child a{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	background:#8b0008;
	color:#fff !important;
	text-decoration:none;
	box-sizing: border-box;
	border:1px solid #8b0008;
	border-radius:5px;
}

.header_recruite_navi ul li:last-child a:hover{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	background:#fff;
	color:#8b0008 !important;
	text-decoration:none;
	box-sizing: border-box;
	border:1px solid #8b0008;
	border-radius:5px;
}

.header_recruite_navi ul li:last-child p{
	margin:0 auto;
	display: inline;
    vertical-align: middle;
	line-height: 2.6rem;
}
/*
.header_recruite_navi ul li:last-child:hover{
	background:#fff;
	box-sizing: border-box;
	border:1px solid #312425;
	color:#312425 !important;
	text-decoration:none;
}
*/

/* ヘッダープライマリーナビ */

ul.primary-menu{
	margin:0 auto !important;
	justify-content: space-around;
}


.header-navigation-wrapper{
	width:100%;
	margin:40px auto 0;
	float:none;
}

.header-navigation-wrapper a{
	padding-top:8px;
}
/*
.header-navigation-wrapper a:hover{
	border-top:2px solid #8b0008;
}
*/

.header-navigation-wrapper a {
  display: block;
  padding: 12px 0 0px;
  position: relative;
  text-decoration: none;
	letter-spacing: 0.1em;
}
.header-navigation-wrapper a::before,
.header-navigation-wrapper a::after {
  box-sizing: border-box;
  border-bottom: solid 2px #8b0008;
  top: 0;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}

.header-navigation-wrapper a::before {
  left: 50%;
}
.header-navigation-wrapper a::after {
  right: 50%;
}
.header-navigation-wrapper a:hover::before,
.header-navigation-wrapper a:hover::after {
  width: 50%;
}

.header-navigation-wrapper .primary-menu li.current-menu-item{
	  padding: 8px 0 0px;
}

.header-navigation-wrapper .primary-menu li:not(.current-menu-item){
	  padding: 10px 0 0px;
}

.header-navigation-wrapper .primary-menu li.current-menu-item a::before,
.header-navigation-wrapper .primary-menu li.current-menu-item a::after {
  transition: none;
  -webkit-transition: none;
  width: 0;
}

.primary-menu li.current-menu-item > a{
/*
	box-sizing: border-box;
	border-top:2px solid #8b0008;
*/
	/*padding-top:6px;*/

	text-decoration: none;
}


.primary-menu li.current-menu-item a::before,
.primary-menu li.current-menu-item a::after{
	transition:none;
	-webkit-transition:none;
}

.primary-menu li{
	margin:0 auto;
}

/* フッター */

#site-footer{
	padding: 4.3rem 0 0;
}

footer nav ul{
	list-style:none;
}

footer nav ul li{
	font-size:1.8rem;
	letter-spacing:0.1em;
}

.footer_wrapper{
	width:600px;
	margin:0 auto;
}

.footer-credits{
	display:block !important;
}

.footer-copyright{
	margin:50px auto 0px;
	padding:0 0 40px;
	font-weight:normal;
	text-align:center;
	font-size:1.2rem;
	letter-spacing:0.1em;
}

/* フッターナビ:採用 */

#f_recruit_navi{
	padding:50px 0;
	background:#f2f2f2;
}

#f_recruit_navi p{
	margin:0 auto 10px;
	font-size:3.5rem;
	letter-spacing:0.1em;
	font-weight:bold;
	text-align:center;
}

#f_recruit_navi p span{
	font-size:1.6rem;
	font-weight:normal;
	letter-spacing:0.05em;
	vertical-align: middle;
}

#f_recruit_navi .arrow {
	margin:0 auto;
	text-align:center;
	font-size:3.5rem;
}

#f_recruit_navi ul{
	display:flex;
	margin:30px auto 20px !important;
	padding:0;
}

#f_recruit_navi ul li {
    width: 25%;
    margin: 0 auto 0;
    padding: 5px 20px;
    border-right: 1px dashed #222;
    text-align: center;
}

#f_recruit_navi ul li:last-child {
	border:none;
}

/* フッターナビ:会社 */

#f_company_navi{
	padding:70px 0 0;
	background:#444444;
	color:#fff;
}

#f_company_navi a{
	color:#fff !important;
}

#f_company_navi #footer_logo{
	width:200px;
	margin:0 auto;
}

#f_company_navi hr {
    margin: 3rem auto;
}

#f_company_navi ul{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	width:420px;
	margin:30px auto 20px !important;
	padding:0;
}

#f_company_navi ul li {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0px auto 0;
    padding: 0 20px;
    text-align: center;
	font-size:1.6rem;
}

#f_company_navi ul li:nth-child(1){
    margin: 0 0px 0 70px;
    padding: 0;
    width: 100px;
}

#f_company_navi ul li:nth-child(2){
	width: 100px;
    padding: 0;
    margin: 0 60px 0 10px;
}

#f_company_navi ul li:nth-child(3){
	    width: 25%;
	    margin: 30px auto 0;
	    padding: 0 0px;
}

#f_company_navi ul li:nth-child(4){
	    width: 25%;
	    margin: 30px auto 0;
	    padding: 0 0px;
}

#f_company_navi ul li:nth-child(5){
	    width: 25%;
	    margin: 30px auto 0;
	    padding: 0 0px;
}

#f_company_navi ul li:nth-child(6){
	    width: 25%;
	    margin: 30px auto 0;
	    padding: 0 0px;
}

/* コンテンツ共通 */
.title{
	font-size:2.3rem;
}

section{
	max-width:90%;
	margin:0 auto;
}

section .title{
	position:relative;
	overflow:hidden;
	clear:both;
}

section .title .red_box{
	margin:0 23px 0 auto;
	float:left;
	width:24px;
	height:24px;
	background:#8b0007;
	position:relative;
	z-index:1;
}

section .title .red_box .white_box{
	width:8px;
	height:8px;
	background:#fff;
	position:absolute;
	bottom:0;
	right:0;
	z-index:2;
}

section .title p{
	margin:0 auto;
}

section h2{
	font-size:2.3rem;
	margin:20px auto;
	letter-spacing:0.1em;
}

section hr{
	margin:100px auto 0;
	border-color:#ffffff;
}

/*section .sub_title{
	width:20%;
	position:relative;
	top:-20px;
	text-align:center;
	margin:0 auto;
	padding:0 0px;
	background:#fff;
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing:0.2em;
}*/

section .sub_title {
font-size:2.4rem;
font-weight:bold;
letter-spacing:0.2em;
display: flex;
align-items: center;
}
section .sub_title:before,
section .sub_title:after {
border-top: 1px solid;
content: "";
flex-grow: 1;
}
section .sub_title:before {
margin-right: 2rem;
}
section .sub_title:after {
margin-left: 2rem;
}
/* トップページ(front-page) */

#site-content{
	max-width:100%;
	margin:0 auto;
}

#mv{
	margin:0 auto;
	padding:0;
	list-style:none;
}

#mv .slick-arrow{
	display:none !important;
}

#mv li{
	max-width:1000px !important;
	margin:0 auto !important;
	padding:0;
}

.slick-dots{
	position: static !important;
}

.slick-dots li button:before{
	width:30px !important;
	height:30px !important;
	font-size:30px !important;
}

/* ABOUUT US */

#about ul hr{
	margin:80px auto;
/*	width:60px;
	height:4px;
*/	width:100%;
	height:1px;
/*	background:#dbdac5;
	border-color:#dbdac5;*/
	background:#dbdbdb;
	border-color:#dbdbdb;
}

#about ul li{
	margin:20px auto 0;
}

#about ul li div{
	margin:60px auto;
	width:287px;
}

#about ul li ul{
	width:600px;
	margin:40px auto 10px;
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

#about ul li ul li{
    clear: both;
    overflow: hidden;
	position:relative;
	width:45%;
	margin:0 2.5% 5%;
    padding: 22px 0;
	justify-content: center;
	background:#312425;
	border:1px solid #312425;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius:2px;
	text-align:center;
	color:#fff;
	font-size:1.6rem;	
}

#about ul li ul li a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	padding:8px 0;
	color:#f2f2f2 !important;
	text-align:center;
	text-decoration:none;
}

#about ul li ul.link_rococo li:first-child{
     -webkit-flex-grow: 1;
    flex-grow: 1;
	width:100% !important;
}

#about ul li ul.link_koromobito li{
     -webkit-flex-grow: 1;
    flex-grow: 1;
	width:90% !important;
}

#about ul li div + p{
	font-weight: bold;
}

/* MESSAGE */
#message #showroom{
	width:80%;
	margin:80px auto;
}

#message #showroom p{
	margin:0 auto 10px;
	font-size:1.4rem;
	text-align:center;
	font-style: italic;
	letter-spacing:0.05em;
}

#message table{
	width:600px;
	margin:60px auto;
	border:none !important;
	border-collapse: separate;
	border-spacing: 0 20px;
}

#message table tr{
	line-height:2;
	margin:10px auto;
}

#message table th{
	vertical-align: middle;
	border:none !important;
}

#message table td{
	border-top:none !important;
	border-right:none !important;
	border-bottom:none !important;
	border-left:4px solid #dbdac5;
	padding-left:60px;
	font-size:1.6rem;
}

#philosophy{
	width:80%;
	margin:60px auto 0;
}
#philosophy .slogan{
	margin-bottom: 60px;
	text-align: center;
}
#philosophy .slogan p{
	font-weight: bold;
 font-size: 4rem;
}
	
#philosophy .slogan span{
	font-size: 2rem;
    letter-spacing: 0.15em;
}

#philosophy .slogan > hr {
    margin: 40px auto;
    width: 60px;
    height: 8px;
    background: #8b0007;
    border-color: #8b0007;
}


/* company overview */
#company_overview table{
	width:100%;
	margin:0 auto 10px;
	border:none !important;
	border-collapse: separate;
	border-spacing: 0 20px;
	border-bottom:2px solid #dbdac5 !important;
}

#company_overview table tr{
	line-height:2;
	margin:10px auto;
	padding:10px 0;
}

#company_overview table th{
	width:30%;
	vertical-align: middle;
	border-top:2px solid #dbdac5;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	padding-top:30px;
}

#company_overview table td{
	width:70%;
	border-top:2px solid #dbdac5;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	font-size:1.6rem;
	padding-top:30px;
}

#company_overview p.attention{
	max-width:100%;
	margin:0 auto;
	font-size:1.3rem;
	letter-spacing:0.05em;
	text-align:right;
}

/* Access */
#access iframe{
	margin:40px auto;
}

#access table{
	width:100%;
	margin:60px auto;
	border:none !important;
	border-collapse: separate;
	border-spacing: 0 20px;
}

#access table tr{
	line-height:2;
	margin:10px auto;
}

#access table th{
	width:20%;
	vertical-align: top;
	border:none !important;
	font-size: 1.6rem;
}

#access table td{
	width:80%;
	border-top:none !important;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	font-size:1.6rem;
	padding-left:0px;
}

/* カンパニー：問い合わせフォーム */

/*#contact{
	width:40%;
}
*/
.contactform_txt{
	margin:30px auto;
	font-size: 1.8rem !important;
	line-height:2;
	letter-spacing:0.05em;
	text-align:center;
}

div.wpcf7 .ajax-loader{
	display:none;
	margin:0 !important;
}

.wpcf7-form-control-wrap select{
    padding: 1.5rem 1.8rem;
    border-width: 0.1rem;
    background: #fff;
    border-radius: 0;
    border-style: solid;
    border-color: #dbdbdb;
}

.company_form label{
	font-size: 2rem !important;
}

.cation{
	font-size: 1.5rem !important;
	color:#8b0007;
}

#confirm,#submit_sent{
    margin: 0 20px 0 0;
	background-color:#8b0007 !important;
	font-weight: normal;
}

#confirm_back{
	background-color:#bbb !important;
}

/*　採用:共通 */
#recruit_mv{
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

#recruit_mv li {
	position:relative;
}

#recruit_mv li img{
	position:relative;
	z-index:997;
}

#recruit_mv a{
	text-decoration:none;
	color:#fff;
	position:relative;
	z-index:999;
}

#recruit_mv a:hover{
	text-decoration:none;
	opacity:0.6;
}

#recruit_mv li p{
	position:absolute;
	top:0;
	z-index:998;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
	vertical-align:middle;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1.5px solid #fff;
	padding:10px 5%;
	text-align:center;
	font-weight:normal;
	letter-spacing: 0.1em;
	color:#fff;
	text-decoration:none;
	background-color: rgba(55,55,55,0.3);
}

#recruit_nav{
	margin:80px auto;
}

#recruit_nav ul{
	width:90%;
	display:flex;
	margin:0 auto;
}
#recruit_nav ul li{
	width:20%;
	height:70px;
	align-content: space-around;
	text-align:center;
	padding:10px 0 13px;
	background:#312425;
	color:#fff;
	font-size:2rem;
	position:relative;
}

#recruit_nav ul li a{
	color:#f2f2f2 !important;
	text-decoration:none;
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}

#recruit_nav ul li a span:first-child{
	font-size:3rem;
    position: relative;
    top: 10px;
}

#recruit_nav ul li a span:last-child{
	font-size:2rem;
	padding-left:10px;
    position: relative;
    top: 8px;
}

#recruit_nav ul li:first-child span:last-child{
	padding-left:0px !important;
}

.recruit_top_link{
	position:relative;
	width:400px;
	height:70px;
	margin:0 auto;
	padding:15px 0;
	text-align:center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1px solid #444;
	border-radius:5px;
	font-size:1.9rem;
	font-weight:bold;
	letter-spacing:0.05em;
}

.recruit_top_link a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	line-height: 65px;
}

.recruit_top_link i{
	padding-left:10px;
}

/* 採用：メッセージ */

#recruit_message{
	margin:200px auto;
	padding:0;
}
/*
#recruit_message .sub_title{
	width:40%;
}
*/
#recruit_message_sentence{
	margin:60px auto 0;
	font-size:2.0rem;
}

/* 採用：理念 */
#recruit_vision{
	padding:0;
}
	
#recruit_vision > .slogan{
    text-align: center;
    font-size: 4.2rem;
    font-weight: bold;
    padding: 1.2em 0 0.8em;
}
.recruit_vision_visual{
	margin:60px auto;
	padding:0;
}

.recruit_vision_visual div{
	width:150px;
	margin:0 auto 40px;
	padding:7.5px 0;
	background:#8b0007;
	color:#fff;
	font-size:1.9rem;
	text-align:center;
}

.recruit_vision_visual p.italic{
	margin:0px auto 20px;
	font-size:2.5rem;
	font-style:italic;
	text-align:center;
	letter-spacing:0.05em;
}

.recruit_vision_visual p:last-child{
	margin:0px auto 40px;
	font-size:3.8rem;
	font-weight:bold;
	text-align:center;
	letter-spacing:0.1em;
}

#recruit_vision #vision_line{
	width:60px !important;
	height:4px !important;
	background:#8b0007 !important;
	margin:0 auto !important;
	border: none !important;
}

#recruit_vision  .recruit_vision_txt{
	margin:60px auto 0;
	font-size:2.0rem;
}

#recruit_mission{
	width:95%;
	margin:60px auto;
	padding:20px 0;
	border:5px solid #dbdac5;
}

#recruit_mission li{
	width:80%;
	margin:40px auto;
	font-size:1.9rem;
	letter-spacing:0.05em;
}

#recruit_mission li span{
	font-weight:bold;
	font-size:1.7rem;
	padding-right:30px;
}

#recruit_mission_wrap .recruit_vision_txt{
	font-size: 2.0rem;
}

.more_button{
	position:relative;
	width:400px;
	height:70px;
	margin:60px auto 0;
	padding:15px 0;
	text-align:center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1px solid #444;
	border-radius:5px;
	font-size:1.9rem;
	font-weight:bold;
	letter-spacing:0.05em;
}

.more_button a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	line-height: 65px;
	letter-spacing: 0.2em;
}

.more_button i{
	padding-left:10px;
}

/* 採用：求める・与える */

#recruit_givetake{
	max-width:100% !important;
	margin:200px auto;
	padding:0;
}

#recruit_givetake hr{
	width:90%;
}
/*
#recruit_givetake .sub_title {
    width: 45%;
    position: relative;
    top: -15px;
    text-align: center;
    margin: 0 auto;
    padding: 0 0px;
    background: #fff;
    font-size: 2.4rem;
    font-weight: bold;
}
*/
#recruit_givetake ul{
	width:100%;
	margin:60px auto 40px;
	display:block;
}

#recruit_givetake ul li{
	width:90%;
	margin:0 auto;
	padding:30px 20px;
	border:none;
	overflow:hidden;
}

#recruit_givetake ul li i{
	float:left;
	display:block;
	margin:0 auto;
	padding-right:20px;
	text-align:left;
	color:#8b0007;
	font-size:3rem;
}

#recruit_givetake ul li .givetake_title{
	margin:0 auto 30px 10px;
	color:#fff;
	text-align:left;
}

#recruit_givetake ul li .givetake_title span{
	background:#444;
	padding:5px 20px;
}

#recruit_givetake ul li .givetake_txt{
	margin:0 auto;
	text-align:justify;
	font-size:2rem;
	line-height:1.7;
	letter-spacing:0.05em;
}

#recruit_givetake #givetake_line{
	width:60px !important;
	height:4px !important;
	background:#dbdac5 !important;
	margin:0 auto !important;
	border:0;
}

/* 採用：職種別 */
#job{
	max-width:100%;
	margin:200px auto;
	padding:0;
}

#job .title{
	width:90%;
	margin:0 auto;
}

#job h2{
	width:90%;
	margin:20px auto;
}

#job_wrap{
	margin:60px auto;
	padding:0;
}

#job_wrap .job_name{
	width:90%;
	position:relative;
	margin:0 auto 4px;
	padding:15px 50px;
	/*text-align:center;*/
	background:#312425;
	color:#f2f2f2;
	font-size:2.3rem;
	letter-spacing:0.05em;
	cursor:pointer;
	font-weight:normal;
}

#job_wrap .job_main_img{
	width:90%;
	margin:0 auto;
}

#job_wrap .job_name img{
	position:relative;
	top:0px;
	width:25px;
	display:inline;
}

#job_wrap #jyutyuu img{
	width: 22px !important;
	top:2px;
}

#job_wrap .job_name span{
	vertical-align: top;
	padding-left:30px;
}

#job_wrap .job_name i{
       width: 30px;
    text-align: center;
}

#job_wrap .job_name i.down-arrow{
    position: absolute;
    right: 50px;
    top: 22px;
	/*text-align:right;*/
}

#job_wrap .job_name i.rotate{
	-moz-transform: rotateX(180deg);
	-webkit-transform: rotateX(180deg);
	-o-transform: rotateX(180deg);
	-ms-transform: rotateX(180deg);
}

#job_wrap .job_body{
	display:none;
	margin:0 auto;
	padding:0 0 80px;
}

.job_copy{
	width:90%;
	margin:60px auto;
	padding-left:20px;
	border-left:4px solid #8b0007;
	font-size:3.3rem;
}

.job_other_img{
	width:90%;
	/*max-width: 1300px;*/
	margin:0 auto;
	display:flex;
	/*
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	*/
}

.job_other_img li{
	width:30%;
}
.job_other_img img{
	width:100%;
}

.job_title{
    width: 90%;
    margin: 80px auto 20px;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
}

.job_title i{
	color:#8b0007;
	font-size:2.6rem;
}

.job_title span{
	padding-left:20px;
	font-weight:bold;
}

.job_txt{
	width: 90%;
    margin: 0 auto;
	font-size:1.6rem;
	line-height:2;
	/*letter-spacing:0.05em;*/
}

.job_menu{
	width:90%;
	margin:60px auto;
	overflow:hidden;
	display:block;
	/*
    -webkit-flex-grow: 1;
    flex-grow: 1;
	justify-content:space-between;
	*/
}

.job_last_img{
	width:100%;
}

.job_last_img img{
	width:100%;	
}

.job_menu div:last-child{
	width: 100%;
}

.job_menu_title{
	margin:40px auto 10px;
	font-size:1.6rem;
	font-weight:bold;
}

.job_menu ul{
	margin:20px auto 0;
	padding:0 0 0 20px;
}

.job_menu ul li{
	/*list-style:square;*/
	font-size:1.7rem;
	line-height:2;
	paddingledt:10px;
}

.job_menu ul li::before{
	content:"■　";
	font-size:0.8rem;
	top:-2px;
}

.job_menu hr{
	margin:20px auto;
}

.job_link{
    position: relative;
    width: 400px;
    height: 70px;
    margin: 0 auto;
    padding: 15px 0;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #312425;
    border-radius: 5px;
    font-size: 1.9rem;
    font-weight: normal;
    letter-spacing: 0.05em;
	color:#fff;
	background:#312425;
}

.job_link a{
	color:#fff !important;
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	line-height: 66px;
}
.job_link a:hover{
	color:#312425 !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #312425;
    border-radius: 5px;
	background:#fff;
}

.job_link i{
	padding-left:10px;
}

/* 採用ページ：数字で見るロココ */
#figures{
	max-width: 90% !important;
	margin:200px auto;
	padding:0;
}

#figures hr{
	width:100%;
}

/*#figures .sub_title{
	width:45%;
}
*/
#figures ul{
	width:100% !important;
	margin:60px auto 0;
	display:block;
	/*
	align-content: space-between;
    -webkit-flex-grow: 1;
    flex-grow: 1;
	flex-wrap:wrap;
	*/
}

#figures ul li{
	width:100%;
	margin:20px auto;
}

/* 採用ページ：成長計画 */
#plan{
	margin:60px auto;
	padding:0;
}
/*
#plan .title_team{
	width:65%;
}*/

/*#plan .title_mokuhyou{
	width:30%;
}
*/
/*#plan .title_bonus{
	width:40%;
}*/

/*#plan .title_benefit{
	width:45% ;
}*/

section#plan .plan_txt{
	width:100%;
	margin:40px auto 0;
	text-align:justify;
	font-size: 2rem;
}

#plan .plan_line{
	margin:80px auto !important;
	width:60px !important;
	height:4px !important;
	background:#dbdac5 !important;
	border-color:#dbdac5 !important;
}

/* 採用ページ：社内活動*/

#activity{
	margin: 200px auto 0;
    padding: 0;
}

.activity_title,.activity_txt {
    width: 100%;
    margin: 40px auto 0;
    text-align: justify;
    font-size: 2rem;
}

#activity .activity_line{
	margin:80px auto !important;
	width:60px !important;
	height:4px !important;
	background:#dbdac5 !important;
	border-color:#dbdac5 !important;
}

#activity ul{
	width:100%;
	max-width:1200px;
	margin:30px auto;
	display:flex;
	align-content: space-around;
    -webkit-flex-grow: 1;
    flex-grow: 1;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

#activity ul li{
	width:30%;
}
/*
#activity .bbq{
	width: 40%;
}*/

/* 理念 */

#philosophy_title{
	width:100%;
	margin:20px auto 0;
	padding:15px 0;
	background:#e6e6e6;
	font-size:2.6rem;
	text-align:center;
}
	
.slogan_box {
    position: relative;
	border: 2px solid #8b0007;
	padding-top: 20px;
}
	
.slogan_box > p{
position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -15px;
    background-color: #ffffff;
    padding: 0 1.5em;
    font-weight: bold;
}


#recruit_mission_wrap{
	padding: 8rem 0 4rem;
}

#recruit_mission_wrap hr{
	margin:60px auto;
	width:60px;
	height:4px;
	background:#8b0007;
	border-color:#8b0007;
}

.point3{
	margin:30px auto;
	padding:15px 0;
	background:#444;
	font-size:2.6rem;
	color:#fff;
	text-align:center;
	letter-spacing:0.1em;
}

.big{
	font-size:3.6rem;
}

.middle{
	font-size:2.6rem;
}

.small{
	font-size:2.0rem;
}

.kati{
	font-size: 3.4rem;
/*    padding-top: 0.2em;
    background-position: top left -6px;
    background-repeat: repeat-x;
    background-size: 1.3em .3em;
    background-image: radial-gradient(.12em .12em at center center,#fff,#fff 100%,transparent);
*/
	text-emphasis: filled dot;
	-webkit-text-emphasis: filled dot;
}

.point3_visual{
	width:600px;
	margin:40px auto;
	text-align:center;
}

.point3_txt{
	width:80%;
	margin:40px auto 20px;
	overflow:hidden;
}


.point3_txt dt{
	width: 15%;
    float: none;
    margin: 0;
    margin-right: auto;
	margin-bottom:20px;
    padding: 10px 20px;
    background: #444;
    color: #fff;
    font-size: 2rem;
	font-weight: normal;
}

.point3_txt dd{
	width: 100%;
    min-height: 50px;
    float: none;
    font-size: 2rem;
    padding: 0;
    margin: 0 0 30px 0;
}

/*.point3_txt dd:last-child{
	margin:20px auto 0;
}
*/
.mission_txt{
	width:80%;
	margin:20px auto 80px;
	font-size:2rem;
	letter-spacing: 0.05em;
}

.square{
	width:45px;
	font-size:0.6rem;
	color:#dbdac5;
	margin:0 auto 40px;
	text-align:center;
	display:flex;
}

.square span{
	display:block;
	margin:0 auto;
	width:6px;
	height:6px;
	align-content: space-around;
	text-align:center;
}

#recruit_action{
	marign:80px auto;
	padding:0;
}

.action_txt{
	font-size:2.5rem;
	letter-spacing:0.05em;
	text-align:center;
}

.action_txt span:first-child{
	font-size:4.2rem;
}

.action_txt span:last-child{
	font-size:3.1rem;
}

#action_line{
	width:420px;
	height:1px;
	background:#222;
	margin:0 auto;
	padding:0;
}

#action{
	width:680px;
	margin:60px auto;
}

#action li{
	text-align: center;
	margin:0 auto 80px;
	height:60px;
	vertical-align: middle;
}

#action li span{
	height:60px;
	vertical-align: middle;	
}

#action li span:first-child{
	font-size:4.15rem;
	color:#dbdac5;
	font-style:italic;
}

#action li span:nth-child(2){
	padding:0 50px 0 15px;
	font-size:3.1rem;
	font-weight:bold;
	letter-spacing:0.1em;
}

#action li span:nth-child(3){
	display:block;
	font-size:2rem;
	letter-spacing:0.05em;	
}

#recruit_action #vision_line{
	width:60px !important;
	height:4px !important;
	background:#8b0007 !important;
	margin:0 auto 60px !important;
	border: none !important;
}

/*　募集要項 */

#job_description table{
	width: 98%;
    margin: 30px auto;
	border:2px solid #bbb;
	color:#222;
}

#job_description table tr{
	margin:10px auto;
	padding:10px 0;
	border:2px solid #bbb;
}

#job_description table th{
	width:30%;
	font-size:1.8rem;
	text-align: center;
	letter-spacing:0.1em;
	border:2px solid #bbb;
	background:#e7e7e7;
}

#job_description table td{
	width:70%;
	font-size:1.6rem;
	padding:20px;
	line-height:2;
	letter-spacing:0.05em;
	border:2px solid #bbb;
}

#job_description table td span{
	font-size:1.4rem;
}

#job_description ul{
    width: 100%;
    margin: 40px auto 0;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	overflow:hidden;
}

#job_description ul li{
	width:30%;
}

#job_description ul li p.job_name{
	font-size:2.0rem;
	font-weight:bold;
	text-align:center;
	border-bottom:1px solid #ccc;
	padding-bottom:10px;
}

#job_description ul li p.job_name span{
	/*font-size:1rem;*/
	color:#8b0007;
	padding-right:10px;
}

#job_description ul li div{
	margin:0 auto;
	text-align:center;
	line-height: 1;
}

#job_description ul li .job_attention{
	font-size:1.5rem;
	text-align:center;
	letter-spacing:0.05em;
	/*padding-left:10px;*/
}

#job_description ul li div a{
	text-align:center;
	color:#1111cc !important;
	font-size:1.5rem;
	/*padding-left:10px;*/
}

.arrow{
    margin: 0 auto;
    text-align: center;
    font-size: 3rem;
}

#entry label{
	font-size: 2rem !important;
}

#entry .cation {
    font-size: 1.5rem !important;
    color: #8b0007;
}
	
}

@media screen and (max-width: 640px) {

.header-navi_top{
	margin:0 auto;
	display:flex;
	overflow:hidden;
}

/* ロゴ */
.header-titles-wrapper{
	margin:0 auto 0 0;
	width:50% !important;
	text-align:center;
}

.header-titles{
	display: block;
	margin:0 auto;
}

.site-logo{
	margin:0 auto;
}

.site-logo img {
    height:auto !important;
}

.header-titles .site-logo{
	margin:0 auto;
}


.header-inner{
	width:95%;
	display:block;
	padding:20px 0 !important;
}

/* ヘッダー採用ナビ */

.header-navigation-wrapper{
	display:block !important;
}

.primary-menu-wrapper{
	display:block !important;
}

.header_recruite_navi {
	/*width:100%;
	float:right;*/
	position:absolute;
	top:18px;
	right:4px;
}

.header_recruite_navi ul{
	width:150px;
	display:flex;
	margin:0 auto;
	padding:0;
}

.header_recruite_navi ul li{
	justify-content: space-around;
	margin:0 auto;
	padding:0;
}

.header_recruite_navi ul li i{
	font-size:3rem;
}

.header_recruite_navi ul li:last-child{
	width:100px;
	height:30px;
	position:relative;
	color:#fff;
	padding:5px 15px;
	font-size:1.4rem;
	letter-spacing:0.1em;
	text-align:center;
}

.header_recruite_navi ul li:last-child a{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	background:#8b0008;
	color:#fff !important;
	text-decoration:none;
	box-sizing: border-box;
	border:1px solid #8b0008;
	border-radius:5px;
}

.header_recruite_navi ul li:last-child a:hover{
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	background:#fff;
	color:#8b0008 !important;
	text-decoration:none;
	box-sizing: border-box;
	border:1px solid #8b0008;
	border-radius:5px;
}

.header_recruite_navi ul li:last-child p{
	margin:0 auto;
	display: inline;
    vertical-align: middle;
	line-height: 2.6rem;
}
/*
.header_recruite_navi ul li:last-child:hover{
	background:#fff;
	box-sizing: border-box;
	border:1px solid #312425;
	color:#312425 !important;
	text-decoration:none;
}
*/

/* ヘッダープライマリーナビ */

ul.primary-menu{
	margin:0 auto !important;
	justify-content: space-around;
	font-size:1.4rem;
}


.header-navigation-wrapper{
	width:100%;
	margin:20px auto 0;
	float:none;
}

.header-navigation-wrapper a{
	padding-top:8px;
}
/*
.header-navigation-wrapper a:hover{
	border-top:2px solid #8b0008;
}
*/

.header-navigation-wrapper a {
  display: block;
  padding: 12px 0 0px;
  position: relative;
  text-decoration: none;
	letter-spacing: 0.1em;
}
.header-navigation-wrapper a::before,
.header-navigation-wrapper a::after {
  box-sizing: border-box;
  border-bottom: solid 2px #8b0008;
  top: 0;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}

.header-navigation-wrapper a::before {
  left: 50%;
}
.header-navigation-wrapper a::after {
  right: 50%;
}
.header-navigation-wrapper a:hover::before,
.header-navigation-wrapper a:hover::after {
  width: 50%;
}

.header-navigation-wrapper .primary-menu li.current-menu-item{
	  padding: 8px 0 0px;
}

.header-navigation-wrapper .primary-menu li:not(.current-menu-item){
	  padding: 10px 0 0px;
}

.header-navigation-wrapper .primary-menu li.current-menu-item a::before,
.header-navigation-wrapper .primary-menu li.current-menu-item a::after {
  transition: none;
  -webkit-transition: none;
  width: 0;
}

.primary-menu li.current-menu-item > a{
/*
	box-sizing: border-box;
	border-top:2px solid #8b0008;
*/
	/*padding-top:6px;*/

	text-decoration: none;
}


.primary-menu li.current-menu-item a::before,
.primary-menu li.current-menu-item a::after{
	transition:none;
	-webkit-transition:none;
}

.primary-menu li{
	margin:0 auto;
}

/* フッター */

#site-footer{
	padding: 4.3rem 0 0;
}

footer nav ul{
	list-style:none;
}

footer nav ul li{
	font-size:1.8rem;
	letter-spacing:0.1em;
}

.footer_wrapper{
	width:100%;
	margin:0 auto;
}

.footer-credits{
	display:block !important;
}

.footer-copyright{
	margin:50px auto 0px;
	padding:0 0 40px;
	font-weight:normal;
	text-align:center;
	font-size:1.2rem;
	letter-spacing:0.1em;
}

/* フッターナビ:採用 */

#f_recruit_navi{
	padding:50px 0;
	background:#f2f2f2;
}

#f_recruit_navi p{
	margin:0 auto 10px;
	font-size:3.5rem;
	letter-spacing:0.1em;
	font-weight:bold;
	text-align:center;
}

#f_recruit_navi p span{
	font-size:1.6rem;
	font-weight:normal;
	letter-spacing:0.05em;
	vertical-align: middle;
}

#f_recruit_navi .arrow {
	margin:0 auto;
	text-align:center;
	font-size:3.5rem;
}

#f_recruit_navi ul{
	display:block;
	margin:20px auto 0px !important;
	padding:0;
}

#f_recruit_navi ul li {
    width: 80%;
    margin: 0 auto 0;
	padding: 15px 0 15px;
	border-bottom: 1px dashed #222;
    text-align: center;
}

#f_recruit_navi ul li:last-child {
	border:none;
}

/* フッターナビ:会社 */

#f_company_navi{
	padding:70px 0 0;
	background:#444444;
	color:#fff;
}

#f_company_navi a{
	color:#fff !important;
}

#f_company_navi #footer_logo{
	width:200px;
	margin:0 auto;
}

#f_company_navi hr {
    margin: 3rem auto;
	display:none;
}

#f_company_navi ul{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	width:90%;
	margin:30px auto 20px !important;
	padding:0;
}

#f_company_navi ul li {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    width: 50%;
	height:50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0px auto 0;
    padding: 0 20px;
    text-align: center;
	font-size:1.4rem;
	border-bottom:1px solid #fff;
	position:relative;
}

#f_company_navi ul li:nth-child(1){
    width: 50%;
    margin: 0 auto 0 auto;
    padding: 15px 20px;
	/*border-top:1px solid #fff;*/
}

#f_company_navi ul li:nth-child(2){
	width: 50%;
    margin: 0 auto 0 auto;
    padding: 15px 20px;
	/*border-top:1px solid #fff;*/
}

#f_company_navi ul li:nth-child(3){
	width: 50%;
    margin: 0 auto 0 ;
    padding: 15px 20px;
}

#f_company_navi ul li:nth-child(4){
	width: 50%;
    margin: 0 auto 0 ;
    padding: 15px 20px;
}

#f_company_navi ul li:nth-child(5){
	width: 50%;
    margin: 0 auto 0 ;
    padding: 15px 20px;
}

#f_company_navi ul li:nth-child(6){
	width: 50%;
    margin: 0 auto 0 ;
    padding: 15px 20px;
}

#f_company_navi ul li:nth-child(odd)::after{
	content: "";
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	bottom:0;
	border-right: 1px solid #fff;
	margin-bottom:0;
}

#f_company_navi ul li a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	z-index: 999;
	padding-top: 14px;
}

/* コンテンツ共通 */
.title{
	font-size:2rem;
}

section{
	max-width:90%;
	margin:0 auto;
}

section .title{
	position:relative;
	overflow:hidden;
	clear:both;
}

section .title .red_box{
	margin:0 23px 0 auto;
	float:left;
	width:20px;
	height:20px;
	background:#8b0007;
	position:relative;
	z-index:1;
}

section .title .red_box .white_box{
	width:8px;
	height:8px;
	background:#fff;
	position:absolute;
	bottom:0;
	right:0;
	z-index:2;
}

section .title p{
	margin:0 auto;
}

section h2{
	font-size:2rem;
	margin:20px auto;
	letter-spacing:0.1em;
}

section hr{
	margin:100px auto 0;
	border-color:#ffffff;
}

/*section .sub_title{
	width:40%;
	position:relative;
	top:-12px;
	text-align:center;
	margin:0 auto;
	padding:0 0px;
	background:#fff;
	font-size:1.4rem;
	font-weight:bold;
	letter-spacing:0.2em;
}
*/
section .sub_title {
font-size:1.4rem;
font-weight:bold;
letter-spacing:0.2em;
display: flex;
align-items: center;
}
section .sub_title:before,
section .sub_title:after {
border-top: 1px solid;
content: "";
flex-grow: 1;
}
section .sub_title:before {
margin-right: 2rem;
}
section .sub_title:after {
margin-left: 2rem;
}

/* トップページ(front-page) */

#site-content{
	max-width:100%;
	margin:0 auto;
}

#mv{
	margin:0 auto;
	padding:0;
	list-style:none;
}

#mv .slick-arrow{
	display:none !important;
}

#mv li{
	max-width:1000px !important;
	margin:0 auto !important;
	padding:0;
}

.sp{
	font-size:1.5rem;
	line-height:1.7;
}

.slick-dots{
	position: static !important;
}

.slick-dots li button:before{
	width:30px !important;
	height:30px !important;
	font-size:30px !important;
}

/* ABOUUT US */

#about ul hr{
	margin:60px auto;
/*	width:60px;
	height:4px;*/
	width:100%;
	height:1px;
/*	background:#dbdac5;
	border-color:#dbdac5;*/
	background:#dbdbdb;
	border-color:#dbdbdb;
}

#about ul li{
	margin:20px auto 0;
}

#about ul li div{
	margin:60px auto;
	width:287px;
}

#about ul li ul{
	width:100%;
	margin:40px auto 10px;
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

#about ul li ul li{
    clear: both;
    overflow: hidden;
	position:relative;
	width:45%;
	margin:0 2.5% 5%;
    padding: 22px 0;
	justify-content: center;
	background:#312425;
	border:1px solid #312425;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius:2px;
	text-align:center;
	color:#fff;
	font-size:1.4rem;
	letter-spacing: 0.05em;
}

#about ul li ul li a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	padding:10px 0;
	color:#f2f2f2 !important;
	text-align:center;
	text-decoration:none;
}

#about ul li ul.link_rococo li:first-child{
     -webkit-flex-grow: 1;
    flex-grow: 1;
	width:100% !important;
}

#about ul li ul.link_koromobito li{
     -webkit-flex-grow: 1;
    flex-grow: 1;
	width:90% !important;
}
	
#about ul li div + p{
	font-weight: bold;
}

/* MESSAGE */
#message #showroom{
	margin:80px auto;
}

#message #showroom p{
	margin:0 auto 10px;
	font-size:1.4rem;
	text-align:center;
	font-style: italic;
	letter-spacing:0.05em;
}

#message table{
	width:100%;
	margin:20px auto;
	border:none !important;
	border-collapse: separate;
	border-spacing: 0 20px;
}

#message table tr{
	line-height:2;
	margin:10px auto;
}

#message table th{
	width:30%;
	vertical-align: middle;
	font-size:1.5rem;
	border-top:none !important;
	border-right:none !important;
	border-bottom:none !important;
	border-left:4px solid #dbdac5;

}

#message table td{
	border-top:none !important;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	padding-left:0px;
	font-size:1.5rem;
}

#philosophy{
	width:100%;
	margin:40px auto 0;
}
#philosophy .slogan{
	margin-bottom: 40px;
	text-align: center;
}
#philosophy .slogan p{
	font-weight: bold;
 font-size: 2.6rem;
}
	
#philosophy .slogan span{
	font-size: 1.4rem;
    letter-spacing: 0.15em;
}

#philosophy .slogan > hr {
    margin: 30px auto;
    width: 60px;
    height: 4px;
    background: #8b0007;
    border-color: #8b0007;
}

/* company overview */
#company_overview table{
	width:100%;
	margin:0 auto 10px;
	border:none !important;
	border-spacing: 0 20px;
	border-bottom:2px solid #dbdac5 !important;
	border-collapse:collapse;
}

#company_overview table tr{
	line-height:2;
	margin:10px auto;
	padding:20px 0;
	border-top:2px solid #dbdac5;
	border-bottom:2px solid #dbdac5;
	clear:both;
}

#company_overview table th{
	width:100%;
	display: block;
	vertical-align: middle;
	border-top:none !important;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	padding-top:20px;
}

#company_overview table td{
	width:100%;
	display: block;
	border-top:none;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	font-size:1.6rem;
	padding-top:0px;
	padding-bottom:20px;
}

#company_overview p.attention{
	max-width:100%;
	margin:0 auto;
	font-size:1.3rem;
	letter-spacing:0.05em;
	text-align:right;
}

/* Access */
#access iframe{
	margin:40px auto 0px;
}

#access table{
	width:100%;
	margin:20px auto 60px;
	border:none !important;
	border-collapse: separate;
	border-spacing: 0 20px;
}

#access table tr{
	line-height:2;
	margin:10px auto;
	overflow:hidden;
}

#access table th{
	width:100%;
	display:block;
	vertical-align: top;
	border:none !important;
	font-size: 1.5rem;
	padding:0;
}

#access table td{
/*	width:70%;*/
	display:block;
	border-top:none !important;
	border-right:none !important;
	border-bottom:none !important;
	border-left:none !important;
	font-size:1.5rem;
	padding-left:0px;
}

/* カンパニー：問い合わせフォーム */

/*#contact{
	width:40%;
}
*/
.contactform_txt{
	margin:30px auto;
	font-size: 1.5rem !important;
	line-height:2;
	letter-spacing:0.05em;
	text-align:left;
}

div.wpcf7 .ajax-loader{
	display:none;
	margin:0 !important;
}

.wpcf7-form-control-wrap select{
    padding: 1.5rem 1.8rem;
    border-width: 0.1rem;
    background: #fff;
    border-radius: 0;
    border-style: solid;
    border-color: #dbdbdb;
}

.company_form label{
	font-size: 1.4rem !important;
}

.cation{
	font-size: 1.2rem !important;
	color:#8b0007;
}

#confirm,#submit_sent{
    margin: 0 20px 0 0;
	background-color:#8b0007 !important;
	font-weight: normal;
}

#confirm_back{
	background-color:#bbb !important;
}

/*　採用:共通 */
#recruit_mv{
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

#recruit_mv li {
	position:relative;
}

#recruit_mv li img{
	position:relative;
	z-index:997;
}

#recruit_mv a{
	text-decoration:none;
	color:#fff;
	position:relative;
	z-index:999;
}

#recruit_mv a:hover{
	text-decoration:none;
	opacity:0.6;
}

#recruit_mv li p{
	position:absolute;
	top:0;
	z-index:998;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
	vertical-align:middle;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1.5px solid #fff;
	padding:10px 5%;
	text-align:center;
	font-weight:normal;
	letter-spacing: 0.1em;
	color:#fff;
	text-decoration:none;
	background-color: rgba(55,55,55,0.3);
}

#recruit_nav{
	margin:40px auto 40px;
}

#recruit_nav ul{
	width:90%;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#recruit_nav ul li{
	width:45%;
	height:50px;
	text-align:center;
	margin:0 auto 5%;
	padding:10px 0 13px;
	background:#312425;
	color:#fff;
	font-size:1.4rem;
	position:relative;
}

#recruit_nav ul li a{
	color:#f2f2f2 !important;
	text-decoration:none;
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}

#recruit_nav ul li a span:first-child{
	font-size:2.5rem;
    position: relative;
    top: 5px;
}

#recruit_nav ul li a span:last-child{
	font-size:1.4rem;
	padding-left:10px;
    position: relative;
    top: 2px;
}

#recruit_nav ul li:first-child span:last-child{
	padding-left:0px !important;
}

.recruit_top_link{
	position:relative;
	width:60%;
	height:50px;
	margin:0 auto;
	padding:15px 0;
	text-align:center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1px solid #444;
	border-radius:5px;
	font-size:1.4rem;
	font-weight:bold;
	letter-spacing:0.05em;
}

.recruit_top_link a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	line-height: 46px;
}

.recruit_top_link i{
	padding-left:10px;
}

/* 採用：メッセージ */

#recruit_message{
	margin:0 auto;
	padding:0;
}
/*
#recruit_message .sub_title{
	width:60%;
}
*/
#recruit_message_sentence{
	margin:30px auto 0;
	font-size:1.5rem;
	line-height:1.7;
}

/* 採用：理念 */
#recruit_vision{
	padding:0px 0 40px;
}
#recruit_vision > .slogan{
    text-align: center;
    font-size: 2.6rem;
    font-weight: bold;
    padding: 1.2em 0 0.8em;
}
	

.recruit_vision_visual{
	margin:30px auto 30px;
	padding:0;
}

.recruit_vision_visual div{
	width:90px;
	margin:0 auto 40px;
	padding:10px 0;
	background:#8b0007;
	color:#fff;
	font-size:1.4rem;
	text-align:center;
}

.recruit_vision_visual p.italic{
	margin:0px auto 10px;
	font-size:1.5rem;
	font-style:italic;
	text-align:center;
	letter-spacing:0.05em;
}

.recruit_vision_visual p:last-child{
	margin:0px auto 20px;
	font-size:2.3rem;
	font-weight:bold;
	text-align:center;
	letter-spacing:0.1em;
}

#recruit_vision #vision_line{
	width:60px !important;
	height:4px !important;
	background:#8b0007 !important;
	margin:0 auto !important;
	border: none !important;
}

#recruit_vision  .recruit_vision_txt{
	margin:30px auto 0;
	font-size:1.4rem;
}

#recruit_mission{
	width:95%;
	margin:40px auto;
	padding:10px 0;
	border:5px solid #dbdac5;
}

#recruit_mission li{
	width:80%;
	margin:20px auto;
	font-size:1.2rem;
	letter-spacing:0.05em;
}

#recruit_mission li span{
	display:block;
	font-weight:bold;
	font-size:1.4rem;
	padding-right:0px;
}

#recruit_mission_wrap .recruit_vision_txt{
	font-size: 1.4rem;
	line-height:1.7;
}

.more_button{
	position:relative;
	width:80%;
	height:50px;
	margin:40px auto 0;
	padding:15px 0;
	text-align:center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border:1px solid #444;
	border-radius:5px;
	font-size:1.4rem;
	font-weight:bold;
	letter-spacing:0.05em;
}

.more_button a{
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	line-height: 48px;
	letter-spacing: 0.2em;
}

.more_button i{
	padding-left:10px;
}

/* 採用：求める・与える */

#recruit_givetake{
	max-width:100% !important;
	margin:0 auto 80px;
	padding:0;
}

#recruit_givetake hr{
	width:90%;
}

/*#recruit_givetake .sub_title {
    width: 55%;
    position: relative;
    top: -12px;
    text-align: center;
    margin: 0 auto;
    padding: 0 0px;
    background: #fff;
    font-size: 1.4rem;
    font-weight: bold;
}*/

#recruit_givetake ul{
	width:100%;
	margin:60px auto 40px;
	display:block;
}

#recruit_givetake ul li{
	width:90%;
	margin:0 auto;
	padding:30px 20px;
	border:none;
	overflow:hidden;
}

#recruit_givetake ul li i{
	float:left;
	display:block;
	margin:0 auto;
	padding-right:20px;
	text-align:left;
	color:#8b0007;
	font-size:3rem;
}

#recruit_givetake ul li .givetake_title{
	margin:0 auto 30px 10px;
	color:#fff;
	text-align:left;
}

#recruit_givetake ul li .givetake_title span{
	background:#444;
	padding:5px 15px;
}

#recruit_givetake ul li .givetake_txt{
	margin:0 auto;
	text-align:justify;
	font-size:1.4rem;
	line-height:1.7;
	letter-spacing:0.05em;
}

#recruit_givetake #givetake_line{
	width:60px !important;
	height:4px !important;
	background:#dbdac5 !important;
	margin:0 auto !important;
	border:0;
}

/* 採用：職種別 */
#job{
	max-width:100%;
	margin:60px auto;
	padding:0;
}

#job .title{
	width:90%;
	margin:0 auto;
}

#job h2{
	width:90%;
	margin:20px auto;
}

#job_wrap{
	margin:60px auto;
	padding:0;
}

#job_wrap .job_name{
	width:100%;
	height:70px;
	position:relative;
	margin:0 auto 4px;
	padding:20px 0 0 30px;
	text-align:left;
	background:#312425;
	color:#f2f2f2;
	font-size:1.8rem;
	letter-spacing:0.05em;
	cursor:pointer;
	font-weight:normal;
}

#jyutyuu span{
	position: relative;
    top: -3px;
}

#job_wrap .job_main_img{
	width:100%;
	margin:0 auto;
}

#job_wrap .job_name img{
	position:relative;
	top:8px;
	width:25px;
	display:inline;
}

#job_wrap #jyutyuu img{
	width: 22px !important;
	top:5px;
}

#job_wrap .job_name span{
	vertical-align: middle;
	padding-left:10px;
}

#job_wrap .job_name i{
       width: 25px;
    text-align: center;
}

#job_wrap .job_name i.down-arrow{
    position: absolute;
    right: 30px;
    top: 28px;
	/*text-align:right;*/
}

#job_wrap .job_name i.rotate{
	-moz-transform: rotateX(180deg);
	-webkit-transform: rotateX(180deg);
	-o-transform: rotateX(180deg);
	-ms-transform: rotateX(180deg);
}

#job_wrap .job_body{
	display:none;
	margin:0 auto;
	padding:0 0 0px;
}

.job_copy{
	width:90%;
	margin:40px auto;
	padding-left:20px;
	border-left:4px solid #8b0007;
	font-size:1.8rem;
	font-weight:bold;
}


	
.job_other_wrap{
	white-space: nowrap;
	overflow-x: auto;
    -webkit-overflow-scrolling: touch;

}
.job_other_img{
	width:170%;
	/*max-width: 1300px;*/
	margin:0 auto;
	display:flex;
	/*overflow-x: auto;*/
	/*-webkit-overflow-scrolling: touch;*/
}

.job_other_img li{
	width:33.3%;
	padding:0 2.5%;
	/*margin: 0 2%;*/
}

.job_other_img img{
	width:100%;
}

.job_title{
    width: 90%;
    margin: 80px auto 20px;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
}

.job_title i{
	color:#8b0007;
	font-size:2.6rem;
}

.job_title span{
	padding-left:20px;
	font-weight:bold;
}

.job_txt{
	width: 90%;
    margin: 0 auto;
	font-size:1.4rem;
	line-height:2;
	text-align:justify;
	/*letter-spacing:0.05em;*/
}

.job_menu{
	width:90%;
	margin:30px auto;
	overflow:hidden;
	display:block;
	/*
    -webkit-flex-grow: 1;
    flex-grow: 1;
	justify-content:space-between;
	*/
}

.job_last_img{
	width:100%;
}

.job_last_img img{
	width:100%;	
}

.job_menu div:last-child{
	width: 100%;
}

.job_menu_title{
	margin:40px auto 10px;
	font-size:1.6rem;
	font-weight:bold;
}

.job_menu ul{
	margin:20px auto 0;
	padding:0 0 0 0px;
}

.job_menu ul li{
	/*list-style:square;*/
	font-size:1.4rem;
	line-height:2;
	padding-left:10px;
}

.job_menu ul li::before{
	content:"■　";
	font-size:0.8rem;
	top:-2px;
}

.job_menu hr{
	margin:20px auto;
}

.job_link{
    position: relative;
    width: 200px;
    height: 50px;
    margin: 0 auto;
    padding: 15px 0;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #312425;
    border-radius: 5px;
    font-size: 1.4rem;
    font-weight: normal;
    letter-spacing: 0.05em;
	color:#fff;
	background:#312425;
}

.job_link a{
	color:#fff !important;
	display:block;
	position:absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
	line-height: 44px;
}
.job_link a:hover{
	color:#312425 !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #312425;
    border-radius: 5px;
	background:#fff;
}

.job_link i{
	padding-left:10px;
}

/* 採用ページ：数字で見るロココ */
#figures{
	max-width: 90% !important;
	margin:120px auto;
	padding:0;
}

#figures hr{
	width:100%;
}
/*
#figures .sub_title{
	width:45%;
}
*/
#figures ul{
	width:100% !important;
	margin:60px auto 0;
	display:block;
	/*
	align-content: space-between;
    -webkit-flex-grow: 1;
    flex-grow: 1;
	flex-wrap:wrap;
	*/
}

#figures ul li{
	width:100%;
	margin:20px auto;
}

/* 採用ページ：成長計画 */
#plan{
	margin:60px auto 80px;
	padding:0;
}
/*
#plan .title_team{
	width:85%;
}*/

/*#plan .title_mokuhyou{
	width:40%;
}
*/
/*#plan .title_bonus{
	width:40%;
}
*/
/*#plan .title_benefit{
	width:75% ;
}
*/
section#plan .plan_txt{
	width:100%;
	margin:40px auto 0;
	text-align:justify;
	font-size: 1.4rem;
    line-height: 1.7;
}

#plan .plan_line{
	margin:40px auto !important;
	width:60px !important;
	height:4px !important;
	background:#dbdac5 !important;
	border-color:#dbdac5 !important;
}

/* 採用ページ：社内活動*/

#activity{
	margin: 60px auto;
    padding: 0;
}

.activity_title,.activity_txt {
    width: 100%;
    margin: 40px auto 0;
    text-align: justify;
    font-size: 1.4rem;
}

#activity .activity_line{
	margin:40px auto !important;
	width:60px !important;
	height:4px !important;
	background:#dbdac5 !important;
	border-color:#dbdac5 !important;
}

#activity ul{
	/*width:100%;*/
	width:720px;
	/*height: 100vh;*/
	margin:30px auto;
	display:flex;
	/*align-content: space-around;*/

}

#activity .activity_img{
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
	white-space:nowrap;
}

#activity ul li{
	width: 220px;
    margin: 0 20px 0 0;
}
/*
#activity .bbq{
	width: 50%;
}
*/
/* 理念 */

#philosophy_title{
	width:100%;
	margin:20px auto 0;
	padding:15px 0;
	background:#e6e6e6;
	font-size:2.6rem;
	text-align:center;
}
	
.slogan_box {
    position: relative;
	border: 2px solid #8b0007;
	
}
	
.slogan_box > p{
position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -11px;
    background-color: #ffffff;
    padding: 0 1.5em;
    font-weight: bold;
	font-size: 1.4rem
}


#recruit_mission_wrap{
	padding: 0rem 0 2rem;
}

#recruit_mission_wrap hr{
	margin:30px auto;
	width:60px;
	height:4px;
	background:#8b0007;
	border-color:#8b0007;
}

.point3{
	margin:30px auto;
	padding:15px 0;
	background:#444;
	font-size:1.9rem;
	color:#fff;
	text-align:center;
	letter-spacing:0.1em;
}

.big{
	font-size:2.6rem;
}

.middle{
	font-size:1.9rem;
}

.small{
	font-size:1.7rem;
}

.kati{
	font-size: 2.2rem;
/*    padding-top: 0.2em;
    background-position: top left -6px;
    background-repeat: repeat-x;
    background-size: 1.3em .3em;
    background-image: radial-gradient(.12em .12em at center center,#fff,#fff 100%,transparent);
*/
	text-emphasis: filled dot;
	-webkit-text-emphasis: filled dot;
}

.point3_visual{
	width:100%;
	margin:40px auto;
	text-align:center;
}

.point3_txt{
	width:100%;
	margin:40px auto 20px;
	overflow:hidden;
}


.point3_txt dt{
	width: 20%;
    float: none;
    margin: 0;
    margin-right: auto;
	margin-bottom:10px;
    padding: 5px 0px;
    background: #444;
    color: #fff;
    font-size: 1.4rem;
	text-align:center;
	font-weight: normal;
}

.point3_txt dd{
	width: 100%;
    min-height: 50px;
    float: none;
    font-size: 1.2rem;
    padding: 0;
    margin: 0 0 30px 0;
}

/*.point3_txt dd:last-child{
	margin:20px auto 0;
}*/

.mission_txt{
	width:100%;
	margin:20px auto 40px;
	font-size:1.4rem;
	letter-spacing: 0.05em;
}

.square{
	width:45px;
	font-size:0.6rem;
	color:#dbdac5;
	margin:0 auto 40px;
	text-align:center;
	display:flex;
}

.square span{
	display:block;
	margin:0 auto;
	width:6px;
	height:6px;
	align-content: space-around;
	text-align:center;
}

#recruit_action{
	marign:80px auto;
	padding:0;
}

.action_txt{
	font-size:1.5rem;
	letter-spacing:0.05em;
	text-align:center;
}

.action_txt span:first-child{
	font-size:2.5rem;
}

.action_txt span:last-child{
	font-size:1.9rem;
}

#action_line{
	width:80%;
	height:1px;
	background:#222;
	margin:0 auto;
	padding:0;
}

#action{
	width:100%;
	margin:30px auto;
}

#action li{
	text-align: left;
	margin:0 auto 20px;
	height:60px;
	vertical-align: middle;
}

#action li span{
	height:60px;
	vertical-align: middle;	
}

#action li span:first-child{
	font-size:2.5rem;
	color:#dbdac5;
	font-style:italic;
}

#action li span:nth-child(2){
	padding:0 50px 0 15px;
	font-size:2.2rem;
	font-weight:bold;
	letter-spacing:0.1em;
}

#action li span:nth-child(3){
	display:block;
	font-size:1.4rem;
	letter-spacing:0.05em;	
}

#recruit_action #vision_line{
	width:60px !important;
	height:4px !important;
	background:#8b0007 !important;
	margin:0 auto 60px !important;
	border: none !important;
}

/*　募集要項 */

#job_description table{
	width: 98%;
    margin: 30px auto;
	border:2px solid #bbb;
	color:#222;
}

#job_description table tr{
	margin:10px auto;
	padding:10px 0;
	border:2px solid #bbb;
}

#job_description table th{
	width:30%;
	font-size:1.2rem;
	text-align: center;
	letter-spacing:0.1em;
	border:2px solid #bbb;
	background:#e7e7e7;
}

#job_description table td{
	width:70%;
	font-size:1.4rem;
	padding:20px;
	line-height:2;
	letter-spacing:0.05em;
	border:2px solid #bbb;
}

#job_description table td span{
	font-size:1.2rem;
}

#job_description ul{
    width: 100%;
    margin: 40px auto 0;
    display: block;
	/*
    -webkit-justify-content: space-between;
    justify-content: space-between;
	*/
	overflow:hidden;
}

#job_description ul li{
	width:90%;
	margin:0 auto 40px;
}

#job_description ul li p.job_name{
	margin:0 auto 10px;
	padding-bottom:10px;
	font-size:1.6rem;
	font-weight:bold;
	text-align:center;
	border-bottom:1px solid #ccc;
}

#job_description ul li p.job_name span{
	/*font-size:1rem;*/
	color:#8b0007;
	padding-right:0px;
}

#job_description ul li div{
	margin:0 auto;
	text-align:center;
	line-height: 1;
}

#job_description ul li .job_attention{
	font-size:1.5rem;
	text-align:center;
	letter-spacing:0.05em;
	/*padding-left:10px;*/
}

#job_description ul li div a{
	text-align:center;
	color:#1111cc !important;
	font-size:1.5rem;
	/*padding-left:10px;*/
}

.arrow{
    margin: 0 auto;
    text-align: center;
    font-size: 3rem;
}

#entry .entry_txt{
	font-size:1.5rem !important;
}

#entry label{
	font-size: 1.4rem !important;
}

#entry .cation {
    font-size: 1.2rem !important;
    color: #8b0007;
}

}