@charset
/*** --------------- ALL --------------- ***/

html {
  scroll-behavior: smooth;
  font-size: 100%;
}

body {
  color: #414141;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  vertical-align: baseline;
}

a {
  text-decoration: none;
  transition: all 0.3s;
}

img {
  width: 100%;
  max-width: 100%;
}

button {
  transition: 0.3s;
}

.caveat_font {
  font-family: "Caveat", cursive, sans-serif;
  text-transform: capitalize;
}

/*** --------------- container --------------- ***/
main {
  margin-top: 20px;
}

.main_container {
  padding: 0 50px;
  max-width: 1600px;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .main_container {
    padding: 0 20px;
  }
}

@media screen and (max-width: 575px) {
  .main_container {
    padding: 0 15px;
  }
}

/*** --------------- input check --------------- ***/

input[type="checkbox"] {
  appearance: none;
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 1px solid #adc054;
  background-color: #f3f7de;
  border-radius: 4px;
  cursor: pointer;
}

input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 3px;
  width: 12px;
  height: 6px;
  border-bottom: 2px solid #727857;
  border-left: 2px solid #727857;
  transform-origin: left top;
  transform: rotate(-45deg);
  animation: check 0.8s;
}

@keyframes check {
  0% {
    height: 0;
    width: 0;
  }

  25% {
    height: 2;
    width: 2px;
  }

  50% {
    height: 6px;
    width: 12px;
  }
}

/*** --------------- 見出し --------------- ***/

.title_container{
  max-width: 1600px;
  margin: auto;
}

