@charset "utf-8";

/* breakpoint---------------------- */
.sp {
  display: none;
}

/* bgcolor---------------------- */
.bg_white { background-color: #ffffff; }
.bg_mainblue { background-color: #869AEF; }
.bg_linkblue { background-color: #4DA4E0; }
.bg_menublue { background-color: #004AAD; }
.bg_orange {  background:#f5cc84; }
.bg_shoporange {background:#FF914D;}
.bg_black {background:#000000;}

/* color---------------------- */
.white { color: #ffffff; }
.black { color:#000000;}
.mainblue { color: #869AEF; }
.menublue { color: #004AAD; }
.gray {color:#8D8D8D;}
.shoporange {color:#FF914D;}

/* flex---------------------- */
.pcflex { 
  display: flex; 
  gap:0.5rem;
  justify-content: space-between;
  align-items: center;
}
.pccolumn { 
  display: flex; 
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap:0.5rem; }
.pcblock { display: block; }

h3.flex {gap:0.5rem;justify-content: flex-start;}

/* window---------------------- */
.wd100 { width: 100%; }
.wd_main { 
  width: 96%; 
  max-width: 1200px;
  margin-right: auto; 
  margin-left: auto; }

/* 角丸---------------------- */
.rd5 {border-radius: 5px;}
.rd10 {border-radius: 10px;}
.rd20 {border-radius: 20px;}

.btn {
  box-shadow: 0px 5px 0px 0px #000000;
  height:3rem;
  width:fit-content;
  padding:0 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  text-align: center;
  line-height:1.2;

}

a.btn {
  justify-content: center;
}

/* padding---------------------- */
.pc_pd_top_1 { padding-top: 1rem; }
.pc_pd_top_2 { padding-top: 2rem; }
.pc_pd_top_3 { padding-top: 3rem; }
.pc_pd_top_4 { padding-top: 4rem; }
.pc_pd_top_5 { padding-top: 5rem; }
.pc_pd_top_6 { padding-top: 6rem; }
.pd_top_half { padding-top: 0.5rem; }
.pd_top_1 { padding-top: 1rem; }
.pd_bottom_half { padding-bottom: 0.5rem; }
.pd_bottom_1 { padding-bottom: 1rem; }

.pc_pd_bottom_1 { padding-bottom: 1rem; }
.pc_pd_bottom_2 { padding-bottom: 2rem; }
.pc_pd_bottom_3 { padding-bottom: 3rem; }
.pc_pd_bottom_4 { padding-bottom: 4rem; }
.pc_pd_bottom_5 { padding-bottom: 5rem; }

/* margin---------------------- */
.pc_mg_bottom_05 { margin-bottom: 0.5rem; }
.pc_mg_bottom_1 { margin-bottom: 1rem; }
.pc_mg_bottom_2 { margin-bottom: 2rem; }
.pc_mg_bottom_3 { margin-bottom: 3rem; }
.pc_mg_bottom_4 { margin-bottom: 4rem; }
.pc_mg_bottom_5 { margin-bottom: 5rem; }
.pc_mg_bottom_6 { margin-bottom: 6rem; }
.pc_mg_bottom_7 { margin-bottom: 7rem; }
.mg_bottom_1 { margin-bottom: 1rem; }
.mg_bottom_2 { margin-bottom: 2rem; }

/* font---------------------- */
.b { font-weight: bold; }
.pc8 { font-size: 0.67rem; }
.pc9 { font-size: 0.75rem; }
.pc10 { font-size: 0.83rem; }
.pc12 { font-size: 1rem; }
.pc14 { font-size: 1.16rem; }
.pc15 { font-size: 1.25rem; }
.pc16 { font-size: 1.33rem; }
.pc18 { font-size: 1.5rem; }
.pc20 { font-size: 1.66rem; }
.pc21 { font-size: 1.75rem; }
.pc22 { font-size: 1.83rem; }
.pc24 { font-size: 2rem; }
.pc26 { font-size: 2.16rem; }
.pc28 { font-size: 2.33rem; }
.pc30 { font-size: 2.49rem; }


h2.flex img, 
h3.flex img, 
h4.flex img, 
h5.flex img {
  width:1rem;
}



/* セレクトボックスの矢印 */
.selectarrow {
  width: fit-content;
  position: relative;
}

.selectarrow:after {
  content: "";
  position: absolute;
  right: 15px;
  top: 47%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000000;
  border-left: 2px solid #000000;
  transform: translateY(-50%) rotate(-135deg);
  -webkit-transform: translateY(-50%) rotate(-135deg);
  -ms-transform: translateY(-50%) rotate(-135deg);
  font-size: 20px;
  pointer-events: none;
}
.selectarrow select {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
}
.no-scroll {
  overflow: hidden;
  height: 100%;
}


/* ヘッダー */
.hd_middle {
  height: 90px;
  gap: 1rem;
}

h1 {
  gap: 1rem;
  max-width: 236px;
}

h1 img {
  width: 100%;
}

.hd_middle strong {
  white-space: nowrap;
  margin-right: auto;
}


.hd_middle .advertisement {
  max-width: 390px;
  margin-left: auto;
  margin-right: auto;
}

.hd_middle .advertisement img {
  width: 100%;
}

.four_menu {
  height: 60px;
  gap: 1em;
  padding-right: 1rem;
}

.four_menu .hd_chat,
.four_menu .hd_chat a {
  height: 100%;
}

.four_menu .hd_chat a {
  position: relative;
  gap: 0.2em;
  justify-content: flex-end;
  white-space: nowrap;

}

.four_menu .hd_chat a .notice {
  min-width: 2em;
  border-radius: 100vh;
  padding: 0.1em 0.5em;
  background: #FF5757;
  position: absolute;
  top: -0.3em;
  right: -0.5em;
  justify-content: center;
}

.four_menu .hd_chat a .notice.keep {
  right: -1.2em;
}

header .four_menu img {
  width: 34px;
  height: auto;
}

@media screen and (max-width:1090px) {
  .hd_middle {
    gap: 0.6rem;
  }

  .four_menu a {
    font-size: 0.6rem;
  }

  h1 {
    width: 180px;
  }

  .hd_middle strong {
    font-size: 1.6rem;
  }

  header .four_menu {
    gap: 0.6em;
  }

  header .four_menu img {
    width: 30px;
  }
}


/* ハンバーガーメニュー */
/* メニューが開いているときにbody要素にスクロール禁止を適用 */
body.menu-open {
  overflow: hidden;
}

.menu-container {
  position: relative;
  z-index: 10;
}

.menu-btn {
  display: block;
  width: 33px;
  height: 30px;
  position: relative;
  cursor: pointer;
  z-index: 11;
}

.menu-btn span {
  display: block;
  height: 4px;
  border-radius: 3px;
  width: 100%;
  position: absolute;
  background: #ffffff;
  transition: transform 0.4s ease-in-out, opacity 0.3s ease-in-out;
}

.menu-btn span:nth-child(1) {
  top: 0;
}

.menu-btn span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.menu-btn span:nth-child(3) {
  bottom: 0;
}

#menu-toggle {
  display: none;
}

/* チェックされた時のスタイル */
#menu-toggle:checked+.menu-btn span:nth-child(1) {
  transform: translateY(14px) rotate(45deg);
}

#menu-toggle:checked+.menu-btn span:nth-child(2) {
  opacity: 0;
}

#menu-toggle:checked+.menu-btn span:nth-child(3) {
  transform: translateY(-14px) rotate(-45deg);
  bottom: -1px;
}

/* メニュー全体 */
.hummenu {
  opacity: 0;
  /* 初めは透明に設定 */
  pointer-events: none;
  list-style-type: none;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 125px;
  visibility: hidden;
  /* 非表示にする */
  transition: opacity 0.5s ease, visibility 0s linear 0.5s;
  /* アニメーションと遅延を設定 */
  z-index: 10;
}

#menu-toggle:checked~.hummenu {
  opacity: 1;
  /* チェックされた時に透明度を1に変更してフェードイン */
  visibility: visible;
  /* 表示する */
  pointer-events: auto;
  /* 表示時にクリックイベントを有効化 */
  transition-delay: 0s;
  /* 遅延を0秒に設定 */
}

/* メニュー内容 */
.hummenu hr {
  border-top: solid 1px #ffffff87;
  margin-bottom: 40px;
  height: 1px;
  margin-top: 0;
}

.hummenu .ftmain {}

.area_link ul {
  justify-content: flex-start;
  gap: 3em;
}


/* メニュー下オーバーレイ */
.menu-container .menuoverlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.715);
  /* 半透明の黒色 */
  z-index: 9;
  /* メニューよりも後ろに表示 */
}

/* チェックされた時のスタイル */
#menu-toggle:checked~.menuoverlay {
  display: block;
}



/* パンくず */
section.breadcrumbs {
  padding: 0.5rem 0;
}

section.breadcrumbs ul {
  height: fit-content;
  gap: 1rem;
  justify-content: flex-start;
}

section.breadcrumbs ul li img {
  height: 1rem;
  width: auto;
}

section.breadcrumbs ul li:after {
  content: '';
  width: 8px;
  height: 8px;
  margin-top: 0px;
  border-top: solid 1px #555;
  /* 好みで色を変えてください */
  border-right: solid 1px #555;
  /* 好みで色を変えてください */
  transform: rotate(45deg);

  /* position: absolute; */
  top: 50%;
  right: -20px;
}

section.breadcrumbs ul li:last-child:after {
  display: none;
  /* 最後の要素の疑似要素を非表示にする */
}




/* フッター */
footer {
  padding-top: 40px;
  padding-bottom: 15px;

}

footer div.ftmain,
.hummenu div.ftmain {
  justify-content: space-between;
  margin-bottom: 90px;
  gap: 2rem;
}

.hummenu div.ftmain {
  margin-bottom: 30px;
}

.firsthalf {
  min-width: 230px;

}

.footer_logo {
  max-width: 310px;
}

.footer_logo img {
  width: 100%;
}

.firsthalf .sns_area {
  max-width: 250px;
}

.firsthalf .sns_area ul {
  gap: 1rem;
}

.firsthalf .sns_area ul li {
  max-width: 43px;
}

.firsthalf .sns_area ul li a img {
  width: 100%;
}


.secondhalf {
  max-width: 665px;
}

.secondhalf ul.mainmenu {
  width: 100%;
  flex-wrap: wrap;
  row-gap: 0.7rem;
  margin-bottom: 2rem;
}

.secondhalf ul.mainmenu li {
  width: 48%;
}

.secondhalf .login_area {
  height: 43px;
  gap: 1.7rem;
  margin-bottom: 50px;
}

.secondhalf .login_area a {
  flex-grow: 1;
  /* 子要素を横いっぱいに広げる */
  height: 100%;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
}

.secondhalf .submenu {
  border-top: solid 1px #ffffff;
  border-bottom: solid 1px #ffffff;
  padding: 1rem 1.7rem;
  gap: 1rem;
}

.copyright {
  text-align: center;
}

@media screen and (max-width:1080px) {

  footer .ft_hash,
  .ht_hash {
    font-size: 1rem;
  }
}

@media screen and (max-width:900px) {

  footer .secondhalf .submenu {
    padding: 1rem 0.7rem;
    gap: 0.7rem;
  }

  footer .secondhalf .submenu li a {
    font-size: 0.9rem;
  }

}




/* トップページ */
.top_pickup {
  background:#BDDA98;
  padding:1rem 0;
}


.top_section h3 {
  justify-content: flex-start;
  gap: 0.5rem;
}

.top_section h3 img {
  width:2rem;
}


.top_pickup_slide {
}

.top_pickup_slide img {
  width:100%;
}
.top_pickup_slide div {
  margin-right:0.5rem;

}

section.top_section {

  max-width:1110px;
  justify-content: space-between;
  gap:2rem;
}

section.top_section .left_area {
  width:70%;
  max-width:680px;
}

/* エリアから求人を探す */
section.top_section .left_area .area_search {
  border:solid 1px #000000;
  border-radius: 10px;
  padding:1rem 1.5rem 3rem;
}

section.top_section .left_area .area_search form {
  width:100%;
}

/* 地域選択 */
section.top_section .left_area .area_search form h3 {
  justify-content: flex-start;
  gap:0.5rem;
}
section.top_section .left_area .area_search form h3 img {
  width:1.3rem;
}


/* ボタンのスタイル */
section.top_section .left_area .area_search form .area {
  gap:0.5rem;
  row-gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}

section.top_section .left_area .area_search form .area input[type="radio"] {
  display: none;
}

/* ラベルのスタイル */
section.top_section .left_area .area_search form .area label {
  /* display: inline-block; */
  /* padding: 10px 20px; */
  /* font-size: 16px; */
  justify-content: center;
  cursor: pointer;
  border-radius: 5px;
  width:calc(20% - 0.5rem);
  height:50px;
  position: relative;
}

section.top_section .left_area .area_search form .area label:before {
  content:"";
  width:100%;
  display: block;
  background-color: #f0f0f0;
  height:3rem;
  position: absolute;
  z-index: -1;
  border-radius: 5px;
}


section.top_section .left_area .area_search form .area label:after {
  content:"";
  width:100%;
  display: block;
  height:3rem;
  background:#9d9d9d;
  position: absolute;
  top:6px;
  z-index: -2;
  border-radius: 5px;
}

input[type="radio"]#hokkaido + label:before { background: #B2E1F6; }
input[type="radio"]#tohoku + label:before { background: #A3BBE1; }
input[type="radio"]#kanto + label:before { background: #F5C4BD; }
input[type="radio"]#chubu + label:before { background: #BDDA98; }
input[type="radio"]#kansai + label:before { background: #F7D489; }
input[type="radio"]#chugoku + label:before { background: #CECEE4; }
input[type="radio"]#shikoku + label:before { background: #85C7C3; }
input[type="radio"]#kyushu + label:before { background: #F5C5E1; }
input[type="radio"]#okinawa + label:before { background: #C5F5EF; }

/* ラジオボタンが選択された時のスタイル */
section.top_section .left_area .area_search form .area input[type="radio"]:checked + label {
  padding-top:10px;
  margin-top:auto;
}
section.top_section .left_area .area_search form .area input[type="radio"]:checked + label:before {
  height:calc(3rem - 2px);
  /* box-shadow: 0px 2px 0px 0px #9d9d9d; */
  top: 5px;
}

/* プルダウン〜こだわり条件 */
section.top_section form .region {}

section.top_section form .region h4 {
  gap:0.5rem;
  justify-content: center;
}
section.top_section form .region h4 img {
  width:1.2rem;
}

section.top_section form .region h4#hokkaido img {
  filter: invert(82%) sepia(9%) saturate(1303%) hue-rotate(172deg) brightness(106%) contrast(93%);
}

section.top_section form .region h4#tohoku img {
  filter: invert(77%) sepia(35%) saturate(535%) hue-rotate(188deg) brightness(94%) contrast(86%);
}

section.top_section form .region h4#kanto img {
  filter: invert(95%) sepia(32%) saturate(1023%) hue-rotate(292deg) brightness(101%) contrast(92%);
}

section.top_section form .region h4#chubu img {
  filter: invert(90%) sepia(23%) saturate(498%) hue-rotate(33deg) brightness(93%) contrast(87%);
}

section.top_section form .region h4#kansai img {
  filter: invert(73%) sepia(56%) saturate(292%) hue-rotate(355deg) brightness(107%) contrast(94%);}

