@charset "UTF-8";
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  font-size: 62.5%;
  scroll-padding-top: 100px;
  scroll-behavior: smooth;
}
body {
  background: #28140a;
  color: #333;
  font: 1.4rem/1.5 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
}
ul,
li {
  list-style: none;
}
img {
  vertical-align: top;
}
#wrapper {
  position: relative;
  width: 100%;
}
#content {
  opacity: 1;
  overflow: hidden;
}
#content.menu_bg {
  position: relative;
  z-index: 1;
  opacity: 0.5;
}
.c-contents {
  padding-block: 40px;
  text-align: center;
  text-wrap: balance;
}
.c-contents.-bg1 {
  background-color: #fffdf5;
  background-image: url("../images/recruit/bg1-2.png"), url("../images/recruit/bg1.png");
  background-repeat: no-repeat, repeat-x;
  background-size: 679px 735px, 100% auto;
  background-position: center 0, 0 0;
}
.c-contents.-bg2 {
  background-color: #562f19;
  background-image: url("../images/recruit/bg2-2.png"), url("../images/recruit/bg2.png");
  background-repeat: no-repeat, repeat-x;
  background-size: 960px 830px, 100% auto;
  background-position: center 0, 0 0;
  color: #fff;
}
:is(.c-contents.-bg1, .campaignInterview) .c-heading {
  margin-bottom: 40px;
  color: #770a0a;
}
:is(.c-contents.-bg2, .job-description) .c-heading {
  margin-bottom: 40px;
  color: #fff;
  text-shadow: 0 0 10px rgb(0 0 0 / 0.8);
}
.conversion .c-heading {
  margin-bottom: 20px;
  color: #fff;
  text-shadow: 0 0 10px rgb(0 0 0 / 0.8);
}
.c-heading {
  display: grid;
  place-items: center;
  row-gap: 15px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E",
    "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2rem;
  text-align: center;
}
.c-heading::before,
.c-heading::after {
  display: block;
  width: 135px;
  height: 10px;
  background-image: url("../images/recruit/heading-parts.png");
  background-size: 135px 10px;
  content: "";
}
.c-heading::after {
  transform: rotate(180deg);
}
.inner {
  padding-inline: 15px;
}
.fruid {
  width: 100%;
  height: auto;
}
.header_officialLink {
  background-color: #160700;
}
.header_officialLink a {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 15px;
  height: 50px;
  color: #fff;
  font-size: clamp(1.6rem, 4.3vw, 2.4rem);
  font-weight: bold;
  text-decoration: none;
}
.header_officialLink .arrow {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -2px;
}
.header_officialLink .arrow::before,
.header_officialLink .arrow::after {
  transform-origin: 91% center;
  position: absolute;
  width: clamp(10px, 2.7vw, 15px);
  height: 3px;
  content: "";
  background-color: #d1b7aa;
}
.header_officialLink .arrow::before {
  border-radius: 2px 2px 0;
  rotate: -45deg;
}
.header_officialLink .arrow::after {
  border-radius: 2px 0 2px 2px;
  rotate: 45deg;
}
header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  border-bottom: 1px solid #000;
  background: #28140a;
}
.header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 8px;
  height: 50px;
  padding-inline: 5px 8px;
}
.h-ttl_new {
  display: flex;
  align-items: center;
  column-gap: 8px;
  flex: 1;
  font-size: 1rem;
  color: #fff;
  font-weight: normal;
}
.h-ttl_new img {
  width: 153px;
  height: 27px;
}
.h-ttl_text {
  word-break: keep-all;
}
.menu {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 5px;
  position: relative;
  width: 70px;
  height: 24px;
  border: 1px solid #fff;
  border-radius: 3px;
  font-size: 1rem;
  color: #fff;
}
.menu:before {
  background-image: url("../images/recruit/menu_icon.png");
  background-size: contain;
  width: 10px;
  height: 9px;
  content: "";
}
.menu.close:before {
  background-image: url("../images/recruit/menu_icon_close.png");
  background-size: contain;
  width: 10px;
  height: 10px;
  margin-right: 5px;
}
.drawer {
  position: fixed;
  overflow: auto;
  top: 100px;
  right: -300px;
  z-index: 1;
  width: 235px;
  height: calc(100% - 100px);
  transition: 0.3s ease-out;
  background: #ffe7c2;
}
.drawer li a {
  display: block;
  position: relative;
  padding: 15px 0 15px 30px;
  font-size: 1.2rem;
  color: #000;
  text-decoration: none;
}
.drawer a:before {
  content: "";
  position: absolute;
  left: 16px;
  top: 18px;
  background-image: url("../images/recruit/menu_arrow.png");
  width: 7px;
  height: 14px;
}
.drawer.active {
  right: 0;
}
.drawer ul,
.drawer li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.drawer li {
  border-bottom: 1px solid #e1bb9a;
}
@media (min-width: 768px) {
  :is(.c-contents.-bg1, .c-contents.-bg2, .campaignInterview, .job-description) .c-heading {
    margin-bottom: 80px;
  }
  .conversion .c-heading {
    margin-bottom: 40px;
  }
  .c-heading {
    row-gap: 30px;
    font-size: 3.2rem;
  }
  .c-heading::before,
  .c-heading::after {
    width: 270px;
    height: 20px;
    background-size: 270px 20px;
  }
}
@media (min-width: 960px) {
  html {
    scroll-padding-top: 100px;
  }
  body {
    font-size: 1.6rem;
  }
  .c-contents {
    padding-block: 100px 50px;
  }
  .inner {
    box-sizing: content-box;
    max-width: 960px;
    margin-inline: auto;
    padding-inline: 40px;
  }
  .header_inner {
    height: 78px;
    padding: 0 20px;
  }
  .h-ttl_new {
    column-gap: 40px;
    height: 78px;
    font-size: 2rem;
    color: #fff;
  }
  .h-ttl_new img {
    width: 272px;
    height: 48px;
  }
  .menu {
    position: relative;
    width: 110px;
    height: 40px;
    font-size: 1.6rem;
  }
  .menu:before {
    width: 20px;
    height: 18px;
  }
  .menu.close:before {
    width: 20px;
    height: 20px;
  }
  .drawer {
    top: 128px;
    right: -300px;
    width: 270px;
    height: calc(100% - 128px);
  }
  .drawer li a {
    padding: 24px 0 24px 40px;
    font-size: 1.4rem;
  }
  .drawer a:before {
    left: 20px;
    top: 29px;
  }
}

