@charset "utf-8";

/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
.helo {
	background-image: url("../images/recruit/h_bg.webp");
	height: 500px;
	background-position: center center;
	background-size: cover;
}
.helo .inner {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	padding-top: 200px;
}
.helo .inner h1 {
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-shadow: 0px 0px 15px rgba(0,0,0,0.30),0px 0px 15px rgba(0,0,0,0.30),0px 0px 15px rgba(0,0,0,0.30);
}
.helo .inner h1 span {
	color: #D83935;
	font-size: 80px;
	font-family: 'Inter', 'Noto Serif JP', serif;
	display: block;
	margin-bottom: 40px;
	text-shadow: 0px 0px 15px rgba(255,255,255,0.30),0px 0px 15px rgba(255,255,255,0.30);
}
.helo h2 {
	margin-top: 240px;
	margin-bottom: 20px;
	color: #EB322D;
	font-size: 30px;
	font-weight: bold;
}





.gaiyou {
	margin-top: 180px;
	padding-bottom: 60px;
	background-image: url("../images/recruit/gaiyou_ bg.webp");
}
.gaiyou h2 {
	font-size: 50px;
	font-weight: bold;
	color: #fff;
	padding-top: 100px;
}
.gaiyou .flex {
	display: flex;
	justify-content: space-between;
	width: 1060px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
}
.gaiyou .flex div {
	background-color: #fff;
	width: 320px;
	height: 380px;
	border-radius: 5px;
	box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.25);
}
.gaiyou .flex div h3 {
	font-size: 30px;
	font-weight: bold;
	padding-top: 40px;
	margin-bottom: 25px;
}
.gaiyou .flex div h3+p {
	color: #D83935;
	font-size: 42px;
	font-weight: bold;
	margin-bottom: 30px;
}
.gaiyou .flex div h3+p span {
	font-size: 60px;
}
.gaiyou .flex div figure+p {
	line-height: 1.8em;
	font-size: 17px;
	margin-top: 20px;
}
.gaiyou a.driver_btn {
	display: block;
	width: 800px;
	height: 125px;
	margin-left: auto;
	margin-right: auto;
	background-color: #EA1F29;
	border-radius: 8px;
	color: #fff;
	text-decoration: none;
	position: relative;
	top: 270px;
	background-image: url("../images/recruit/arrow.svg");
	background-repeat: no-repeat;
	background-position: right 40px center;
	transition: 0.3s;
} 
.gaiyou a.driver_btn:hover {
	opacity: 0.7;
	transition: 0.3s;
}
.gaiyou a.driver_btn dl {
	text-align: left;
	margin-left: 60px;
}
.gaiyou a.driver_btn dl dt {
	font-size: 32px;
	font-weight: bold;
	color: #fff;
	margin-top: 30px;
	margin-bottom: 10px;
}
.gaiyou a.driver_btn dl dd {
	font-size: 16px;
	font-weight: bold;
	color: #fff;
}





.why {
	margin-top: 270px;
}
.why .box {
	background-color: #fff;
	width: 1372px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
}
.why .box .flex {
	width: 1284px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	text-align: left;
	margin-top: 50px;
	border-bottom: 1px solid #D9D9D9;
	padding-bottom: 50px;
	margin-bottom: 100px;
}
.why .box .flex+.flex {
	border-bottom: none;
}
.why .box .flex h3 {
	width: 620px;
	font-size: 40px;
	color: #D83935;
	font-weight: bold;
	position: relative;
}
.why .box .flex h3::before {
	content: "";
	width: 50px;
	height: 1px;
	background-color: #D83935;
	position: absolute;
	left: 0px;
	top: 60px;
	display: block;
}
.why .box .flex .flex2 {
	display: flex;
	align-items: center;
	margin-bottom: 40px;
}
.why .box .flex .flex2 figure {
	width: 150px;
}
.why .box .flex .flex2 h4 {
	font-size: 22px;
	margin-bottom: 10px;
}
.why .box .flex .flex2 p {
	font-size: 15px;
	line-height: 1.6em;
}





