@charset "UTF-8";
/*! sanitize.css v4.0.0 | CC0 License | github.com/10up/sanitize.css */
/* Display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Playfair+Display:wght@400..900&display=swap");
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary { /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

/* Elements of HTML (https://www.w3.org/TR/html5/semantics.html)
   ========================================================================== */
/**
 * 1. Remove repeating backgrounds in all browsers (opinionated).
 * 2. Add box sizing inheritence in all browsers (opinionated).
 */
*,
::before,
::after {
  background-repeat: no-repeat; /* 1 */
  -webkit-box-sizing: inherit;
          box-sizing: inherit; /* 2 */
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritence in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Add the default cursor in all browsers (opinionated).
 * 3. Add a flattened line height in all browsers (opinionated).
 * 4. Prevent font size adjustments after orientation changes in IE and iOS.
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  cursor: default; /* 2 */
  font-family: sans-serif; /* 3 */
  line-height: 1.5; /* 3 */
  -ms-text-size-adjust: 100%; /* 4 */
  -webkit-text-size-adjust: 100%; /* 5 */
}

/* Sections (https://www.w3.org/TR/html5/sections.html)
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Correct the font sizes and margins on `h1` elements within
 * `section` and `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content (https://www.w3.org/TR/html5/grouping-content.html)
   ========================================================================== */
/**
 * 1. Correct font sizing inheritance and scaling in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * 1. Correct the height in Firefox.
 * 2. Add visible overflow in Edge and IE.
 */
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Add a bordered underline effect in all browsers.
 * 2. Remove text decoration in Firefox 40+.
 */