.title_area {
  aspect-ratio: 9/2;
  background: url(../img/common/title_bg.png) center center / cover no-repeat;
  margin: 0 25px;
  border-radius: 12px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.h1_area {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.h1_area .caveat_font {
  font-size: 500%;
  line-height: 1;
}

.h1_area .h1 {
  font-size: 150%;
  margin: 0;
}

.h3_box {
  width: 100%;
  margin-bottom: 40px;
}

.h3_box .caveat_font {
  font-size: 125%;
  text-align: center;
  margin-bottom: 10px;
  display: block;
  color: #adc054;
}

.h3_box .h3 {
  font-size: 150%;
  text-align: center;
  display: block;
}

/* お問い合わせ用見出し */
.contact_h2_box {
  width: 100%;
  margin-bottom: 40px;
}

.contact_h2_box .caveat_font {
  font-size: 312.5%;
  margin-bottom: 10px;
  text-align: center;
  display: block;
  color: #fff;
  line-height: 1;
}

.contact_h2_box .h2 {
  font-size: 150%;
  text-align: center;
  display: block;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .title_area {
    margin: 0;
    border-radius: 0;
  }
}

@media screen and (max-width: 575px) {
  .h1_area .caveat_font {
    font-size: 250%;
  }

  .h1_area .h1 {
    font-size: 125%;
  }
}

/*** --------------- Header --------------- ***/

/* header */
.main_header {
  padding: 0 50px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.head_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
  margin-bottom: 16px;
  width: 100%;
}

.head_logo {
  width: 34.14%;
  max-width: 477px;
}

.head_logo a {
  width: 100%;
  display: block;
}

.entry_box {
  display: flex;
  justify-content: end;
  gap: 6px;
  width: calc(100% - 34.14%);
}

.entry_box li a,
.login_menu_box li a,
.footer_entry_menu li a {
  padding: 8px 20px;
  border-radius: 4px;
  font-size: 87.5%;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.entry_box li.membership a,
.footer_entry_menu li.membership a {
  background: linear-gradient(90deg, rgba(255, 118, 0, 1), rgba(255, 118, 0, 1) 30%, rgba(239, 239, 102, 1));
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
}

.entry_box li.membership a span,
.footer_entry_menu li.membership a span {
  font-size: 56.3%;
  margin-left: 8px;
  background-color: #ff7600;
  border: 1px solid #fff;
  border-radius: 3px;
  padding: 3.5px 5px;
}

.entry_box li.membership a::before,
.footer_entry_menu li.membership a::before {
  background: linear-gradient(270deg, rgba(255, 118, 0, 1), rgba(255, 118, 0, 1) 30%, rgba(239, 239, 102, 1));
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
}

.entry_box li.membership a:hover,
.footer_entry_menu li.membership a:hover {
  box-shadow: none;
}

.entry_box li.membership a:hover::before,
.footer_entry_menu li.membership a:hover::before {
  opacity: 1;
}

.entry_box li.login a,
.footer_entry_menu li.login a {
  background: linear-gradient(90deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
  padding-left: 40px;
}

.entry_box li.login a::before,
.footer_entry_menu li.login a::before {
  background: linear-gradient(270deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
}

.entry_box li.login a::after,
.footer_entry_menu li.login a::after {
  content: "";
  position: absolute;
  background-color: #fff;
  clip-path: path("M2.893,2.813V3.75H6.107V2.813a1.608,1.608,0,0,0-3.214,0ZM1.607,3.75V2.813A2.854,2.854,0,0,1,4.5,0,2.854,2.854,0,0,1,7.393,2.813V3.75h.321A1.269,1.269,0,0,1,9,5V8.75A1.269,1.269,0,0,1,7.714,10H1.286A1.269,1.269,0,0,1,0,8.75V5A1.269,1.269,0,0,1,1.286,3.75Z");
  width: 9px;
  height: 10px;
  left: 20px;
  top: calc(50% - 5px);
}

.entry_box li.login a:hover,
.footer_entry_menu li.login a:hover {
  box-shadow: none;
}

.entry_box li.login a:hover::before,
.footer_entry_menu li.login a:hover::before {
  opacity: 1;
}

.entry_box li.line_add a,
.login_menu_box li.line_add a,
.footer_entry_menu li.line_add a {
  padding: 6.5px 20px;
  background: #05c656;
  border: 2px solid #05c656;
}

.entry_box li.line_add a:hover,
.login_menu_box li.line_add a:hover,
.footer_entry_menu li.line_add a:hover {
  background: #fff;
  color: #05c656;
}

.footer_entry_menu li.job1 a {
  background: #707070;
  color: #fff;
  position: relative;
  padding: 8px 48px;
}

.footer_entry_menu li.job1 a:hover {
  background: #414141;
}

.footer_entry_menu li.job1 a::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background-color: #fff;
  clip-path: path("M8.438.938H4.063a.624.624,0,0,0-.625.625v.312H2.5V1.563A1.562,1.562,0,0,1,4.063,0H8.438A1.562,1.562,0,0,1,10,1.563V5.938A1.562,1.562,0,0,1,8.438,7.5H8.125V6.563h.313a.624.624,0,0,0,.625-.625V1.563A.624.624,0,0,0,8.438.938ZM.938,8.75a.313.313,0,0,0,.313.313h5a.313.313,0,0,0,.313-.312V5H.938ZM1.25,2.5h5A1.251,1.251,0,0,1,7.5,3.75v5A1.251,1.251,0,0,1,6.25,10h-5A1.251,1.251,0,0,1,0,8.75v-5A1.251,1.251,0,0,1,1.25,2.5Z");
  top: calc(50% - 5px);
  right: 20px;
}

@media screen and (max-width: 991px) {
  .head_logo {
    max-width: 320px;
    width: calc(100% - 60px);
  }
}

@media screen and (max-width: 768px) {
  .main_header {
    padding: 0 20px;
  }
}


@media screen and (max-width: 575px) {
  .main_header {
    padding: 0 15px;
  }

  .footer_entry_menu li {
    width: 100%;
  }

  .footer_entry_menu li a {
    justify-content: center;
  }
}

/*------ ログイン後メニュー ------*/

.login_container {
  width: calc(100% - 34.14%);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: 8px;
}

.login_menu_box {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  width: 100%;
}

.login_menu_box li.logout a,
.footer_entry_menu li.logout a {
  background: linear-gradient(90deg, #1d2c58, #6a81aa);
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
  padding-left: 40px;
}

.login_menu_box li.logout a::before,
.footer_entry_menu li.logout a::before {
  background: linear-gradient(270deg, #1d2c58, #6a81aa);
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
}

.login_menu_box li.logout a::after,
.footer_entry_menu li.logout a::after {
  content: "";
  position: absolute;
  background-color: #fff;
  clip-path: path("M4.5,1.25A1.585,1.585,0,0,0,2.893,2.813V3.75H7.714A1.269,1.269,0,0,1,9,5V8.75A1.269,1.269,0,0,1,7.714,10H1.286A1.269,1.269,0,0,1,0,8.75V5A1.269,1.269,0,0,1,1.286,3.75h.321V2.813A2.854,2.854,0,0,1,4.5,0,2.9,2.9,0,0,1,7.114,1.607a.615.615,0,0,1-.305.832.65.65,0,0,1-.856-.3A1.61,1.61,0,0,0,4.5,1.25ZM5.143,7.5a.625.625,0,1,0,0-1.25H3.857a.625.625,0,1,0,0,1.25Z");
  width: 9px;
  height: 10px;
  left: 20px;
  top: calc(50% - 7px);
}

.login_menu_box li.logout a:hover,
.footer_entry_menu li.logout a:hover {
  box-shadow: none;
}

.login_menu_box li.logout a:hover::before,
.footer_entry_menu li.logout a:hover::before {
  opacity: 1;
}

.login_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  gap: 30px;
  font-size: 87.5%;
}

.login_wrap p {
  margin-top: 12px;
}

.login_container .login_box {
  display: flex;
  align-items: center;
  margin-top: 12px;
}

.login_container .login_box li a {
  padding: 2px 20px;
  position: relative;
}

.login_container .login_box li a:hover,
.login_container .login_box li.current_page_item a {
  background-color: #dae9b5;
}

.login_container .login_box li {
  position: relative;
}

.login_container .login_box li::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 1px;
  height: 20px;
  background-color: #adc054;
  top: calc(50% - 10px);
  left: 0;
  z-index: 2;
}

.login_container .login_box li:last-of-type:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 1px;
  height: 20px;
  background-color: #adc054;
  top: calc(50% - 10px);
  right: 0;
  z-index: 2;
}

.login_container .login_box li.bookmark a {
  padding-left: 43px;
}

.login_container .login_box li.bookmark a::before {
  content: "";
  position: absolute;
  background-color: #f0e55d;
  width: 16px;
  height: 14px;
  clip-path: path("M10.014.492a.926.926,0,0,0-1.636,0L6.551,4.109l-4.079.58a.9.9,0,0,0-.73.593.857.857,0,0,0,.224.894L4.926,9l-.7,3.984a.863.863,0,0,0,.366.856.945.945,0,0,0,.96.063L9.2,12.024,12.843,13.9a.939.939,0,0,0,.96-.063.865.865,0,0,0,.366-.856L13.468,9l2.96-2.819a.851.851,0,0,0,.224-.894.9.9,0,0,0-.73-.593l-4.082-.58Z");
  top: calc(50% - 7px);
  left: 20px;
}

.login_container .login_box li.history a {
  padding-left: 38px;
}

.login_container .login_box li.history a::before {
  content: "";
  position: absolute;
  background-color: #adc054;
  width: 11px;
  height: 14px;
  clip-path: path("M2.835,5.495V3A1.667,1.667,0,0,1,6.168,2.92c0,.028,0,.055,0,.082V5.495a3,3,0,1,0-3.333,0M9.4,8.582,6.368,7.075A.927.927,0,0,0,6.008,7H5.5V3a1,1,0,0,0-2,0v7.16c-2.4-.507-2.36-.5-2.447-.5a.75.75,0,0,0-.527.22L0,10.415l3.293,3.293A1,1,0,0,0,4,14H8.527a.971.971,0,0,0,.96-.853l.5-3.513a.957.957,0,0,0-.593-1.053Z");
  top: calc(50% - 7px);
  left: 20px;
}

.login_container .login_box li.edit a {
  padding-left: 41px;
}

.login_container .login_box li.edit a::before {
  content: "";
  position: absolute;
  background-color: #0e2247;
  width: 14px;
  height: 14px;
  clip-path: path("M12.844,7A1.8,1.8,0,0,1,14,5.315a7.136,7.136,0,0,0-.862-2.082,1.8,1.8,0,0,1-2.006-.368,1.8,1.8,0,0,1-.372-2A7.107,7.107,0,0,0,8.682,0a1.784,1.784,0,0,1-2.2,1.083A1.7,1.7,0,0,1,5.321,0,7.126,7.126,0,0,0,3.239.864,1.8,1.8,0,0,1,1.594,3.39a1.766,1.766,0,0,1-.732-.157A7.291,7.291,0,0,0,0,5.319,1.8,1.8,0,0,1,.969,7.781a1.931,1.931,0,0,1-.969.9,7.136,7.136,0,0,0,.862,2.082,1.8,1.8,0,0,1,2.374,2.373A7.181,7.181,0,0,0,5.318,14a1.782,1.782,0,0,1,2.192-1.08A1.7,1.7,0,0,1,8.673,14a7.126,7.126,0,0,0,2.082-.864,1.8,1.8,0,0,1,2.374-2.373,7.166,7.166,0,0,0,.862-2.082A1.807,1.807,0,0,1,12.838,7ZM7.028,9.911a2.918,2.918,0,1,1,2.92-2.918,2.913,2.913,0,0,1-2.92,2.918Z");
  top: calc(50% - 7px);
  left: 20px;
}

.login_container .login_box li.bookmark a:hover::before,
.login_container .login_box li.history a:hover::before,
.login_container .login_box li.edit a:hover::before,
.login_container .login_box li.current_page_item a::before {
  background-color: #fff;
}

@media screen and (max-width: 991px) {
  .login_container {
    width: auto;
  }

  .login_container .login_box{
    display: none;
  }
}

/*------ 共通メニュー ------*/
.main_nav {
  margin: 0 0 0 auto;
}

.main_nav_list {
  display: flex;
  justify-content: flex-end;
}

.main_nav_list li a {
  font-size: 112.5%;
  font-weight: 700;
  padding: 12px 20px;
  display: block;
  color: #414141;
  position: relative;
}

.main_nav_list li a:hover,
.main_nav_list li.current-menu-item a {
  color: #adc054;
}

.main_nav_list li a::before,
.main_nav_list li a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  border-radius: 4px;
  background: #dae9b5;
  transform: scaleX(0);
  transform-origin: left;
}

.main_nav_list li a::before {
  bottom: 0;
  transition: transform 0.3s ease;
}

.main_nav_list li a::after {
  bottom: 5px;
  transition: transform 0.3s ease, bottom 0.3s ease 0.3s;
}

.main_nav_list li a:hover::before,
.main_nav_list li a:hover::after,
.main_nav_list li.current-menu-item a::before,
.main_nav_list li.current-menu-item a::after {
  transform: scaleX(1);
}

.main_nav_list li a:hover::after,
.main_nav_list li.current-menu-item a::after {
  bottom: 0;
}

/*------ ハンバーガーメニュー ------*/

.btn_trigger {
  border: none;
  position: relative;
  width: 44px;
  height: 44px;
  cursor: pointer;
  padding: 20px;
}

.btn_trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #adc054;
  border-radius: 4px;
}

.btn_trigger,
.btn_trigger span {
  display: inline-block;
  transition: all 0.3s;
  box-sizing: border-box;
}

.btn_trigger span:nth-of-type(1) {
  top: 6px;
}

.btn_trigger span:nth-of-type(2) {
  top: 20px;
}

.btn_trigger span:nth-of-type(3) {
  bottom: 6px;
}

.btn_trigger span {
  animation: none;
}

.btn_trigger.active span:nth-of-type(1) {
  -webkit-animation: active-btn-bar01 0.5s forwards;
  animation: active-btn-bar01 0.5s forwards;
}

.btn_trigger.active span:nth-of-type(2) {
  opacity: 0;
}

.btn_trigger.active span:nth-of-type(3) {
  -webkit-animation: active-btn-bar03 0.5s forwards;
  animation: active-btn-bar03 0.5s forwards;
}

.btn_trigger.line span:nth-of-type(1) {
  -webkit-animation: btn-bar01 0.5s forwards;
  animation: btn-bar01 0.5s forwards;
}

.btn_trigger.line span:nth-of-type(3) {
  -webkit-animation: btn-bar03 0.75s forwards;
  animation: btn-bar03 0.75s forwards;
}

@keyframes btn-bar01 {
  0% {
    transform: translateY(14px) rotate(45deg);
  }

  50% {
    transform: translateY(14px) rotate(0);
  }

  100% {
    transform: translateY(0) rotate(0);
  }
}

@keyframes btn-bar03 {
  0% {
    transform: translateY(-14px) rotate(-45deg);
  }

  50% {
    transform: translateY(-14px) rotate(0);
  }

  100% {
    transform: translateY(0) rotate(0);
  }
}

@keyframes active-btn-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }

  50% {
    transform: translateY(14px) rotate(0);
  }

  100% {
    transform: translateY(14px) rotate(45deg);
  }
}