.work {
	padding-top: 50px;
}
.work ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 80px;
	width: 1320px;
	margin-left: auto;
	margin-right: auto;
}
.work ul li {
width: 300px;
height: 300px;
background: #FFF;
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
margin-bottom: 50px;
}
.work ul li figure {
	height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.work ul li figcaption {
	color: #D83935;
	font-size: 24px;
	font-weight: bold;
}
.work ul li figcaption span {
	font-size: 18px;
	display: block;
	margin-top: 5px;
}





.youkou {
	padding-top: 60px;
	padding-bottom: 60px;
}
.youkou h2+p {
	margin-bottom: 50px;
}



.flow .flex {
	display: flex;
	justify-content: space-between;
	width: 1060px;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	margin-top: 50px;
}
.flow .flex div {
	width: 300px;
	height: 342px;
	background-color: #fff;
}
.flow .flex div h3 {
	color: #D72D33;
	font-size: 40px;
	font-weight: bold;
}
.flow .flex div h3 span {
	color: #fff;
	width: 63px;
	height: 63px;
	background-color: #D72D33;
	display: block;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100px;
	line-height: 63px;
	font-size: 40px;
	font-family: inter;
	font-weight: bold;
	margin-top: 45px;
	margin-bottom: 20px;
}
.flow .flex div p {
	text-align: left;
	width: 86%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 25px;
	line-height: 1.8em;
}





.entry {
	margin-top: 50px;
	margin-bottom: 150px;
}
.entry .flex {
	display: flex;
	width: 840px;
	margin-left: auto;
	margin-right: auto;
	justify-content: space-between;
	margin-top: 50px;
}
.entry .flex div {
	background-color: #F7D6D7;
	border-radius: 8px;
	width: 400px;
	height: 250px;
}
.entry .flex div h3 {
	color: #D83935;
	font-size: 28px;
	font-weight: bold;
	padding-top: 35px;
	margin-bottom: 20px;
}
.entry .flex div p {
	font-size: 16px;
}
.entry .flex div .btn {
	margin-top: 20px;
}
.entry .flex div .tel {
	margin-top: 20px;
}
.entry .flex div .tel img {
	position: relative;
	top: 2px;
	margin-right: 5px;
}
.entry .flex div .tel a {
	font-size: 34px;
	font-weight: bold;
	color: #000;
	text-decoration: none;
}
.entry .flex div .tel+p {
	font-size: 12px;
}














.faq dl {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
}

/* 質問部分（Q）のスタイル */
.faq dt {
  position: relative;
  background-color: #fff;
  height: 80px;
  /* line-heightは削除してflexで中央揃えにするのが安全です */
  cursor: pointer;
  font-weight: bold;
  display: flex;
  align-items: center;
  transition: background-color 0.3s;
  font-size: 20px;
  margin-bottom: 25px;
  border-radius: 8px;
  padding-left: 20px;
  padding-right: 60px; /* アイコンとの重なり防止 */
}

.faq dt:hover {
  background-color: #f0f0f0;
}

.faq dt span {
  color: #D83935;
  margin-right: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 30px;
}

/* --- アイコン部分（修正点） --- */

/* 横棒（マイナス） */
.faq dt::after {
  content: '';
  position: absolute;
  right: 25px; /* 右端からの距離 */
  width: 16px; /* 少し大きくしました */
  height: 2px;
  background-color: #333;
}

/* 縦棒（プラスにするための棒） */
.faq dt::before {
  content: '';
  position: absolute;
  right: 32px; /* (right 25px + 横幅16px/2 - 自幅2px/2) で中央 */
  width: 2px;
  height: 16px;
  background-color: #333;
  transition: transform 0.3s, opacity 0.3s;
  top: 50%;
  transform: translateY(-50%); /* 垂直中央へ */
}

/* 開いている時：縦棒を消してマイナスに見せる */
.faq dt.is-open::before {
  transform: translateY(-50%) rotate(90deg);
  opacity: 0;
}

/* 回答部分（dd）のスタイル */
.faq dd {
  /* スライドトグルのための修正 */
  max-height: 0; 
  opacity: 0;
  overflow: hidden;
  text-align: left;
  width: 890px;
  margin-left: auto;
  margin-right: auto;
  line-height: 2em;
  /* 開いていない時のmargin-bottomは0にするのがスムーズ */
  margin-bottom: 0; 
  transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.4s ease;
}

/* 開いた時の表示 */
.faq dd.is-open {
  max-height: 500px; /* 十分な高さを指定（JSを使わない場合の予備） */
  opacity: 1;
  margin-bottom: 25px;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
.helo {
	background-image: url("../images/recruit/h_bg.webp");
	height: 60vw;
	background-position: center right -22vw;
	background-size: cover;
}
.helo .inner {
	width: 90%;
	padding-top: 35vw;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}
.helo .inner h1 {
	color: #fff;
	font-size: 6vw;
	font-weight: bold;
	text-shadow: 0px 0px 15px rgba(0,0,0,0.30),0px 0px 15px rgba(0,0,0,0.30),0px 0px 15px rgba(0,0,0,0.30);
}
.helo .inner h1 span {
	color: #D83935;
	font-size: 12vw;
	font-family: 'Inter', 'Noto Serif JP', serif;
	display: block;
	margin-bottom: 5vw;
	text-shadow: 0px 0px 15px rgba(255,255,255,0.30);
}
.helo h2 {
	margin-top: 14vw;
	margin-bottom: 3vw;
	line-height: 1.5em;
	color: #EB322D;
	font-size: 6vw;
	font-weight: bold;
}





.gaiyou {
	margin-top: 48vw;
	background-image: url("../images/recruit/gaiyou_ bg.webp");
}
.gaiyou h2 {
	font-size: 8vw;
	font-weight: bold;
	color: #fff;
	padding-top: 15vw;
}
.gaiyou .flex {
	margin-left: auto;
	margin-right: auto;
	width: 90%;
	margin-top: 10vw;
}
.gaiyou .flex div {
	background-color: #fff;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	border-radius: 5px;
	box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.25);
	padding-bottom: 5vw;
	margin-bottom: 8vw;
}
.gaiyou .flex div h3 {
	font-size: 5vw;
	font-weight: bold;
	padding-top: 10vw;
	margin-bottom: 5vw;
}
.gaiyou .flex div h3+p {
	color: #D83935;
	font-size: 8vw;
	font-weight: bold;
	margin-bottom: 30px;
}
.gaiyou .flex div h3+p span {
	font-size: 14vw;
}
.gaiyou .flex div figure {
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}
.gaiyou .flex div:nth-of-type(3) {
	margin-bottom: -25vw;
}
.gaiyou .flex div:nth-of-type(3) figure {
	width: 35%;
}
.gaiyou .flex div figure+p {
	line-height: 1.8em;
	margin-top: 3vw;
}
.gaiyou a.driver_btn {
	display: block;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	background-color: #EA1F29;
	border-radius: 8px;
	color: #fff;
	text-decoration: none;
	position: relative;
	top: 50vw;
	background-image: url("../images/recruit/arrow.svg");
	background-repeat: no-repeat;
	background-position: right 5vw center;
	background-size: 10vw;
	transition: 0.3s;
	padding-bottom: 5vw;
} 
.gaiyou a.driver_btn:hover {
	opacity: 0.7;
	transition: 0.3s;
}
.gaiyou a.driver_btn dl {
	text-align: left;
	margin-left: 5vw;
}
.gaiyou a.driver_btn dl dt {
	font-size: 6vw;
	font-weight: bold;
	color: #fff;
	margin-top: 5vw;
	margin-bottom: 3vw;
	line-height: 1.4em;
}
.gaiyou a.driver_btn dl dd {
	font-weight: bold;
	color: #fff;
}





.why {
	margin-top: 60vw;
}
.why .mvi img {
	height: 50vw;
	object-fit: cover;
}
.why .box {
	background-color: #fff;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10vw;
}
.why .box .flex {
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-top: 5vw;
	border-bottom: 1px solid #D9D9D9;
	padding-bottom: 5vw;
	margin-bottom: 15vw;
}
.why .box .flex+.flex {
	border-bottom: none;
}
.why .box .flex h3 {
	font-size: 6vw;
	color: #D83935;
	font-weight: bold;
	position: relative;
	text-align: center;
	margin-bottom: 12vw;
}
.why .box .flex h3::before {
	content: "";
	width: 10vw;
	height: 1px;
	background-color: #D83935;
	position: absolute;
	left: 0px;
	right: 0px;
	margin-left: auto;
	margin-right: auto;
	top: 10vw;
	display: block;
}
.why .box .flex .flex2 {
	margin-bottom: 10vw;
}
.why .box .flex .flex2 figure {
	width: 20vw;
	margin-left: auto;
	margin-right: auto;
}
.why .box .flex .flex2 h4 {
	font-size: 5vw;
	margin-bottom: 3vw;
	margin-top: 5vw;
	text-align: center;
	line-height: 1.6em;
	color: #D72D33;
	font-weight: bold;
}
.why .box .flex .flex2 p {
	line-height: 1.6em;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}





.work {
	padding-top: 10vw;
}
.work ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10vw;
	margin-left: auto;
	margin-right: auto;
}
.work ul li {
width: 41vw;
background: #FFF;
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
margin-bottom: 8vw;
padding-bottom: 3vw;
}
.work ul li figure {
	width: 44%;
	height: 22vw;
	display: flex;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}
