@charset "utf-8";
/* CSS Document */
@media only screen and (max-width: 768px) {
    .employee_wrap {
        min-width: inherit;
    }
    .employee_inner .box {
        min-width: inherit;
    }
}
@media only screen and (max-width: 1200px) and (min-width:769px) {
	.employee .page_ttl {
		float: none;
		width: 100%;
		min-height: inherit;
		padding: 3rem 0;
		height: auto;
	}
	.employee .page_ttl div {
		position: static;
		width: 100%;
		height: auto;
		text-align: center;
		justify-content: center;
	}
	.employee_inner {
		float: none;
		width: 100%;
	}
	.employee_wrap {
		min-width: 100%;
	}
	.employee .interview_inner .main_ttl .main_header div:last-child {
    width: calc(100% - 100px);
	}
	.interview_inner .slide_inner {
		width: 610px;
		margin-right: 5%;
	}
	.interview_wrap .arrows .slick-next:before,
	.interview_wrap .arrows .slick-prev:before {
		width: 100%;
		height: 100%;
		background-size: contain;
	}
	.interview_wrap .arrows .slick-next {
    width: 48px;
    height: 59px;
    right: 0;
    top: 50vh;
	}
	.interview_wrap .arrows .slick-prev {
    width: 48px;
    height: 59px;
    left: 0;
    top: 50vh;
	}
	.interview_inner .interview_slide {
		background-position: 40% top;
	}
	.interview_inner .txt {
		padding-right: 50px;
	}
	
}


@media only screen and (max-width: 767px) {
    /*ヘッダー-------------------------------------------------------------------*/
    .mv {
        background-position: 41% top;
    }
    .mv .inner {
        height: 180px;
    }
    .bread {
        display: none;
    }
    .floatBox .fL {
        float: none;
        width: 100%;
    }
    .floatBox .fR {
        float: none;
        width: 100%;
    }
/*会社案内-------------------------------------------------------------------*/

.company #sec01 .fR table tr {
        background: none !important;
    }
.company #sec01 .fR table tr:nth-of-type(odd) {
        background-color: #f0f0f0 !important;
    }

.company #sec01 .inner {
        width: 100%;
        padding:0;
    }
    
.company #sec01 .txt {
        width: 100%;
        padding:280px 8% 0;
    }
.company #sec01 .txt:before {
  content: "";
  width: 100%;
  height:240px;
  background: url(../../images/company/sp_bg-message.jpg) no-repeat center top;
  background-size: 100%;
  position: absolute;
  left: 0/*calc(100% - 1540px)*/;
  top: 0;
}
.company #sec02{
  padding-bottom: 280px;
  background-size: 100%;
	background-image: url("../../images/company/sp_bg01.jpg");
	background-position: center bottom;
}
    .company #sec02 .box .img {
        width: 100%;
    }
    .company #sec02 .box .txt {
        width: 100%;
        margin: 0;
        position: static;
    }
    .company #sec02 .box .txt .ttl {
        margin-left: 0;
    }
    .company #sec02 .box .txt dt {
        line-height: 1.4;
        background-position: 25px 10px;
    }
    .company #sec02 .box .txt dd {
        width: calc(100% - 140px);
        line-height: 1.4;
        margin-left: 20px;
    }

.company_table { }

.company_table tr:nth-of-type(2n) {
  background-color: #f0f0f0;
}
.company #sec02 .his th,
.company #sec02 .his td{
  display: block;
  width:100% !important;
}

.company #sec02 .his th {
  padding: 20px 0 5px 40px;
  background: url(../../images/common/icn-dot_blue.jpg) no-repeat 25px 25px;
}
.company #sec02 .his td {
  padding-left: 38px;
  line-height: 1.6;
}

.company #sec03 .box,
.contact .inner .box{
  display: block;
}
.company #sec03 .box:last-child {  margin-bottom:10px; }
.company #sec03 .box .img,
.contact .inner .box .img{
  width: 100%;
  margin:15px auto;
}
.company #sec03 .box .txt,
.contact .inner .box .txt{
  width: 100%;
  margin:auto;
  position: relative;
}


.company #sec04 .box{
  display: block;
}
.company #sec04 .box .txt:last-child {  margin-bottom:0; }
.company #sec04 .box .txt{
  width: 100%;
  margin:1.0rem auto 2.0rem;
  position: relative;
}