.top-img {
  overflow: hidden;
  max-height: 568px;
  background-image: url("../images/recruit/hero_img_bg.jpg");
  background-repeat: repeat-x;
  background-position: center 0;
}
.top-img .inner {
  display: flex;
  height: 100%;
}
.top-img img {
  max-width: 100%;
  height: auto;
}
.top-img__text {
  display: flex;
  z-index: 1;
  align-items: flex-start;
  justify-content: flex-end;
  width: 55.7%;
  margin-right: -20px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.top-img .inner::after {
  width: 54.3%;
  background-image: url("../images/recruit/top-img.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  content: "";
}

@media (min-width: 768px) {
  .top-img__text {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.about p {
  text-wrap: balance;
}
.about-bottom-img {
  margin-top: 20px;
}
.about-bottom-img img {
  max-width: 330px;
}

@media (min-width: 768px) {
  .about-bottom-img {
    margin-top: 50px;
  }
  .about-bottom-img img {
    max-width: 660px;
  }
}

#graph_area {
  display: flex;
  flex-direction: column;
  font-size: 1.4rem;
}
#graph_area .left img {
  max-width: 195px;
}
#graph_area .right {
  margin-top: 20px;
}
#graph_area p {
  margin-bottom: 20px;
}
#graph_area .em {
  font-size: 2.4rem;
}

@media (min-width: 768px) {
  #graph_area .left img {
    max-width: 390px;
  }
  #howmatch .right {
    margin-top: 50px;
  }
}

