@charset "UTF-8";
/*追加編集分css*/

/*
テキストカラー#DB2E42

*/
:root {
  --h4--ws--bk:url("../img/back_h4.svg");
  --h3--bk:url("../img/back_h3.svg");
  --h2--company--bk:url("../img/back_h2_company.svg");
  --h2--workstyle--bk:url("../img/back_h2_workstyle.svg");
  --h2--interview--bk:url("../img/back_h2_interview.svg");
  --h2--recruit--bk:url("../img/back_h2_recruit.svg");
  --h2--relbox--bk:url("../img/back_h2_relbox.svg");
  --whitearrow--:url("../img/arrow_white.svg");
  }

/*社名ロゴ*/
.companylogo{
	width:120px;
	margin-right:0.5rem;
	}
	
/*ナビゲーション*/
.navbar-nav,.nav-item > a.active{
	color:var(--txt--maincolor) !important;
	font-size:0.9rem;
	}
/*各コンテンツページのナビゲーションバーのaタグのclassはnav-link activeにする*/

.navbar-nav a{
	color:#000;
	padding:1rem;
	}
	

/*募集要項・エントリーのボタン*/

.btn_entry a{
	background-image: linear-gradient(90deg, #db2e42, #fbbd9d);
	color:#fff;
	display:block;
	border:none;
	transition: 0.5s ease;
	}

.btn_entry a i{
	background: url(../img/arrow_red.svg) no-repeat 50% #fff;
	background-size: 13px;
	width:18px; height:18px;
	display:inline-block;
	margin:-2em 0 -0.2rem 4rem; 
	flex-shrink: 0;
	}

.btn_entry a:hover{
	background:var(--grad--hover);
	text-decoration:none;
	color:#fff;
}
.btn_entry span{margin-right:2rem;}

footer .btn_entry a{
	width:100%;
	}
	
.btn-outline-icon a{
  display: flex;
  align-items: center;
  justify-content: space-between; /* テキスト左、アイコン右 */
  gap: 10px;                      /* スマホでも自然に間隔が取れる */
  width: 100%;                    /* 横幅を親に合わせる（可変） */
  padding: 12px 20px;
  background-color: #fff;
  color: var(--txt--maincolor);
  font-weight: 400;
  border: 1px solid var(--txt--maincolor);
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.2s;
}

.wd280{
  max-width: 280px;               /* ボタンの最大幅 */
	}

.btn-outline-icon a:hover {
  background-color: var(--bs-gray-100);
  transform: translateY(-1px);
  text-decoration:none;
}

.btn-outline-icon .icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0; /* アイコンが潰れないように */
}
	
/*表題*/

.contents h2,.indivi h1{
	color:var(--txt--maincolor);
	font-family: "Saira Semi Condensed", sans-serif;
	font-weight: 300 !important;
	font-style: normal;
	font-size:3.7rem;
	}
.contents h2:before,.indivi h1:before{
	display: inline-block;
	padding-right:1rem;
	vertical-align: top;
	}

.contents h2 span,.indivi h1 span{
	color:#000;
	font-size:45%;
	}

.contents h2 span:before,.indivi h1 span:before{
	content:"/";
	color:var(--txt--maincolor);
	font-size:140%;
	padding:0 0.9rem;
	}

.contents h3:before{
	content:var(--h3--bk);
	display: inline-block;
	padding-right:1rem;
	}

.contents h3{
	font-weight:400;
	}

/*赤字白矢印表示*/
.wa-icon{
	background:var(--whitearrow--) no-repeat;
	display:block;
	width:32px; height:32px;
	overflow-wrap: break-word;
	}

/*メインイメージ*/
.mainview{
	background:url(../img/back_top.png) no-repeat;
	background-size:cover;
	display: grid;
	place-items: center;
	}

.mainview h1{
	line-height:1.7;
	font-weight:400 !important;
	font-family: "Noto Sans JP", sans-serif;
	}

.mainview h1 i{
	color:var(--txt--maincolor);
	font-style:normal;
	}

/*お知らせ*/
.news span{
	color:var(--txt--maincolor); padding-right:2rem;
	}