.work ul li:nth-of-type(1) figure {
	width: 30%;
}
.work ul li:nth-of-type(3) figure {
	width: 45%;
}
.work ul li:nth-of-type(4) figure {
	width: 30%;
}
.work ul li:nth-of-type(5) figure {
	width: 25%;
}
.work ul li:nth-of-type(8) figure {
	width: 30%;
}
.work ul li figcaption {
	color: #D83935;
	font-size: 5vw;
	font-weight: bold;
}
.work ul li figcaption span {
	font-size: 3.5vw;
	display: block;
	margin-top: 0.5vw;
}





.youkou {
	padding-top: 10vw;
	padding-bottom: 10vw;
}
.youkou h2+p {
	margin-bottom: 8vw;
}





.flow .flex {
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	margin-top: 8vw;
	padding-bottom: 10vw;
}
.flow .flex div {
	width: 80%;
	background-color: #fff;
	margin-left: auto;
	margin-right: auto;
	padding: 5vw;
}
.flow .flex div h3 {
	color: #D72D33;
	font-size: 6vw;
	font-weight: bold;
}
.flow .flex div h3 span {
	color: #fff;
	width: 10vw;
	height: 10vw;
	background-color: #D72D33;
	display: block;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100px;
	line-height: 10vw;
	font-size: 5vw;
	font-family: inter;
	font-weight: bold;
	margin-bottom: 3vw;
}
.flow .flex div p {
	text-align: left;
	width: 86%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 25px;
	line-height: 1.8em;
}
.flow .flex div+figure {
	width: 5vw;
	margin-left: auto;
	margin-right: auto;
	transform: rotate(90deg);
	margin-top: 3vw;
	margin-bottom: 3vw;
}