@media (min-width: 960px) {
  #graph_area {
    flex-direction: row;
    justify-content: center;
    column-gap: 50px;
  }
  #howmatch .left {
    width: 390px;
  }
  #howmatch .right {
    width: 380px;
  }
}

#why_txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}
#why_txt p {
  text-wrap: balance;
}
.why_left p + p {
  margin-top: 20px;
}
.why_left .em {
  color: #dc1e46;
  font-size: 1.6rem;
  font-weight: bold;
}
.why_right img {
  max-width: 190px;
}
.why_right aside {
  margin-top: 10px;
  font-size: 14px;
}
#shoplist {
  margin-top: 50px;
  padding: 20px 15px 15px;
  border: 2px solid #f0dcc8;
  background: #fff;
}
.shoplist_heading {
  font-size: 1.6rem;
  font-weight: bold;
}
.shop-items {
  display: grid;
  grid-template-columns: repeat(var(--grid-repeat, 1), 1fr);
  gap: 20px;
  margin-top: 20px;
}
.shop-item {
  width: 100%;
  padding: 20px 15px;
  border-radius: 5px;
}
.shop-item_area {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: bold;
}
#shibuya {
  background: #fff6fc;
  border: 1px solid #ff90cc;
}
#shibuya .shop-item_area {
  color: #f73b79;
}
#ueno {
  background: #effbff;
  border: 1px solid #8cbaf3;
}
#ueno .shop-item_area {
  color: #436dd8;
}
#ikebukuro {
  background: #fff2f7;
  border: 1px solid #ff72bb;
}
#ikebukuro .shop-item_area {
  color: #ff72bb;
}
#tachikawa {
  background: #fff0f0;
  border: 1px solid #f28c6d;
}
#tachikawa .shop-item_area {
  color: #f28c6d;
}
#akiba {
  background: #fef3ff;
  border: 1px solid #ee77bd;
}
#akiba .shop-item_area {
  color: #ee77bd;
}
#gotanda {
  background: #ffecf2;
  border: 1px solid #ff548d;
}
#gotanda .shop-item_area {
  color: #ff548d;
}
#shinjuku {
  background: #fff4f3;
  border: 1px solid #ff6f61;
}
#shinjuku .shop-item_area {
  color: #ff6f61;
}
#hachioji {
  background: #e6f3ff;
  border: 1px solid #326eaa;
}
#hachioji .shop-item_area {
  color: #326eaa;
}

@media (min-width: 768px) {
  .why_left img {
    max-width: 390px;
    width: 100%;
  }
  .why_right img {
    max-width: 380px;
  }
  .why_right aside {
    margin-top: 20px;
  }
}

@media (min-width: 960px) {
  #why_txt {
    flex-direction: row;
    align-items: center;
    gap: 50px;
  }
  .why_left {
    flex: 1;
  }
  .why_left .em {
    font-size: 2rem;
  }
  .why_right {
    width: 380px;
  }
  .shoplist_heading {
    font-size: 2rem;
  }
  #shoplist {
    width: 780px;
    margin-top: 50px;
    margin-inline: auto;
    padding: 40px 35px 35px;
  }
  .shop-items {
    --grid-repeat: 2;
    margin-top: 40px;
  }
}

#adv {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 50px;
}
#adv p {
  text-wrap: balance;
}
#adv p + p {
  margin-top: 20px;
}
#adv .left .em {
  color: #dc1e46;
  font-size: 1.6rem;
  font-weight: bold;
}
.adv-item {
  margin: 0;
  padding: 2px;
  background-color: #fff;
  border: 1px solid #eee0d5;
}
.adv-item dl {
  position: relative;
  padding: 2px;
  border: 2px solid #eee0d5;
  background: #fff;
}
.adv-item dl::before,
.adv-item dl::after,
.adv-item dt::before,
.adv-item dt::after {
  position: absolute;
  width: 16px;
  height: 17px;
  background-image: url("../images/recruit/c-parts.gif");
  background-size: 16px 17px;
  content: "";
}
.adv-item dl::before {
  top: 2px;
  left: 2px;
}
.adv-item dl::after {
  transform: scale(-1, 1);
  top: 2px;
  right: 2px;
}
.adv-item dt::before {
  transform: scale(1, -1);
  bottom: 2px;
  left: 2px;
}
.adv-item dt::after {
  transform: scale(-1, 1) scale(1, -1);
  right: 2px;
  bottom: 2px;
}
.adv-item dt {
  padding-top: 15px;
  font-size: 1.6rem;
  font-weight: bold;
}
.adv-item dd {
  margin-top: 15px;
  padding: 0 16px 15px;
}