section.top_section form .region h4#chugoku img {
  filter: invert(89%) sepia(8%) saturate(458%) hue-rotate(201deg) brightness(95%) contrast(88%);
}

section.top_section form .region h4#shikoku img {
  filter: invert(95%) sepia(86%) saturate(661%) hue-rotate(151deg) brightness(81%) contrast(88%);
}

section.top_section form .region h4#kyushu img {
  filter: invert(78%) sepia(29%) saturate(299%) hue-rotate(282deg) brightness(104%) contrast(92%);
}

section.top_section form .region h4#okinawa img {
  filter: invert(100%) sepia(20%) saturate(6678%) hue-rotate(168deg) brightness(109%) contrast(92%);
}

.region {
  position: relative;
}

.region select {
  /* 下矢印を非表示にする */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding:1rem 2.5rem 1rem 1rem;
  border-radius: 5px;
  border:solid 2px #000000;
}
.region .region_select {
  position: relative;
}
.region .region_select::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000000;
  border-left: 2px solid #000000;
  transform: translate(-50%, -50%) rotate(-135deg);
  font-size: 20px;
  pointer-events: none;
}

/* こだわり条件 */
section.top_section form .commitment {}
section.top_section form .commitment .title {
  justify-content: flex-start;
}

.commitment #details {
  display: none;
}
.commitment #details + label {
  position: relative;
  padding-left: 2rem;
}

/* オリジナルのチェックボックス枠 */
.commitment #details + label::before {
  content: '';
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 1.7rem;
  height: 1.7rem;
  border: 2px solid #9E9E9E;
  border-radius: 2px;
  transition: 0.15s;
  border-radius: 4px;
}

/* オリジナルのチェック */
.commitment #details + label::after {
  content: '';
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: 9px;
  left: 8px;
  width: 1rem;
  height: 0.5rem;
  border-left: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  transform: rotate(-45deg);
  /* visibility: hidden; */
}

/* チェック時の波紋エフェクト */
.commitment #details {
  position: absolute;
  top: -8px;
  left: -10px;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  background-color: #6300ee98;
  transform: scale(0);
}

/* チェックされたらチェックボックス内に色を塗る */
.commitment #details:checked + label::before {
  border: 0.87rem solid #FF914D;
}

/* チェックされたらチェックアニメーション開始 */
.commitment #details:checked + label::after {
  /* animation: md-checkbox-anim .3s forwards; */
}

/* チェックアニメーション */
@keyframes md-checkbox-anim {
  0% {
      visibility: visible;
      width: 0;
      height: 0;
  }
  40% {
      visibility: visible;
      width: 0;
      height: 8px;
  }
  100% {
      visibility: visible;
      width: 1.3rem;
      height: 0.65rem;
  }
  }


/* チェックされたときに表示する要素 */
#details:checked ~ #conditionalDetails {
  display: block;
}

/* 初期は非表示に */
#conditionalDetails {
  display: none;
  width:100%;
}

#conditionalDetails small {
  margin-left: 2rem;

}

#conditionalDetails div {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap:0.5rem 1rem;
}

#conditionalDetails input[type="checkbox"] {
  display: none;
}

#conditionalDetails label {
justify-content: center;
align-items: center;
background-color: #FFFFFF;
color:#000000;
border:solid 1px #000000;
cursor: pointer;
width:calc(25% - 0.8rem);
padding:0.5em 0;
}

#conditionalDetails input[type="checkbox"]:checked + label {
  background-color: #FF914D;
  border:solid 1px #FF914D;
  color:#ffffff;
}

.area_search form div.submit {
  justify-content: center;
  gap:1rem;

}

.area_search form div.submit button {
  width: max-content;
  padding:0.7rem 2rem;
  padding-top:calc(0.7rem + 2px);
  box-shadow: 0px 6px 0px 0px #000000;
  color:#ffffff;
  background:#A6A6A6;
  border-radius: 5px;
  border:none;
}

.area_search form div.submit button.submit {
  background:#869AEF;
  padding:0.7rem 4rem;
  padding-top:calc(0.7rem + 2px);
  box-shadow: 0px 6px 0px 0px #004AAD;
}

section.top_section .left_area .new_shop {
  border: solid 1px #000000;
  border-radius: 10px;
  background:#FAF2D7;
  padding: 1.5rem 1rem;
}

section.top_section .left_area .new_shop .news_area {
  border: solid 1px #000000;
  border-radius: 6px;
  background:#FFFFFF;
  height:11rem;
  overflow: scroll;
  padding:1rem;

}

.news_area ul {
  gap:0.8rem;
  justify-content: flex-start;
  align-items: flex-start;
}

.news_area ul li {
  justify-content: flex-start;
  gap:0.7rem;
}

.news_area ul li span {
  width:6em;
}

.news_area ul li div {
  gap:0.7rem;
}

.news_area ul li a.bt {
  border: solid 1px #000000;
  border-radius: 5px;
  color:#000000;
  padding:0.1rem 0.5rem;
  justify-content: center;
}

.news_area ul li a.bt.area {
  width:5em;
}
.news_area ul li a.bt.region {
  width:9em;
  justify-content: flex-start;
}

.news_area ul li a.tx {
  color:#000000;
}