@keyframes active-btn-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }

  50% {
    transform: translateY(-15px) rotate(0);
  }

  100% {
    transform: translateY(-15px) rotate(-45deg);
  }
}

@media screen and (min-width: 991px) {
  .btn_trigger {
    display: none;
  }
}

/*------ Mobile Menu ------*/
#mobile_container {
  padding: 20px 0;
  position: fixed;
  top: 76px;
  right: 0;
  width: 100vw;
  height: calc(100vh - 76px);
  background-color: #edf1de;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  opacity: 0;
  visibility: hidden;
  transform: translateX(100%);
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s ease;
}

#mobile_container.active {
  opacity: 1;
  z-index: 2;
  visibility: visible;
  transform: translateX(0%);
}

#mobile_container .mobile_nav {
  margin-top: 12px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  border-radius: 8px;
  border: 1px solid #adc054;
  overflow: hidden;
}

#mobile_container .mobile_nav li {
  width: 100%;
  position: relative;
}

#mobile_container .mobile_nav li::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #f3f7de;
  bottom: 0;
  left: 0;
  z-index: 2;
}

#mobile_container .mobile_nav li:last-child:before {
  content: none;
}

#mobile_container .mobile_nav li a {
  font-size: 87.5%;
  font-weight: 700;
  color: #0e2247;
  display: block;
  padding: 1rem 1.25rem;
  background-color: #fff;
}

#mobile_container .mobile_nav li a::before {
  content: "";
  position: absolute;
  background-color: #adc054;
  width: 8px;
  height: 14px;
  clip-path: path("M.355,11.856,5.069,6.994.355,2.133a1.278,1.278,0,0,1,0-1.767A1.186,1.186,0,0,1,2.032.33l.036.036L7.645,6.117a1.276,1.276,0,0,1,0,1.767L2.068,13.635a1.184,1.184,0,0,1-1.674.039l-.039-.039a1.3,1.3,0,0,1,0-1.779");
  top: calc(50% - 7px);
  right: 20px;
  transition: 0.3s;
}