@media (min-width: 768px) {
  #adv {
    flex-direction: row;
    max-width: 780px;
    margin-inline: auto;
  }
  #adv .left {
    flex: 1;
  }
  #adv .right {
    width: 380px;
  }
}

@media (min-width: 960px) {
  #adv .left {
    width: 480px;
  }
  #adv .right {
    margin-left: 50px;
  }
  .adv-item dl::before,
  .adv-item dl::after,
  .adv-item dt::before,
  .adv-item dt::after {
    width: 32px;
    height: 34px;
    background-size: 32px 34px;
  }
  .adv-item dt {
    font-size: 1.8rem;
  }
  .adv-item dd {
    padding: 0 32px 15px;
  }
}

.conversion {
  background-color: #392921;
  background-image: url("../images/recruit/conversion_bg.png");
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: 100% auto;
}
.conversion-top {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E",
    "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #fff;
  font-weight: bold;
}
.conversion-top-heading p {
  margin-top: 20px;
  font-size: 2rem;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.count {
  margin-top: 20px;
  color: #fff;
}
.count span {
  margin: 0 1px;
  color: #f2d44a;
  font-size: 1.6rem;
  font-weight: bold;
  vertical-align: middle;
}
.btn_area {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  max-width: 630px;
  margin-top: 20px;
  margin-inline: auto;
}
.btn_area a {
  position: relative;
  display: block;
  padding-block: 20px;
  border-radius: 5px;
  color: #fff;
  font-size: 1.2rem;
  text-decoration: none;
}
.btn_area a::before,
.btn_area a::after {
  position: absolute;
  top: 50%;
  content: "";
}
.btn_area a::before {
  left: 30px;
  overflow: hidden;
  width: 49px;
  background-image: url("../images/recruit/application.png");
  background-size: 49px 137px;
}
.line a:before {
  width: 42px;
  height: 55px;
  margin-top: -28px;
}
.mail a:before {
  width: 49px;
  height: 42px;
  margin-top: -21px;
  background-position: 0 -55px;
}
.tel a:before {
  width: 44px;
  height: 40px;
  margin-top: -20px;
  background-position: 0 -97px;
}
.btn_area a:after {
  transform: rotate(45deg);
  right: 15px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.btn_area a span {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
}
.line a {
  background: #53c110;
  background: linear-gradient(to bottom, #53c110 0%, #229c06 100%);
}
.mail a {
  background: #e64e92;
  background: linear-gradient(to bottom, #e64e92 0%, #d72051 100%);
}
.tel a {
  background: #45acc6;
  background: linear-gradient(to bottom, #45acc6 0%, #1c7ba4 100%);
}
.site_link {
  margin-top: 20px;
}
.site_link a {
  position: relative;
  display: block;
  width: 240px;
  height: 50px;
  margin-inline: auto;
  box-shadow: 1px 0 0 #fff inset;
  background: #fdfdfd;
  background: linear-gradient(to bottom, #fdfdfd 0%, #b4b4b4 100%);
  border-radius: 5px;
  border: 2px solid #535353;
  color: #333;
  font-weight: bold;
  text-decoration: none;
  line-height: 50px;
}
.site_link a:after {
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  border-top: 2px solid #898989;
  border-right: 2px solid #898989;
  content: "";
}
.conversion-bottomImg {
  margin-top: 20px;
}
.conversion-bottomImg img {
  max-width: 100%;
  height: auto;
}

@media (min-width: 960px) {
  .conversion .inner {
    padding-inline: 40px;
  }

  .conversion-top-heading p {
    margin-top: 30px;
    font-size: 3.2rem;
  }

  .conversion-top-text {
    position: relative;
    z-index: 1;
    img {
      margin-inline: auto;
    }
  }

  .conversion-top-text_img {
    position: absolute;
    top: -160px;
    inset-inline: 0;
    z-index: -1;
    content: "";
  }

  .count {
    margin-bottom: 30px;
  }
  .count span {
    font-size: 1.8rem;
  }

  .conversion_area {
    display: flex;
    justify-content: center;
    column-gap: 20px;
  }
  .conversion_area dl {
    flex: 1;
    padding: 20px;
    border-radius: 5px;
    background: #fff;
  }
  .conversion_area dt {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    height: 36px;
    margin-bottom: 20px;
    border-radius: 20px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
      "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
  }
  .conversion_area dt::before {
    overflow: hidden;
    width: 26px;
    height: 28px;
    background: url("../images/recruit/application--pc.png");
    content: "";
  }
  .conversion_area .mail dt::before {
    background-position: 0 -28px;
  }
  .conversion_area .tel dt::before {
    background-position: 0 -56px;
  }
  .conversion_area .line dt {
    background: #53c110;
  }
  .line_contents {
    display: flex;
    justify-content: space-between;
    column-gap: 15px;
    text-align: left;
  }
  .conversion_area .line dd span {
    margin-top: 10px;
    font-weight: bold;
  }
  .conversion_area .mail dt {
    background: #e4498b;
  }
  .conversion_area .mail dd a {
    position: relative;
    display: block;
    height: 70px;
    border: 1px solid #edd161;
    border-radius: 10px;
    background: #fefcec;
    background: linear-gradient(to bottom, #fefcec 0%, #faf0bd 100%);
    line-height: 70px;
    color: #000;
    text-decoration: none;
  }
  .conversion_area .mail dd a::before {
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 15px;
    left: inherit;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border-top: 2px solid #cc9a4a;
    border-right: 2px solid #cc9a4a;
    content: "";
  }
  .conversion_area .tel dt {
    background: #40a6c2;
  }
  .conversion_area .tel dd {
    padding-top: 20px;
    font-weight: bold;
    font-size: 2rem;
  }

  .site_link {
    margin-top: 40px;
  }
  .site_link a {
    width: 300px;
    height: 60px;
    line-height: 60px;
  }
}

.girl_img img {
  max-width: 365px;
}
.girl_contents dt,
.girl_contents dd {
  margin-top: 20px;
}
.girl_contents dt {
  font-size: 1.8rem;
  color: #dc1e46;
  font-weight: bold;
}
.girl_contents dd {
  text-wrap: balance;
}
#reason {
  display: grid;
  grid-template-columns: repeat(
    var(--grid-repeat, 2),
    minmax(min(((100% - var(--gutter, 10px)) / var(--grid-repeat, 2)), 220px), 220px)
  );
  justify-content: center;
  gap: 10px;
}
.reason-item {
  display: grid;
  place-content: center;
  place-items: center;
  row-gap: 10px;
  position: relative;
  aspect-ratio: 1;
  padding-inline: 8px;
  background-image: url("../images/recruit/girl_reason_bg.png");
  background-size: cover;
  color: #fff;
}
.reason-item p {
  height: calc(2em * 1.5);
  font-size: clamp(11px, 2.9vw, 14px);
}
.reason-item_heading {
  overflow: hidden;
  width: 79px;
  height: 24px;
}
.reason-item:nth-of-type(2) .reason-item_heading img {
  margin-top: -24px;
}
.reason-item:nth-of-type(3) .reason-item_heading img {
  margin-top: -48px;
}
.reason-item:nth-of-type(4) .reason-item_heading img {
  margin-top: -72px;
}
.reason-item:nth-of-type(5) .reason-item_heading img {
  margin-top: -96px;
}
.reason-item:nth-of-type(6) .reason-item_heading img {
  margin-top: -120px;
}

@media (min-width: 768px) {
  .girl_img img {
    max-width: 730px;
  }
  .girl_contents dt,
  .girl_contents dd {
    margin-top: 40px;
  }
  .girl_contents dt {
    font-size: 2rem;
  }
  #reason {
    --gutter: 20px;
    gap: 20px;
  }
}

@media (min-width: 960px) {
  .girl_img {
    margin-bottom: 50px;
  }
  .girl_contents dt,
  .girl_contents dd {
    margin-top: 50px;
  }
  .girl_contents dt {
    font-size: 3.2rem;
  }
  #reason {
    --grid-repeat: 3;
  }
}

.kankyo h2 {
  margin-bottom: 40px;
  color: #fff;
  text-shadow: 0 0 10px rgb(0 0 0 / 0.8);
}
.kankyo .txt {
  margin-bottom: 20px;
  text-wrap: balance;
}
.kankyo-items {
  display: grid;
  gap: 20px;
}
.kankyo-item {
  display: grid;
  grid-column: 1/4;
  gap: 15px;
  position: relative;
  overflow: hidden;
  padding: 20px 15px;
  background: #fff;
  color: #333;
  text-align: left;
}
.kankyo-item:not(.-aribai) {
  grid-template-columns: 1fr 43%;
  grid-template-rows: auto 1fr;
}
.kankyo-item.-aribai {
  grid-template-rows: auto auto 1fr;
}
.kankyo-item_title {
  grid-column: 1/2;
  padding-left: 10px;
  border-left: 3px solid;
  color: #dc1e46;
  font-size: 1.6rem;
}
.kankyo-item_text {
  grid-row: 2;
  text-wrap: auto;
}
.kankyo-item_img {
  grid-column: 2/3;
  grid-row: 1/3;
  margin-block: -20px;
  margin-inline-end: -15px;
}
.kankyo-item_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aribai {
  margin-block-end: -20px;
  margin-inline: -15px;
  padding-block: 20px;
  background: #fffae6;
  text-align: center;
}
.aribai_heading {
  position: relative;
  padding: 0 15px;
  color: #7d7d54;
  font-size: 1.8rem;
  font-weight: bold;
}
.aribai_heading span {
  position: relative;
  padding-inline: 15px;
  background: #fffae6;
}
.aribai_heading::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 4px;
  margin-top: -2px;
  background: #7d7d54;
  content: "";
}
.aribai-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  place-content: center;
  gap: 10px;
  box-sizing: content-box;
  max-width: 590px;
  margin-top: 20px;
  margin-inline: auto;
  padding-inline: 15px;
}
.aribai-item {
  position: relative;
  font-size: 1.2rem;
  color: #fff;
}
.aribai-item img {
  width: 100%;
  height: auto;
}
.aribai-item p {
  height: 28px;
  background: #7d7d54;
  font-size: clamp(1rem, 3.1vw, 1.2rem);
  line-height: 28px;
}

@media (min-width: 768px) {
  .kankyo .txt {
    margin-bottom: 50px;
  }
  .workingTime-item .right {
    font-size: 1.6rem;
  }
}

@media (min-width: 960px) {
  .kankyo-items {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .kankyo-item {
    border-radius: 10px;
  }
  .kankyo-item:not(.-aribai) {
    grid-column: auto;
    grid-template-columns: 1fr;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
  .kankyo-item.-aribai {
    grid-template-columns: auto auto;
    grid-template-rows: auto 1fr;
  }
  .kankyo-item.-aribai .kankyo-item_title {
    grid-row: 1/2;
  }
  .kankyo-item_img {
    grid-column: 1;
    grid-row: 3 / 4;
    margin-block: 0 -20px;
    margin-inline: -15px;
  }
  .aribai {
    grid-column: 2;
    grid-row: 1/3;
    margin-block: -20px;
    margin-inline: 0 -15px;
  }
  .aribai-items {
    padding-inline: 20px;
  }
  .aribai-item p {
    height: 56px;
    font-size: 1.6rem;
    line-height: 56px;
  }
}

.kinmu .txt {
  margin-bottom: 40px;
}
.workingTime-items {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  width: min(100%, 600px);
  margin-inline: auto;
}
.workingTime-item {
  display: flex;
  column-gap: 20px;
  padding: 20px 15px;
  background: #fff;
  border-top: 5px solid #cbc5ae;
  box-shadow: 2px 2px 5px #d0cfc8;
  text-align: left;
}
.workingTime-item img {
  width: 60px;
  height: 80px;
}
.workingTime-item .right {
  flex: 1;
}
.workingTime-item p + p {
  margin-top: 10px;
}
.workingTime-item p span {
  color: #dc1e46;
  font-weight: bold;
}

@media (min-width: 768px) {
  .kinmu .txt {
    margin-bottom: 50px;
  }
}

@media (min-width: 960px) {
  .workingTime-item {
    padding: 20px;
  }
  .workingTime-item img {
    width: 120px;
    height: 160px;
  }
  .workingTime-item p span {
    font-size: 1.8rem;
  }
}

.campaignInterview {
  background: #ffeed2;
}
.campaignInterview .inner {
  max-width: 960px;
  margin-inline: auto;
  padding: 40px 20px;
  text-align: center;
}
.p-campaignInterview-text1,
.p-campaignInterview-text2 {
  color: #e5004f;
  font-weight: bold;
}
.p-campaignInterview-text1 {
  font-size: 1.8rem;
}
.p-campaignInterview-text2 {
  font-size: 1.6rem;
}
.p-campaignInterview-text3 {
  margin-top: 10px;
  font-size: 1.2rem;
}
.campaignInterview-box {
  margin-top: 25px;
  padding: 40px 15px;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 0 10px rgb(0 0 0 / 0.2);
}
.campaignInterview-items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min((100% - var(--gutter, 0)) / var(--grid-length, 1), 100%), 1fr));
  gap: 20px;
  margin-top: 25px;
}
.campaignInterview-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 15px;
  font-size: 1.2rem;
}
.campaignInterview-item_img {
  display: grid;
  place-content: center;
}
.campaignInterview-item_text {
  margin-top: 10px;
  font-size: 1.6rem;
  font-weight: bold;
}