.news_area ul li.hokkaido a.bt { background: #B2E1F6; }
.news_area ul li.tohoku a.bt { background: #A3BBE1; }
.news_area ul li.kanto a.bt { background: #F5C4BD; }
.news_area ul li.chubu a.bt { background: #BDDA98; }
.news_area ul li.kansai a.bt { background: #F7D489; }
.news_area ul li.chugoku a.bt { background: #CECEE4; }
.news_area ul li.shikoku a.bt { background: #85C7C3; }
.news_area ul li.kyushu a.bt { background: #F5C5E1; }
.news_area ul li.okinawa a.bt { background: #C5F5EF; }

section.top_section .right_area {
  width:300px;
}

.right_area .login {
  background:#F1F1F1;
  border:solid 1px #000000;
  border-radius: 10px;
  padding:1.5rem 1.3rem;
}

.right_area .login div input {
  width:100%;
  height:1.5rem;
}

.right_area .login div input[type="checkbox"] {
  width:1rem;
  height:1rem;
  border-radius: 0;
  margin:0;
}

.right_area .login button[type="submit"] {
  background: #869AEF;
  padding: 0.7rem 0;
  padding-top: calc(0.7rem + 2px);
  box-shadow: 0px 6px 0px 0px #004AAD;
  border-radius: 5px;
  border:0;
  height:3rem;
  width:80%;
  justify-content: center;
  gap:0.5rem;
  margin:0 auto 1rem;
}

.right_area .login button[type="submit"] img {
  height:100%;
  width:auto;
}

.right_area .login a.linktxt {
  color:#4DA4E0;
  text-decoration: underline;
  display: block;
}

.right_area .login a.signup {
  background: #7249F5;
  padding: 0.7rem 0;
  padding-top: calc(0.7rem + 2px);
  box-shadow: 0px 6px 0px 0px #5E17EB;
  border-radius: 5px;
  border:0;
  height:3rem;
  width:80%;
  justify-content: center;
  gap:0.5rem;
  margin:0 auto 1rem;
}

.top_section .left_area .group_search h3 {
  justify-content: flex-start;
  gap: 0.5rem;
  color:#737373;

}


.top_section .left_area .group_search {
  border: solid 1px #000000;
    border-radius: 10px;
    padding: 1rem 1.5rem 3rem;
}

.top_section .left_area .group_search h3 img {
  width:2rem;
}

.top_section .left_area .group_search ul {
  flex-wrap: wrap;
  gap:5%;
  row-gap: 2rem;
  align-items: stretch;
}

.top_section .left_area .group_search ul li {
  width:20%;
}

.top_section .left_area .group_search ul li a {
  color:#004AAD;
}

.top_section .left_area .group_search ul li a img {
  border:solid 2px #869AEF;
  border-radius: 100%;
  margin-bottom:1rem;
}
.top_section .left_area .group_search ul li strong,
.top_section .left_area .group_search ul li small {
  font-weight:normal;
  text-align: center;
  width: 100%; /* 要素の幅を指定 */
  white-space: nowrap; /* テキストを折り返さないようにする */
  overflow: hidden; /* コンテンツが要素をはみ出した場合に隠す */
  text-overflow: ellipsis; /* 文字列がはみ出したら省略記号（...）を表示 */
}

.top_section .left_area a.more {
  background: #869AEF;
  padding: 0.7rem 0;
  padding-top: calc(0.7rem + 2px);
  box-shadow: 0px 6px 0px 0px #004AAD;
  border-radius: 5px;
  border: 0;
  height: 3rem;
  width: 200px;
  justify-content: center;
  gap: 0.5rem;
  margin: 0 auto 1rem;

}


/* 最新アップデート情報 */
.top_section .left_area .update {
  border:solid 1px #000000;
  border-radius: 10px;

  padding: 1.5rem 1rem;
}

.top_section .left_area .update ul {
  flex-wrap: wrap;
  align-items: stretch; /* 子要素の高さを揃える */
  gap:0.7rem;
}

.top_section .left_area .update ul li {
  width: calc(33% - 0.7rem);
  border-bottom:dashed 1px #000000;
  padding:0 0 0.7rem;
}

/* 3列目の要素の下側のborderを消す */
.top_section .left_area .update ul li:nth-last-child(-n+3) {
  border-bottom: none;
}


.top_section .left_area .update ul li a {
  color:#000000;
}


.top_section .left_area .update ul li a span {
  font-weight:bold;
}

.top_section .left_area .update ul li a strong {
  text-decoration: underline;
}

.top_section .left_area .update ul li a div.flex img {
  width:1.5rem;
}

.top_section .right_area .company_link {
  border-top:solid 5px #000000;
  border-bottom:solid 5px #000000;
  padding:1.3rem 0.5rem 1.4rem;
}

.top_section .right_area .company_link a {
  width:100%;
  height:3rem;
  border:solid 2px #000000;
  color:#000000;
  font-weight:bold;
  justify-content: center;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #000000;
}

/* 注目の求人情報 */
.top_section.pickup_recruit {
  border-radius: 10px;
  background: linear-gradient(to bottom, #e3e65c, #FFee52);
  padding:2rem 0 4rem;
}

.top_section.pickup_recruit h3 {
  justify-content: center;
}

.top_section.pickup_recruit h3 img {
  width:2rem;
}

.top_section.pickup_recruit ul {
  align-items: stretch; /* 子要素の高さを揃える */
}
.top_section.pickup_recruit ul li {
  border:solid 3px #004AAD;
  border-radius: 10px;
  background:#ffffff;
  /* margin:0 1rem; */
}

.top_section.pickup_recruit ul li div.title {
  padding:1px 5px 2px;
  justify-content: flex-start;
  align-items: flex-start;
  gap:0.5rem;

}
.top_section.pickup_recruit ul li div.title span {
  font-weight:bold;
  line-height: 1;
  margin-top: -2px;
}
.top_section.pickup_recruit ul li div.title small {
  margin-left:auto;
  font-weight:bold;
  line-height: 1;
}

.top_section.pickup_recruit ul li div.title img {
  width:1.5rem;
}

.slide_pickup li .main {
  gap:10px;
  padding:10px;
}

.slide_pickup li .main .top,
.slide_pickup li .main .middle,
.slide_pickup li .main .bottom {
  gap:12px;
  width: 100%;
}

.slide_pickup li .left_side,
.slide_pickup li .right_side {
  width:50%;
}

.slide_pickup li .main .top {
  align-items: flex-end;
}
.slide_pickup li .main .top .left_side {}
.slide_pickup li .main .top .left_side strong,
.slide_pickup li .main .top .left_side small {
  line-height: 1;
}
.slide_pickup li .main .top .left_side div.icon_area {
  padding:0.2rem 0.4rem 0.2rem 0.2rem;
}
.slide_pickup li .main .top .left_side div img {
  width:2rem;
}

.slide_pickup li .main .top .right_side {
  gap:0.5rem;
}
.slide_pickup li .main .top .right_side div {
  width:50%;
  padding:4px;
  align-items: center;
}
.slide_pickup li .main .top .right_side div div {
  width:fit-content;
  min-width:6em;
  padding:0.1rem 0.3rem;
}
.slide_pickup li .main .top .right_side div div img {
  width:1.5rem;
}
.slide_pickup li .main .top .right_side div strong {
  line-height: 1;
  font-weight: normal;
  margin-top:-3px;
  margin-right:3px;
}


.slide_pickup li .main .middle {
align-items: stretch; 
}
.slide_pickup li .main .middle .right_side {
  justify-content: space-between;
  align-items: flex-start;
}

.slide_pickup li .main .middle .right_side .list {
  border:solid 1px #000000;
  background: #000000;
  gap:1px;
  width:100%;
  align-items: stretch; 
  overflow: hidden;
  
}

.slide_pickup li .main .middle .right_side .list span.title {
  padding:0 0.5rem 2px;
  min-width:5rem;
  width:5rem;
  white-space: nowrap;
  align-items: center;
}

.slide_pickup li .main .middle .right_side .list div {
  background:#ffffff;
  width:calc(100% - 5rem);
  gap: 0;
}

.slide_pickup li .main .middle .right_side .list div.txt {
  white-space: nowrap;
  overflow: hidden;
  text-overflow:ellipsis;
  padding:0 0.4rem;
}

.slide_pickup li .main .middle .right_side .list div.detail {
  padding:0;
}

.slide_pickup li .main .middle .right_side .list div.detail div {
  width: 33.33%;
  border-right:solid 1px #000000;
  padding:0;
  justify-content: flex-start;
  height:auto;
  height: -webkit-fill-available;
}

.slide_pickup li .main .middle .right_side .list div.detail div:last-child {
  border:none;
}

.slide_pickup li .main .middle .right_side .list div.detail div span {
  border-right:solid 1px #000000;
  background:#ffffff;
  width:1.5rem;
  height:100%;
  padding:0;
  line-height: 1;
  justify-content: center;
}

.slide_pickup li .main .middle .right_side .list div.detail div p {
  padding:0 0.3rem;
}

.slide_pickup div.salary {
  min-height:5rem;

}

.slide_pickup div.salary div.salary_detail {
  width:33.33%!important;
  border-right:solid 1px #000000;
  height:100%;
  padding:0 0 0.3rem;
  justify-content: flex-start;
  align-items: flex-start;
}

.slide_pickup div.salary div.salary_detail:last-child {
  border:0;
}


.slide_pickup div.salary div.salary_detail div {
  justify-content: flex-start;
  width:100%!important;
  padding:0;
}

.slide_pickup div.salary div.salary_detail div p {
  padding:0 0.3rem;
  white-space: nowrap;
  width: calc(100% - 1.5rem);
}

.slide_pickup div.salary div.salary_detail p.amendment {
  padding:0 0.3rem;
}


.slide_pickup div.salary div.salary_detail div span.number {
  border-right:solid 1px #000000;
  border-bottom:solid 1px #000000;
  width:1.5rem!important;
  height:1.5rem!important;
  height:100%;
  padding:0;
  line-height: 1;
  justify-content: center;
}

.slide_pickup li .main .bottom {
  align-items: stretch; 

}

.slide_pickup li .main .bottom .left_side h5 {
  justify-content: center;
  height:1.6rem;
  margin-bottom:5px;
}

.slide_pickup li .main .bottom .left_side ul {
  gap:5px;
  flex-wrap: wrap;
}

.slide_pickup li .main .bottom .left_side ul li {
  display: flex;
  background:#004AAD;
  border-radius: 0;
  border:0;
  color:#ffffff;
  width:19%;
  height:1.7rem;
  font-size:0.7rem;
  justify-content: center;
  align-items: center;
  margin:0;
  white-space: nowrap;
} 

.slide_pickup li .main .bottom .left_side ul li.non {
  background:#ffffff;
  border:solid 1px #C4C4C4;
  color:#C4C4C4;
}


.slide_pickup li .main .bottom .left_side ul li.empty {
  background:none;
}

.slide_pickup li .main .bottom .right_side {
  justify-content: flex-start;
  gap:0.7rem;
}

.slide_pickup li .main .bottom .right_side p {
  border:solid 1px #000000;
  padding:0.3rem;

}

.slide_pickup li .main .bottom .right_side ul {
  gap:0.7rem;
  width:100%;
}

.slide_pickup li .main .bottom .right_side ul li {
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #000000;
  border:0;
  height:2.2rem;
  margin:0;
}

.slide_pickup li .main .bottom .right_side ul li.keep {
  background:#FF5757;
  width:30%;
  white-space: nowrap;

}

.slide_pickup li .main .bottom .right_side ul li.kept {
  background:#828282;
  box-shadow:none;
  margin-top:5px;
  width:30%;
}

.slide_pickup li .main .bottom .right_side ul li.detail_link {
  background:#4DA4E0;
  width:80%;
  flex-grow: 1;
}

.slide_pickup li .main .bottom .right_side ul li a {
  width:100%;
  height:100%;
  justify-content: center;
}


@media screen and (max-width:1200px) {
  .slide_pickup li .main .middle .right_side .list {
    /* border-bottom:none; */
  }
  .slide_pickup li .main .middle .right_side .list div.txt {
    font-size:0.9rem;
  }
  .slide_pickup li .main .top .right_side div strong {
    font-size:1rem;
  }
  .slide_pickup li .main .middle .right_side .list span.title {
    font-size:0.8rem;
    width:4rem;
    min-width: 4rem;
  }
  .slide_pickup li .main .middle .right_side .list div {
    width: calc(100% - 4rem);

  }

  .slide_pickup li .main .middle .right_side .list div.detail div p { 
    font-size:0.8rem;
    white-space: nowrap; /* テキストを折り返さないようにする */
    overflow: hidden; /* コンテンツが要素をはみ出した場合に隠す */
    text-overflow: ellipsis; /* 文字列がはみ出したら省略記号（...）を表示 */
  }

  .slide_pickup div.salary div.salary_detail div p {
    font-size:0.8rem;
    white-space: nowrap; /* テキストを折り返さないようにする */
    overflow: hidden; /* コンテンツが要素をはみ出した場合に隠す */
    text-overflow: ellipsis; /* 文字列がはみ出したら省略記号（...）を表示 */

  }
  .slide_pickup div.salary div.salary_detail p.amendment {
    font-size:0.7rem;
  }
  .slide_pickup li .main .bottom .left_side ul {
    gap:3px;
  }
  .slide_pickup li .main .bottom .left_side ul::before{
  content:"";
  display: block;
  width:24%;
  order:1;
}
  .slide_pickup li .main .bottom .left_side ul li {
    width:24%;
  }
}

/* エリアランキング */

.top_section.area_ranking {
  background:#FFDE59;
  position:relative;
}

.top_section.area_ranking::before,
.top_section.area_ranking::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 2.5rem;
  background-color: #FFC759; /* ここで背景色を設定 */
}

.top_section.area_ranking::before {
  top: -2.5rem;
  border-top-left-radius: 30px;  /* 左上の角丸 */
  border-top-right-radius: 30px; /* 右上の角丸 */
}

.top_section.area_ranking::after {
  bottom: -2.5rem;
  border-bottom-left-radius: 30px;  /* 左下の角丸 */
  border-bottom-right-radius: 30px; /* 右下の角丸 */
}

.top_section.area_ranking h3 {
  font-weight:bold;
  color:#665AFF;
}

.top_section.area_ranking .ranking_main {
  width:70%;
  margin-right:auto;
  margin-left:auto;
  gap:2rem;
}

.top_section.area_ranking .ranking_main .tabcontent {
  width:50%;
}

.top_section.area_ranking .ranking_main .tabcontent h4 {
  border-radius: 10px;
  height:3.5rem;
  background: linear-gradient(to bottom,#ff914d, #ff3131 );
  justify-content: center;
  align-items: center;
  gap:0.5rem;
}

.top_section.area_ranking .ranking_main .tabcontent:nth-child(3) h4 {
  background: linear-gradient(to bottom,#5ce1e6, #8e52ff );
}

.top_section.area_ranking .ranking_main .tabcontent h4 img {
  width:2rem;
  height:auto;
}

.top_section.area_ranking .ranking_main .tabcontent div {
  background:#ffffff;
  border-radius: 15px;
  padding:1rem 0.7rem;
}

.top_section.area_ranking .ranking_main .tabcontent ul {
  gap:1rem;
  counter-reset: list-counter 0; /* カウンターの開始値を 2 に設定 */
}

.top_section.area_ranking .ranking_main .tabcontent ul li {
  border-radius:5px;
  border:solid 2px #A6A6A6;
  box-shadow: 0px 2px 0px 0px #A6A6A6;
  width:100%;
  height:3.5rem;
  counter-increment: list-counter; /* 各li要素でカウンターを1増加 */
}

.top_section.area_ranking .ranking_main .tabcontent ul li a {
  justify-content: flex-start;
  width:100%;
  height:100%;
  padding:0 1rem;
  font-weight:bold;
  gap:0.5rem;
}

.top_section.area_ranking .ranking_main .tabcontent ul li a::before {
  content: counter(list-counter); /* ゼロ埋めの数字とドットを表示 */
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  background:#000000;
  color:#ffffff;
  width:2.7rem;
  height:2.7rem;
  font-size:1.5rem;
}

.top_section.area_ranking .ranking_main .tabcontent ul li a img {
  width:2.7rem;
}

.top_section.area_ranking .ranking_main .tabcontent ul li:nth-child(-n+3) a::before {
  content: none; /* 最初の3つのリスト項目のナンバリングを非表示 */
}


/* リンクニュース */
.top_section.link_news {

}
.top_section.link_news h3 {
  width:70%;
  margin-right:auto;
  margin-left:auto;
  align-items: center;
}
.top_section.link_news h3 img {
  width:1.3rem;
  padding-top:4px;
}

.top_section.link_news ul {
  width:70%;
  margin-right:auto;
  margin-left:auto;
}
.top_section.link_news ul li {
  width:100%;
  border-bottom:solid 1px #737373;

}

.top_section.link_news ul li a {
  padding: 1rem;
  gap:1rem;
  justify-content: flex-start;
}
.top_section.link_news ul li a span,
.top_section.link_news ul li a p {
  color:#000000;
}

.top_section.link_news ul li a span {
  width:15%;

}
.top_section.link_news ul li a strong {
  background:#FF5757;
  padding:0.6rem 1rem;
  width:5em;
  white-space: nowrap;
}

.top_section.link_news ul li a p {
  width:calc(85% - 5em);
  white-space: nowrap; /* テキストを折り返さないようにする */
  overflow: hidden; /* コンテンツが要素をはみ出した場合に隠す */
  text-overflow: ellipsis; /* 文字列がはみ出したら省略記号（...）を表示 */
}


@media screen and (max-width:1200px) { 
  .top_section.link_news h3,
  .top_section.link_news ul {
    width:100%;
  }
}


/* ●●から探す */
.top_section.search_all {

}

.top_section.search_all h3 img {
  width:1.4rem;
}

.top_section.search_all ul {
  flex-wrap: wrap;
  gap:1rem 0.6rem;
  justify-content: flex-start;

}

.top_section.search_all ul li {
  width:calc(25% - 0.7rem);
}
.top_section.search_all ul li a {
  white-space: nowrap;
  font-weight: bold;
}

.top_section.search_all ul li a.non {
  color:#C4C4C4;
}

/* エリアトップページ */
h2.subtitle {
  width:100%;
}
h2.subtitle span {}

/* エリアから探す */
.search_area {}

.search_area ul {
  flex-wrap:wrap;
  gap:0.6rem 0.5rem;
  justify-content: flex-start;
  margin-bottom:1.5rem;
}
.search_area ul li {
  width:calc(33% - 0.7rem);
}
.search_area ul li a {
  width:100%;
}
.search_area ul li.areamain {
  width:100%;
}
.search_area ul li.areamain a {
  font-weight:bold;
}

.search_area ul li.non a {
  color:#C4C4C4;
}

/* 求人一覧 */
.job_shoplist {
  align-items: flex-start;
  gap:2rem;
}

/* 左側 */
.job_shoplist .left_area {
  /* width:70%; */
  width:calc(70% - 1rem);
}

.job_shoplist .left_area .toc {
  gap:0.5rem;
}

.job_shoplist .left_area .toc span {
  padding:0.3rem 1.2rem;
  border-radius: 30px;
}

.job_shoplist .left_area .tab_link {
  gap:0.8rem;
  height:3.5rem;
  width:100%;
  align-items: flex-end;
}

.job_shoplist .left_area .tab_link a {
  background: #78C8FF;
  width:25%;
  height:100%;
  border-radius: 7px;
  box-shadow: 0px 7px 0px 0px #004AAD;
  justify-content: center;

}

.job_shoplist .left_area .tab_link a.now {
  background:#004AAD;
  height:3.2rem;
  position: relative;
}
.job_shoplist .left_area .tab_link a.now:after {
  content: '';
  position: absolute;
  bottom: -20px; /* 三角形の位置をボタンの下に設定 */
  left: 50%;
  transform: translateX(-50%); /* 三角形を中央に配置 */
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 30px solid #004AAD; /* 吹き出しの色と同じ色に設定 */
}

.job_shoplist .left_area .search_result {
  border-top:solid 1px #A6A6A6;
  border-bottom:solid 1px #A6A6A6;
  padding:0.5rem;
  gap:0.6rem;
}
.job_shoplist .left_area .search_result strong {
  color:#5271FF;
}
.job_shoplist .left_area .search_result p {
  margin-right:auto;
  margin-top:auto;
  padding-bottom:5px;
  color:#A6A6A6;
}

.job_shoplist .left_area .search_result .switch {
  gap:0.5rem;
}

/* スイッチ *//* トグルスイッチ全体のスタイル */
.only {
  position: relative;
  display: inline-block;
  width: 60px; /* 幅 */
  height: 22px; /* 背景の高さをハンドルの2/3に調整 */
  background-color: #ccc; /* OFF時の背景色 */
  border-radius: 22px; /* 背景の角の丸みを半径に合わせて調整 */
  transition: background-color 0.4s;
  /* overflow: hidden; 背景より大きなハンドルがはみ出ないようにする */
}

/* 実際のチェックボックスは隠す */
.only input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* スライダー部分のスタイル */
.only_slider {
  position: absolute;
  cursor: pointer;
  top: 50%;
  transform: translateY(-50%); /* 中央に配置 */
  left: 0;
  right: 0;
  background-color: #ccc; /* OFF時の背景色 */
  transition: .4s;
  border-radius: 22px; /* 背景の角の丸みを半径に合わせて調整 */
}

/* ハンドルのスタイル */
.only_slider:before {
  position: absolute;
  content: "";
  height: 34px; /* ハンドルの高さ */
  width: 34px; /* ハンドルの幅 */
  left: 4px; /* ハンドルの初期位置 */
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-color: white; /* ハンドルの色 */
  border-radius: 50%; /* ハンドルを完全に円形にする */
  transition: .4s;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2); /* ハンドルに影を追加 */
}

/* チェックされたときのハンドルのスタイル */
.only input:checked + .only_slider:before {
  transform: translate(26px, -50%); /* ハンドルの移動距離を調整 */
}

/* チェックされたときの背景色の変更はハンドルに適用する */
.only input:checked + .only_slider:before {
  background-color: #2196F3; /* ON時のハンドルの色 */
}


/* 絞り込み */
.job_shoplist .left_area .narrowdown {
  width:9rem;
  height:2.5rem;
  background:#FFDE59;
  border-radius: 5px;
  box-shadow: 0px 4px 0px 0px #CFA24A;
}
.job_shoplist .left_area .narrowdown a {
padding:5px;
padding-left:7px;
  align-items: center;
  color:#000000;
  width:100%;
  height:100%;
}

.job_shoplist .left_area .narrowdown a img {
  width:1.3rem;
}

.job_shoplist .left_area .narrowdown a span {
  width:2rem;
  height:2rem;
  border-radius: 4px;
  justify-content: center;
}

/* 店舗表示部分 */
.shoplist {
  border-radius: 10px;
  width:100%;
  padding-bottom:10px;
}

.shoplist.orange {border:solid 2px #FF6859;}
.shoplist.yellow {border:solid 2px #FFC759;}
.shoplist.blue {border:solid 2px #59C3FF;}
.shoplist.gray {border:solid 2px #AFAFAF;}

.shoplist.gold {border:solid 2px #B5A863;}
.shoplist.silver {border:solid 2px #A6A6A6;}
.shoplist.bronze {border:solid 2px #AF927C;}
.shoplist.black {border:solid 2px #000000;}

.shoplist.orange .title {background:#FF6859;}
.shoplist.yellow .title {background:#FFC759;}
.shoplist.blue .title {background:#59C3FF;}
.shoplist.gray .title {background:#A6A6A6;}
.shoplist.gold .title {background:#B5A863;}
.shoplist.silver .title {background:#AFAFAF;}
.shoplist.bronze .title {background:#AF927C;}
.shoplist.black .title {background:#000000;}

.shoplist .title {
  padding:0.2rem 0.7rem;
  gap:0.5rem;
  color:#000000;
}
.shoplist .title small {
  margin-right:auto;
}

.shoplist .main_area {
  gap:6px;
  padding:5px;
  align-items: stretch;
}

/* 左側 */
.shoplist .main_area .left_area {
  width:60%;
  gap:6px;

  flex-shrink:2;
}

.shoplist .main_area .left_area p {
  border:solid 1px #000000;
  display: block;
  padding:3px;
  height:2.6rem;
  overflow: hidden;
  line-height:1.4;
}

.shoplist .main_area .left_area p.multiline-ellipsis {
  display: -webkit-box;
  -webkit-line-clamp: 2; /* 行数制限を2行に設定 */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.shoplist .main_area .left_area .salary {
  width:100%;
  
  gap:5px;
}

.shoplist .main_area .left_area .salary > div {
  width: 50%;
  border:solid 2px #FF914D;
  background:#FF914D;
}

.shoplist .main_area .left_area .salary div div {
  width:4rem;
  padding:0.3rem 0;
  color:#FF914D;
}

.shoplist .main_area .left_area .salary div strong {
  padding-right:0.5rem;

}
.shoplist .main_area .left_area .salary img {
  width:1rem;
  }


/* 右側 */
.shoplist .main_area .right_area {
  width:40%;
  gap:6px;
  justify-content: flex-start;
  min-width:0;
}

.shoplist .main_area .right_area div.moon {
  margin-left:auto;

  height:2.6rem;
  padding-right:6px;

}
.shoplist .main_area .right_area div.moon img {
  width:2rem;
}

.shoplist .main_area .right_area div.conditions {
  background:#000000;
  padding:1px;
  width:100%;
  gap: 1px;

}
.shoplist .main_area .right_area div.conditions dl {
  width: 50%;
  gap: 1px;
}
.shoplist .main_area .right_area div.conditions dl:first-child {
  /* border-right:solid 1px #000000; */
  width: calc(50% - 1px);
}

.shoplist .main_area .right_area div.conditions dl dt {
  background:#F7D489;
  width:100%;
  justify-content: center;
}
.shoplist .main_area .right_area div.conditions dl dd {
  background:#FFFFFF;
  padding:6px;
  width:100%;
  white-space: nowrap; /* テキストを折り返さないようにする */
  overflow: hidden; /* コンテンツが要素をはみ出した場合に隠す */
  text-overflow: ellipsis; /* 文字列がはみ出したら省略記号（...）を表示 */
}


/* 待遇一覧 */
.shoplist .main_area .right_area .treatment {
  width:100%;
}
.shoplist .main_area .right_area .treatment h5 {
  background:#FF914D;
  justify-content: center;
}


.shoplist .main_area .right_area .treatment ul {
  flex-wrap: wrap;
  gap:6px;
}
.shoplist .main_area .right_area .treatment ul:after {
  content:"";
  display: block;
  width:32%;
}

.shoplist .main_area .right_area .treatment ul li {
  width:32%;
  height:1.3rem;
  background:#FF914D;
  color:#ffffff;
  font-size:0.6rem;
  padding:0.3rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.shoplist .main_area .right_area .treatment ul li.non {
  background:#ffffff;
  color:#C4C4C4;
  border:solid 1px #C4C4C4;

}

.shoplist .main_area .right_area .treatment ul li.empty {
  background:#ffffff;
}

@media (max-width: 1200px) {
  .shoplist .main_area .left_area .salary div strong {
    font-size:1rem;

  }

  .shoplist .main_area .right_area .treatment ul li {
    width:calc(49% - 2px);
  }
}

.shoplist .menu_area {
  width: 100%;
  padding:0 5px;
  gap:0.5rem;
  align-items: flex-end;
}


.shoplist .menu_area a {
  width:20%;
  border-radius: 7px;
  justify-content: center;
  height:3rem;
  box-shadow: 0px 4px 0px 0px #000000;
}


.shoplist .menu_area a.link {background:#3D83AD;}
.shoplist .menu_area a.line {background:#00BF63;}

.shoplist .menu_area a.keep {background:#FF5757;}
.shoplist .menu_area a.more {background:#4DA4E0;}

.shoplist .menu_area a.form {background:#ffffff;
color:#FF914D;
border:solid 1px #FF914D;}

.shoplist .menu_area a.kept {
  background:#ffffff;
  color:#FF5757;
  border:solid 1px #FF5757;
  margin-bottom:-4px;
  box-shadow: none;
}


/* ページャー */
.pager {
  width:80%;
}

.pager ul {
  width:100%;
  justify-content: center;
  gap:1.6rem;
}

.pager ul li {
  background:#869AEF;
  border-radius: 7px;
  min-width:2rem;
  height:3rem;
}

.pager ul li a {
  color:#ffffff;
  padding:0.5rem;
  justify-content: center;
  gap:0.5rem;
  width:100%;
  height:100%;
  line-height:1;
}
.pager ul li.now {
  background:none;
}

.pager ul li.now a {
  color:#A6A6A6;
}

.pager ul li.prev a:before {
  content: '';
  display: block;
  width: 0.7rem;
  height: 2rem;
  background-image: url(../img/prev.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.pager ul li.prev.now a:before {
  background-image: url(../img/prev_gray.png);
}


.pager ul li.next a:after {
  content: '';
  display: block;
  width: 0.7rem;
  height: 2rem;
  background-image: url(../img/next.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.pager ul li.next.now a:after {
  background-image: url(../img/next_gray.png);
}

/* もっと見る */
.job_shoplist .left_area a.go_more {
  width:8rem;
  height:2.5rem;
  border:solid 1px #545454;
  color:#545454;
  border-radius: 5px;
  justify-content: center;
  box-shadow: 0px 5px 0px 0px #000000;
}


/* 右側 */
.job_shoplist .right_area {
  width:calc(30% - 1rem);
  /* width:400px;
  min-width: 300px;
  flex-shrink:1; */
}

.job_shoplist .right_area ul.slide_pickup {}

.job_shoplist .right_area ul.slide_pickup .slick-arrow {
  display: none!important;
}

.job_shoplist .right_area .slick-dots li button:before {
  font-size:14px;
  opacity: 1;
}
.job_shoplist .right_area .slick-dots li.slick-active button:before {
  color:#4DA4E0;
}

.job_shoplist .right_area .borderarea.title {
  border-top:solid 6px #000000;
  padding:1rem 0;
}

.borderarea.title h3 {
justify-content: center;
gap:0.5rem;
}

.job_shoplist .right_area .borderarea.title h3 img {
  width:2rem;
}

.borderarea.title span {
  justify-content: center;
  font-weight:bold;
  margin:0;
}


.job_shoplist .right_area .borderarea {
  /* width:80%;
  margin-left:auto; */
  /* min-width:300px; */
  gap:2rem;
  border-bottom:solid 6px #000000;
  padding:2rem 0;
}
.job_shoplist .right_area .borderarea a,
.job_shoplist .right_area .borderarea img {
  width:100%;
}
.job_shoplist .right_area .ranking_top3 {
  /* margin-left:auto;
  min-width:300px;
  width:80%; */
}


.ranking_top3 {
  border-bottom:solid 6px #000000;
}
.ranking_top3 h4 {
  justify-content: center;
  gap:0.5rem;
}

.ranking_top3 .main {
  width:90%;
  margin-right:auto;
  margin-left:auto;
  border-radius: 10px;
  border:solid 1px #004AAD;
  padding:7px;
  box-shadow: 0px 5px 0px 0px #004AAD;
}

.ranking_top3 .main a {
  align-items: flex-start;
  gap:5px;
}

.ranking_top3 .main a div {
  justify-content: space-between;
  width: 100%;
  gap:0.6rem;
}
.ranking_top3 .main a div span {
  /* background-image: url(../img/icon_ranking_gold.png); */
  background-size: contain;
  background-repeat: no-repeat;
  justify-content: center;
  width: 40px;
  height: 45px;
}

.ranking_top3 .main a div span img {
  width:45px;
}

.ranking_top3 .main:nth-child(2) a div span {
  /* background-image: url(../img/icon_ranking_silver.png); */
}
.ranking_top3 .main:nth-child(3) a div span {
  /* background-image: url(../img/icon_ranking_bronze.png); */
}
.ranking_top3 .main a div strong {
  margin-right:auto;
  align-items: flex-start;
}
.ranking_top3 .main a div img {
  width:25px;
  margin-bottom: auto;
}

.ranking_top3 .more {
  width:80%;
  justify-content: center;
  background:#FFB800;
  border-radius: 10px;
  height:4rem;
  box-shadow: 0px 5px 0px 0px #000000;
}



/* アクセスランキング */
.job_shoplist.ranking h3.access_ranking {
  background:#FFB800;
  width:fit-content;
  height:4rem;
  padding:0 1rem;
  gap:0.5rem;

}

.job_shoplist.ranking h3.access_ranking img {
  width:2rem;
}

.rank_link_list {
  padding:1rem;
  border-top:solid 1px #000000;
  border-bottom:solid 1px #000000;
  position:relative;
}

.rank_link_list::after {
  content: '';
  position: absolute;
  bottom: 100%; /* 吹き出しの上部に配置 */
  left: 50%; /* 左右中央に配置 */
  margin-left: -20px; /* 三角形の幅の半分だけ左に移動 */
  border-left: 15px solid transparent; /* 三角形の幅を細く */
  border-right: 15px solid transparent; /* 三角形の幅を細く */
  border-bottom: 20px solid black; /* 高さを維持 */
  border-bottom-color: #000000;
}

.rank_link_list::before {
  content: '';
  position: absolute;
  bottom: 100%; /* 吹き出しの上部に配置 */
  left: 50%; /* 左右中央に配置 */
  margin-left: -19px; /* ::afterより1pxだけ小さく（9px） */
  border-left: 14px solid transparent; /* ::afterより1px小さい幅 */
  border-right: 14px solid transparent; /* ::afterより1px小さい幅 */
  border-bottom: 19px solid white; /* ::afterより1px小さい高さ */
  border-bottom-color: #ffffff; /* 吹き出しの背景色と同じ */
  z-index: 2;
}



.rank_link_list ul {
  flex-wrap: wrap;
  gap:1rem;
  justify-content: flex-start;
}

.rank_link_list ul li {
  flex: 0 0 auto;
}
.rank_link_list ul li a {
  gap:0.5rem;
}
.rank_link_list ul li a img {
  width:1rem;
}

p.update_text {
  text-align: center;
}


/* ランキング店舗詳細一覧 */
.shoplist.ranking {}

.shoplist.ranking .title {

}

.shoplist.ranking .title h4 {
  gap:0.4rem;
}

.shoplist.ranking .title h4 img {
  width:1rem;
}

.ranking img.rank_icon {
  width:60px;
  height:60px;
}

.shoplist.ranking .main_area {
  align-items: flex-start;

}

.shoplist.ranking .shopname_area {
  justify-content: space-between;
  gap:0.5rem;
  width:60%;
  margin-right:auto;
  padding:0.2rem 0.5rem;
}

.shoplist.ranking .shopname_area div.column {
  margin-right:auto;
}

.shoplist.ranking .shopname_area .moon {
height: 2.6rem;
padding-right: 6px;
margin-top:auto;
}
.shoplist.ranking .shopname_area .moon img {
  width:2rem;
}

.shoplist.ranking .shopname_area .menu_area {
  gap:1rem;
}

.shoplist.ranking .right_area .menu_area a {
  width:50%;
}

.shoplist.ranking .shop_text {
  border:solid 1px;
  padding:7px;
  width:calc(100% - 10px);
}


.shoplist.gold .main_area .salary div div {
  color:#B5A863;
}
.shoplist.gold .main_area .salary > div {
  border: solid 2px #B5A863;
}

.shoplist.gold .main_area .treatment h5,
.shoplist.gold .main_area .right_area .treatment ul li:not(.non) {
  background:#B5A863;
}

.shoplist.silver .main_area .salary div div {
  color:#A6A6A6;
}
.shoplist.silver .main_area .salary > div {
  border: solid 2px #A6A6A6;
}

.shoplist.silver .main_area .treatment h5,
.shoplist.silver .main_area .right_area .treatment ul li:not(.non) {
  background:#A6A6A6;
}


.shoplist.bronze .main_area .salary div div {
  color:#AF927C;
}
.shoplist.bronze .main_area .salary > div {
  border: solid 2px #AF927C;
}

.shoplist.bronze .main_area .treatment h5,
.shoplist.bronze .main_area .right_area .treatment ul li:not(.non) {
  background:#AF927C;
}


.shoplist.black .main_area .salary div div {
  color:#000000;
}
.shoplist.black .main_area .salary > div {
  border: solid 2px #000000;
}

.shoplist.black .main_area .treatment h5,
.shoplist.black .main_area .right_area .treatment ul li:not(.non) {
  background:#000000;
}

.shoplist.ranking span.below_four {
  width:60px;
  height:60px;
  background:#000000;
  justify-content: center;
  border-radius: 50%;
}

/* 店舗詳細ページ */
.shop_header {
padding:0.2rem 0;
}
.shop_header > div {
  gap:0.5rem;
} 


.shop_logo {
  border-radius: 100%;
  width:3rem;
}
.shop_logo img {
  border-radius: 100%;
}

.shop_header .shop_name {
  align-items: flex-start;
  margin-right:auto;
  gap: 0.1rem;
}


.shop_header .shop_linkmenu {
  flex-wrap: wrap;
  padding:0.2rem 0;
  justify-content: flex-end;
  gap:0.3rem 0;
}

.shop_header .shop_linkmenu li {
  border-left:solid 1px #ffffff;
}

.shop_linkmenu li:last-child {
  border-right:solid 1px #ffffff;

}

.shop_linkmenu li a {
  color:#ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  height:100%;
  white-space: nowrap;
  padding:0.15rem 0.3rem;
}

/* メイン画像スライダー */
.shopmain_slider .slick-next,
.shopmain_slider .slick-next:hover,
.shopmain_slider .slick-next:active,
.shopmain_slider .slick-next:focus {
  display: block;
  right: 0;
  height:5rem;
  width:2rem;
  margin: auto;
  background:#000000;
  opacity: 0.5;
  border-top-left-radius: 7px; /* 左上を角丸にする */
  border-bottom-left-radius: 7px; /* 左下を角丸にする */
}

.shopmain_slider .slick-next:before {
  transform: translate(-50%, -50%) rotate(45deg); /* 角度を変更 */
}

.shopmain_slider .slick-prev:before {
  transform: translate(-50%, -50%) rotate(225deg); /* 角度を変更 */

}

.shopmain_slider .slick-prev,
.shopmain_slider .slick-prev:hover,
.shopmain_slider .slick-prev:active,
.shopmain_slider .slick-prev:focus  {
  left: 0;
  height:5rem;
  width:2rem;
  margin: auto;
  background:#000000;
  opacity: 0.5;
  border-top-right-radius: 7px; /* 右上を角丸にする */
  border-bottom-right-radius: 7px; /* 右下を角丸にする */
}

/* 説明 */
.shop_description {
  background: #F1F1F1;
  padding:1rem;
}

/* 応募特典 */
.shop_tokuten {
  width: 100%;
  gap:0.5rem;
  justify-content: flex-start;
}

.shop_tokuten dl {
  width:100%;
  gap:0.5rem;
  flex-wrap: nowrap;
}

.shop_tokuten dl dt {
  width:3rem;
  height:3rem;
  justify-content: center;
}

.shop_tokuten dl dd {
  width:calc(100% - 3rem);
  border:solid 1px #000000;
  padding:0.6rem;
}


.job_shoplist.shopinfo h3 {
  width:100%;
  margin-bottom:1rem;
}

.job_shoplist.shopinfo h3 img {
  width:1.2rem;
}


/* 待遇一覧 */
.shop_treatment {

}
.shop_treatment ul {
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.shop_treatment ul li {
  display: flex;
    background: #FF914D;
    border-radius: 0;
    border: 0;
    color: #ffffff;
    width: 18%;
    height: 2.7rem;
    font-size: 1rem;
    justify-content: center;
    align-items: center;
    margin: 0;
    white-space: nowrap;
}

.shop_treatment ul li.non {
  background: #ffffff;
  border: solid 1px #C4C4C4;
  color: #C4C4C4;
}

/* メリット */
.shop_merit {}
.shop_merit div {
  justify-content: flex-start;
  width:100%;
  border:solid 1px #000000;
  padding:1rem 0.5rem;
}

.shop_merit div dl {
  width:100%;
  justify-content: flex-start;
  align-items: flex-start;
  gap:0.5rem;
  margin-bottom:1rem;
}

.shop_merit div dl dt {
  width:100%;
  padding-bottom:0.5rem;
  border-bottom:dashed 1px #000000;
  padding-left:0.7rem;
}

.shop_merit div dl dd {
  padding-left:0.7rem;
  width:100%;
}

/* 先輩ボイス */
.shop_voice {}
.shop_voice .voice_slider {
  width:100%;
  overflow-x: scroll;
  flex-wrap: nowrap;
  gap:1rem;
  align-items: flex-start;
}
.shop_voice .voice_slider li {

}
.shop_voice .voice_slider li div.voicemain {
  border:solid 2px #000000;
  padding:0.7rem;
  width:325px;
}

.voice_head {
  gap:1rem;
  justify-content: flex-start;
}

.voice_head img {
  width:4rem;
  height:4rem;
  border-radius: 100%;
}

.voice_head .column {
  align-items: flex-start;
}

.voice_head .column small {
  color:#8D8D8D;
}

.voice_position {
  width:100%;
  border:solid 1px #000000;
}

.voice_position li {
  border-bottom:solid 1px #000000;
  text-align: center;
  padding:0.2rem 0;
}
.voice_position li:last-child {
  border:none;
}

.voice_earnings {

}
.voice_earnings p {
  align-items: flex-end;
  line-height: 1;
  font-weight:bold;
  gap:0.1rem;
}
.voice_earnings strong {
  font-size:2.5rem;
  line-height: 0.8;
}

/* メッセージ */
.textContainer {
  position: relative;
  max-height: 100px; /* 初期表示時の最大高さ */
  overflow: hidden;
  transition: max-height 0.5s ease;
}

.moreText {
  /* 必要に応じてスタイルを調整 */
}

.gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50px; /* グラデーションの高さ */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white);
}

.toggleButton {
  margin-top: 10px;
  margin-bottom:10px;
  background:#5271FF;
  color:#ffffff;
  border:0;
  border-radius: 7px;
  width:96%;
  height:3rem;
  box-shadow: 0px 5px 0px 0px #000000;
  position: relative;
}

.buttonIcon {
  display: inline-block; /* inline-blockに設定 */
  width: 10px;
  height: 10px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute; /* absoluteからrelativeに変更 */
  right: 1rem;
  top: 50%;
  transform: translate(-50%, -50%) rotate(135deg);
  opacity: 1;
  margin-left: 5px; /* ボタンテキストとの間隔 */
}

.toggleButton.close {
  box-shadow: none;
  background:#8D8D8D;

}

.toggleButton.close .buttonIcon {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* スペシャル待遇 */
.shop_special {}

.shop_special div {
  width:100%;
  min-height:4rem;
  border:solid 1px #000000;
  padding:1rem;
}


/* 募集要項 */
.shop_youkou {}

.shop_youkou div {
  width:100%;
  min-height:4rem;
  border:solid 1px #000000;
  padding:1rem;
}
.shop_youkou h4 {
  padding-left:1rem;

}
.shop_youkou div.txt {
  border:none;
  padding:0.2rem 1rem 1rem 1rem;
  border-bottom:dashed 1px #D9D9D9;
  margin-bottom:0.6rem;
  min-height: 0;
}

.shop_youkou div.txt:last-child {
  border:0;
}

/* 店内写真 */
.shop_photo {}

.shop_photo div.photo_main {
  width:100%;
  border:solid 1px #000000;
  padding:1rem;
  flex-wrap: wrap;
  gap:2rem 1%;
  align-items: flex-start;
}
.shop_photo div.photo_main div.column {
  width:32%;
  align-items: flex-start;
  gap:0.2rem;
}

/* 店内情報 */
.shop_info {

}
.shop_info > div {
  border:solid 1px #000000;
  padding:1rem;
}


.youtube-video-container {
  width: 100%;
  aspect-ratio: 16/9;
}
.youtube-video-container iframe {
  width: 100%;
  height: 100%;
}



.shop_info p {
  padding:1rem;
}

.shop_info ul {
  width:90%;
  max-width: 600px;
  gap:1rem;
  justify-content: flex-start;
}

.shop_info ul li {
  width:25%;
  max-width:130px;
  background:#000000;
  border-radius: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
  justify-content: flex-start;
  align-items: center;
}

.shop_info ul li .iconarea {
  height: auto; /* または最も高い画像の高さに合わせる */
  width: 75%;
  margin-top: 0.7rem;
  justify-content: center;
}

.shop_info ul li.cast img,
.shop_info ul li.age img,
.shop_info ul li.tsubo img,
.shop_info ul li.taku img {
  max-height: 55px; /* 画像の最大高さを.iconareaの高さに合わせる */
  width: auto; /* 幅を自動調整 */
  max-width:90%;
}


.shop_info ul li div.num {
  position: absolute;
  bottom:0;    
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-radius: 40px;
  width:80%;
  border: solid 1px #000000;
  justify-content: center;
  gap:0.5rem;
  line-height:1;
  padding:0rem 0 0.2rem;
  align-items: flex-end;
}

@media screen and (max-width:1000px) {
  .shop_info ul li span {
    font-size:0.7rem;
  }
  .shop_info ul li div.num {
    font-size:1.5rem;
    bottom:-10px;
  }

}

/* よくある質問 */
.shop_faq_main {
  width:100%;
  border-top:none;
}


.shop_faq-item {
  border: 1px solid black;
  margin-bottom:5px;
}

.shop_faq-header {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.7rem 0.7rem 0.7rem 1rem;
}

.shop_faq-content {
  overflow: hidden;
  transition: height 0.3s ease;
  height: 0; /* 初期状態では高さ0 */
  /* padding: 10px; */

}
.shop_faq-content p {
  padding:0.7rem;
  width:98%;
  border-top: 1px dashed black; /* 波線 */
}



.shop_faq-icon {
  transition: transform 0.3s ease;
  font-size:1.5rem;
  line-height:1;
}

.shop_faq-header .shop_faq-icon:before {
  content: "+";
}
.shop_faq-header.active .shop_faq-icon:before {
  content: "-";
  font-size:1.8rem;
  padding-right:0.3rem;
}

/* お店のMAP */
.shop_map > div {
  width:100%;
  border: 1px solid black;
  padding:1rem;
  gap:1rem;
  align-items: stretch;
}

.shop_map div div.maparea {
  width:55%;

} 

.shop_map div div.shoparea {
  align-items: flex-start;
  width:45%;
  gap:0.5rem;
}

.shop_map div div.btnarea {
  gap:0.5rem;
  width:100%;
  flex-wrap: wrap;
}

.shop_map div div.btnarea a {
  justify-content: center;
  width:fit-content;
  height:3rem;
  border:solid 1px #FF914D;
  flex-grow: 1;
}



/* 営業時間 */
.job_shoplist.shopinfo .right_area .shop_time {
  width: 100%;

}

.shop_time ul {
  width:90%;
  justify-content: space-between;
  align-items: stretch;
}

.shop_time li {
  width:32%;
  justify-content: center;
  gap:0.3rem;
  padding:0.3rem;
}


.shop_time li img {
  width:1.1rem;
}

.shop_time li.moon {
  background:#004AAD;
  color:#ffffff;
}

.shop_time li.sun {
  border:solid 1px #FF914D;
  color:#FF914D;
}


.shop_time li.sunset {
  border:solid 1px #FF5757;
  color:#FF5757;

}

.shop_time li.non {
  opacity: 0.3;
}

/* 特典３種 */
.shop_top_bn {
  width:90%;
  gap: 0.5rem;
}

.shop_top_bn > div {
  width:100%;
  gap:0.5rem;
  padding:0.5rem;
}

.shop_top_bn div span {
  width:3rem;
  white-space: nowrap;
}

.shop_top_bn div span img {
  width:2.5rem;
}

.shop_top_bn div div {
  width:calc(100% - 3rem);
  align-items: flex-start;
  gap:0.6rem;
}

.shop_top_bn div div strong {
  align-items: flex-end;
  line-height: 1;
  gap:0.3rem;
  flex-wrap: wrap;
}

.shop_top_bn div div p {
  width:100%;
  justify-content: center;
  line-height: normal;
  padding: 0 0.2rem;
}

/* SNS５種 */
.shop_sns5 {
  width:80%;
  justify-content: center;
  gap:0.7rem;
}

.shop_sns5.share {
  width:70%;
  gap:0.4rem;
}


/* ボタン */
.shop_entry_area {
  width:90%;
  flex-wrap: wrap;
}

.shop_entry_area div.flex {
  gap:1rem 0.5rem;
  flex-wrap: wrap;
}

.shop_entry_area div.flex a {
  flex-grow: 1;
  justify-content: center;
  height:2.7rem;
  padding:1rem;

}

.shop_entry_area .entry {
  background: #1B9DF0;
}
.shop_entry_area .keep {
  background:#FF5757;
}

.shop_entry_area div.column {
  align-items: flex-start;
  gap:0.5rem;
}
.shop_entry_area a.link_bt {
  justify-content: center;
  background:#3D83AD;
  height:3.5rem;
  gap:0.5rem;
  width:100%;
}

.shop_entry_area a.link_bt img {
  width:1.4rem;
}

.shop_entry_area a.link_txt {
  color:#3D83AD;
  justify-content: flex-start;
  gap:0.5em;
}

.shop_entry_area a.link_txt span {
  background:#3D83AD;
  border-radius: 100%;
  justify-content: center;
  width:1.1rem;
  height:1.1rem;
  line-height:1;
}

.shop_entry_area .line_entry_area {
  background:#00BF63;
}
.shop_entry_area .line_entry_area a {
  padding: 0.3rem 1.5rem;
  gap:2rem;
  justify-content: center;
}

.shop_entry_area .line_entry_area a .qrarea {
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  width: 100%; /* 親要素に基づく幅 */
  max-width: 5rem; /* 最大サイズを設定 */
  padding:10px;
}

.shop_entry_area .line_entry_area a .qrarea img {
  width: 100%;
}

/* グループ */
.shop_group {
  width:90%;
}

.right_area .shop_group h3 {
  border-top:solid 2px #000000;
  border-bottom:solid 2px #000000;
  justify-content: center;
  padding:0.7rem 0;
}

.job_shoplist.shopinfo h3 img {
  width:2rem;
}

.shop_group h4 {
  background:#000000;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding:0.5rem 0;
  line-height: normal;
}


.shop_group .main {
  width:96%;
  margin-right:auto;
  margin-left:auto;
  border-radius: 10px;
  border:solid 1px #004AAD;
  padding:7px;
  box-shadow: 0px 5px 0px 0px #004AAD;
}

.shop_group .main a {
  align-items: flex-start;
  gap:5px;
}

.shop_group .main a div {
  justify-content: space-between;
  width: 100%;
  gap:0.4rem;
}
.shop_group .main a div small {
line-height: normal;
}

.shop_group .main a div span {
  /* background-image: url(../img/icon_ranking_gold.png); */
  background-size: contain;
  background-repeat: no-repeat;
  justify-content: center;
  width: 40px;
  height: 45px;
}

.shop_group .main img.pc {
  width:100%;
}

.shop_group .main a div span img {
  width:45px;
}

.shop_group .main a div strong {
  margin-right:auto;
  align-items: flex-start;
  line-height: 1;
  gap: 0.5rem;
}
.shop_group .main a div img {
  width:25px;
  margin-bottom: auto;
}


/* 応募・連絡先 */
.shop_contact {
  padding:5rem 0;
  background-color: #F1F1F1;
}

.shop_contact h3 {
  width:60%;
  min-width:750px;
  background:#FFC759;
  padding:1rem 2rem;
}

.shop_contact .contact_main {
  width:60%;
  min-width:750px;
  background:#FFEDA6;
  padding:2rem 0;
}
.shop_contact .contact_main .top_area,
.shop_contact .contact_main .bottom_area {
  width:90%;
  padding:1.5rem;
}

.shop_contact .contact_main .top_area > strong {
  justify-content: flex-start;
  gap:0.5rem;
}

.shop_contact .contact_main .top_area > strong span {
  border:solid 1px #000000;
  padding:0.3rem 3rem;
  border-radius: 3px;
}

.shop_contact .contact_main .top_area .tel_area, 
.shop_contact .contact_main .top_area .line_area {
  gap:1rem;
  justify-content: flex-start;
}

.shop_contact .contact_main .top_area .tel_area img,
.shop_contact .contact_main .top_area .line_area img {
  width:4.5rem;
}

.shop_contact .contact_main .top_area .tel_area a, 
.shop_contact .contact_main .top_area .line_area a {
  min-width:35%;
  width:fit-content;
}
.shop_contact .contact_main .top_area .tel_area a strong, 
.shop_contact .contact_main .top_area .line_area a strong {
  width:fit-content;
  min-width:100%;
  height: 4rem;
  padding:0.8rem 1.3rem;
  justify-content: center;
  align-items: flex-start;
} 

.shop_contact .contact_main .top_area .tel_area strong {
  background:#EE217F;
}

.shop_contact .contact_main .top_area p.tel_txt {
  color:#EE217F;
}


.shop_contact .contact_main .top_area .line_area strong {
  background:#00B900;
}

.shop_contact .contact_main .top_area p.line_txt {
  color:#00B900;
}

.shop_contact .contact_main .bottom_area {}

.shop_contact .contact_main .bottom_area h4 {
  justify-content: center;
  gap:0.5rem;
}
.shop_contact .contact_main .bottom_area h4 img {width:2rem;}

.shop_contact .contact_main .bottom_area a {
  background:#1B9DF0;
  padding:1rem 3rem;
  width: fit-content;
  min-width:40%;
  justify-content: center;
}


/* WEB応募 */
.entry_form {
  background: #F1F1F1;
  padding:3rem 0;
}

.entry_form .entry_main {
  width: 96%; 
  max-width: 800px;
  border:solid 2px #000000;
  padding:2rem;

}

.entry_info_area {
  width:100%;
  flex-wrap: wrap;
  align-items: stretch;
  gap:0;
}

.entry_info_area dl {
  width:100%;
  border:solid 1px #000000;
}


.entry_info_area dl.top {
  flex:1;
}

.entry_info_area dl.top:first-child{
  border-right:0;
}
.entry_info_area dl.top:nth-child(3) {
  border-left:0;
}

.entry_info_area dl.top:nth-child(2) dt {
  border-right:solid 1px #ffffff;
  border-left:solid 1px #ffffff;
}

.entry_info_area dl.top:nth-child(2) dd {
  border-right:solid 1px #000000;
  border-left:solid 1px #000000;
}


.entry_info_area dl.top dd {
  min-height:3.3rem;
}

.entry_info_area dl dt {
  justify-content: center;
  padding:0.3rem;
  align-items: center;
}

.entry_info_area dl dd {
  justify-content: center;
  padding:0.5rem;
}

/* フォーム */
form.entry_main_form {
  width:100%;
}

form.entry_main_form > div {
  gap:2rem;
  flex: 1;
  align-items: flex-start;
}

form.entry_main_form div.pcflex div,
form.entry_main_form div.flex div {
  width:50%;
} 
form.entry_main_form label {
  display: block;
  font-size:14px;
  font-weight:bold;
  margin-bottom:0.5rem;
}

form.entry_main_form label span {
  color:#ffffff;
  font-size:12px;
  background:#FF5757;
  padding:3px 7px;
  margin-left:0.5rem;
  width:fit-content;
  line-height: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

form.entry_main_form > div.dob {
  justify-content: flex-start;
  gap:1rem;
  align-items: center;

}

form.entry_main_form > div.dob input[type="number"] {
  width: 33%; /* 年、月、日のフィールドの長さを均等に */
}

form.entry_main_form > div.dob input[type="number"]#age {
  width: 22%; /* 年齢のフィールドをそれより短く設定 */
}


form.entry_main_form input,
form.entry_main_form textarea,
form.entry_main_form select {
  width:100%;
  border-radius: 5px;
  border:solid 2px #000000;
  min-height:40px;
  padding:5px;
}

form.entry_main_form > div.checkbox {
  justify-content: center;
  align-items: center;
  gap:0.5rem;
}
form.entry_main_form > div.checkbox label {
  margin:0;
}
form.entry_main_form > div.checkbox a {
  text-decoration: underline;
  color:#5271FF;
}
form.entry_main_form input[type="checkbox"] {
  width:1.5em;
}

form.entry_main_form textarea {
  height:100px;
}


form.entry_main_form input[type="submit"] {
  border:none;
  background:#004AAD;
  color:#ffffff;
  width:300px;
  justify-content: center;
}


/* 確認画面 */
.entry_info_area.confirm dl {
  border:solid 1px #004AAD;
}

.entry_info_area.confirm dl dt {
  background:#004AAD;
  justify-content: flex-start;
  padding-left:2rem;
}

.entry_info_area.confirm dl dd {
  padding:0.7rem 2.5rem;
  align-items: flex-start;
}

.entry_info_area.confirm dl dd.textarea p {
  border:solid 1px #004AAD;
  padding:0.8rem; 
}

.entry_main .confirm_submit {
  justify-content: center;
  gap:2rem;
}
.entry_main .confirm_submit button {
  border:none;
  width:300px;
  min-height: 40px;
  padding: 5px;
  color:#ffffff;
  background:#004AAD;
}

.entry_main .confirm_submit button[type="button"] {
  background:#868686;
}


/* 完了画面 */
.entry_form.complete {
  background:#ffffff;
}

.form_complete_button {
  gap:2rem;
}

.form_complete_button a {
  border:solid 1px #000000;
  width:270px;
  color:#000000;
  justify-content: center;
}

.form_complete_button a.gomylink {
  border:0;
  background:#004AAD;
  color:#ffffff;
}
.form_complete_button a.goshop {
  border:0;
  background:#FF914D;
  color:#ffffff;
}



/* グループから探す */
h2.group_search {
  padding:0.5rem 0;
}
h2.group_search span {
  justify-content: flex-start;
  gap:0.5rem;
}
h2.group_search span img {
  width:2rem;
}

/* 検索フォーム */
.search-form {
  display: flex;
  /* border: 1px solid #ccc; */
  /* border-radius: 4px; */
  overflow: hidden;
}

.search-form input {
  flex-grow: 1;
  border: none;
  padding: 8px;
  margin-right: 10px; /* ボタンとの間の隙間を設定 */
  border:solid 1px #000000;
}

.search-form button {
  background: #000; /* ボタンの背景色を黒に */
  color: #fff; /* ボタン内のテキスト（アイコン）の色を白に */
  border: none;
  padding: 8px;
  cursor: pointer;
}

.search-form button i {
  font-size: 1.5rem;
  width:2rem;
}

/* ５０音順 */
.group_search .switch {
  justify-content: flex-end;
  gap:0.5rem;
}




.job_shoplist.group_search {}

/* 宣伝バナー */
.group_search .group_banner {
  width:100%;
  gap:1rem;
}

.group_search .shop_group {
  width:100%;
}
.group_search .shop_group .group_main {
  width:100%;
}

.group_main .group_title {
  background:#303030;
  padding:1.5rem;
  gap:1rem;
  align-items: stretch;
}

.group_main .group_title .title_img_area {
  width:40%;
}
.group_main .group_title .title_txt_area {
  width:60%;
  align-items: flex-start;
  justify-content: space-between;
  gap:0.4rem;
}
.group_main .group_title h3 {
  border:none;
  justify-content: flex-start;
  gap:0.5rem;
  padding:0;
}

.group_main .group_title .title_txt_area p {
  padding:0.7rem;

}

.group_search .shop_group h4 {
  background:#869AEF;
  gap:0.5rem;
  padding:0.5rem 1rem;
  border-bottom:solid 1px #CBD5FF;
  align-items: center;
  flex-direction:inherit;
  border-radius: 0;
}

.group_search .shop_group h4:after {
  content: "＋";
  margin-left:auto;
}

.group_search .shop_group h4.active:after {
  content: "ー";
}


.group_search .shop_group .main {
  background:#CBD5FF;
}

.group_search .shop_group .main a {
  padding:1rem;
  gap:1rem;
  align-items: center;
  border-bottom:solid 1px #869AEF;
}

.group_search .shop_group .main a img.logo {
  width:4rem;
  height:4rem;
  border-radius: 50%;
  border:solid 1px #869AEF;

}

.group_search .shop_group .main a > div.column {
  width:calc(100% - 3rem);
  align-items: flex-start;
  gap:0.2rem;
}

.group_search .shop_group .main a > div.column small {
  color:#000000;
}


.group_search .shop_group .main a div.column div.spcolumn {
  gap:0.2rem;
}
.group_search .shop_group .main a > div.column strong {
  color:#000000;
  align-items: flex-start;
  line-height: 1.3;
}

.group_search .shop_group .main a > div.column strong small {
  font-weight: normal;
}

.group_search .shop_group .main a div.spcolumn img {
  width:1rem;
}

/* アコーディオン */
.group_search .group_ac-content {
  overflow: hidden;
  transition: max-height 0.3s ease;
  max-height: 0; /* 初期状態では最大高さを0に */
  background:#CBD5FF;
}

.group_search .group_ac-content ul {
  width:100%;
  padding:1rem;
  gap:1rem 0.7rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.group_search .group_ac-content ul:before {
  /* content:"";
  display: block;
  width:110px; */
}

.group_search .group_ac-content ul li {
  width:calc(20% - 0.56rem);
}

.group_search .group_ac-content ul li a {
  gap:0.5rem;
  color:#000000;
}

.group_search .group_ac-content ul li a img {
  width: 100%;
  height:auto;

  border: solid 2px #869AEF;
  border-radius: 100%;
}


/* お問い合わせ */
.main_title_area h2 {
  justify-content: flex-start;
  align-items: center;
  padding: 0.8rem 0;
  line-height: 1;
  margin-bottom: 5rem;
}
.main_title_area h2 img {
  width: 2rem;
}

section.contact_form {
  max-width: 900px;
  border: solid 2px #004AAD;
  margin-bottom: 3rem;
}

section.contact_form h3 {
  background: #004AAD;
  color: #ffffff;
  font-size:1.2rem;
  padding: 0.2rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

section.contact_form h3 span {
  display: flex;
  width: fit-content;
  height: fit-content;
  font-size: 12px;
  line-height: 1;
  justify-content: center;
  align-items: center;
  background:#FF5757;
  padding: 0.2rem 0.5rem;
}

section.contact_form .form_area {
  padding: 1rem 2rem;
}

section.contact_form .form_area input {
  height: 45px;
  width: 100%;
  border: solid 2px #A6A6A6;
  border-radius: 5px;
  padding:1rem ;
}

section.contact_form .form_area select {
  height: 50px;
  width: fit-content;
  padding: 0 3rem 0 1rem;
  border: solid 2px #A6A6A6;
  border-radius: 5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

section.contact_form .form_area textarea {
  width: 100%;
  height: 200px;
  border: solid 2px #A6A6A6;
  border-radius: 5px;
  padding: 0.5rem;
  resize: vertical;
}

main.contact .btn {
  background: #004AAD;
  color: #ffffff;
  width: 280px;
  height: 58px;
  font-weight: bold;
  border-radius: 5px;
  border: 0;
  margin-bottom: 100px;
}

/* お問い合わせ */
.main_title_area h2 {
  justify-content: flex-start;
  align-items: center;
  padding: 0.8rem 0;
  line-height: 1;
  margin-bottom: 5rem;
}
.main_title_area h2 img {
  width: 2rem;
}

section.contact_form {
  max-width: 900px;
  border: solid 2px #004AAD;
  margin-bottom: 3rem;
}

section.contact_form h3 {
  background: #004AAD;
  color: #ffffff;
  font-size:1.2rem;
  padding: 0.2rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

section.contact_form h3 span {
  display: flex;
  width: fit-content;
  height: fit-content;
  font-size: 12px;
  line-height: 1;
  justify-content: center;
  align-items: center;
  background:#FF5757;
  padding: 0.2rem 0.5rem;
}

section.contact_form .form_area {
  padding: 1rem 2rem;
}

section.contact_form .form_area input {
  height: 45px;
  width: 100%;
  border: solid 2px #A6A6A6;
  border-radius: 5px;
  padding:1rem ;
}

section.contact_form .form_area select {
  height: 50px;
  width: fit-content;
  padding: 0 3rem 0 1rem;
  border: solid 2px #A6A6A6;
  border-radius: 5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

section.contact_form .form_area textarea {
  width: 100%;
  height: 200px;
  border: solid 2px #A6A6A6;
  border-radius: 5px;
  padding: 0.5rem;
  resize: vertical;
}

main.contact .submit_btn {
  background: #004AAD;
  color: #ffffff;
  width: 280px;
  height: 58px;
  font-weight: bold;
  border-radius: 5px;
  border: 0;
  /* margin-right: 0;
  margin-left: 0; */
  margin-bottom: 100px;
}

main.contact_confirm .submit_btn {
  margin-right: 0;
  margin-left: 0;
}

main.contact .submit_back_btn {
  background: #868686;
  color: #ffffff;
  width: 280px;
  height: 58px;
  font-weight: bold;
  border-radius: 5px;
  border: 0;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 100px;
}

main.contact_confirm div.flex {
  justify-content: center;
  gap: 2rem;
}



/* キープリスト */
main.keeplist {
  background: #E5EAFF;
}

main.keeplist .keeplist_main {
  background: #ffffff;
  max-width: 900px;
}

/* タイトル */
.keeplist_main h2 {
  width: 100%;
  justify-content: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  margin-bottom: 1.5rem;
}
.keeplist_main h2 img {
  width: 1.7rem;
}
.keeplist_main h2.keeptitle {
  background:#FF5757;
}
.keeplist_main h2.recomtitle {
  background:linear-gradient(to right, #8c52ff, #5ce1e6);
}


/* キープ表示数 */
.keeplist_main p.keep_num {
  justify-content: flex-start;
  padding: 0 2rem;
}

.keeplist_main p.keep_num strong {
  color: #FF5757;
}

.keeplist_main .list_area {
  flex-wrap: wrap;
  padding: 0rem 2rem;
  row-gap: 1.5rem;
}

/* キープリスト１記事 */
.keeplist_main .list_area .list_shopinfo {
  position: relative;
  width: 32%;
  border-radius: 10px;
  border: solid 1px #004AAD;
  padding: 7px;
  box-shadow: 0px 5px 0px 0px #004AAD;
  background: #ffffff;
}

.list_shopinfo a div {
  justify-content: space-between;
  width: 100%;
  gap: 0.4rem;
  align-items: flex-start;
}

.list_shopinfo .icon_area {
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0rem;
}
.list_shopinfo a div strong {
  line-height: 1;
}
.list_shopinfo .icon_area img {
  width: 1.5rem;
}

/* キープリストXボタン */
.list_shopinfo .close-button {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.75rem;
  border: 1px solid #737373;
  background-color: white;
  color: #737373;
  font-size: 16px;
  text-align: center;
  line-height: 26px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}


/* オススメの求人情報 */
.keeplist_main .list_area.recom_list {
  padding-bottom: 5rem;
}
.keeplist_main .list_area.recom_list .list_shopinfo {
  box-shadow: none;
  border: none;
  position: relative;
  z-index: 1;
  padding: 0;
}

.keeplist_main .list_area.recom_list .list_shopinfo a {
  display: block;
  background: #ffffff;
  padding: 7px;
  border-radius: 10px;
}

.keeplist_main .list_area.recom_list .list_shopinfo:after {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  width: calc(100% + 4px);
  height: calc(100% + 9px);
  border-radius: 12px;
  background: linear-gradient(to right, #8c52ff, #5ce1e6);
  z-index: -1;
}



/* キープリストへ */
.keeplist_main a.gokeeplist {
  background:#FF5757;
  color: #ffffff;
  border-radius: 5px;
  width: 280px;
  height: 58px;
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 3rem;

}


/* 求人情報を探しに行く */
.keeplist_main img.nonkeep {
  margin-bottom: 2rem;
  padding: 1rem;
}

.keeplist_main a.gosearch {
  background:#4DA4E0;
  color: #ffffff;
  border-radius: 5px;
  width: 280px;
  height: 58px;
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 3rem;
}



/* legal */
main.legal {
  background: #DFEFF6;
  padding-bottom: 5rem;
}

main.legal dl {
  max-width: 1146px;
  width: 96%;
  margin: 0 auto;
  border: solid 2px #A6A6A6;
  border-bottom: none;
  align-items: stretch;
  gap: 0;
}

main.legal dl.last {
  border: solid 2px #A6A6A6;

}

main.legal dl dt {
  border-right: solid 2px #A6A6A6;
  width: 283px;
  padding: 1rem 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

main.legal dl dd {
  width: calc(100% - 283px);
  padding: 1rem;
  text-align: justify;

  color: #3D3D3D;
  
}

main.legal dl dd ul.numlist {
  padding-left: 2em;
}
main.legal dl dd ul.numlist li {
  list-style: decimal;
  text-align: justify;
}

main.legal dl dd ul.alphabetlist {
  padding-left: 4em;

}
main.legal dl dd ul.alphabetlist li {
  list-style: lower-alpha;
  text-align: justify;
}


main.legal dl.company_info {
  border: solid 2px #004AAD;
  border-bottom: none;
}

main.legal dl.company_info.last {
  border-bottom: solid 2px #004AAD;
  margin-bottom: 3rem;
}

main.legal dl.company_info dt {
  border-right: solid 2px #004AAD;
}
main.legal dl.company_info dd {
  color: #004AAD;
}

main.legal dl.company_info_map {
  border: solid 2px #004AAD;
}
main.legal dl.company_info_map iframe {
  width: 100%;
}