@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cambay:wght@700&family=Noto+Serif+SC:wght@200;300;400;500&display=swap');

/**fonts*
    font-family: yu-mincho-pr6n, sans-serif;
    font-weight: 400;
    font-style: normal;

	font-family: ryo-text-plusn, serif;
    font-weight: 200;
    font-style: normal;

    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 200;
    font-style: normal;

    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 200;
    font-style: normal;

/****/
body {
    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 200;
    font-style: normal;
    letter-spacing: 1px;
    line-height: 1.7;
}
a {
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
    text-decoration: none!important;
}
a:focus, a:active {
  outline: none;
}
ul{
	margin:0;
	padding:0;
	list-style: none;
}
.row-0{ 
    margin-left:-15px;  
    margin-right:-15px;
}
.row-0 > div{
        padding-right:0;
        padding-left:0;
 }
.row-10{
    margin-left:-5px;
    margin-right:-5px;
}
.row-10 > div{
        padding-right:5px;
        padding-left:5px;
 }
.max_w{
    max-width: 1400px;
}
.wrapper{
    overflow: hidden;
}
/**img_bg***/
.bg_img{
    background-size: cover;
    width:100%;
    height: 100%;
    background-position: center;
}
/**sub**/
.sub{
    font-size: .9em;
    letter-spacing: 2px;
	font-family: ryo-text-plusn, serif;
    font-weight: 200;
    font-style: normal;

}
/**mincho***/
.min{
    font-family: yu-mincho-pr6n, sans-serif;
    font-weight: 400;
    font-style: normal;
}
.sub_fz{
    font-size: 1.2em;
}
/*link**/
.link{
    position: relative;
}
.link a{
    display: block;
    background-color:#54442d;
    padding:25px;
    text-align: center;
    color:#fff!important;
    border:1px solid #54442d;
}
.link a:hover{
    background-color:#fff;
    color:#54442d!important;
}
.link a::after,.link a::before{
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 80px;
  height: 1px;
  background: #fff;
    transition: 0.4s linear;
}
.link a::after{
    width: 30px;
  transform: translate(30px, 0px);
}
.link a::before{
     width: 12px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(25deg);
}
.link a:hover::after,.link a:hover::before{
    right:70px;
    background-color:#54442d;
}
/*link2**/
.link2{
    position: relative;
}
.link2 a{
    display: block;
    background-color:#A7000E;
    padding:25px;
    text-align: center;
    color:#fff!important;
	border:1px solid #A7000E;
}
.link2 a:hover{
    background-color:#fff;
    color:#A7000E!important;
}
.link2 a::after,.link2 a::before{
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 50px;
  height: 1px;
  background: #fff;
    transition: 0.4s linear;
}
.link2 a::after{
    width: 40px;
  transform: translate(30px, 0px);
}
.link2 a::before{
     width: 15px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(25deg);
}
.link2 a:hover::after,.link2 a:hover::before{
    right:40px;
    background-color:#A7000E;
}
.title{
    font-size: 2.5em;
}
/*header**/
header .h_logo img{
    max-height: 70px;
}
header{
    transition: .4s linear;
}
header.h_fixed{
    background-color:#fff;
}
header h1{
    font-size: 2em!important;
    letter-spacing: 5px;
	font-family: ryo-text-plusn, serif;
    font-weight: 200;
    font-style: normal;
}
header h1 span{
    font-size: 15px;
    letter-spacing: 1px;
    font-family: ryo-gothic-plusn, sans-serif;
    font-weight: 200;
    font-style: normal;
    vertical-align: middle;
}
/**nav**/
ul#top_nav {
	display: table;
    text-align: center;
    width:100%;
}
#top_nav li{
	display: table-cell;
	vertical-align: middle;
}
#top_nav li a{
    display: block;
    padding:3px 0;
    color:#33291b;
}
.page:not(.home) #top_nav li a,.archive #top_nav li a,.single #top_nav li a,.page:not(.home) header a h1{
    color:#fff;
}
.h_fixed #top_nav li a,.page:not(.home) .h_fixed #top_nav li a,.archive .h_fixed #top_nav li a,.single .h_fixed #top_nav li a{
    color:#33291b!important;
}
header.h_fixed a h1{
    color:#33291b!important;
}
.h_fixed #top_nav li a:hover,#top_nav li a:hover,.h_fixed #top_nav li a:hover,.page:not(.home) .h_fixed #top_nav li a:hover,.archive .h_fixed #top_nav li a:hover,.single .h_fixed #top_nav li a:hover{
    color:#957101!important;
}
/*slide*/
.slide-animation{
    animation: fadezoom 8s 0s forwards;
}
@keyframes fadezoom {
  0% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}