#mobile_container .mobile_nav li a:hover,
#mobile_container .mobile_nav li a:active,
#mobile_container .mobile_nav li.current-menu-item a {
  background: #edf1de;
}

#mobile_container .mobile_nav li a:hover::before,
#mobile_container .mobile_nav li a:active::before,
#mobile_container .mobile_nav li.current-menu-item a::before {
  transform: translateX(4px);
}

#mobile_container .btn_wrap {
  margin-top: 12px;
}

#mobile_container .btn_wrap ul {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
}

#mobile_container .btn_wrap ul li {
  width: 100%;
}

#mobile_container .btn_wrap ul li a {
  padding: 8px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-size: 87.5%;
  font-weight: 700;
  color: #fff;
  border-radius: 8px;
}

#mobile_container .btn_wrap ul li.membership a {
  background: linear-gradient(90deg, rgba(255, 118, 0, 1), rgba(255, 118, 0, 1) 30%, rgba(239, 239, 102, 1));
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
}

#mobile_container .btn_wrap ul li.membership a span {
  font-size: 56.3%;
  margin-left: 1rem;
  background-color: #ff7600;
  border: 1px solid #fff;
  border-radius: 3px;
  padding: 3.5px 5px;
}

#mobile_container .btn_wrap ul li.login a {
  background: linear-gradient(90deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
}

#mobile_container .btn_wrap ul li.login a::before {
  background: linear-gradient(270deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
}

#mobile_container .btn_wrap ul li.login a::after {
  content: "";
  position: absolute;
  background-color: #fff;
  clip-path: path("M2.893,2.813V3.75H6.107V2.813a1.608,1.608,0,0,0-3.214,0ZM1.607,3.75V2.813A2.854,2.854,0,0,1,4.5,0,2.854,2.854,0,0,1,7.393,2.813V3.75h.321A1.269,1.269,0,0,1,9,5V8.75A1.269,1.269,0,0,1,7.714,10H1.286A1.269,1.269,0,0,1,0,8.75V5A1.269,1.269,0,0,1,1.286,3.75Z");
  width: 9px;
  height: 10px;
  left: 20px;
  top: calc(50% - 5px);
}

#mobile_container .btn_wrap ul li.line_add a {
  background: #05c656;
  border: 2px solid #05c656;
}

#mobile_container .btn_wrap ul li.logout a {
  background: linear-gradient(90deg, #1d2c58, #6a81aa);
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
}

#mobile_container .btn_wrap ul li.logout a::before {
  background: linear-gradient(270deg, #1d2c58, #6a81aa);
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
}

#mobile_container .btn_wrap ul li.logout a::after {
  content: "";
  position: absolute;
  background-color: #fff;
  clip-path: path("M4.5,1.25A1.585,1.585,0,0,0,2.893,2.813V3.75H7.714A1.269,1.269,0,0,1,9,5V8.75A1.269,1.269,0,0,1,7.714,10H1.286A1.269,1.269,0,0,1,0,8.75V5A1.269,1.269,0,0,1,1.286,3.75h.321V2.813A2.854,2.854,0,0,1,4.5,0,2.9,2.9,0,0,1,7.114,1.607a.615.615,0,0,1-.305.832.65.65,0,0,1-.856-.3A1.61,1.61,0,0,0,4.5,1.25ZM5.143,7.5a.625.625,0,1,0,0-1.25H3.857a.625.625,0,1,0,0,1.25Z");
  width: 9px;
  height: 10px;
  left: 20px;
  top: calc(50% - 7px);
}

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

  .entry_box,
  .menu-login-menu,
  .login_menu_box,
  .login_wrap,
  .main_nav {
    display: none;
  }

  .btn_trigger {
    display: inline-block;
  }

  .head_area.fixed {
    background-color: #fff;
    position: fixed;
    width: 100vw;
    display: block;
    top: 0;
    left: 0;
    z-index: 1000;
    opacity: 1;
    visibility: visible;
    animation: slide 0.5s ease-in-out;
  }


  @keyframes slide {
    0% {
      transform: translateY(-100%);
    }

    100% {
      transform: translateY(0%);
    }
  }
}

/*** ---------------  Foot Contact --------------- ***/
.contact_sec {
  background: url(../img/common/contact_bg_img.jpg) center center / cover no-repeat;
  width: 100%;
  height: auto;
  padding: 80px 0 50px;
  margin-top: 120px;
}

.contact_sec .h2_box {
  color: #fff;
}

.contact_area {
  display: flex;
  flex-wrap: wrap;
}

.contact_area .web_contact,
.contact_area .tel_contact {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  color: #fff;
  cursor: pointer;
  padding-top: 40px;
  padding-bottom: 40px;
  flex-grow: 1;
}

.contact_area a:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.contact_area .tel_contact {
  position: relative;
}

.contact_area .tel_contact::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #fff;
  top: 0;
  left: 0;
}

.contact_area .icon_img {
  width: 146px;
  margin: 0 auto 40px;
}

.contact_area .text_box {
  width: 100%;
}

.contact_area .text_box p {
  font-size: 112.5%;
  margin-bottom: 30px;
}

.transparent_btn {
  margin: auto;
  display: block;
  font-size: 100%;
  border-radius: 8px;
  padding: 12px 40px;
  background-color: rgba(255, 255, 255, 0.2);
  border: 2px solid #fff;
  position: relative;
  text-align: center;
  width: 280px;
  cursor: pointer;
}

.transparent_btn::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 14px;
  background-color: #fff;
  clip-path: path("M.355,11.855,5.069,6.994.355,2.133a1.278,1.278,0,0,1,0-1.767A1.186,1.186,0,0,1,2.032.33l.036.036L7.645,6.117a1.276,1.276,0,0,1,0,1.767l-5.577,5.75a1.184,1.184,0,0,1-1.674.039l-.039-.039a1.3,1.3,0,0,1,0-1.779");
  right: 16px;
  top: calc(50% - 7px);
  transition: 0.3s;
}

.contact_area .web_contact:hover .transparent_btn {
  background-color: #adc054;
}