.campaignInterview-winner {
  max-width: 285px;
  margin: 50px auto 0;
  padding: 30px 20px 20px;
  background: #eee;
}
.campaignInterview-winner_heading {
  margin: -57px -20px 15px;
  text-align: center;
}
.campaignInterview-winner-item {
  padding: 10px;
  background: #fff;
}

.campaignInterview-winner-li .slick-prev,
.campaignInterview-winner-li .slick-next {
  z-index: 1;
  width: 59px;
  height: 59px;
  border: 2px solid #fff;
  border-radius: 10px;
  box-shadow: 0 0 2px 0 #ae8699 inset;
  background: #fff;
}
.campaignInterview-winner-li .slick-prev {
  left: -30px;
}
.campaignInterview-winner-li .slick-next {
  right: -30px;
}
.campaignInterview-winner-li .slick-prev:before,
.campaignInterview-winner-li .slick-next:before {
  display: inline-block;
  opacity: 1;
  width: 11px;
  height: 11px;
  border-top: 6px solid #ae8699;
  border-right: 6px solid #ae8699;
  content: "";
}
.campaignInterview-winner-li .slick-prev:before {
  transform: rotate(225deg);
  margin-right: -6px;
}
.campaignInterview-winner-li .slick-next:before {
  transform: rotate(45deg);
  margin-left: -6px;
}