.entry {
	margin-top: 10vw;
	margin-bottom: 15vw;
}
.entry .flex {
	margin-left: auto;
	margin-right: auto;
	width: 90%;
	margin-top: 8vw;
}
.entry .flex div {
	background-color: #F7D6D7;
	border-radius: 8px;
	margin-bottom: 8vw;
	padding-bottom: 8vw;
}
.entry .flex div h3 {
	color: #D83935;
	font-size: 6vw;
	font-weight: bold;
	padding-top: 8vw;
	margin-bottom: 5vw;
}
.entry .flex div p {
}
.entry .flex div .btn {
	margin-top: 5vw;
}
.entry .flex div .tel {
	margin-top: 5vw;
}
.entry .flex div .tel img {
	position: relative;
	width: 7vw;
	top: 0.5vw;
	margin-right: 1vw;
}
.entry .flex div .tel a {
	font-size: 8vw;
	font-weight: bold;
	color: #000;
	text-decoration: none;
}
.entry .flex div .tel+p {
	font-size: 3vw;
}














.faq dl {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 8vw;
}

/* 質問部分（Q）のスタイル */
.faq dt {
  position: relative;
  background-color: #fff;
  cursor: pointer;
  font-weight: bold;
  display: flex;
  align-items: center;
  transition: background-color 0.3s;
  font-size: 4vw;
  margin-bottom: 5vw;
  border-radius: 8px;
  padding-left: 2vw;
  padding-right: 11vw; /* アイコンとの重なり防止 */
  text-align: left;
  padding-top: 3vw;
  padding-bottom: 3vw;
}

.faq dt:hover {
  background-color: #f0f0f0;
}

.faq dt span {
  color: #D83935;
  margin-right: 3vw;
  font-family: 'Inter', sans-serif;
  font-size: 6vw;
}

/* --- アイコン部分（修正点） --- */

/* 横棒（マイナス） */
.faq dt::after {
  content: '';
  position: absolute;
  right: 25px; /* 右端からの距離 */
  width: 16px; /* 少し大きくしました */
  height: 2px;
  background-color: #333;
}

/* 縦棒（プラスにするための棒） */
.faq dt::before {
  content: '';
  position: absolute;
  right: 32px; /* (right 25px + 横幅16px/2 - 自幅2px/2) で中央 */
  width: 2px;
  height: 16px;
  background-color: #333;
  transition: transform 0.3s, opacity 0.3s;
  top: 50%;
  transform: translateY(-50%); /* 垂直中央へ */
}

/* 開いている時：縦棒を消してマイナスに見せる */
.faq dt.is-open::before {
  transform: translateY(-50%) rotate(90deg);
  opacity: 0;
}

/* 回答部分（dd）のスタイル */
.faq dd {
  /* スライドトグルのための修正 */
  max-height: 0; 
  opacity: 0;
  overflow: hidden;
  text-align: left;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  line-height: 2em;
  /* 開いていない時のmargin-bottomは0にするのがスムーズ */
  margin-bottom: 0; 
  transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.4s ease;
}

/* 開いた時の表示 */
.faq dd.is-open {
  opacity: 1;
  margin-bottom: 5vw;
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
}