.contact_area .web_contact:hover .transparent_btn::before {
  transform: translateX(4px);
}

.contact_area .tel_contact p {
  font-size: 112.5%;
  margin-bottom: 20px;
}

.contact_area .tel_contact p.free_dial {
  font-family: "Inter", sans-serif;
  font-size: 250%;
  font-weight: 500;
  line-height: initial;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 20px;
  margin-bottom: 4px;
}

.contact_area .tel_contact p.free_dial span {
  width: 38px;
  display: inline-block;
  line-height: initial;
}

.contact_area .tel_contact p.reception_hours {
  font-size: 93.8%;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .contact_area .tel_contact {
    pointer-events: none;
    cursor: default;
  }
}

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

  .contact_area .web_contact,
  .contact_area .tel_contact {
    width: 100%;
  }

  .contact_area .tel_contact::before {
    width: 100%;
    height: 1px;
  }

  .contact_area .icon_img {
    width: 100px;
  }

  .contact_sec {
    padding-bottom: 0;
  }
}

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

  .contact_area .web_contact,
  .contact_area .tel_contact {
    padding: 40px 20px;
  }

  .transparent_btn {
    width: 100%;
  }

  .contact_area .icon_img {
    width: 80px;
  }
}

/*** --------------- Footer --------------- ***/
#main-footer {
  position: relative;
  margin-top: 50px;
}

/* Pagetop */
.foot_pagetop {
  text-align: center;
  font-size: 87.5%;
  color: #414141;
  position: absolute;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  right: 50px;
  padding: 20px 10px 10px;
  border-radius: 50%;
}

.foot_pagetop::before {
  content: "";
  position: absolute;
  width: 14px;
  height: 8px;
  background-color: #adc054;
  clip-path: path("M11.855,7.646,6.994,2.932,2.133,7.646a1.278,1.278,0,0,1-1.767,0A1.186,1.186,0,0,1,.33,5.969l.036-.036L6.117.356a1.276,1.276,0,0,1,1.767,0l5.75,5.577a1.184,1.184,0,0,1,.039,1.674l-.039.039a1.3,1.3,0,0,1-1.779,0");
  left: calc(50% - 7px);
  top: 8px;
  transition: 0.3s;
}

.foot_pagetop:hover {
  color: #727857;
}

.foot_pagetop:hover::before {
  transform: translateY(-4px);
}

@media screen and (max-width: 768px) {
  .foot_pagetop {
    right: 20px;
    top: -30px;
  }
}

footer .footer_bg {
  background: url(../img/common/bg_footer.png) center center / cover no-repeat;
  border-radius: 24px;
  margin-bottom: 50px;
}

footer .footer_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-direction: row-reverse;
  gap: 20px;
  padding: 95px 50px 40px;
}

footer .footer_logo {
  max-width: 370px;
  margin-bottom: 8px;
}

footer .footer_wrap .add_area {
  width: 24%;
}

footer .footer_wrap .menu_area {
  width: calc(100% - (24% + 20px));
}

footer .footer_entry_menu {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 46px;
}

footer .footer_menu {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 16px;
  padding-left: 20px;
}

footer #menu-footer1 {
  padding-bottom: 16px;
  position: relative;
}

footer #menu-footer1::before {
  content: "";
  position: absolute;
  background-color: #adc054;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
}

footer #menu-footer2 {
  padding-top: 16px;
}

footer .footer_menu a {
  display: block;
  width: 100%;
  position: relative;
  padding: 8px 0 8px 20px;
  font-weight: 700;
  color: #414141;
}

footer .footer_menu a::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 14px;
  background-color: #727857;
  clip-path: path("M.355,11.855,5.069,6.994.355,2.133a1.278,1.278,0,0,1,0-1.767A1.186,1.186,0,0,1,2.032.33l.036.036L7.645,6.117a1.276,1.276,0,0,1,0,1.767l-5.577,5.75a1.184,1.184,0,0,1-1.674.039l-.039-.039a1.3,1.3,0,0,1,0-1.779");
  top: calc(50% - 7px);
  left: 0;
  transition: 0.3s;
}

footer .footer_menu a:hover {
  color: #727857;
}

footer .footer_menu a:hover::before {
  transform: translateX(4px);
}

footer p.copy {
  font-size: 87.5%;
  display: flex;
  justify-content: center;
  padding: 3.375rem 0;
}

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

  footer .footer_wrap .menu_area,
  footer .footer_wrap .add_area {
    width: 100%;
  }

  footer .footer_wrap .add_area {
    text-align: center;
  }

  footer .footer_logo {
    margin: 0.5rem auto;
  }
}