@media (min-width: 768px) {
  .campaignInterview-items {
    --grid-length: 2;
    --gutter: 20px;
    margin-top: 50px;
  }
  .campaignInterview-item {
    gap: 20px;
    padding: 20px;
    font-size: 1.4rem;
  }
  .campaignInterview-winner {
    max-width: 620px;
    padding: 40px;
  }
  .campaignInterview-winner_heading {
    margin: -67px -20px 20px;
    text-align: center;
  }
  .campaignInterview-winner-li {
    padding: 20px;
    background: #fff;
  }
  .campaignInterview-winner-item {
    min-width: 220px;
    margin-inline: 10px;
  }
  .campaignInterview .inner {
    padding: 100px 40px 60px;
  }
  .p-campaignInterview-text2 {
    font-size: 1.8rem;
  }
  .p-campaignInterview-text3 {
    font-size: 1.4rem;
  }
  .campaignInterview-item_text {
    font-size: 1.8rem;
  }
}

@media (min-width: 960px) {
  .p-campaignInterview-text1 {
    font-size: 2.4rem;
  }
  .campaignInterview-items {
    --grid-length: 3;
    --gutter: 40px;
  }
  .campaignInterview-winner_heading img {
    width: 290px;
    height: 47px;
  }
}

.job-description {
  background-color: #a89c88;
  background-image: url("../images/recruit/job-description_bg.png");
  background-repeat: repeat-x;
}
.job-description-box {
  position: relative;
  max-width: 600px;
  margin-inline: auto;
  padding: 6px;
  box-shadow: 3px 3px 6px #9e9586;
  background-color: #fff;
}
.job-description-box_inner {
  padding: 20px;
  border: 3px double #e2bc55;
}
.job-description-box::before,
.job-description-box::after,
.job-description-box_inner::before,
.job-description-box_inner::after {
  position: absolute;
  width: 27px;
  height: 26px;
  background-image: url("../images/recruit/job-description_img.gif");
  background-repeat: no-repeat;
  background-size: 27px 26px;
  content: "";
}
.job-description-box::before {
  top: 0;
  right: 0;
}
.job-description-box::after {
  transform: scale(1, -1);
  right: 0;
  bottom: 0;
}
.job-description-box_inner::before {
  transform: rotate(180deg);
  bottom: 0;
  left: 0;
}
.job-description-box_inner::after {
  transform: scale(-1, 1);
  top: 0;
  left: 0;
}
.job-description-table {
  border-collapse: collapse;
  border-spacing: 0;
  margin-inline: auto;
  font-size: 1.4rem;
  text-align: left;
}
.job-description-table tr:not(:first-child) {
  border-top: 1px solid #d1d1d1;
}
.job-description-table td {
  padding-block: 10px;
  padding-left: 20px;
}