.news > article{
	background:#fff;
	margin-bottom: 0.5rem;
	position: relative;
	}

.news p{display: block;}

.news a:hover{background:var(--bs-gray-100);	
}

.news-arrow,.arrowicon{
	background-image:var( --whitearrow--);
	display:block;
	width:32px; height:32px;
	flex-shrink: 0;
	}
	
/*アイコン付リスト*/
/*赤色（新規ウィンドウ）アイコン付リスト*/
.nwinList{
	margin:1.5rem 0;}

.nwinList li{
	margin-bottom:0.2rem;
	position:relative;
	}

.nwinList a{
	color:var(--txt--maincolor);
	width:100%;
	display:block;
	border-bottom:1px solid var(--txt--maincolor);
	padding: 0.3rem 0;
	}

.nwinList a:hover{
	text-decoration:none;
	background:var(--bs-gray-200);
	}

.nwinList li a i{
	position:absolute;
	right:0;
	}
/*横並び*/
.yokoList li{
	margin-right:2rem;}
.yokoList li a{
	display:block; 
	}

.yokoList li a i{
	padding-left:1rem;
	}
/*COMPANY*/
.company h2:before,.indivi.company h1:before{
	content:var(--h2--company--bk);
	}
	
.company-topic-List{

	}

.company-topic-List li{
	margin-bottom:1rem !important;
	}
.company-topic-List li a{
	display:block;
	width:100%;
	border-bottom:1px solid var(--bs-gray-300);
	background:var(--whitearrow--) no-repeat center right;
	}
	
.company-topic-List li a:hover{
	background:var(--whitearrow--) no-repeat center right var(--bs-gray-100);
	text-decoration:none;	
	}
	
/*コンテンツcompany*/
	
.indivi h2:before{
	content:"" !important;
	padding:0;
	}
	
.catchcopy{
	font-size:2rem;
	font-family: "Saira Semi Condensed", sans-serif;
	font-weight: 300 !important;
	font-style: normal;
	}

.indivi p{
	
	line-height:1.7;}


.indivi p em{
	font-style:normal;
	color:var(--txt--maincolor);
	}

.indivi.workstyle a,.recruitbox a,.entryform a,.indivi.company a{
	color:var(--txt--maincolor);
	}
	
.solution > div{
	background:rgb(var(--bs-light-rgb));
	padding:1.7rem;
	margin-bottom:1.5rem;
	margin-left:0.7rem;
	margin-right:0.7rem;
	}

.solution > div span{
	display:block;
	}

.solution > div span img{	height:60px;
}

.solution h4{color:var(--txt--maincolor);}

.job h3{
	color:var(--txt--maincolor);
	}
	
.job p{
	margin-bottom:3rem;
	}
.culuturelist{margin:  0; padding:0;}
.culuturelist li{
	
	list-style:  none; line-height:2.4;}

.culuturelist li:before{
	content:  "";
	width:  10px;
	height:  10px; 
	display:  inline-block;
	background:var(--txt--maincolor);
	border-radius:  50%;
	margin-right: 1.1rem; 
	}
/*WORKSTYLE*/
.workstyle h2:before,.indivi.workstyle h1:before{
	content:var(--h2--workstyle--bk);
	}

/*コンテンツworkstyle*/

.workstyle h4,.recruit h4:not(.accordion-header),.entry h5{
	color:var(--txt--maincolor);
	font-size:1.3rem;
	}

.workstyle h4:before,.recruit h4:before,.entry h5:before{
	content:var(--h4--ws--bk);
	display: inline-block;
	padding-right:0.4rem;
	vertical-align: top;
		}
		
.wsbox{
	background:#fff;
	margin-bottom:1rem;
	padding:1rem 1rem 0 1rem;
	min-height:130px;
	}

.wsoffice{
	background:#fff;
	margin-bottom:3rem;
	padding:1rem;
}

/*INTERVIEW*/
.interview h2:before,.interview h1:before{
	content:var(--h2--interview--bk);
	}

.interviewbox{
	border:1px solid var(--bs-gray-300);
	background:#fff;
	
	}
.interviewbox a{
	color:var(--bs-gray-900);
	}
	