@media screen and (max-width: 768px) {
  footer .footer_menu {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 575px) {
  footer .footer_wrap {
    padding-left: 16px;
    padding-right: 16px;
  }

  footer .footer_menu {
    gap: 10px;
    padding-left: 0;
  }

  footer .footer_bg {
    margin-bottom: 20px;
  }
}

/*** --------------- pankuzu --------------- ***/

.pankuzu_area {
  margin: 20px 0;
  padding: 12px 20px;
  border-radius: 7px;
  background-color: #fff;
}

.title_area .pankuzu_area {
  margin-bottom: 0;
  overflow: hidden;
}

.pankuzu_lists {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.pankuzu_lists li {
  display: inline-block;
  position: relative;
  font-size: 87.5%;
  color: #414141;
}

.pankuzu_lists li::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 12px;
  clip-path: path("M.265,10.162,3.8,5.995.266,1.828a1.209,1.209,0,0,1,0-1.514A.815.815,0,0,1,1.41.173a.784.784,0,0,1,.141.141L5.732,5.243a1.209,1.209,0,0,1,0,1.514L1.55,11.687a.814.814,0,0,1-1.285,0,1.236,1.236,0,0,1,0-1.525");
  background-color: #adc054;
  top: calc(50% - 6px);
  right: -18px;
}

.pankuzu_lists li:last-of-type:after {
  content: none;
}

.pankuzu_lists li a {
  color: #414141;
  font-weight: 700;
}

.pankuzu_lists li a:hover {
  color: #adc054;
}

/* 求人一覧のパンクズ */
.pankuzu_item_area,
.pankuzu_other_area {
  background-color: #f3f7de;
}

.pankuzu_other_area.bottom_pankuzu {
  display: none;
}

@media screen and (max-width: 768px) {
  .pankuzu_area .pankuzu_lists {
    overflow-x: scroll;
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}

@media screen and (max-width: 575px) {
  .pankuzu_other_area.bottom_pankuzu {
    display: block;
  }

  .pankuzu_other_area.top_pankuzu {
    display: none;
  }
}

/*** --------------- button --------------- ***/

button.search_btn {
  border-radius: 4px;
  border: none;
  padding: 12px 40px;
  font-size: 112.5%;
  font-weight: 700;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  z-index: 1;
  width: 100%;
  background: linear-gradient(90deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
}

button.search_btn::before {
  background: linear-gradient(270deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
}

button.search_btn::after {
  content: "";
  position: absolute;
  background-color: #fff;
  clip-path: path("M13.212,11.624H12.38l-.3-.284a6.87,6.87,0,1,0-.737.737l.284.3v.832l4.479,4.468a1.11,1.11,0,0,0,1.57-1.569Zm-6.322,0a4.735,4.735,0,1,1,.013,0H6.89Z");
  width: 18px;
  height: 18px;
  left: 20px;
  top: calc(50% - 9px);
  transition: 0.3s;
}

button.search_btn:hover {
  box-shadow: none;
}

button.search_btn:hover::before {
  opacity: 1;
}

button.search_btn:hover::after {
  transform: scale(1.1);
}

/* 緑グラデ右矢印ボタン */

.green_btn_arrow {
  border-radius: 8px;
  border: none;
  padding: 12px 40px;
  font-size: 112.5%;
  font-weight: 700;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  z-index: 1;
  width: 220px;
  background: linear-gradient(90deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
}

.green_btn_arrow::before {
  background: linear-gradient(270deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
}

.green_btn_arrow::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 14px;
  background-color: #fff;
  clip-path: path("M.355,11.855,5.069,6.994.355,2.133a1.278,1.278,0,0,1,0-1.767A1.186,1.186,0,0,1,2.032.33l.036.036L7.645,6.117a1.276,1.276,0,0,1,0,1.767l-5.577,5.75a1.184,1.184,0,0,1-1.674.039l-.039-.039a1.3,1.3,0,0,1,0-1.779");
  right: 16px;
  top: calc(50% - 7px);
  transition: 0.3s;
}

.green_btn_arrow:hover {
  box-shadow: none;
  color: #fff;
}

.green_btn_arrow:hover::before {
  opacity: 1;
}

.green_btn_arrow:hover::after {
  transform: translateX(4px);
}

/* オレンジグラデ右矢印ボタン */
.orange_btn_arrow {
  border-radius: 8px;
  border: none;
  padding: 12px 40px;
  font-size: 112.5%;
  font-weight: 700;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  z-index: 1;
  width: 220px;
  background: linear-gradient(90deg, rgba(255, 118, 0, 1), rgba(255, 118, 0, 1) 30%, rgba(239, 239, 102, 1));
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
}

.orange_btn_arrow::before {
  background: linear-gradient(270deg, rgba(255, 118, 0, 1), rgba(255, 118, 0, 1) 30%, rgba(239, 239, 102, 1));
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
}

.orange_btn_arrow::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 14px;
  background-color: #fff;
  clip-path: path("M.355,11.855,5.069,6.994.355,2.133a1.278,1.278,0,0,1,0-1.767A1.186,1.186,0,0,1,2.032.33l.036.036L7.645,6.117a1.276,1.276,0,0,1,0,1.767l-5.577,5.75a1.184,1.184,0,0,1-1.674.039l-.039-.039a1.3,1.3,0,0,1,0-1.779");
  right: 16px;
  top: calc(50% - 7px);
  transition: 0.3s;
}

.orange_btn_arrow:hover {
  box-shadow: none;
  color: #fff;
}

.orange_btn_arrow:hover::before {
  opacity: 1;
}

.orange_btn_arrow:hover::after {
  transform: translateX(4px);
}

/* 詳細を見る */
.detail_btn {
  display: block;
  border-radius: 8px;
  padding: 12px 40px;
  border: 2px solid #adc054;
  position: relative;
  text-align: center;
  width: 220px;
}

.detail_btn::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 14px;
  background-color: #adc054;
  clip-path: path("M.355,11.855,5.069,6.994.355,2.133a1.278,1.278,0,0,1,0-1.767A1.186,1.186,0,0,1,2.032.33l.036.036L7.645,6.117a1.276,1.276,0,0,1,0,1.767l-5.577,5.75a1.184,1.184,0,0,1-1.674.039l-.039-.039a1.3,1.3,0,0,1,0-1.779");
  right: 16px;
  top: calc(50% - 7px);
  transition: 0.3s;
}

.detail_btn:hover {
  background-color: #adc054;
  color: #fff;
}

.detail_btn:hover::before {
  background-color: #fff;
  transform: translateX(4px);
}

/* 応募する */

/*------ 求人モーダル ------*/

#filter-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  z-index: 1000;
}

#filter-modal .modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}

#filter-modal .modal-content {
  position: relative;
  background: #fff;
  border-radius: 24px;
  margin: 50px auto;
  max-width: 1000px;
  height: 80%;
  overflow-y: scroll;
  display: block;
  -webkit-overflow-scrolling: touch;
  z-index: 1001;
}

.modal-content .close-modal {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #888;
  position: relative;
  margin: 5px 5px 0 auto;
  display: block;
}

.modal-content .close-modal:hover {
  opacity: 0.9;
}

.modal-content .close-modal span {
  border-radius: 10px;
  background-color: #fff;
  width: 20px;
  height: 3px;
  display: inline-block;
  position: absolute;
  left: calc(50% - 10px);
}

.modal-content .close-modal span:nth-of-type(1) {
  transform: rotate(45deg);
}

.modal-content .close-modal span:nth-of-type(2) {
  transform: rotate(-45deg);
}

.modal-content .modal-tabs {
  display: flex;
  gap: 0px;
  justify-content: space-between;
  margin-top: 12px;
}

.modal-content .modal-tabs li {
  display: flex;
  justify-content: center;
  font-size: 125%;
  font-weight: 700;
  padding: 18px 0 22px;
  width: calc(100% / 4);
  position: relative;
  cursor: pointer;
  transition: 0.3s;
}

.modal-content .modal-tabs li::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #efefef;
  left: 0;
  bottom: 0;
  transition: 0.3s;
}