@media (min-width: 960px) {
  .job-description-box {
    padding: 10px;
  }
  .job-description-box_inner {
    border-width: 4px;
  }
  .job-description-box::before,
  .job-description-box::after,
  .job-description-box_inner::before,
  .job-description-box_inner::after {
    width: 54px;
    height: 52px;
    background-size: 54px 52px;
  }
  .job-description-box_top {
    height: 18px;
    margin-bottom: 30px;
  }
  .job-description-box_btm {
    height: 19px;
  }
  .job-description-box_top:before,
  .job-description-box_top:after,
  .job-description-box_btm:before,
  .job-description-box_btm:after {
    width: 54px;
    height: 52px;
  }
  .job-description-table {
    width: 480px;
  }
  .job-description-table td {
    padding-block: 20px;
    padding-left: 50px;
    font-size: 1.6rem;
    line-height: 3rem;
  }
}

footer {
  padding-block: 20px;
  background: #28140a;
  font-size: 1rem;
  color: #fff;
  text-align: center;
}
footer .inner {
  position: relative;
}

@media (min-width: 960px) {
  footer br {
    display: none;
  }
}

.page-top {
  position: relative;
}
.page-top a {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  padding-block: 20px;
  background: #fff;
  color: #333;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.5s ease-out;
}
.page-top a:before {
  width: 25px;
  height: 12px;
  background-image: url("../images/recruit/spn_pagetop.png");
  background-size: 25px 12px;
  content: "";
}
.page-top a:hover {
  opacity: 0.8;
}
@media (min-width: 960px) {
  .page-top a {
    flex-direction: column;
    overflow: hidden;
    position: absolute;
    top: -95px;
    right: 20px;
    aspect-ratio: 1;
    width: 80px;
    padding-block: 0;
    border-radius: 50%;
    line-height: 1;
  }
  .page-top span {
    margin-top: 8px;
  }
}

.d-none {
  display: none !important;
}
.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
.flex-fill {
  flex: 1 1 auto !important;
}
@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
}
@media (min-width: 960px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
}