.company #sec04 .boxBaseCom{
  text-align:left;
}

.company #sec03 .box .txt .ttl {
  margin: 20px 0 20px;
}

.works .ttl_works,
.company #sec03 .ttl_works,
.occupations .ttl_works{
  background: url(../../images/works/bg-ttl02.png) no-repeat -485px top;
  padding: 12px 0 7px 6px;
  margin-bottom: 30px;
}

.company #sec03 .ttl_works h3,
.works .ttl_works h2,
.occupations .ttl_works h2{
  width: 100%;
  padding: 0 0;
  font-size: 1.1rem;
}

.company #sec03 .ttl_works .number,
.works .ttl_works .number,
.occupations .ttl_works .number{
  margin-right:20px;
	font-size: 2.2rem;
}
	.company #sec03 .ttl_works .number::before,
	.works .ttl_works .number::before,
	.occupations .ttl_works .number::before {
		font-size: 0.8rem;
	}
	.bl_schedule_ttl::after {
		width: 80%;
	}
	.employee .interview_inner .main_ttl .main_header div:last-child span:last-child {
		width: 100%;
	}
 /*社員紹介-------------------------------------------------------------------*/
    .employee_wrap {
        min-width: inherit;
    }
    .employee .page_ttl {
        height: 225px;
        width: 100%;
        min-height: inherit;
        float: none;
			padding: 0 25px;
    }
    .employee .page_ttl div {
        right: inherit;
			left: 25px;
    }
    .employee_inner {
        width: 100%;
        float: none;
    }
    .employee_inner .box {
        width: 100%;
        height: auto;
        min-height: inherit;
    }
    .employee_inner .box_inner {
        position: static;
        padding: 25px;
    }
    /*ヘッダー-------------------------------------------------------------------*/
    .recruit_list #sec02 .txt {
        width: 100%;
    }
    .recruit_list #sec02 {
        padding: 0;
    }
    .recruit_list #sec03 .ttl span {
        background: none;
        line-height: 1.6;
        text-align: center;
        padding: 0;
    }
    .recruit_list #sec03 li {
        display: block;
        width: 100%;
        line-height: 1.4;
        background-position: left 10px;
    }
    .recruit_list #sec03 li:nth-of-type(3) {
        margin-bottom: 25px;
    }
    .flow_wrap {
        display: none;
    }
    .cate_area span {
        display: block;
        margin-bottom: 15px;
    }
    .job_box .left {
        width: 100%;
        float: none;
        line-height: 0;
    }
    .job_box .left img {
        width: 100%;
        max-width: none;
    }
    .job_box .right {
        width: 100%;
        float: none;
        padding: 40px 20px 56px 20px;
        margin: 0;
        background-size: cover;
    }
    .job_box .right .ttl {
        padding-left: 90px;
    }
    .job_box .right dt {
        float: none;
        width: 100%;
        margin-bottom: 10px;
    }
    .job_box .right dd {
        width: 100%;
        float: none;
        padding-left: 15px;
        margin-bottom: 25px;
			line-height: 1.5;
    }
    #recruit #recruit_lead .left {
        width: 100%;
        float: none;
        line-height: 0;
    }
    #recruit #recruit_lead .left img {
        max-width: none;
        width: 100%;
    }
    #recruit #recruit_lead .right .icn_new {
        position: absolute;
        top: -35px;
        right: inherit;
        left: 20px;
        line-height: 1;
    }
    #recruit #recruit_lead .right {
        width: 100%;
        float: none;
    }
    #recruit #recruit_lead .right .txt .icn {
        display: block;
        margin-bottom: 5px;
			margin-right: 0;
    }
    #recruit #recruit_lead .right .txt {
        padding-left: 0;
    }
#recruit #recruit_lead .box_message {
        padding-top:70%;
		padding-right: 0;
    }