@-webkit-keyframes fadezoom {
  0% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}
.slide{
    overflow:hidden;
    width:100%;
}
.slide img{
    width:100%;
}
/**slide_text*/
#hero.top2{
    position: relative;
}
.top2 .slide_text{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);    z-index: 1;
    width:100%;
}
.top2 .slide_text_w h2{
    margin-bottom: 0;
    font-style:italic;
    font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    letter-spacing: 2px;
    font-size: 2.8em;
    color:#CF0012;
    text-shadow: 0px 1px 2px #fafafa;
}
.top2 .slide_text_w h3{
    text-shadow: 0px 1px 1px #fafafa;
}
/*svg***/
.svg_logo{
    fill:#fff;
    filter: drop-shadow(2px 2px 6px #fff);
}
/***top3**/
.top3 h2{
    font-family:  'Cambay',YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
/**top_left***/
#top_w100{
    position: relative;
    z-index: 0;
    background-position: center;
    background-repeat: no-repeat;
    width:100%;
    background-size: cover;
}
#top_w100 .top_w100_w::after{
    content: "";
    width:100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    /*background-color:rgba(33,50,73,0.47);*/
    display: block;
    top:0;
    left:0;
}
#top_w100 .top_w100_w::before{
    content: "";
    width:50%;
    height: 100%;
    position: absolute;
    z-index: -1;
    /*background-color:rgba(70,85,98,0.11);*/
    display: block;
    top:0;
    left:0;
}
.top_left01 h4{
    font-size: 1.3em;
}
/****top_se****/
#top_se{
    background-image: url("../img/bg.jpg");
}
.top_se_text p{
    letter-spacing: 2px;
   
}
#top_se .top_box figure{
    height: 200px;
}
#top_se .top_box figure img{
    height: 100%;
}
#top_se .top_box_text h3{
    font-size: 1.2em;
    padding:25px;
    background-color:#54442d;
    color:#fff;
}
.top_box_text{
    position: relative;
}
.top_box_text h3::after,.top_box_text h3::before{
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 80px;
  height: 1px;
  background: #fff;
  transition: 0.4s linear;
}
.top_box_text h3::after{
    width: 30px;
  transform: translate(30px, 0px);
}
.top_box_text h3::before{
     width: 12px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(25deg);
    
}
.top_box_text h3:hover::after,.top_box_text h3:hover::before{
    right:60px;
    background-color:#fff;
}
/**top_lineup****/
#top_link{
    background-image: url(../img/top_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
}

#top_link figure{
    width:100%;
    height: 250px;
}
#top_link figure img{
    width:100%;
    height: 100%;
}
.top_link_text_w{
    margin-top: 150px;
    margin-bottom: 100px;
}
.top_link_text_w h2,.top_link_text_w h3,.top_link_text_w p{
    color:#fff;
}
.img_scale{
    position: relative;
}
.top_link_box{
    position: absolute;
    top:0;
    left:0;
    background-color:rgba(0,0,0,0.3);
    width:100%;
    height: 100%;
    transition: .4s linear;
}
.top_link_box:hover{
    background-color:transparent;
}
.top_link_box p{
    color:#fff;
    position: absolute;
  top: 50%; /*親要素を起点に上から50%*/
  left: 50%;  /*親要素を起点に左から50%*/
  transform: translateY(-50%) translateX(-50%); /*要素の大きさの半分ずつを戻す*/
  -webkit-transform: translateY(-50%) translateX(-50%);
    z-index: 2;
    transition: .4s linear;
    border:1px solid #fff;
    padding:5px 15px;
    margin-bottom: 0;

}