abbr[title] {
  border-bottom: 1px dotted; /* 1 */
  text-decoration: none; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct colors in IE 9-.
 */
mark {
  background-color: #ffff00;
  color: #000000;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Correct the font size in all browsers.
 */
small {
  font-size: 83.3333%;
}

/**
 * Change the positioning on superscript and subscript elements
 * in all browsers (opinionated).
 * 1. Correct the font size in all browsers.
 */
sub,
sup {
  font-size: 83.3333%; /* 1 */
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
 * Remove the text shadow on text selections (opinionated).
 * 1. Restore the coloring undone by defining the text shadow (opinionated).
 */
::-moz-selection {
  background-color: #b3d4fc; /* 1 */
  color: #000000; /* 1 */
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* 1 */
  color: #000000; /* 1 */
  text-shadow: none;
}

/* Embedded content (https://www.w3.org/TR/html5/embedded-content-0.html)
   ========================================================================== */
/*
 * Change the alignment on media elements in all browers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Links (https://www.w3.org/TR/html5/links.html#links)
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove the gaps in underlines in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline when hovering in all browsers (opinionated.
 */
:hover {
  outline-width: 0;
}

/* Tabular data (https://www.w3.org/TR/html5/tabular-data.html)
   ========================================================================== */
/*
 * Remove border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* transform-style:  (https://www.w3.org/TR/html5/forms.html)
   ========================================================================== */
/**
 * 1. Remove the default styling in all browsers (opinionated).
 * 3. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  background-color: transparent; /* 1 */
  border-style: none; /* 1 */
  color: inherit; /* 1 */
  font-size: 1em; /* 1 */
  margin: 0; /* 3 */
}

/**
 * Correct the overflow in IE.
 * 1. Correct the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance in Edge, Firefox, and IE.
 * 1. Remove the inheritance in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent the WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Correct the focus styles unset by the previous rule.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the border, margin, and padding in all browsers.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 2 */
  white-space: normal; /* 1 */
}

/**
 * 1. Remove the vertical scrollbar in IE.
 * 2. Change the resize direction on textareas in all browsers (opinionated).
 */
textarea {
  overflow: auto; /* 1 */
  resize: vertical; /* 2 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
 * Correct the cursor style on increment and decrement buttons in Chrome.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari for OS X.
 */
::-webkit-search-cancel-button,
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style on placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* WAI-ARIA (https://www.w3.org/TR/html5/dom.html#wai-aria)
   ========================================================================== */
/**
 * Change the cursor on busy elements (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements (opinionated).
 */
[aria-disabled] {
  cursor: default;
}

/* User interaction (https://www.w3.org/TR/html5/editing.html)
   ========================================================================== */
/*
 * Remove the tapping delay on clickable elements (opinionated).
 * 1. Remove the tapping delay in IE 10.
 */
a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
  -ms-touch-action: manipulation; /* 1 */
  touch-action: manipulation;
}

/*
 * Change the display on visually hidden accessible elements (opinionated).
 */
[hidden][aria-hidden=false] {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute;
}

[hidden][aria-hidden=false]:focus {
  clip: auto;
}

html, body, main {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 2.4;
  letter-spacing: 0.02em;
  background-image: none;
  background-color: #fff;
  color: #48413B;
}
@media screen and (max-width: 1180px), print {
  html, body, main {
    font-size: calc(13px + 2 * (100vw - 640px) / 384);
  }
}
@media screen and (max-width: 640px), print {
  html, body, main {
    font-size: 13px;
  }
}
@media screen and (max-width: 640px), print {
  html, body, main {
    line-height: 2;
  }
}
html div, html span, html object, html iframe,
html h1, html h2, html h3, html h4, html h5, html h6, html p, html blockquote, html pre,
html abbr, html address, html cite, html code,
html del, html dfn, html em, html img, html ins, html kbd, html q, html samp,
html small, html strong, html sub, html sup, html var,
html b, html i,
html dl, html dt, html dd, html ol, html ul, html li,
html fieldset, html form, html label, html legend,
html table, html caption, html tbody, html tfoot, html thead, html tr, html th, html td,
html article, html aside, html canvas, html details, html figcaption, html figure,
html footer, html header, html hgroup, html menu, html nav, html section, html summary,
html time, html mark, html audio, html video, body div, body span, body object, body iframe,
body h1, body h2, body h3, body h4, body h5, body h6, body p, body blockquote, body pre,
body abbr, body address, body cite, body code,
body del, body dfn, body em, body img, body ins, body kbd, body q, body samp,
body small, body strong, body sub, body sup, body var,
body b, body i,
body dl, body dt, body dd, body ol, body ul, body li,
body fieldset, body form, body label, body legend,
body table, body caption, body tbody, body tfoot, body thead, body tr, body th, body td,
body article, body aside, body canvas, body details, body figcaption, body figure,
body footer, body header, body hgroup, body menu, body nav, body section, body summary,
body time, body mark, body audio, body video, main div, main span, main object, main iframe,
main h1, main h2, main h3, main h4, main h5, main h6, main p, main blockquote, main pre,
main abbr, main address, main cite, main code,
main del, main dfn, main em, main img, main ins, main kbd, main q, main samp,
main small, main strong, main sub, main sup, main var,
main b, main i,
main dl, main dt, main dd, main ol, main ul, main li,
main fieldset, main form, main label, main legend,
main table, main caption, main tbody, main tfoot, main thead, main tr, main th, main td,
main article, main aside, main canvas, main details, main figcaption, main figure,
main footer, main header, main hgroup, main menu, main nav, main section, main summary,
main time, main mark, main audio, main video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}
html article, html aside, html details, html figcaption, html figure,
html footer, html header, html hgroup, html menu, html nav, html section, html main, body article, body aside, body details, body figcaption, body figure,
body footer, body header, body hgroup, body menu, body nav, body section, body main, main article, main aside, main details, main figcaption, main figure,
main footer, main header, main hgroup, main menu, main nav, main section, main main {
  display: block;
}
html nav ul, body nav ul, main nav ul {
  list-style: none;
}
html li, body li, main li {
  list-style: none;
}
html *, body *, main * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
html blockquote, html q, body blockquote, body q, main blockquote, main q {
  quotes: none;
}
html blockquote:before, html blockquote:after,
html q:before, html q:after, body blockquote:before, body blockquote:after,
body q:before, body q:after, main blockquote:before, main blockquote:after,
main q:before, main q:after {
  content: "";
  content: none;
}
html a, body a, main a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
html button, body button, main button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
html div, html p, html h1, html h2, html h3, html h4, html h5, html h6, html span, html a, html li, html strong, html i, html small, html address, html th, html td, html figcaption, html label, html dd, html dt, html textarea, html input, html select, body div, body p, body h1, body h2, body h3, body h4, body h5, body h6, body span, body a, body li, body strong, body i, body small, body address, body th, body td, body figcaption, body label, body dd, body dt, body textarea, body input, body select, main div, main p, main h1, main h2, main h3, main h4, main h5, main h6, main span, main a, main li, main strong, main i, main small, main address, main th, main td, main figcaption, main label, main dd, main dt, main textarea, main input, main select {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-decoration: inherit;
  color: inherit;
}
html img, body img, main img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 641px), print {
  .under_sp {
    display: none !important;
  }
}

@media screen and (max-width: 640px), print {
  .over_sp {
    display: none !important;
  }
}

@media screen and (min-width: 841px), print {
  .under_pad {
    display: none !important;
  }
}