#recruit #recruit_lead .box_message .ttl {  
  background: url(../../images/recruit/bg-ttl02.jpg) no-repeat left -8px center;
  background-size:cover;
  font-size: 1rem;
  font-weight: bold;
  padding: 20px 0 20px 130px;
}
#recruit #recruit_lead .box_message .txt {
  padding: 20px;
}
#recruit #recruit_lead .box_message .txt:after {
  display: none;
}

    #job_detail .company_table, #job_detail .company_table tbody, #job_detail .company_table tr, #job_detail .company_table th, #job_detail .company_table td {
        display: block;
        width: 100%;
    }
    #job_detail .company_table td {
        padding: 0 0 0 26px;
    }
    #job_detail .company_table tr {
        padding-bottom: 15px;
        padding-right: 15px;
    }
    #job_detail .company_table th {
        background-position: 5px 18px;
        margin-bottom: 5px;
    }
    #job_detail .company_table .place span {
        display: block;
    }
    /*職種紹介-------------------------------------------------------------------*/
    .anc { margin: 40px 0 20px;}
    .anc li {  margin: 10px; }
    .anc li a { font-size: 1rem; }
    
	.works #sec01{
  background-size:contain;
  background-position: right -90px top 30px;
  background-repeat: no-repeat;
  padding:0;
}

.works #sec01:first-child {   padding-top:40px;  background-position: right -90px top 70px; }

.occupations #sec01{
  background-size:contain;
  background-position: right -20px bottom;
}

	.popup_list {
        padding-right: 0;
    }
    .works .btn_blue {
        display: block;
        width: 100%;
        margin: 0 0 15px 0;
    }
	
    /*社員紹介-------------------------------------------------------------------*/
    .employee_inner .box_inner {
        position: static;
        padding: 342px 25px 25px 25px;
    }
    .interview_inner .interview_slide {
        height: auto;
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: center top;
        min-height: inherit;
    }
    .interview_inner .slide_inner {
        background-color: rgba(255, 255, 255, 0.8);
        width: 100%;
        margin-left: 0;
        height: auto;
        min-height: inherit;
        padding: 25px 25px 16vw 25px;
        margin-top: 222px;
    }
    .interview_inner .txt {
        padding: 0 20px;
        margin-bottom: 0;
    }
    .interview_wrap .arrows .slick-next, .interview_wrap .arrows .slick-next:before, .interview_wrap .arrows .slick-prev, .interview_wrap .arrows .slick-prev:before {
        width: 30px;
        height: 40px;
        background-size: contain;
    }
    .interview_inner .ttl {
        font-size: 1.3rem;
    }
    .interview_wrap .slick-dots {
        margin-left: 0;
        z-index: 999;
        bottom: 0;
    }
    .interview_wrap .slick-dots li button:before {
        background-color: #ccc;
    }
    .interview_wrap .arrows .slick-next, .interview_wrap .arrows .slick-prev {
        top: 60vh;
    }
    .employee_inner .box .ttl {
        min-height: inherit;
    }
    .anc li a {
        padding: 0 10px 30px 10px;
    }
    .interview_list .btn_list {
        margin: 30px auto;
        display: block;
        width: 259px
    }
    .interview_list {
        text-align: left;
    }
    .interview_list li {
        width: 48%;
        margin: 0 0 15px 0 !important;
        letter-spacing: normal;
    }
    .interview_list li:nth-of-type(2n) {
        margin-left: 4% !important;
    }
    .interview_list ul {
        letter-spacing: -.4em;
        padding: 0 10px;
    }
    .interview_list li div {
        width: 147px;
			width: 100%;
			margin: 0.5em 0 0 0;
    }
    .interview_list li div span {
        line-height: 1.4;
        margin-bottom: 5px;
    }
    .interview_list li a:after {
        bottom: 0;
    }
    .interview_inner .main_ttl .main_header .number {
        font-size: 5rem;
        line-height: 1;
    }
    .interview_inner .main_ttl .main_header div:last-child span:first-child {
        font-size: 1rem;
        line-height: 1;
    }
    .interview_inner .main_ttl .main_header div:last-child span:last-child {
        font-size: 1rem;
    }
    .interview_inner .main_ttl .catch {
        font-size: 2rem;
    }
    .interview_inner .main_ttl .name_area .name {
        font-size: 3rem;
			padding-left: 36px;
    }
    .interview_inner .main_ttl .name_area div:last-child span:last-child {
        display: inline-block;
        width: auto;
    }
    .interview_inner .main_ttl .name_area div:last-child {
        margin-left: 36px;
    }
    .interview_inner .main_ttl .name_area div:last-child span:first-child {
        display: inline-block;
    }
    .interview_inner .main_ttl .interview_ttl p:last-child {
        margin: 0 0 0 10px;
        vertical-align: middle;
    }
    .employee .interview_inner .main_ttl .main_header div:last-child {
        width: 70%;
    }
    .employee .interview_inner .main_ttl {
        margin-bottom: 56px;
    }
    .employee_inner .box a {
        right: 38px;
    }
    .interview_inner .flow_table {
        line-height: normal;
        padding: 0 0 30px 0;
        background-color: rgba(255, 255, 255, 0.7);
        margin-left: 0;
        margin-right: 0;
    }
    .employee .interview_inner .main_ttl .catch {
        min-height: 230px;
    }

    #form_area .inner {  padding:0; }
    #form_area dl {
        display: block;
        padding: 15px 0 15px 0;
    }
    #form_area dt {
        display: block;
        width: 100%;
        padding: 0;
        margin: 0 0 10px 0;
    }
    #form_area dd {
        display: block;
        padding: 0;
        width: 100%;
    }
    #form_area input[type=text], #form_area input[type=email] {
        width: 100%;
    }
    #form_area .mail_area .sub {
        position: static;
        display: block;
    }
    #form_area .sub {
        display: block;
        margin-top: 10px;
    }
    #form_area #address, #form_area textarea {
        width: 100%;
    }
    .contact #form_area .lead {
        text-align: left;
    }
	.thanks h2 {
    font-size:1.5rem;
        letter-spacing: normal;
        line-height: 1.2;
    }

    .thanks p {
    font-size: 0.9375rem;
    }

    .mw_wp_form .error {
        position: static;
        margin: 5px 0;
    }