/*footer全ページ共通*/
#f_bottom .container-fluid{
    padding:0;
}
.f_bottom_w{
    padding:100px 0;
    text-align: center;
    font-size: 1.2em;
    background-size: cover;
    position: relative;
    z-index: 1;
}
.f_bottom_w a::before{
    position: absolute;
    left:0;
    top:0;
    content:"";
    z-index: -1;
    width:100%;
    height: 100%;
    background-color:rgba(0,0,0,0.48);
    transition: .4s linear;
}
.f_bottom_w a:hover::before{
    background-color:rgba(0,0,0,0);}
.f_bottom_w a{
    color:#fff!important;
    display: block;
}
.f_bottom_w p{margin-bottom: 0;}
.f_bottom1{
    background-image: url("../img/f_bottom1.jpg");
    background-position:bottom;
}
.f_bottom2{
    background-image: url("../img/f_bottom2.jpg");
}
.f_bottom3{
    background-image: url("../img/f_bottom3.jpg");
}
/**footer****/
footer iframe{
 -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
footer h1{
    font-size: 1.2em;
    margin-bottom: 20px;
    font-weight: bold;
}
footer h1 img{
    width:80px;
    margin-right: 10px;
    display: inline-block;
}
footer li{
    display: inline;
}
footer li a{
    font-size: 14px;
    margin-right:10px;

    
}
footer li a:hover{
    color:#999!important;
}
footer li a::before{
}
footer address,footer iframe{
    margin-bottom: 0;
}
footer iframe{
    height: 360px;

}
footer address p{
    margin-bottom: 0;
}
footer .fb_w i{
    font-size: 1.4em;
}
.fb_w{
    text-align: center;
}
.fb_w a{
    color:#fff!important;
    display: block;
    padding:15px;
    border-radius: 2px;
    background-color:#135589;

}
.fb_w a:hover{
    background-color:#393C42;
}

.add_w{
    background-color:#fff;
    padding:50px 30px 0 30px;
    text-align: center;
    height: 360px;
}
.add_w span{
    font-size: 0.9em;
    color:#c57029;
}
.add_w h1{
    font-size: 2em;
    letter-spacing: 5px;
    font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-weight: normal;
}
.f_text{
    background-image: url("../img/bg.jpg");
    background: linear-gradient(180deg, #eeece0 0%, #eeece0 60%, #ccbaa0 0%, #ccbaa0 60%);
}
/**scroll*/
#page_top{
  width: 90px;
  height: 90px;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
    background-color:#fff;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f062';
  font-size: 25px;
  color: #54442d;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -13px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  transition: .4s linear;
}

#page_top a:hover::before{
    top:0;
}

/***ページレイアウト1**オリジナル１*/
#title.ori1{
    position: relative;
    z-index: -1;
}
.ori1 .title_w{
    background-position: center;
    padding:275px 0;
    overflow:hidden;
    background-size: cover;
    background-repeat: no-repeat;
}
.ori1 .title_w::before{
    width:100%;
    height: 100%;
    content:"";
    background-color:rgba(0,17,30,0.30);
    position: absolute;
    top:0;
}
.ori1 .page_title{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);    
    color:#fff;
}
.ori1 .page_title h2{
    font-size: 2.3em;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    text-align: center;
}
#article.ori1{
    background-image:url("../img/bg.jpg");
}
/***article**/
.art_w{
    margin-top:-300px;
    padding-top: 100px;
}
.art_inner{
    background-color:#fff;
    border-radius: 5px 5px 0 0;
}
/***about_w****/
.about_w h4{
    background-color:#fafafa;
    border-top:1px solid #CDB581;
    border-bottom:1px solid #CDB581;
    padding:15px;
    font-size: 1.2em;
}
.about_w .miryoku p{
    text-align: justify;
    text-justify: inter-ideograph;
    font-size: .9em;
}
.miryoku figure{
    margin-bottom: 20px;
}
.miryoku h4{
    color:#C57029;
    font-weight: bold;
}
/***env***/
.env_w h3{
    font-size: 1.4em;
}