.reltopics{
	margin-top:2rem;
	margin-bottom:2rem;
	}

.reltopics .card,.reltopics .card img{
	border-radius:0;
	background:#fff;
	}

.reltopics h5{
	font-size:1.15rem;
	font-weight:700;
	}
	
.reltopics p,.relbox .caption,.reltopics p a{
	color:var(--bs-gray-700);
	}

.relbox,.entryform{
	box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.11);
	background:#fff;
	padding:3rem;
	}
	
.relbox .date{
	color:var(--bs-gray-600);
	display:block;
	margin-bottom:1rem;
	}
	
.relbox h1{
	color:#000;
	font-size:2rem;
	margin-bottom:1.5rem;
	}
	
.relbox h2:before{
	content:var(--h2--relbox--bk)  !important;
	margin-right:0.9rem;
	position:relative;
	top:-5px;
	}

.relbox h2{
	color:#000;
	font-size:1.4rem;
	margin-bottom:1.2rem;
	margin-top:4rem;
	}

.qtext:before{
	content:"─";
	font-weight:700;
	margin-right:0.5rem;
	}

.qtext{
	color:var(--txt--maincolor);
	font-size:1.15rem;
	margin-bottom:1.5rem;
	font-weight:700;
	}

/*RECRUIT*/
.recruit h2:before,.recruit h1:before,.entry h1:before{
	content:var(--h2--recruit--bk);
	}
.reclist{padding:0;}

.reclist li{
	margin-bottom:0.5rem;
	}
	


.boshubox{
	background:var(--whitearrow--) no-repeat right 20px center #fff;
	
	}

.boshubox h4:before{
	content:"" !important;
	}

.recruitbox{padding:1rem;}

.recruitbox span{
	color:var(--txt--maincolor);
	font-weight:600;
	font-family: "Saira Semi Condensed", "Noto Sans JP", sans-serif;
	}

.recruitbox .d-flex > div{
	background:#fff;
	padding:1rem;
	}

.recruitqa .accordion-item{margin-bottom:1rem;}


.recruit .wsbox li{
	line-height:1.7;
	
	}
	


/*ENTRY*/

.entry h2{
	color:#000;
	font-size:2rem;
	text-indent:-1.3rem;
	margin-bottom:2rem;
	}

.entry h5{
	font-size:1.15rem;
	}

.entry h5:before{
	vertical-align:middle;
	}
	
.entry .wsbox p{
	padding-bottom:2rem;
	}

/*SNS*/
.snsbox{
	max-width:400px;
	background:#fff;
	}

.snsbox img{
	width:40px;
	}

.snsbox > div{}

.snsbox > div p{
	position:relative;
	}
.snsbox > div p i{
	position:absolute;
	right:0;
	color:var(--txt--maincolor);
	}
	
.snsbox a{
	display:block;
	color:var(--bs-gray-700);
	font-family: "Saira Semi Condensed", sans-serif;
	font-weight: 300 !important;
	font-style: normal;
	padding:0.7rem;
	}


/*ENTRY FORM*/

.entryform .required{
	display:inline-block;
	background:var(--txt--maincolor);
	color:#fff;
	padding:0.3rem;
	border-radius:5px;
	margin-right:0.8rem;
	}

.entryform .any{
	display:inline-block;
	background:var(--bs-gray-500);
	color:#fff;
	padding:0.3rem;
	border-radius:5px;
	margin-right:0.8rem;
	}

.entryform .btn_entry a{
	color:#fff !important;
	}
	
.modorubtn a:before{
	content:var(--whitearrow--);
	vertical-align:middle;
	display: inline-block;
	transform: scale(-1, 1);
	margin-right:0.8rem;
	}

.modorubtn{
	padding-bottom:1rem;
	font-size:1.1rem;
	}
	
.modorubtn a:hover:before{
	content:var(--whitearrow--);
	vertical-align:middle;
	display: inline-block;
	transform: scale(-1, 1) translate(2px);
	transition: transform 0.5s;
	margin-right:0.8rem;
	}

/*パンくずリスト*/

.bclist a{
	color:var(--txt--maincolor);
	}
	