.privacy_check {
	margin:20px 0 0;
	line-height:1.6;
}
.check_area {
  padding: 15px 0 5px !important;
  letter-spacing:-0.06em;
}
.confirm #form_area dd.check_area {
  padding: 10px 15px 5px !important;
  letter-spacing:-0.06em;
}

.policy p{
	font-size: 0.9rem;
}
.policy p:first-child{
	font-size: 1rem;
}


/*.contact #sec03 .recBox { padding:10px 12px 15px; }*/
.contact #sec03 .recBox li { font-size: 0.9375rem; }


.boxEntry02{
  width: 100%;
  margin: 15% auto;
}
.boxEntry02T h3.ttl{
  margin-bottom: 7%;
  letter-spacing:0;
  font-size: 1.2rem;
}
.boxEntry02F{
  overflow: hidden;
  margin-bottom: 0;
}
.boxEntry02FOne{
  position: relative;
  float: none;
  width: 100%;
  min-height: auto;
  margin-right: 0;
  margin-bottom: 15%;
  border: 1px #ccc solid;
}
.boxEntry02FOne:last-child{
  margin-right: 0;
}

.boxEntry02FOne:after {
  position: absolute;
  top: auto;
  bottom: -13%;
  right: auto;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
  -ms-transform: translateX(-50%);
}
.boxEntry02FOne .ttl{
  position: relative;
  margin-bottom: 18px;
  padding-top: 25.9259259%;
  background-image: url('./../../images/entry/entry-ttl-bg01.png');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  width: 100%;
}
.boxEntry02FOne .ttlIn{
  position: absolute;
  top: 10%;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 3% 11%;
}
.boxEntry02FOne .ttl .txtEn{
  display: inline-block;
  width: 100%;
  margin-bottom: 3%;
  vertical-align: bottom;
}
.boxEntry02FOne .ttl .txtNum{
  display: inline-block;
  margin-left: 1%;
  line-height: 1.0;
  font-size: 1.5rem;
  font-size: 6.0vw;
}
.boxEntry02FOne .ttl .txtTtl{
  letter-spacing: 0.12em;
  font-size: 1.2rem; 
}
.boxEntry02FOne .ttl2{
  width: 100%;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.1rem;
}
.boxEntry02FOne .ttl2 span{
  display: inline-block;
  width: 70%;
  margin-bottom: 5%;
  padding-bottom: 2%;
}
.boxEntry02FOne ul{
  width: 87%;
  margin: 0 auto;
  margin-bottom: 8%;
}
.boxEntry02FOne li{
  margin-bottom: 1%;
}
/* .boxEntry02FOne li:before{
  content: '笆?';
  margin-right: 5px;
} */


.boxEntry02FOne .boxR{
  position: absolute;
  right: 5%;
  bottom: 3%;
}
.boxEntry02FOne .icnEntryArrow01{
  position: absolute;
  top: auto;
  bottom: -13%;
  right: auto;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 30%;
}