@media screen and (max-width: 840px), print {
  .over_pad {
    display: none !important;
  }
}

@media screen and (min-width: 1181px), print {
  .under_pc {
    display: none !important;
  }
}

@media screen and (max-width: 1180px), print {
  .over_pc {
    display: none !important;
  }
}

.iblock {
  display: inline-block;
}

.Breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 80%;
  margin: auto;
}
.Breadcrumb div {
  width: auto;
}

html.wpadminbar {
  margin-top: 32px !important;
}
@media screen and (max-width: 840px), print {
  html.wpadminbar {
    margin-top: 46px !important;
  }
}
html.wpadminbar header,
html.wpadminbar header nav {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  html.wpadminbar header,
  html.wpadminbar header nav {
    top: 46px !important;
  }
}
@media screen and (max-width: 782px) {
  html.wpadminbar #wpadminbar {
    position: fixed;
  }
}

.Header {
  padding-top: 1%;
  width: 95%;
  max-width: 1100px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}
.Header * {
  font-size: 13px;
}
@media screen and (max-width: 840px), print {
  .Header {
    padding-top: 15px;
    width: 85%;
  }
}

.Logo {
  width: 140px;
}
@media screen and (max-width: 840px), print {
  .Logo {
    width: 110px;
  }
}

.Gnav {
  width: auto;
}
@media screen and (max-width: 840px), print {
  .Gnav {
    display: none;
  }
}
.Gnav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.Gnav ul li {
  width: auto;
  padding: 0 12px;
  border-right: 1px solid #333;
}
.Gnav ul li a {
  color: #333;
  font-size: 14px;
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.Gnav ul li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #9f7c52;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.Gnav ul li a:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.drawer-menu li {
  width: 90%;
  text-align: center;
  margin: 7% auto;
  border-bottom: solid 1px #9f7c52;
}
.drawer-menu li a {
  font-size: 18px;
  color: #9f7c52;
}

.Footer {
  width: 100%;
  background-color: #d4c3b0;
  height: 100px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 5%;
}
@media screen and (max-width: 840px), print {
  .Footer {
    height: 160px;
  }
}
.Footer_content {
  width: 90%;
  height: 100%;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 840px), print {
  .Footer_content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 840px), print {
  .Footer_logo {
    text-align: center;
    padding-top: 20px;
  }
}
.Footer_logo img {
  display: block;
  width: 150px;
}
.Footer_info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 840px), print {
  .Footer_info {
    display: block;
  }
}
.Footer_info * {
  font-size: 13px;
}
.Footer_info_sns {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 840px), print {
  .Footer_info_sns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: auto;
  }
}
@media screen and (max-width: 840px), print {
  .Footer_info_sns a {
    width: auto;
    height: 50px;
  }
}
.Footer_info_sns img {
  display: block;
  width: 50px;
}
.Footer_info_copy {
  position: relative;
  width: 300px;
}
@media screen and (max-width: 840px), print {
  .Footer_info_copy {
    margin: auto;
  }
}
.Footer_info_copy p {
  width: auto;
  text-align: right;
  line-height: 1;
}
@media screen and (max-width: 840px), print {
  .Footer_info_copy p {
    top: auto;
    text-align: center;
  }
}