/****next**/
.next_w{
    padding-left:0;
    padding-right:0;
}
.next_left a,.next_right a{
    display: block;
    width:100%;
    height: 100%;
    color:#fff!important;
    text-align: center;
}
.next_left a h3,.next_right a h3{
    padding-top: 200px;
}
.next_left a:hover h3,.next_left a:hover p,.next_right a:hover h3,.next_right a:hover p{
    color:#C57029
}

.next_left,.next_right{
    position: relative;
    z-index: 1;
    background-size: cover;
    height: 450px;
    width:100%;

}

.next_left::before{
    width:100%;
    height: 100%;
    content:"";
    background-color:rgba(0,17,30,0.40);
    position: absolute;
    top:0;
    z-index: -1;
    transition: .4s linear;
}

.next_right::before{
    width:100%;
    height: 100%;
    content:"";
    background-color:rgba(0,17,30,0.40);
    position: absolute;
    top:0;
    z-index: -1;
    transition: .4s linear;
}
.next_left:hover::before,.next_right:hover::before{
    background-color:rgba(0,0,0,0)
}
/***about**/
.about .next_left{
    background-image: url("../img/top1.jpg");
}
.about .next_right{
    background-image: url("../img/top2.jpg");
}
/***environment**/
.environment .next_left{
    background-image: url("../img/slide3.jpg");
}
.environment .next_right{
    background-image: url("../img/message.jpg");
}
/***message**/
.message .next_left{
    background-image: url("../img/flow.jpg");
}
.message .next_right{
    background-image: url("../img/slide3.jpg");
}
/***flow**/
.flow .next_left{
    background-image: url("../img/message.jpg");
}
.flow .next_right{
    background-image: url("../img/top1.jpg");
}
/***company**/
.company .next_left{
    background-image: url("../img/top1.jpg");
}
.company .next_right{
    background-image: url("../img/flow.jpg");
}
/***entry**/
.entry .next_left{
    background-image: url("../img/message.jpg");
}
.entry .next_right{
    background-image: url("../img/faq.jpg");
}
/***contact**/
.contact .next_left{
    background-image: url("../img/slide3.jpg");
}
.contact .next_right{
    background-image: url("../img/top1.jpg");
}
/***faq**/
.faq .next_left{
    background-image: url("../img/top1.jpg");
}
.faq .next_right{
    background-image: url("../img/slide3.jpg");
}
/***job_list**/
.job_list .next_left{
    background-image: url("../img/flow.jpg");
}
.job_list .next_right{
    background-image: url("../img/message.jpg");
}



.faq_flow ul{
    border:1px solid #E8DACF;
    padding:15px;
}
.faq_flow ul li{
    font-size: 0.9em;
    margin-bottom: 4px;
}
.faq_flow span{
    margin-right: 15px;
    background-color:#F5EDE8;
    padding:0 10px;
    border-radius: 3px;
}
/**mes_w***/
.mes_w p{
    font-size: 1.07em;
    letter-spacing: 2.5px;
    line-height: 2;
}


/***会社ページ１***/
table.com_table{
    width:100%;
}
.com_table td{
    padding:20px;
    border-bottom:1px solid #ddd;
}
.com_table td:nth-child(odd){
    width: 30%;
    font-weight: bold;
}
.map_w iframe{
    width:100%!important
}