.boxEntry02 .btn_area .btn_white04 {
    display: inline-block;
    width: 100%;
    color: #FFF;
    font-weight: bold;
    font-size: 1rem;
    line-height: normal;
    text-align: left;
    position: relative;
}

.education .inner .box{
  display: block;
}
.education .inner .box:last-child {  margin-bottom:10px; }
.education .inner .box .img{
  width: 100%;
  margin:15px auto;
}
.education .inner .box .txt{
  width: 100%;
  margin:auto;
  position: relative;
}

    /*お知らせ-------------------------------------------------------------------*/
    #primary {
        max-width: inherit;
        width: 100%;
        float: none;
        margin-bottom: 60px;
    }
    #sidebar {
        max-width: inherit;
        width: 100%;
        float: none;
    }
    .important_info {
        padding-top: 1em;
        padding-bottom: 1em;
    }
    .single_article .text p {
        width: calc(100% + 185px);
        margin-left: -185px;
		padding-top: 1em;
    }
    .icn_cat {
			padding: 8px 10px 7px 10px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
	}
    .icn_prev a, .icn_next a {
        width: 23vw;
		padding: 0;
		height: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 0.9rem;
    }
	.icn_prev a {
		background-position: 3vw center
	}
	.icn_next a { 
		background-position: right 3vw center
	}
    .to_list a {
		height: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 36vw;
    }
    .single-post .ttl_wrap .date:after {
        max-width: calc(100% - 455px);
        top: 16px;
    }
	.single_article .date .date01 {
		display: block;
		margin-top: 0.5em;
	}
	.recruit_list #sec01 .ttlLead01 {
		font-size: 1.4rem;
		text-indent: 0.5em;
	}
	.mv .ttl_h1 span {
		/*font-size: 3.1rem;*/
	}
	.job_box .right .ttl {
		font-size: 1.5rem;
	}
	.mv {
		background-position: 68% top;
    background-size: 300%;
    height: 53vw;
		padding-top: 35vw;
	}
	.mv .inner {
		height: auto;
		background-color: #0d6eaf;
		margin: -5px 0 0 0;
	}
	.mv .ttl_h1 {
		position: relative;
		transform: none;
		top: -4vw;
	}
	.mv .ttl_h1 span {
		/*text-shadow: 5px 0 0 #000, 5px 0 0 #000, 5px 0 0 #000;*/
	}
	.interview_inner .main_ttl .main_header div:last-child {
    width: calc(100% - 140px);
    display: inline-block;
    margin-left: 15px;
    vertical-align: top;
	}
	.interview_inner .main_ttl .main_header .number span:not(.bg_num) {
		display: block;
	}
	.employee .interview_inner .main_ttl .main_header .number {
    font-size: 4.3rem;
    width: auto;
    line-height: 1;
	}
	.interview_inner .interview_slide.slide01 .main_ttl:before, .employee .interview_inner .main_ttl:before {
		content: "";
		width: 1px;
		height: 257px;
		background: #000;
	}
	.interview_inner .interview_slide.slide01 .main_ttl:after, .employee .interview_inner .main_ttl:after {
		content: "";
		width: 5px;
		height: 5px;
		background: #000;
		position: absolute;
		left: 19px;
		top: 320px;
	}
	.interview_inner .main_ttl .interview_ttl {
		padding-left: 20px;
	}
	.interview_inner .main_ttl .interview_ttl p:last-child {
		margin-left: 0;
	}
	.interview_inner .main_ttl .interview_ttl p:first-child {
		display: block;
	}
	.boxEntry02 .ttl_label {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.boxEntry02 .ttl_label span {
		padding: 0;
	}
	.boxOccupationsS02 .dl_listCom dt br {
		display: none;
	}
	body.company .anc {
		max-width: 263px;
    margin: 40px auto 20px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
		display: block;
	}
	body.company .anc li {
		margin: 10px 0;
	}
	body.company .company_table,body.company .company_table tr,body.company .company_table th,body.company .company_table td {
		display: block;
		width: 100%;
	}
	body.company .company_table td {
		padding: 0 0 15px 25px
	}
	body.company .company_table tbody {
		display: block;
		width: 100%;
	}
	body.company .company_table th {
		background-position: 12px 21px;
	}
	
	
	
	
	
	
	
}