main.Recruit .secttl {
  position: relative;
  text-align: center;
}
main.Recruit .secttl_en {
  display: block;
  opacity: 0.4;
  font-family: "Playfair Display", serif;
  font-size: 120px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #D4C3B0;
}
@media screen and (max-width: 1180px), print {
  main.Recruit .secttl_en {
    font-size: calc(44px + 76 * (100vw - 640px) / 384);
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .secttl_en {
    font-size: 44px;
  }
}
main.Recruit .secttl_jp {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  bottom: auto;
  left: 0;
  margin: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1180px), print {
  main.Recruit .secttl_jp {
    font-size: calc(12px + 3 * (100vw - 640px) / 384);
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .secttl_jp {
    font-size: 12px;
  }
}
main.Recruit .pagehead:before {
  z-index: 0;
  opacity: 0.5;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  margin: auto;
  width: 100%;
  height: 360px;
  background-color: #D4C3B0;
}
@media screen and (max-width: 840px), print {
  main.Recruit .pagehead:before {
    height: 200px;
  }
}
main.Recruit .pagehead_ttl {
  position: relative;
  width: 90%;
  max-width: 1000px;
  margin: auto;
  padding: 280px 0 160px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .pagehead_ttl {
    padding: 146px 0 130px;
  }
}
main.Recruit .pagehead_ttl_jp {
  padding-bottom: 1.86em;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 840px), print {
  main.Recruit .pagehead_ttl_jp {
    padding-bottom: 8px;
  }
}
main.Recruit .pagehead_ttl_en {
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: 80px;
  letter-spacing: 0.12em;
  line-height: 1;
}
@media screen and (max-width: 1180px), print {
  main.Recruit .pagehead_ttl_en {
    font-size: calc(60px + 20 * (100vw - 640px) / 384);
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .pagehead_ttl_en {
    font-size: 60px;
  }
}
@media screen and (max-width: 374px), print {
  main.Recruit .pagehead_ttl_en {
    font-size: 14vw;
  }
}
main.Recruit .msg_wrap {
  position: relative;
  padding-bottom: 194px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .msg_wrap {
    padding-bottom: 60px;
  }
}
main.Recruit .msg_ttl {
  z-index: 0;
  opacity: 0.4;
  position: absolute;
  top: auto;
  right: 0;
  bottom: -16px;
  left: auto;
  margin: auto;
  text-align: right;
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: 150px;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #D4C3B0;
}
@media screen and (max-width: 1180px), print {
  main.Recruit .msg_ttl {
    font-size: calc(72px + 78 * (100vw - 640px) / 384);
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .msg_ttl {
    font-size: 72px;
  }
}
@media screen and (max-width: 840px), print {
  main.Recruit .msg_ttl {
    bottom: calc(100% - 0.125em);
  }
}
@media screen and (max-width: 374px), print {
  main.Recruit .msg_ttl {
    font-size: 16vw;
  }
}
main.Recruit .msg_cont {
  width: 90%;
  max-width: 1000px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 40px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .msg_cont {
    max-width: 520px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 50px;
  }
}
main.Recruit .msg_cont_img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 36%;
          flex: 0 0 36%;
}
@media screen and (max-width: 840px), print {
  main.Recruit .msg_cont_img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 90%;
            flex: 0 0 90%;
  }
}
main.Recruit .msg_cont_img_box {
  position: relative;
  display: block;
}
main.Recruit .msg_cont_img_box img {
  display: block;
}
main.Recruit .msg_cont_img_box::after {
  content: "";
  position: absolute;
  top: auto;
  right: -30px;
  bottom: -62px;
  left: auto;
  margin: auto;
  display: block;
  width: 141px;
  aspect-ratio: 141/110;
  margin-left: auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../../works/img/Top-concept.png);
}
@media screen and (max-width: 840px), print {
  main.Recruit .msg_cont_img_box::after {
    right: -10.8%;
    bottom: -30px;
    width: 31.4%;
  }
}
main.Recruit .msg_cont_txt {
  max-width: 500px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .msg_cont_txt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
main.Recruit .msg_cont_txt_ttl {
  padding-bottom: 40px;
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1180px), print {
  main.Recruit .msg_cont_txt_ttl {
    font-size: calc(14px + 4 * (100vw - 640px) / 384);
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .msg_cont_txt_ttl {
    font-size: 14px;
  }
}
@media screen and (max-width: 840px), print {
  main.Recruit .msg_cont_txt_ttl {
    padding-bottom: 20px;
  }
}
main.Recruit .msg_cont_txt_desc {
  font-weight: 700;
}
main.Recruit .msg_imgs {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main.Recruit .msg_imgs_box,
main.Recruit .msg_imgs img {
  display: block;
}
main.Recruit .style {
  position: relative;
  padding: 120px 0;
}
@media screen and (max-width: 840px), print {
  main.Recruit .style {
    padding: 60px 0;
  }
}
main.Recruit .style::after {
  content: "";
  position: absolute;
  top: auto;
  right: 5%;
  bottom: -36px;
  left: auto;
  margin: auto;
  display: block;
  width: 151px;
  aspect-ratio: 151/161;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../../works/img/illust_mirror.png");
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
@media screen and (max-width: 840px), print {
  main.Recruit .style::after {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .style::after {
    bottom: -44px;
    -webkit-transform: scale(0.55);
            transform: scale(0.55);
  }
}
main.Recruit .style_list {
  counter-reset: number 0;
  width: 90%;
  max-width: 1000px;
  margin: auto;
  max-width: 720px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .style_list {
    max-width: 480px;
  }
}
main.Recruit .style_list_item {
  counter-increment: number 1;
  padding-top: 40px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .style_list_item {
    padding-top: 20px;
  }
}
main.Recruit .style_list_item_ttl {
  z-index: 0;
  position: relative;
  padding-left: 116px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .style_list_item_ttl {
    padding-left: 80px;
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .style_list_item_ttl {
    padding-left: 56px;
  }
}
main.Recruit .style_list_item_ttl .num {
  z-index: -1;
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  margin: auto;
  display: block;
  width: 105px;
  height: 1em;
  text-align: right;
  white-space: nowrap;
  font-family: "Playfair Display", serif;
  font-size: 60px;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(191, 164, 117, 0.4);
  -webkit-transform-origin: top left;
          transform-origin: top left;
}
@media screen and (max-width: 840px), print {
  main.Recruit .style_list_item_ttl .num {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .style_list_item_ttl .num {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
}
main.Recruit .style_list_item_ttl .num::after {
  content: "";
  position: absolute;
  top: auto;
  right: -23px;
  bottom: -25px;
  left: auto;
  margin: auto;
  display: block;
  width: 58px;
  aspect-ratio: 1;
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../../works/img/Recruit-style_slash.svg");
}
main.Recruit .style_list_item_ttl .txt {
  z-index: 1;
  position: relative;
  display: block;
  padding-top: 50px;
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1180px), print {
  main.Recruit .style_list_item_ttl .txt {
    font-size: calc(14px + 4 * (100vw - 640px) / 384);
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .style_list_item_ttl .txt {
    font-size: 14px;
  }
}
@media screen and (max-width: 840px), print {
  main.Recruit .style_list_item_ttl .txt {
    padding-top: 40px;
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .style_list_item_ttl .txt {
    padding-top: 20px;
  }
}
main.Recruit .style_list_item_desc {
  padding-top: 20px;
  padding-left: 116px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .style_list_item_desc {
    padding-top: 12px;
    padding-left: 80px;
  }
}
@media screen and (max-width: 640px), print {
  main.Recruit .style_list_item_desc {
    padding-top: 8px;
    padding-left: 56px;
  }
}
main.Recruit .req {
  overflow: hidden;
  padding: 120px 0 80px;
  background-color: rgba(191, 164, 117, 0.1);
}
@media screen and (max-width: 840px), print {
  main.Recruit .req {
    padding: 60px 0;
  }
}
main.Recruit .req_cont {
  width: 90%;
  max-width: 740px;
  margin: auto;
  padding-top: 60px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .req_cont {
    padding-top: 20px;
  }
}
main.Recruit .req_cont_tbl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  padding: 20px 0;
  border-bottom: #BFA475 1px solid;
}
@media screen and (max-width: 640px), print {
  main.Recruit .req_cont_tbl {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    padding: 16px 0;
  }
}
main.Recruit .req_cont_tbl_ttl {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 30%;
          flex: 0 0 30%;
  max-width: 220px;
  font-weight: 700;
}
@media screen and (max-width: 640px), print {
  main.Recruit .req_cont_tbl_ttl {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
main.Recruit .req_cont_tbl_desc {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
@media screen and (max-width: 640px), print {
  main.Recruit .req_cont_tbl_desc {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
main.Recruit .req_cont_tbl_desc a {
  text-decoration: underline;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main.Recruit .req_cont_tbl_desc a:hover {
  opacity: 0.7;
}
main.Recruit .entry {
  padding: 120px 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../../works/img/Recruit-entry_bg.jpg");
}
@media screen and (max-width: 840px), print {
  main.Recruit .entry {
    padding: 60px 0;
  }
}
main.Recruit .entry_wrap {
  width: 90%;
  max-width: 1000px;
  margin: auto;
  padding: 60px 0 100px;
  background-color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 840px), print {
  main.Recruit .entry_wrap {
    padding: 28px 0 40px;
  }
}
main.Recruit .entry_btns {
  padding-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 20px;
}
@media screen and (max-width: 840px), print {
  main.Recruit .entry_btns {
    width: 90%;
    margin: 0 auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 28px;
  }
}
main.Recruit .entry_btns .recbtn {
  position: relative;
  display: block;
  height: 60px;
  width: 100%;
  max-width: 320px;
  text-align: center;
  line-height: 58px;
  font-weight: 700;
  border: 1px solid #BFA475;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 840px), print {
  main.Recruit .entry_btns .recbtn {
    height: 50px;
    line-height: 48px;
  }
}
main.Recruit .entry_btns .recbtn::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1px solid #BFA475;
  border-right: 1px solid #BFA475;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  left: auto;
  margin: auto;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
main.Recruit .entry_btns .recbtn:hover {
  background-color: rgba(212, 195, 176, 0.4);
}

.Footer {
  margin-top: 0 !important;
}/*# sourceMappingURL=recruit.css.map */