.bclist li{
	color:var(--bs-gray-900) !important;
	}

/*フッターENTRY*/

footer{
	font-family: "Saira Semi Condensed", sans-serif;
	font-style: normal;

	}
.footer-entry{
	background:var(--grad--main);
	color:#fff;
	}
.footer-entry a{
	text-decoration:none;
	color:#fff;
	}

.footer-entry a p:hover{
	text-decoration:underline;
	background-color:rgba(255, 255, 255, 0.4) ;
	transition:0.3s ease;
	}

.footer-entry img{
	width:2rem;
	}
.entrytitle{
	color:#fff;
	font-family: "Saira Semi Condensed", sans-serif;
	font-weight: 300 !important;
	font-style: normal;
	font-size:5rem;
	}

.footerlogo img{
	max-width:150px;
	}
.footersns img{
	width:45px;}
	
/*フッターナビゲーション*/
	
footer h5{
	position: relative;
	border-bottom:1px solid var(--bs-gray-300);
	padding-bottom: 0.5rem;
	font-size:1.1rem;
	padding-right:1.6rem;
	}

footer h5 a:after{
	position: absolute;
	content:var(--whitearrow--);
	right:0;
	bottom:0;
	padding-left:2rem;
	}
footer h5 a{
	display:block;
	width:100%;
	}

footer h5 a:hover{
	}

footer ul li{font-size:0.95rem;}

.pagetop{
	background:var(--txt--maincolor);
	color:#fff;
	}
	
/*// `xs` returns only a ruleset and no media query
// ... { ... }

// `sm` applies to x-small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) { 
	.companylogo{border-right:1px solid #000;}
	
	.footerlogo{justify-content: center;}
	.mainview{background-image: url(../img/back_top_sp.png);
background-size: cover;
background-position: center top;
background-repeat: no-repeat;
min-height: 100vh;
margin-left: calc(50% - 50vw);	
	 }

.mainview h1{
	display:inline;
	background:#fff;
	}

 }
 

/*// `md` applies to small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) { 

.contents h2 span,.indivi h1 span{
	display:block;
	}
.news article p{padding:0.5rem 3rem 0.5rem 0.5rem;}
.news article p span{margin-bottom:-3rem; display:block;}
.news article i{right:1rem;}

.news-arrow{display:block;
 position:absolute;
 top:40%;
}

.indivi h2{
	/*padding-left:1.5rem;*/
	}

.reltopics .card{
	margin-bottom:1.5rem;
	}

.recruitbox .col-md-3{
	border-bottom:1px solid var(--txt--maincolor);
	}

.recruitbox span{padding-right:1rem;}

.recruitbox div span:nth-child(3){font-size:1.3rem;}

 }



/*// `lg` applies to medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) { 
.btn_entry a{
	position:relative;
	}

.btn_entry a i{
	position:absolute;
	bottom:25%;
	right:1rem;
	transform: translateY(-50%);
	}
	
.interviewbox{
	margin:1rem;
	}

.mainview{background-size:contain;}

 }

/*// `xl` applies to large devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) {
	}

/*// `xxl` applies to x-large devices (large desktops, less than 1400px)*/
@media (max-width: 1399.98px) {
	}

/*// X-Small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) { ... }

/*// Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) { 
.news article a{
	display:flex; position:relative;}
.news a p {
	display:flex;
	}
	
.news a{padding:1rem 1rem 0 1rem;}	

.news .news-arrow{
	position:absolute;
	top:20%;
	right:2rem;
	}

.wsbox:nth-child(odd){
	margin-right:0.7rem;
	}
	
.wsbox:nth-child(even){
	margin-left:0.7rem;
	}

/*RECRUIT*/
.recruitbox span{
	display:block;
	}


.steparrow{
	margin-left:11%;
	}
 }

/*// Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {
.interviewbox img:not.indivi{
	max-width:300px;}

.solution > div{
	max-width:400px;
	min-height:270px;
	}

.reltopics .card{
	border:none;
	}
	
.reltopics .card-body{
	padding-right:0; padding-left:0;
	}

	}

/*// X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) { 
.mainview{
	min-height:900px;
	}
 }

/*// XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) { ... }