.modal-content .modal-tabs li.active::before,
.modal-content .modal-tabs li:hover::before {
  background-color: #adc054;
}

.modal-content .modal-tabs li.active,
.modal-content .modal-tabs li:hover {
  background-color: #efefef;
}

.modal-content .job-count {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 0;
  border-bottom: 2px solid #efefef;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.modal-content .job-count span {
  font-family: "Inter", sans-serif;
  color: #FF7600;
  font-weight: 600;
  font-size: 125%;
  padding: 0 12px;
}

.modal-content .modal-panels {
  padding: 20px 0px;
}

.modal-content .modal-panels h4 {
  font-weight: 700;
  font-size: 112.5%;
  position: relative;
  padding-top: 16px;
  padding-bottom: 16px;
  background-color: #dae9b5;
  text-align: center;
}

.modal-content .modal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  border-top: 2px solid #efefef;
  padding: 20px 0;
}

.modal-content .modal-actions button {
  border-radius: 4px;
  border: none;
  padding: 12px 40px;
  font-size: 112.5%;
  font-weight: 700;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: 0.3s;
}

.modal-content .modal-actions button.apply-filters {
  color: #fff;
  background: linear-gradient(90deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.16);
  width: 300px;
}

.modal-content .modal-actions button.apply-filters::before {
  background: linear-gradient(270deg, rgba(107, 165, 175, 1), rgba(112, 188, 112, 1) 50%, rgba(218, 233, 181, 1));
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.5s;
}

.modal-content .modal-actions button.apply-filters::after {
  content: "";
  position: absolute;
  background-color: #fff;
  clip-path: path("M13.212,11.624H12.38l-.3-.284a6.87,6.87,0,1,0-.737.737l.284.3v.832l4.479,4.468a1.11,1.11,0,0,0,1.57-1.569Zm-6.322,0a4.735,4.735,0,1,1,.013,0H6.89Z");
  width: 18px;
  height: 18px;
  left: 20px;
  top: calc(50% - 9px);
  transition: 0.3s;
}

.modal-content .modal-actions button.apply-filter:hover {
  box-shadow: none;
}

.modal-content .modal-actions button.apply-filters:hover::before {
  opacity: 1;
}

.modal-content .modal-actions button.apply-filters:hover::after {
  transform: scale(1.1);
}

.modal-content .modal-actions button.clear-filters {
  padding-left: 60px;
  border: 1px solid #a7a7a7;
  position: relative;
  width: 300px;
}

.modal-content .modal-actions button.clear-filters::before {
  content: "";
  position: absolute;
  width: 18.1px;
  height: 18px;
  background-color: #414141;
  clip-path: path("M2.573,15.363a9.154,9.154,0,0,1,0-12.726A8.616,8.616,0,0,1,8.781,0a8.51,8.51,0,0,1,3.455.724,8.688,8.688,0,0,1,2.9,2.063l.031.033.346.413,1.367-1.4A.657.657,0,0,1,18,2.311V6.977a.667.667,0,0,1-.658.675H12.8A.678.678,0,0,1,12.33,6.5l1.94-1.988-.418-.5A6.944,6.944,0,0,0,8.788,1.8a7.2,7.2,0,0,0,0,14.4,7.051,7.051,0,0,0,6.625-4.8.873.873,0,0,1,1.1-.555l.019.007A.9.9,0,0,1,17.07,12a8.935,8.935,0,0,1-3.21,4.347,8.617,8.617,0,0,1-11.277-.986Z");
  left: 20px;
  top: calc(50% - 6px);
}

.modal-content .modal-actions button.clear-filters:hover {
  background-color: #efefef;
}

.modal-content .modal-panels .filter-block {
  padding: 20px 40px 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.modal-content .modal-panels .filter-block label {
  width: calc(( 100% - 24px) / 4);
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-start;
  font-size: 112.5%;
  position: relative;
  padding: 4px 0px 4px 12px;
  border-radius: 4px;
}

.modal-content .modal-panels .filter-block label:hover,
.modal-content .modal-panels .filter-block label:has(input:checked),
.modal-content .modal-panels .filter-block label:has(input:focus) {
  background-color: #f3f7de;
}

.modal-content .modal-panels .filter-block label:hover input,
.modal-content .modal-panels .filter-block label:has(input:checked) input,
.modal-content .modal-panels .filter-block label:has(input:focus) input {
  background-color: #fff;
}

.modal-content .modal-panels .filter-block label.occupation-parent-label {
  border-radius: 4px;
  padding: 8px 12px;
  width: 100%;
  background-color: #f3f7de;
  margin-top: 16px;
}

.modal-content .modal-panels .filter-block .occupation-parent {
  background-color: #fff;
}

.modal-content .modal-panels .filter-block .occupation-block {
  width: 100%;
}

.modal-content .modal-panels .filter-block .occupation-block .occupation-children {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  padding: 8px 20px 0;
}

.modal-content .modal-panels .filter-block .salary-block {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.modal-content .modal-panels .filter-block .salary-block>strong {
  width: 100%;
  border-radius: 4px;
  padding: 8px 12px;
  width: 100%;
  background-color: #f3f7de;
  margin-top: 16px;
}

.modal-content .modal-panels .filter-block .salary-block label {
  position: relative;
  cursor: pointer;
  width: auto;
  margin: 8px 0 0 20px;
}

.modal-content .modal-panels .filter-block .salary-block label::before,
.modal-content .modal-panels .filter-block .salary-block label:has(:checked)::after {
  border-radius: 50%;
  content: "";
}

.modal-content .modal-panels .filter-block .salary-block label::before {
  width: 18px;
  height: 18px;
  background-color: #f3f7de;
  border: 1px solid #adc054;
  transition: 0.3s;
}

.modal-content .modal-panels .filter-block .salary-block label:hover::before {
  background-color: #fff;
}

.modal-content .modal-panels .filter-block .salary-block label:has(:checked)::after {
  position: absolute;
  top: 50%;
  left: 21px;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background-color: #727857;
  animation: anim-radio-1 0.3s linear;
}

@keyframes anim-radio-1 {
  0% {
    box-shadow: 0 0 0 1px transparent;
  }

  50% {
    box-shadow: 0 0 0 10px #f3f7e133;
  }

  100% {
    box-shadow: 0 0 0 10px transparent;
  }
}

.modal-content .modal-panels .filter-block .salary-block input {
  display: none;
}

.modal-content .modal-panels .modal_search_box {
  padding: 12px 20px 12px 60px;
  width: 100%;
  border-radius: 8px;
  border: 1px solid #a8a8a8;
}

.modal-content .modal-panels .search_tab_panel {
  position: relative;
  padding: 0 20px;
}

.modal-content .modal-panels .search_tab_panel::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  background-color: #adc054;
  clip-path: path("M13.212,11.624H12.38l-.3-.284a6.87,6.87,0,1,0-.737.737l.284.3v.832l4.479,4.468a1.11,1.11,0,0,0,1.57-1.569Zm-6.322,0a4.735,4.735,0,1,1,.013,0H6.89Z");
  top: calc(50% - 9px);
  left: 40px;
}

@media screen and (max-width: 1199px) {
  #filter-modal .modal-content {
    max-width: 600px;
  }

  .modal-content .modal-panels .filter-block {
    padding: 20px 0;
  }

  .modal-content .modal-panels .filter-block label {
    width: auto;
  }

  .modal-content .modal-tabs li {
    font-size: 100%;
  }
}