/**recruit_single**/
#rec_flow{
    background-color:#f4f5f7;
}
.rec_flow_box{
    padding:35px;
    background-color:#fff;
    font-size: 1.3em;
    position: relative;
    border:1px solid #eee;
    text-align: center;
}
.rec_flow_box::after{
    content:"";
    position: absolute;
    right:-15px;
    top: 50%;
    background-color:#6CBBDE;
    width:35px;
    height: 2px;
}
.rec_flow_box::before{
    content:"";
    position: absolute;
    right:-15px;
    top: 48%;
    background-color:#6CBBDE;
    width:10px;
    height: 2px;
    transform: rotate(30deg)

}
.rec_flow_box.last_box{
    background-color:#6CBBDE;
    color:#fff;
}
.rec_flow_box.last_box::after,.rec_flow_box.last_box::before{
    content:"";
    background:none;
}
.rec_flow_box span{
    color:#0F3A71;
    margin-right:5px;
    font-weight: bold;
}
.rec_flow_box.last_box span{
    color:#fff;
}
#single_job .rec_link a{
    display: block;
    padding:30px;
    font-size: 1.1em;
}
/*work_flow****/
.ent_flow {
  padding-left: 120px;
  position: relative;
}
.ent_flow::before {
  content: "";
  width: 15px;
  height: 100%;
  background: #eee;
  margin-left: -8px;
  display: block;
  position: absolute;
  top: 0;
  left: 120px;
}
.ent_flow > li {
  position: relative;
}
.ent_flow > li:not(:last-child) {
  margin-bottom: 8vh;
}
.ent_flow > li .icon {
  font-size: 12px;
  color: #fff;
  background: #907042;
  padding: 8px 20px;
  display: block;
  position: absolute;
  top: 0;
  left: -120px;
  z-index: 100;
}
.ent_flow > li .icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #5F441E;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.ent_flow > li dl {
  padding-left: 100px;
  position: relative;
}
.ent_flow > li dl::before,
.ent_flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}
.ent_flow > li dl::after {
	top:18px;
}
.ent_flow > li dl::before {
  width: 15px;
  height: 15px;
  margin-top: -3px;
  background: #333;
  border-radius: 50%;
  left: 0;
}
.ent_flow > li dl::after {
  width: 50px;
  border-bottom: 1px dashed #777;
  position: absolute;
  left: 20px;
}
.ent_flow > li dl dt {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 1vh;
}
.ent_link a{
	color:#907042;
}
.ent_link a:hover{
	color:#333;
}
.flow_box{
	border:2px solid #EEECE0;
	padding:30px;
	margin-bottom: 30px;
	background-color:#fff;
	position:relative;
}
.flow_box::after{
	content:"";
	background-color:#EEECE0;
	position:absolute;
	bottom:-40px;
	left:50%;
	z-index:1;
	height:50px;
	width:2px;
}

.flow_box:last-of-type::after{
	display:none;
}
.flow_box h2{
	background-color:#FCFCFA;
	color:#5F441E;
	font-size: 1.2em;
	padding:20px;
}
.flow_box span{
    display: inline-block;
    margin-right:15px;
}


/**faq***/
.faq_box{
    border:1px solid #ddd;
    padding:30px;
    margin-bottom: 30px;
}
.faq_box p.q1{
    margin-bottom: 10px;
}
.q1{
    background-color:#ddd;
    padding:5px 10px;
    display: inline-block;
    margin-right:10px;
}
.a1{
    background-color:#E8DACF;
    padding:5px 11px;
    display: inline-block;
    margin-right:10px;
}
/**job**/
.job_w table{
    width:100%;
}
.job_w table td{
    padding:15px;
    border:1px solid #EFECE8;
    background-color:#fff;
}
.job_w table td:nth-child(odd){
    background-color:#F9F9F9;
    
}
.job_w h2{
    font-size: 2em;
}
.job_w h3{
    font-size: 1.5em;
}
.sen{
    border-top:1px dashed #B68C4A;
    width:75%;
    margin:0 auto;
    margin-bottom: 80px;
}
/*job_box***/
.job_box a{
    border:1px solid #eee;
    padding:20px;
    display: block;
}