@media screen and (max-width: 768px) {
  #filter-modal .modal-overlay {
    display: none;
  }

  .modal-content .close_btn_wrap {
    background-color: #fff;
    position: fixed;
    width: 100%;
    height: 50px;
    top: 0;
    left: 0;
    z-index: 10;
  }

  .modal-content .modal-tabs {
    margin-top: 50px;
  }

  #filter-modal .modal-content {
    height: 100%;
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-radius: 0;
  }

  .modal-content .job-count.fix_bottom {
    position: fixed;
    bottom: 0px;
    left: 0;
    width: 100%;
    opacity: 1;
    background-color: #fff;
    border-top: 1px solid #efefef;
    z-index: 10;
    transform: translateY(100%);
    opacity: 0;
    animation: slideUp 0.3s forwards ease-out;
  }

  @keyframes slideUp {
    from {
      transform: translateY(100%);
      opacity: 0;
    }

    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  .modal-content .modal-actions {
    padding-bottom: 74px;
  }

  .modal-content .modal-panels {
    padding-top: 0;
  }

  .modal-content .modal-panels .filter-block {
    padding: 0px 0 20px;
  }

  .modal-content .modal-panels .filter-block label {
    padding: 8px 12px;
    width: calc(50% - 24px);
  }

  .modal-content .modal-panels .filter-block .salary-block label {
    width: calc(50% - 24px);
  }

  .modal-content .modal-panels .filter-block label.occupation-child-label {
    width: calc(50% - 4px);
  }

  .modal-content .modal-panels .filter-block label.occupation-parent-label {
    margin-left: 0;
  }

  .modal-content .modal-panels .filter-block .occupation-block .occupation-children {
    padding-top: 0px;
  }

  .modal-content .modal-panels .search_tab_panel {
    margin-top: 20px;
  }
}

@media screen and (max-width: 575px) {
  .modal-content .modal-actions {
    padding: 20px;
    padding-bottom: 74px;
    flex-direction: column;
  }

  .modal-content .modal-tabs {
    flex-wrap: wrap;
  }

  .modal-content .modal-tabs li {
    width: 50%;
    padding: 16px 32px 16px 4px;
    font-size: 112.5%;
    border: 1px solid #adc054;
  }

  .modal-content .modal-tabs li:nth-child(1) {
    border-left: none;
    border-right: none;
    border-bottom: none;
  }

  .modal-content .modal-tabs li:nth-child(2) {
    border-right: none;
    border-bottom: none;
  }

  .modal-content .modal-tabs li:nth-child(3) {
    border-left: none;
    border-right: none;
  }

  .modal-content .modal-tabs li:nth-child(4) {
    border-right: none;
  }

  .modal-content .modal-tabs li::before {
    width: 20px;
    height: 10px;
    background-color: #adc054;
    clip-path: path("M3.066.443l6.944,5.892L16.954.443a2.016,2.016,0,0,1,2.524,0,1.354,1.354,0,0,1,.053,2.095l-.053.047-8.215,6.97a2.014,2.014,0,0,1-2.524,0L.524,2.586A1.354,1.354,0,0,1,.469.492L.524.444a2.061,2.061,0,0,1,2.542,0");
    left: auto;
    bottom: calc(50% - 5px);
    right: 8px;
    transition: 0.3s;
  }

  .modal-content .modal-tabs li.active::before {
    transform: rotate(180deg);
  }

  .modal-content .modal-actions button.clear-filters,
  .modal-content .modal-actions button.apply-filters {
    width: 100%;
  }

  .modal-content .modal-panels .filter-block label {
    margin-left: 0;
    width: calc(50% - 4px);
  }

  .modal-content .modal-panels .filter-block .occupation-block .occupation-children {
    padding-left: 12px;
    padding-right: 12px;
  }

  .modal-content .modal-panels .filter-block .salary-block label {
    margin-left: 0;
  }

  .modal-content .modal-panels .filter-block .salary-block label {
    width: calc(50% - 4px);
  }
}

@media screen and (max-width: 466px) {
  .modal-content .modal-panels .filter-block .salary-block label {
    font-size: 100%;
    ;
  }

  .modal-content .modal-panels .filter-block label {
    width: 100%;
  }
}

/* その他 */
#autozip {
  display: none !important;
}

.page-id-2 {
  #wpmem_reg {
    .div_checkbox {
      display: inline-block;
      position: relative;
      left: -32px;
      top: 4px;
      line-height: 16px;
    }

    label.checkbox {
      position: relative;
      padding: 12px 48px 12px 18px;

      /* span.req {
        display: none;
      } */
      &::after {
        width: calc(100%);
        z-index: -1;
        position: absolute;
        border: 1px solid rgba(0, 0, 0, .1);
        border-radius: 2px;
        content: "";
        left: 0;
        top: 0;
        height: 100%;
      }
    }
  }
}


/* ----- 404 ----- */
.NF_text_box {
  margin-top: 40px;
  inline-size: fit-content;
  margin-inline: auto
}

.NF_text_box p {
  margin-top: 1rem;
}

.NF_text_box p:first-child {
  margin-top: 0px;
}