@charset "UTF-8";
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
/* line 6, app/assets/stylesheets/home/base/reset.css */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* line 12, app/assets/stylesheets/home/base/reset.css */
* {
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  /* line 17, app/assets/stylesheets/home/base/reset.css */
  html {
    interpolate-size: allow-keywords;
  }
}

/* line 22, app/assets/stylesheets/home/base/reset.css */
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* line 27, app/assets/stylesheets/home/base/reset.css */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

/* line 36, app/assets/stylesheets/home/base/reset.css */
input,
button,
textarea,
select {
  font: inherit;
}

/* line 43, app/assets/stylesheets/home/base/reset.css */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

/* line 53, app/assets/stylesheets/home/base/reset.css */
p {
  text-wrap: pretty;
}

/* h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance
} */
/* line 66, app/assets/stylesheets/home/base/reset.css */
#root,
#__next {
  isolation: isolate;
}

/* 追加 */
/* line 73, app/assets/stylesheets/home/base/reset.css */
a {
  text-decoration: none;
}

/* line 77, app/assets/stylesheets/home/base/reset.css */
ol,
ul,
menu,
summary {
  list-style: none;
}

/* line 84, app/assets/stylesheets/home/base/reset.css */
ol, ul {
  padding: 0;
}

/* iphoneの場合inputボタンにデフォルトスタイルが適用される not button */
/* input[type="submit"],
input[type="button"],
input[type="reset"] {
  -webkit-appearance: none;
  border-radius: 0;
}

@media (max-width: 768px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
} */
/* line 1, app/assets/stylesheets/home/base/variables.css */
:root {
  --font-size-base: 16px;
  --font-size-base-mobile: 3.2vw;
  --main-inner-width: 1000px;
  --main-inner-box-width: 810px;
  --sidebar-width: 290px;
  --color-gray-100: #f8f8f8;
  --color-gray-200: #eee;
  --color-gray-400: #bbb;
  --color-gray-600: #555;
  --color-blue-100: #dff8ff;
  --color-blue-200: #8bd3e9;
  /* --color-blue-300: #009fd0; */
  --color-blue-400: #019fcf;
  --color-blue-500: #1289ae;
  /* #1198c2 */
  /* #019fcf */
  --color-blue-600: #265fac;
  --color-red-400: #ff6969;
  --color-red-600: #dc4846;
  --color-yellow-100: #fffde4;
  /* --color-orange-400: #fea02b; */
  --color-orange-400: #F79923;
  --color-text: #111;
  --color-light-blue: var(--color-blue-400);
  --color-dark-blue: var(--color-blue-600);
  --color-light-red: var(--color-red-400);
  --color-light-yellow: var(--color-yellow-100);
  --primary-color: var(--color-blue-600);
  --primary-text-color: var(--color-blue-600);
  --secondary-color: var(--color-red-400);
  --secondary-text-color: var(--color-red-400);
  --secondary-shadow-color: var(--color-red-600);
  /* @custom-media --small-viewport (max-width: 768px); */
  /* https: //caniuse.com/?search=custom-media */
  --sp-section-margin: 3vw;
}

/* line 2, app/assets/stylesheets/home/base/general.scss */
html {
  font-size: var(--font-size-base);
  font-family: arial, sans-serif;
  color: var(--color-text);
}

/* line 15, app/assets/stylesheets/home/base/general.scss */
.field_with_errors {
  display: contents;
}

@media (max-width: 768px) {
  /* line 20, app/assets/stylesheets/home/base/general.scss */
  html {
    font-size: var(--font-size-base-mobile);
  }
}

/* line 27, app/assets/stylesheets/home/base/general.scss */
body.part-time {
  --primary-color: var(--color-light-blue);
  --primary-text-color: var(--color-blue-500);
}

/* line 31, app/assets/stylesheets/home/base/general.scss */
body.spot {
  --primary-color: var(--color-orange-400);
  --primary-text-color: var(--color-gray-600);
}

/* line 39, app/assets/stylesheets/home/base/general.scss */
body.home {
  --primary-color: var(--color-light-blue);
  --primary-text-color: var(--color-blue-500);
}

/* line 2, app/assets/stylesheets/home/base/modal.scss */
:root {
  scrollbar-gutter: stable;
}

/* line 7, app/assets/stylesheets/home/base/modal.scss */
:root:has(:modal) {
  overflow: hidden;
}

/* line 3, app/assets/stylesheets/home/layouts/footer.scss */
#footer > .link-list {
  background-color: var(--color-dark-blue);
  font-size: 95%;
}

/* line 7, app/assets/stylesheets/home/layouts/footer.scss */
#footer > .link-list > .inner {
  max-width: var(--main-inner-width);
  margin: auto;
  display: flex;
  justify-content: space-between;
  padding: 2rem 0 6.5rem;
}

/* line 14, app/assets/stylesheets/home/layouts/footer.scss */
#footer > .link-list > .inner > .list > .item {
  color: #ddd;
  line-height: 1.8;
}

/* line 17, app/assets/stylesheets/home/layouts/footer.scss */
#footer > .link-list > .inner > .list > .item.offset {
  margin-bottom: 1rem;
}

/* line 20, app/assets/stylesheets/home/layouts/footer.scss */
#footer > .link-list > .inner > .list > .item > a {
  color: #fff;
}

/* line 22, app/assets/stylesheets/home/layouts/footer.scss */
#footer > .link-list > .inner > .list > .item > a:hover {
  text-decoration: underline;
}

/* line 31, app/assets/stylesheets/home/layouts/footer.scss */
#footer > .foot {
  text-align: center;
  padding: 0.8rem;
}

/* line 35, app/assets/stylesheets/home/layouts/footer.scss */
#footer > .foot > .copyright {
  font-size: 85%;
  color: #888888;
}

@media (max-width: 768px) {
  /* line 48, app/assets/stylesheets/home/layouts/footer.scss */
  #footer {
    min-width: auto;
  }
  /* line 51, app/assets/stylesheets/home/layouts/footer.scss */
  #footer > .link-list > .inner {
    max-width: -moz-max-content;
    max-width: max-content;
    flex-wrap: wrap;
    padding: 2.5rem 5%;
  }
  /* line 55, app/assets/stylesheets/home/layouts/footer.scss */
  #footer > .link-list > .inner > .list {
    width: 50%;
    margin-bottom: 1rem;
  }
  /* line 58, app/assets/stylesheets/home/layouts/footer.scss */
  #footer > .link-list > .inner > .list:nth-child(odd) {
    box-sizing: border-box;
    padding-right: 0.5rem;
  }
  /* line 65, app/assets/stylesheets/home/layouts/footer.scss */
  #footer > .foot {
    font-size: 65%;
  }
}

/* line 2, app/assets/stylesheets/home/layouts/header.scss */
#header > .copy-area {
  background-color: var(--color-blue-100);
}

/* line 4, app/assets/stylesheets/home/layouts/header.scss */
#header > .copy-area > .copy {
  max-width: var(--main-inner-width);
  margin: auto;
  padding: 0.1rem 0;
  font-size: 0.8rem;
  font-weight: normal;
  color: #808080;
}

/* line 13, app/assets/stylesheets/home/layouts/header.scss */
#header > .main {
  max-width: var(--main-inner-width);
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 20, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .logo-link > .logo-image {
  width: 220px;
}

/* line 25, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .pc-links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  line-height: 1;
  margin: 0.5rem 0;
}

/* line 34, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .pc-links .login-link {
  display: inline-block;
  padding: 0.4rem 0.25rem;
  font-size: 0.75rem;
  color: #fff;
  border-radius: 5px;
  text-align: center;
  grid-row: 1;
  grid-column: span 2;
  margin-bottom: 0.25rem;
}

/* line 44, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .pc-links .login-link.red {
  background-color: var(--secondary-color);
  margin-right: 0.3rem;
}

/* line 48, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .pc-links .login-link.blue {
  background-color: var(--primary-color);
  margin-left: 0.3rem;
}

/* line 53, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .pc-links .freedial {
  width: 55px;
  grid-column: 1;
  grid-row: 2 / 4;
  align-self: end;
  margin-right: 0.25rem;
}

/* line 60, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .pc-links .tel-number {
  display: inline-block;
  font-size: 165%;
  letter-spacing: 1px;
  color: var(--secondary-text-color);
  grid-column: 2 / 5;
  grid-row: 2;
  justify-self: center;
}

/* line 69, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .pc-links .opening-hours {
  display: inline-block;
  font-size: 0.65rem;
  font-style: normal;
  grid-column: 2 / 5;
  grid-row: 3;
  justify-self: center;
}

/* line 79, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu {
  display: none;
}

/* line 81, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item {
  border-left: 1px solid #a4a4a4;
}

/* line 83, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item:last-child {
  border: none;
}

/* line 86, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > .link {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 14vw;
  justify-content: end;
  align-items: center;
}

/* line 94, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > #sp-menu-open-btn.link {
  background-color: var(--primary-color);
}

/* line 96, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > #sp-menu-open-btn.link > .text {
  color: #fff;
}

/* line 100, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > .link > .icon {
  width: 5.5vw;
}

/* line 103, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > .link > .text {
  display: inline-block;
  margin: 2.5vw 0.5vw 1vw;
  font-size: 2vw;
  color: var(--primary-text-color);
  line-height: 1;
}

/* line 110, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > .link > .hamburger {
  position: relative;
  width: 100%;
  height: 4.5vw;
  margin-bottom: 0.5vw;
}

/* line 115, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > .link > .hamburger > .bar {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 45%;
  height: 1vw;
  background: #fff;
}

/* line 125, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > .link > .hamburger > .bar:nth-child(1) {
  top: 0%;
}

/* line 128, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > .link > .hamburger > .bar:nth-child(2) {
  top: 50%;
}

/* line 131, app/assets/stylesheets/home/layouts/header.scss */
#header > .main > .sp-header-menu > .item > .link > .hamburger > .bar:nth-child(3) {
  top: 100%;
}

/* line 141, app/assets/stylesheets/home/layouts/header.scss */
#header > .header-menu {
  background-color: var(--primary-color);
}

/* line 143, app/assets/stylesheets/home/layouts/header.scss */
#header > .header-menu > .list {
  max-width: var(--main-inner-width);
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 149, app/assets/stylesheets/home/layouts/header.scss */
#header > .header-menu > .list > .item {
  flex-grow: 1;
}

/* line 152, app/assets/stylesheets/home/layouts/header.scss */
#header > .header-menu > .list > .item:first-child > .link {
  border-left: 1px solid rgba(255, 255, 255, 0.6);
}

/* line 155, app/assets/stylesheets/home/layouts/header.scss */
#header > .header-menu > .list > .item > .link {
  display: block;
  width: 100%;
  text-align: center;
  padding: 1rem 0.25rem;
  color: #fff;
  border-right: 1px solid rgba(255, 255, 255, 0.6);
  transition: .3s;
}

/* line 183, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu-bg {
  display: none;
  z-index: 950;
  position: fixed;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  transition-property: opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

/* line 198, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  width: 75%;
  z-index: 1000;
  background-color: #fff;
  transform: translateX(100%);
  transition: .3s;
  overflow: auto;
}

/* line 212, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu.open {
  transform: translateX(0);
}

/* line 215, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #a4a4a4;
  height: 13vw;
}

/* line 221, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .header > .title {
  font-size: 4vw;
  color: var(--primary-text-color);
  font-weight: bold;
  margin-left: 3.5vw;
}

/* line 227, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .header > #sp-menu-close-btn {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 14vw;
  justify-content: end;
  align-items: center;
  background-color: var(--primary-color);
}

/* line 235, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .header > #sp-menu-close-btn > .text {
  color: #fff;
  font-size: 2vw;
  margin-bottom: 1vw;
}

/* line 240, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .header > #sp-menu-close-btn > .hamburger {
  position: relative;
  width: 100%;
  height: 4.5vw;
  margin-bottom: 2vw;
}

/* line 245, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .header > #sp-menu-close-btn > .hamburger > .bar {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 45%;
  height: 1vw;
  background: #fff;
  border-radius: 5px;
}

/* line 255, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .header > #sp-menu-close-btn > .hamburger > .bar:nth-child(1) {
  top: 50%;
  transform: rotate(45deg);
}

/* line 259, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .header > #sp-menu-close-btn > .hamburger > .bar:nth-child(2) {
  top: 50%;
  transform: rotate(135deg);
}

/* line 268, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .introduction-link {
  border-bottom: 1px solid #a4a4a4;
}

/* line 270, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .introduction-link > .text {
  padding: 3vw 1.5vw;
  text-align: center;
  font-size: 95%;
}

/* line 275, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .introduction-link > .link {
  aspect-ratio: 1 / 0.23;
  display: block;
  width: 90%;
  margin: 0 auto 3.5vw;
  border-radius: 38px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-image: url(/assets/home/cvbtn-menu-off-c00c98bce650e1f1d3e438766eef947a48b193fc597eda583ee12bc6effd0aca.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
}

/* line 288, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .introduction-link > .link:hover {
  background-image: url(/assets/home/cvbtn-menu-on-5a131af9d50dfbf140624d3133b6fd5f0d2672b3788fcd413e4a40878aeb10c5.png);
}

/* line 296, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .menu-list > .item > .link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 3.5vw;
  min-height: 15vw;
  border-bottom: 1px solid #a4a4a4;
  font-size: 3.5vw;
  color: var(--color-text);
}

/* line 305, app/assets/stylesheets/home/layouts/header.scss */
#sp-menu > .menu-list > .item > .link:after {
  display: inline-block;
  content: '';
  width: 3vw;
  height: 3vw;
  background-image: url(/assets/home/right-arrow-sp-7c60e16bd635d0903b4c5206bbd960193dab6e438c18ff8c5591ba7854daad6d.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

@media (max-width: 768px) {
  /* line 321, app/assets/stylesheets/home/layouts/header.scss */
  #header {
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
  }
  /* line 323, app/assets/stylesheets/home/layouts/header.scss */
  #header > .copy-area {
    display: none;
  }
  /* line 326, app/assets/stylesheets/home/layouts/header.scss */
  #header > .main {
    align-items: stretch;
    height: 13vw;
  }
  /* line 330, app/assets/stylesheets/home/layouts/header.scss */
  #header > .main > .logo-link {
    width: 35vw;
    align-self: center;
    margin-left: 2.5vw;
  }
  /* line 335, app/assets/stylesheets/home/layouts/header.scss */
  #header > .main > .logo-link > .logo-image {
    width: 100%;
  }
  /* line 339, app/assets/stylesheets/home/layouts/header.scss */
  #header > .main > .pc-links {
    display: none;
  }
  /* line 342, app/assets/stylesheets/home/layouts/header.scss */
  #header > .main > .sp-header-menu {
    display: flex;
  }
  /* line 346, app/assets/stylesheets/home/layouts/header.scss */
  #header > .header-menu {
    display: none;
  }
}

/* line 1, app/assets/stylesheets/home/layouts/offers.scss */
#offer-container {
  overflow: hidden;
}

/* line 5, app/assets/stylesheets/home/layouts/offers.scss */
#main-container {
  max-width: var(--main-inner-width);
  margin: 0 auto 3rem;
  display: flex;
  gap: 1.5rem;
}

/* line 10, app/assets/stylesheets/home/layouts/offers.scss */
#main-container > #main {
  flex-grow: 1;
  margin-top: 1rem;
  max-width: calc(var(--main-inner-width) - var(--sidebar-width) - 1rem);
}

/* line 17, app/assets/stylesheets/home/layouts/offers.scss */
#main-container > #sidebar {
  flex-basis: var(--sidebar-width);
  flex-shrink: 0;
}

@media (max-width: 768px) {
  /* line 25, app/assets/stylesheets/home/layouts/offers.scss */
  #main-container {
    flex-direction: column;
    gap: 1.5rem;
  }
  /* line 28, app/assets/stylesheets/home/layouts/offers.scss */
  #main-container > #main {
    width: 100%;
  }
  /* line 32, app/assets/stylesheets/home/layouts/offers.scss */
  #main-container > #sidebar {
    flex-basis: 100%;
    padding: 0 var(--sp-section-margin);
  }
}

/* line 1, app/assets/stylesheets/home/components/breadcrumb.scss */
#breadcrumbs {
  max-width: var(--main-inner-width);
  margin: 1rem auto 0.5rem;
  font-size: 95%;
  white-space: nowrap;
  overflow: auto;
  scrollbar-width: none;
}

/* line 8, app/assets/stylesheets/home/components/breadcrumb.scss */
#breadcrumbs > li {
  display: inline-block;
  padding: 0 0.5rem;
}

/* line 12, app/assets/stylesheets/home/components/breadcrumb.scss */
#breadcrumbs > li:first-child {
  padding-left: 0;
}

/* line 16, app/assets/stylesheets/home/components/breadcrumb.scss */
#breadcrumbs > li > a {
  color: var(--text-color);
  text-decoration: underline;
}

/* line 19, app/assets/stylesheets/home/components/breadcrumb.scss */
#breadcrumbs > li > a:hover {
  text-decoration: none;
}

@media (max-width: 768px) {
  /* line 27, app/assets/stylesheets/home/components/breadcrumb.scss */
  #breadcrumbs {
    margin: 1rem var(--sp-section-margin) 0.5rem;
  }
  /* line 31, app/assets/stylesheets/home/components/breadcrumb.scss */
  #breadcrumbs > li {
    padding: 0 1.5%;
  }
}

/* line 1, app/assets/stylesheets/home/components/checkbox.scss */
.checkbox {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(/assets/icons/checkbox-unchecked-66aeab68166b795ef625b7aba07c9cd0c3e1ddd48522f6b0ee5b59c340359633.png);
}

/* line 13, app/assets/stylesheets/home/components/checkbox.scss */
.checkbox:checked {
  background-image: url(/assets/icons/checkbox-checked-42391831718300c966c7ca163d35b1e741184913cd951714c2b0ba2cdb182013.png);
}

/* line 16, app/assets/stylesheets/home/components/checkbox.scss */
.checkbox:hover {
  cursor: pointer;
}

/* line 21, app/assets/stylesheets/home/components/checkbox.scss */
.checkbox-wrapper {
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin-right: 1rem;
}

/* line 25, app/assets/stylesheets/home/components/checkbox.scss */
.checkbox-wrapper:hover {
  cursor: pointer;
}

/* line 30, app/assets/stylesheets/home/components/checkbox.scss */
.checkbox-text {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.25rem;
}

/* line 1, app/assets/stylesheets/home/components/radio.scss */
.radio {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  vertical-align: middle;
}

/* line 16, app/assets/stylesheets/home/components/radio.scss */
.radio:hover {
  cursor: pointer;
}

/* line 21, app/assets/stylesheets/home/components/radio.scss */
.radio-wrapper {
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin-right: 1rem;
}

/* line 26, app/assets/stylesheets/home/components/radio.scss */
.radio-wrapper:hover {
  cursor: pointer;
}

/* line 31, app/assets/stylesheets/home/components/radio.scss */
.radio-text {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.25rem;
}

/* line 3, app/assets/stylesheets/home/components/search-content-tab.scss */
.search-content-warper > .search-content-tabs {
  display: flex;
  gap: 1rem;
  margin: 0 1rem;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid var(--primary-color);
}

/* line 9, app/assets/stylesheets/home/components/search-content-tab.scss */
.search-content-warper > .search-content-tabs > .tab {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-gray-200);
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
  border-width: 2px;
  border-style: solid;
  border-color: var(--color-gray-400);
  border-bottom: none;
  padding: 0.8rem 0.5rem;
}

/* line 24, app/assets/stylesheets/home/components/search-content-tab.scss */
.search-content-warper > .search-content-tabs > .tab:hover {
  cursor: pointer;
}

/* line 28, app/assets/stylesheets/home/components/search-content-tab.scss */
.search-content-warper > .search-content-tabs > .tab.active {
  background-color: #fff;
  color: var(--primary-text-color);
  border-color: var(--primary-color);
  margin-bottom: -2px;
  font-weight: bold;
  border-bottom: 2px solid transparent;
}

/* line 39, app/assets/stylesheets/home/components/search-content-tab.scss */
.search-content-warper > .search-content {
  display: none;
  margin: 0 1rem;
}

/* line 42, app/assets/stylesheets/home/components/search-content-tab.scss */
.search-content-warper > .search-content.active {
  display: block;
}

@media (max-width: 768px) {
  /* line 50, app/assets/stylesheets/home/components/search-content-tab.scss */
  .search-content-warper > .search-content-tabs {
    margin: 0 3vw;
    gap: 2.5vw;
  }
  /* line 53, app/assets/stylesheets/home/components/search-content-tab.scss */
  .search-content-warper > .search-content-tabs > .tab {
    font-size: 2.7vw;
  }
  /* line 57, app/assets/stylesheets/home/components/search-content-tab.scss */
  .search-content-warper > .search-content {
    margin: 0 3vw;
  }
}

/* line 1, app/assets/stylesheets/home/components/search_links.scss */
#search-links-section-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 3rem;
}

/* line 9, app/assets/stylesheets/home/components/search_links.scss */
#keyword-and-area-search-links .search-content-tabs > .tab {
  width: 30%;
}

/* line 11, app/assets/stylesheets/home/components/search_links.scss */
#keyword-and-area-search-links .search-content-tabs > .tab svg {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0.5rem;
  color: #999;
}

/* line 22, app/assets/stylesheets/home/components/search_links.scss */
#keyword-and-area-search-links .search-content-tabs > .tab.active svg {
  color: var(--primary-color);
}

/* line 30, app/assets/stylesheets/home/components/search_links.scss */
#other-condition-search-links .search-content-tabs > .tab {
  width: 15%;
}

/* line 38, app/assets/stylesheets/home/components/search_links.scss */
.search-links-section {
  max-width: var(--main-inner-width);
  margin: 0 auto;
  width: 100%;
}

/* line 44, app/assets/stylesheets/home/components/search_links.scss */
.search-links-section > .search-content > .list-title {
  margin-bottom: 0.5rem;
  color: var(--color-gray-600);
}

/* line 48, app/assets/stylesheets/home/components/search_links.scss */
.search-links-section > .search-content > .search-links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 55, app/assets/stylesheets/home/components/search_links.scss */
.search-links-section > .search-content > .search-links > .item > .link {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 3px;
  border: 1px solid var(--color-gray-600);
  color: var(--color-gray-600);
}

/* line 64, app/assets/stylesheets/home/components/search_links.scss */
.search-links-section > .search-content > .list-title + .search-links {
  margin-bottom: 1.5rem;
}

/* line 66, app/assets/stylesheets/home/components/search_links.scss */
.search-links-section > .search-content > .list-title + .search-links:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  /* line 75, app/assets/stylesheets/home/components/search_links.scss */
  .search-links-section > .search-content {
    padding-top: 3vw;
  }
  /* line 81, app/assets/stylesheets/home/components/search_links.scss */
  #keyword-and-area-search-links .search-content-tabs > .tab {
    width: 50%;
  }
  /* line 87, app/assets/stylesheets/home/components/search_links.scss */
  #other-condition-search-links .search-content-tabs > .tab {
    width: 25%;
  }
  /* line 89, app/assets/stylesheets/home/components/search_links.scss */
  #other-condition-search-links .search-content-tabs > .tab[data-content="other-condition"] {
    display: none;
  }
}

/* line 17, app/assets/stylesheets/home/components/select.scss */
.select {
  position: relative;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 0.85rem;
  border-radius: 0.3rem;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 3px solid var(--color-blue-200);
  background-color: #fff;
  font-size: 100%;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
  width: 100%;
  background-image: url(/assets/icons/inverted-triangle-blue-fe9d0ed39464e957695882e2b66c697d2e707a2ae688ecb77ca5abadb38d0b87.svg);
  background-repeat: no-repeat;
  background-size: 0.8rem auto;
  background-position: right 0.8rem center;
}

/* line 41, app/assets/stylesheets/home/components/select.scss */
.select:has(option[value=""]:checked) {
  color: var(--color-gray-400);
}

/* line 44, app/assets/stylesheets/home/components/select.scss */
.select option {
  color: var(--color-text);
}

/* line 1, app/assets/stylesheets/home/components/to_top_btn.scss */
#to_top_btn {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  visibility: hidden;
  opacity: 0;
  display: inline-block;
  position: fixed;
  bottom: 2.5rem;
  right: 5rem;
  padding: 1rem;
  line-height: 1;
  background-color: var(--primary-color);
  border-radius: 50%;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3);
  transition: 0.3s;
  z-index: 500;
}

/* line 16, app/assets/stylesheets/home/components/to_top_btn.scss */
#to_top_btn:after {
  display: block;
  content: '';
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(/assets/icons/chevron-top-552236ae852c221c31e0d310ef379e9d46d98f0f1550a0e73c3bb89a623ca4e0.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 40%;
}

/* line 26, app/assets/stylesheets/home/components/to_top_btn.scss */
#to_top_btn:hover {
  cursor: pointer;
  text-decoration: none;
  transform: scale(1.2);
}

/* line 31, app/assets/stylesheets/home/components/to_top_btn.scss */
#to_top_btn.active {
  visibility: visible;
  opacity: 1;
}

@media (max-width: 767px) {
  /* line 38, app/assets/stylesheets/home/components/to_top_btn.scss */
  #to_top_btn {
    right: 1.5rem;
    bottom: 1.5rem;
    padding: 0.8rem;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/flow.scss */
#flow {
  margin-bottom: 3rem;
}

/* line 3, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list {
  max-width: var(--main-inner-width);
  margin: 0 auto 1.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-bottom: 3rem;
}

/* line 10, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item {
  position: relative;
  background-color: var(--color-gray-100);
  padding: 1.5rem 1rem;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

/* line 16, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item:before, #flow > .list > .item:after {
  content: "";
  position: absolute;
  display: block;
  top: calc(50% - 0.15625rem);
  right: -1.7rem;
  width: 0.9375rem;
  height: 0.3125rem;
  background-color: var(--primary-color);
  transform-origin: calc(100% - 0.15625rem) 50%;
  transform: rotate(45deg);
}

/* line 29, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item:before {
  transform: rotate(45deg);
}

/* line 32, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item:after {
  transform: rotate(-45deg);
}

/* line 36, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item:nth-child(3n):before, #flow > .list > .item:nth-child(3n):after {
  display: none;
}

/* line 41, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item > .image {
  width: 80%;
  aspect-ratio: 1 / 0.7;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0 auto 1rem;
  border-radius: 10px;
}

/* line 48, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item > .title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 90%;
  margin-bottom: 1rem;
}

/* line 54, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item > .title > .step {
  background-color: var(--primary-color);
  font-size: 90%;
  color: #fff;
  font-weight: normal;
  padding: 0.125rem 0.25rem;
  border-radius: 3px;
}

/* line 62, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item > .title > .text {
  flex-shrink: 0;
}

/* line 66, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .list > .item > .text {
  font-size: 85%;
}

/* line 71, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .link {
  display: flex;
  align-items: center;
  padding: 0.25rem 0;
  padding-right: 2rem;
  padding-left: 0.25rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  background-color: var(--secondary-color);
  color: #fff;
  border-radius: 100px;
  font-size: 1rem;
  box-shadow: 0 5px 0 #dc4846;
}

/* line 84, app/assets/stylesheets/home/components/home/flow.scss */
#flow > .link > .circle {
  margin-right: 1rem;
  width: 3.1rem;
  height: 3.1rem;
  background-color: #fff;
  border-radius: 50%;
  color: var(--secondary-color);
  font-size: 75%;
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  /* line 105, app/assets/stylesheets/home/components/home/flow.scss */
  #flow > .list {
    margin: 0;
    padding: 0 3vw 6vw;
    grid-template-columns: repeat(6, 55vw);
    overflow-x: auto;
    scrollbar-width: none;
    align-items: center;
  }
  /* line 119, app/assets/stylesheets/home/components/home/flow.scss */
  #flow > .list > .item {
    padding: 1rem 0.65rem;
  }
  /* line 123, app/assets/stylesheets/home/components/home/flow.scss */
  #flow > .list > .item > .title > .text {
    font-size: 2.8vw;
  }
  /* line 129, app/assets/stylesheets/home/components/home/flow.scss */
  #flow > .list > .item:nth-child(3):before, #flow > .list > .item:nth-child(3):after {
    display: block;
  }
  /* line 134, app/assets/stylesheets/home/components/home/flow.scss */
  #flow > .list > .item > .text {
    font-size: 3.3vw;
  }
  /* line 139, app/assets/stylesheets/home/components/home/flow.scss */
  #flow > .link {
    font-size: 3.5vw;
  }
  /* line 141, app/assets/stylesheets/home/components/home/flow.scss */
  #flow > .link > .circle {
    width: 9vw;
    height: 9vw;
    font-size: 2vw;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider {
  position: relative;
  overflow-x: hidden;
}

/* line 7, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper {
  display: flex;
  margin-bottom: 2.5rem;
}

/* line 16, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide {
  position: relative;
  flex: 0 0 auto;
  flex-direction: column;
  width: 265px;
  border: 2px solid var(--primary-color);
  border-top-width: 15px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  padding: 1rem 0.8rem;
}

/* line 28, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .header-label {
  position: absolute;
  top: -13px;
  left: 0;
  line-height: 1;
  color: #fff;
  background-color: var(--secondary-color);
  padding: 0.25rem 0.5rem;
  border-radius: 5px;
  font-size: 90%;
}

/* line 39, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .cacthphrase {
  color: var(--primary-text-color);
  font-weight: bold;
  margin-bottom: 0.5rem;
  border-bottom: dotted 3.5px var(--primary-color);
  padding: 0 0.25rem 0.5rem;
  font-size: 98%;
}

/* line 47, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .cacthphrase > .text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* line 56, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .facility-name {
  font-weight: bold;
  color: var(--color-text);
  margin-bottom: 0.5rem;
  border-bottom: dotted 3.5px var(--primary-color);
  padding: 0 0.25rem 0.5rem;
  font-size: 95%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 68, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  align-items: center;
}

/* line 74, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .items > .label {
  font-size: 90%;
  color: var(--primary-text-color);
  border: solid 2px var(--primary-color);
  border-radius: 5px;
  text-align: center;
}

/* line 80, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .items > .label.department {
  grid-column: 1 / 4;
}

/* line 83, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .items > .label.job-description {
  grid-column: 1 / 4;
}

/* line 87, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .items > .text {
  font-size: 90%;
  color: var(--color-text);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* line 93, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .items > .text.salary {
  grid-column: 2 / 4;
  color: var(--secondary-text-color);
  font-weight: bold;
  font-size: 95%;
  white-space: normal;
}

/* line 100, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .items > .text.prefecture {
  grid-column: 2 / 4;
  font-weight: bold;
}

/* line 104, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .items > .text.department {
  grid-column: 1 / 4;
}

/* line 107, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-wrapper > .slider-slide > .items > .text.job-description {
  grid-column: 1 / 4;
}

/* line 114, app/assets/stylesheets/home/components/home/jobs-slider.scss */
.jobs-slider > .slider > .slider-buttons {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(var(--main-inner-width) - 4rem);
}

@media (max-width: 768px) {
  /* line 129, app/assets/stylesheets/home/components/home/jobs-slider.scss */
  .jobs-slider > .slider {
    margin: 0 3vw;
    overflow-x: hidden;
  }
  /* line 132, app/assets/stylesheets/home/components/home/jobs-slider.scss */
  .jobs-slider > .slider > .slider-wrapper {
    font-size: 2.8vw;
  }
  /* line 134, app/assets/stylesheets/home/components/home/jobs-slider.scss */
  .jobs-slider > .slider > .slider-wrapper > .slider-slide {
    width: auto;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/mv.scss */
#mv {
  background-color: var(--color-light-yellow);
  background-image: url(/assets/home/mv-bg-e31b8209fbe7a88b710938ff8d61bfa6e1f9200e07d568063a0c326b79a37610.webp);
  background-size: auto 56%;
  background-repeat: repeat-x;
  background-position: top center;
  padding-top: 25px;
  margin-bottom: 2rem;
}

/* line 10, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .handshake-image {
  width: 403px;
  margin: auto;
}

/* line 17, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box {
  background-color: #fff;
  max-width: var(--main-inner-box-width);
  margin: auto;
  padding: 1rem 1rem 2rem;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* line 24, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .header {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.8rem;
}

/* line 29, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .header > .updated-date {
  display: inline-block;
  font-size: 90%;
  letter-spacing: 1px;
  color: #fff;
  background-color: var(--color-dark-blue);
  border-radius: 100px;
  padding: 0.25rem 1rem;
}

/* line 38, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .header > .offers-count {
  font-size: 1rem;
}

/* line 40, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .header > .offers-count > .number {
  font-size: 180%;
  font-weight: bold;
  color: var(--color-dark-blue);
}

/* line 48, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .links {
  display: flex;
  flex-direction: column;
  margin-top: 1.5rem;
  align-items: center;
  gap: 1.3rem;
}

/* line 54, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .links > .link {
  font-size: 1.1rem;
  min-width: 350px;
  display: flex;
  align-items: center;
}

/* line 59, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .links > .link.introduction {
  background-color: var(--secondary-color);
  border-radius: 100px;
  color: #fff;
  box-shadow: 0 5px 0 var(--secondary-shadow-color);
  padding: 0.25rem 0;
}

/* line 67, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .links > .link.introduction > .circle {
  width: 3.1rem;
  height: 3.1rem;
  background-color: #fff;
  border-radius: 50%;
  color: var(--secondary-color);
  font-size: 75%;
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  margin-left: 0.35rem;
  flex-shrink: 0;
}

/* line 90, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .links > .link.first {
  color: var(--primary-text-color);
  font-weight: bold;
  border-radius: 100px;
  border: 2px solid var(--primary-color);
  justify-content: center;
  padding: 1rem 0;
}

/* line 99, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .mv-box > .links > .link.first:before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url(/assets/home/beginners-mark-823006cdd052e625825cf4fee2959d86cb657ec2250beda85e95fe12648a1116.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0.5rem;
}

/* line 115, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .introduction-text {
  margin: 3rem 0 1rem;
  text-align: center;
}

/* line 120, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .links {
  display: flex;
  justify-content: center;
  gap: 1.3rem;
  padding-bottom: 3.5rem;
}

/* line 125, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .links > .link {
  font-size: 1.2rem;
  color: #fff;
  border-radius: 5px;
  padding: 1rem 2rem;
  min-width: 300px;
}

/* line 131, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .links > .link.career-change-support {
  background-color: var(--secondary-color);
  display: flex;
  align-items: center;
}

/* line 135, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .links > .link.career-change-support > .circle {
  background-color: #fff;
  border-radius: 100px;
  color: var(--secondary-text-color);
  font-size: 70%;
  padding: 0.2rem 0.8rem;
  margin-right: 0.8rem;
  font-weight: bold;
}

/* line 145, app/assets/stylesheets/home/components/home/mv.scss */
#mv > .links > .link.login {
  background-color: var(--primary-color);
  text-align: center;
}

@media (max-width: 768px) {
  /* line 154, app/assets/stylesheets/home/components/home/mv.scss */
  #mv {
    background-size: auto 50%;
    padding: 3vw 3vw 0;
  }
  /* line 159, app/assets/stylesheets/home/components/home/mv.scss */
  #mv > .handshake-image {
    width: 70vw;
  }
  /* line 164, app/assets/stylesheets/home/components/home/mv.scss */
  #mv > .mv-box > .header {
    position: relative;
  }
  /* line 166, app/assets/stylesheets/home/components/home/mv.scss */
  #mv > .mv-box > .header > .updated-date {
    position: absolute;
    top: -6vw;
    font-size: 100%;
    letter-spacing: 2px;
    padding: 1vw 4vw;
  }
  /* line 173, app/assets/stylesheets/home/components/home/mv.scss */
  #mv > .mv-box > .header > .offers-count {
    margin-top: 3vw;
  }
  /* line 178, app/assets/stylesheets/home/components/home/mv.scss */
  #mv > .mv-box > .links {
    margin-top: 1.5rem;
    gap: 1.3rem;
  }
  /* line 181, app/assets/stylesheets/home/components/home/mv.scss */
  #mv > .mv-box > .links > .link {
    width: 68vw;
    min-width: auto;
  }
  /* line 189, app/assets/stylesheets/home/components/home/mv.scss */
  #mv > .introduction-text {
    margin: 5vw 0 3.5vw;
    font-size: 2.58vw;
  }
  /* line 194, app/assets/stylesheets/home/components/home/mv.scss */
  #mv > .links {
    justify-content: space-between;
    gap: 2.5vw;
    padding-bottom: 6vw;
  }
  /* line 198, app/assets/stylesheets/home/components/home/mv.scss */
  #mv > .links > .link {
    font-size: 3.3vw;
    padding: 3vw;
    min-width: auto;
    flex-grow: 1;
  }
}

/* line 3, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking {
  max-width: var(--main-inner-box-width);
  margin: 0 auto 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* line 10, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link {
  display: flex;
  align-items: center;
  border: 2px solid var(--primary-color);
  border-top-width: 15px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  padding: 0.8rem;
  gap: 0.8rem;
  color: var(--color-text);
}

/* line 20, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .rank {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* line 24, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .rank > .number {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 150%;
  font-weight: bold;
  border: 2px solid var(--color-text);
  line-height: 1;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: #fff;
}

/* line 39, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .facility-image {
  width: 20%;
  aspect-ratio: 1 / 0.75;
  -o-object-fit: cover;
     object-fit: cover;
}

/* line 44, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .text {
  flex-grow: 1;
  padding: 0.5rem 0;
}

/* line 47, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .text > .cacthphrase {
  color: var(--primary-text-color);
  font-weight: bold;
  margin-bottom: 0.65rem;
  padding-bottom: 0.65rem;
  border-bottom: dotted 3.5px var(--primary-color);
}

/* line 53, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .text > .cacthphrase > .text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* line 62, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .text > .items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}

/* line 66, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .text > .items > .item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 70, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .text > .items > .item > .facility-name {
  font-weight: bold;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

/* line 79, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .text > .items > .item > .label {
  flex-shrink: 0;
  font-size: 90%;
  color: var(--primary-text-color);
  border: solid 2px var(--primary-color);
  border-radius: 5px;
  padding: 0 0.5rem;
}

/* line 88, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .text > .items > .item > .text {
  font-size: 90%;
  color: var(--color-text);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

/* line 98, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item > .link > .text > .items > .item > .text.salary {
  color: var(--secondary-text-color);
  font-weight: bold;
  font-size: 95%;
}

/* line 111, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item:nth-child(1) > .link > .rank > .number:before, #popular-job-ranking > .ranking > .item:nth-child(2) > .link > .rank > .number:before, #popular-job-ranking > .ranking > .item:nth-child(3) > .link > .rank > .number:before {
  content: "";
  position: absolute;
  top: -1.8rem;
  left: 50%;
  width: 1.8rem;
  height: 1.8rem;
  transform: translateX(-50%);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* line 125, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item:nth-child(1) > .link > .rank > .number {
  background-color: #f1dd7c;
  border: none;
}

/* line 128, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item:nth-child(1) > .link > .rank > .number:before {
  background-image: url(/assets/home/crown-1-1bb9fa9120f0fea4ed86d68f0b670094474a2e73dab386130bbb783ab8018290.png);
}

/* line 134, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item:nth-child(2) > .link > .rank > .number {
  background-color: #bebebe;
  border: none;
}

/* line 137, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item:nth-child(2) > .link > .rank > .number:before {
  background-image: url(/assets/home/crown-2-323acdfa3e3e0a038f3352aef1a23daef3952dfd6503a0cbd3971b9c3fcddfc2.png);
}

/* line 143, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item:nth-child(3) > .link > .rank > .number {
  background-color: #caaf7a;
  border: none;
}

/* line 146, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
#popular-job-ranking > .ranking > .item:nth-child(3) > .link > .rank > .number:before {
  background-image: url(/assets/home/crown-3-0b211898956ddb778fd29935a97cdde6d34bba0a8ad54485abd92494a9870da6.png);
}

@media (max-width: 768px) {
  /* line 157, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking {
    margin: 0 3vw 6vw;
    font-size: 1.85vw;
  }
  /* line 161, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link {
    position: relative;
    flex-direction: column;
  }
  /* line 164, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .rank {
    position: absolute;
    top: 1rem;
    left: 1rem;
  }
  /* line 168, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .rank > .number {
    font-size: 3.5vw;
    width: 6vw;
    height: 6vw;
  }
  /* line 174, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .facility-image {
    width: 100%;
    aspect-ratio: 1 / 0.35;
  }
  /* line 178, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .text {
    width: 100%;
  }
  /* line 180, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .text > .cacthphrase {
    font-size: 3.5vw;
  }
  /* line 183, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .text > .items {
    grid-template-columns: 1fr;
  }
  /* line 186, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .text > .items > .item > .label {
    font-size: 3vw;
    min-width: 5rem;
    text-align: center;
  }
  /* line 191, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .text > .items > .item > .text {
    font-size: 3vw;
  }
  /* line 193, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .text > .items > .item > .text.salary {
    font-size: 3.5vw;
  }
  /* line 197, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item > .link > .text > .items > .item > .facility-name {
    font-size: 3vw;
  }
  /* line 210, app/assets/stylesheets/home/components/home/popular-job-ranking.scss */
  #popular-job-ranking > .ranking > .item:nth-child(1) > .link > .rank, #popular-job-ranking > .ranking > .item:nth-child(2) > .link > .rank, #popular-job-ranking > .ranking > .item:nth-child(3) > .link > .rank {
    top: 2.5rem;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/recommended-articles.scss */
#recommended-articles {
  position: relative;
  max-width: var(--main-inner-width);
  margin: auto;
}

/* line 5, app/assets/stylesheets/home/components/home/recommended-articles.scss */
#recommended-articles > .slider {
  max-width: var(--main-inner-box-width);
  margin: auto;
  overflow-x: hidden;
}

/* line 9, app/assets/stylesheets/home/components/home/recommended-articles.scss */
#recommended-articles > .slider > .slider-wrapper {
  display: flex;
  margin-bottom: 2.5rem;
  align-items: center;
}

/* line 16, app/assets/stylesheets/home/components/home/recommended-articles.scss */
#recommended-articles > .slider > .slider-wrapper > .slider-slide {
  flex: 0 0 auto;
  width: calc(100% / 3 - 1.25rem);
  border: 1px solid #ddd;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}

/* line 22, app/assets/stylesheets/home/components/home/recommended-articles.scss */
#recommended-articles > .slider > .slider-wrapper > .slider-slide > .image {
  width: 100%;
  aspect-ratio: 1 / 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px 5px 0 0;
}

/* line 29, app/assets/stylesheets/home/components/home/recommended-articles.scss */
#recommended-articles > .slider > .slider-wrapper > .slider-slide > .text {
  padding: 0.88rem;
  font-size: 90%;
  color: var(--color-text);
}

/* line 33, app/assets/stylesheets/home/components/home/recommended-articles.scss */
#recommended-articles > .slider > .slider-wrapper > .slider-slide > .text.small {
  font-size: 81%;
}

@media (max-width: 768px) {
  /* line 44, app/assets/stylesheets/home/components/home/recommended-articles.scss */
  #recommended-articles > .slider {
    margin: 0 3vw;
  }
  /* line 49, app/assets/stylesheets/home/components/home/recommended-articles.scss */
  #recommended-articles > .slider > .slider-wrapper > .slider-slide > .text {
    font-size: 2.8vw;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/registration-banner .scss */
#introduction-banner {
  background-color: var(--color-light-yellow);
}

/* line 3, app/assets/stylesheets/home/components/home/registration-banner .scss */
#introduction-banner > .inner {
  max-width: var(--main-inner-width);
  margin: auto;
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
  padding: 2rem 0;
}

/* line 10, app/assets/stylesheets/home/components/home/registration-banner .scss */
#introduction-banner > .inner > .introduction-text {
  width: 50%;
}

/* line 13, app/assets/stylesheets/home/components/home/registration-banner .scss */
#introduction-banner > .inner > .link-area {
  width: 50%;
}

/* line 15, app/assets/stylesheets/home/components/home/registration-banner .scss */
#introduction-banner > .inner > .link-area > .tel-number {
  margin-bottom: 1.3rem;
}

/* line 18, app/assets/stylesheets/home/components/home/registration-banner .scss */
#introduction-banner > .inner > .link-area > .reg-btn > .image {
  transition: .3s;
}

/* line 20, app/assets/stylesheets/home/components/home/registration-banner .scss */
#introduction-banner > .inner > .link-area > .reg-btn > .image:hover {
  transform: scale(1.02);
  opacity: 0.95;
}

@media (max-width: 768px) {
  /* line 31, app/assets/stylesheets/home/components/home/registration-banner .scss */
  #introduction-banner > .inner {
    padding: 5%;
    flex-direction: column;
  }
  /* line 34, app/assets/stylesheets/home/components/home/registration-banner .scss */
  #introduction-banner > .inner > .introduction-text {
    width: 100%;
  }
  /* line 37, app/assets/stylesheets/home/components/home/registration-banner .scss */
  #introduction-banner > .inner > .link-area {
    width: 100%;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/search.scss */
.search-employment-and-prefecture-condition {
  max-width: var(--main-inner-box-width);
  margin: auto;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

/* line 8, app/assets/stylesheets/home/components/home/search.scss */
.search-employment-and-prefecture-condition .select.prefecture {
  width: 10.5rem;
  padding: 0.65rem;
}

@media (max-width: 768px) {
  /* line 15, app/assets/stylesheets/home/components/home/search.scss */
  .search-employment-and-prefecture-condition {
    justify-content: center;
  }
}

/* line 20, app/assets/stylesheets/home/components/home/search.scss */
#search {
  margin-bottom: 2.5rem;
}

/* line 22, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main {
  max-width: var(--main-inner-box-width);
  margin: auto;
}

/* line 25, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main .search-title {
  font-size: 115%;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}

/* line 31, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main .search-title:before {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0.5rem;
}

/* line 41, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main .search-title.condition:before {
  background-image: url(/assets/home/certification-afb9f3ee544a2252514bc857e7727e18a4ab6038b8ab80bdbd062467b3bb49fc.png);
}

/* line 44, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main .search-title.map:before {
  background-image: url(/assets/home/marke-5e28661532ff3bb5e6b04a38c8758eebe9dd1883f2825a40493a32b988516f38.png);
}

/* line 48, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content-tabs > .tab {
  width: 25%;
}

/* line 50, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content-tabs > .tab:before {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0.5rem;
}

/* line 64, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content-tabs > .tab.active[data-content="full-time"]:before {
  background-image: url(/assets/home/checkbox-blue-39662e4be39a0ccee788f50aba9b7d1f0c16362ba68fc236c0c42c5744dc5c70.png);
}

/* line 67, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content-tabs > .tab.active[data-content="part-time"]:before {
  background-image: url(/assets/home/clock-blue-df1a382d98bf905815dc185602abaf1f29f60b9c4c343287b03b9e44f0069715.png);
}

/* line 70, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content-tabs > .tab.active[data-content="spot"]:before {
  background-image: url(/assets/home/clock-blue-df1a382d98bf905815dc185602abaf1f29f60b9c4c343287b03b9e44f0069715.png);
}

/* line 77, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content-tabs > .tab[data-content="full-time"]:before {
  background-image: url(/assets/home/checkbox-black-97735975a3be4489ea607e1c8468bdc0dec538df226ec58a0333739897f26730.png);
}

/* line 80, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content-tabs > .tab[data-content="part-time"]:before {
  background-image: url(/assets/home/clock-black-54c68e56269240e9d172f0d1e487caa30c1663221b835a1facb68f5409f79f51.png);
}

/* line 83, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content-tabs > .tab[data-content="spot"]:before {
  background-image: url(/assets/home/clock-black-54c68e56269240e9d172f0d1e487caa30c1663221b835a1facb68f5409f79f51.png);
}

/* line 90, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content {
  padding: 1.5rem;
}

/* line 92, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content[data-content="full-time"] {
  background-color: #e6f4ff;
}

/* line 95, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content[data-content="part-time"] {
  background-color: var(--color-blue-100);
}

/* line 98, app/assets/stylesheets/home/components/home/search.scss */
#search > .search-main > .search-content[data-content="spot"] {
  background-color: #ffeede;
}

/* line 105, app/assets/stylesheets/home/components/home/search.scss */
.quick_form {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  justify-content: center;
  margin: 0 1.5rem 3.5rem;
}

/* line 113, app/assets/stylesheets/home/components/home/search.scss */
.quick_form > .field {
  width: 31%;
  position: relative;
}

/* line 117, app/assets/stylesheets/home/components/home/search.scss */
.quick_form > .field:first-child:after, .quick_form > .field:nth-child(2):after {
  content: "×";
  display: inline-block;
  position: absolute;
  font-size: 1.5rem;
  color: var(--primary-color);
  top: 50%;
  right: -1.2rem;
  transform: translateY(-50%);
}

/* line 128, app/assets/stylesheets/home/components/home/search.scss */
.quick_form > .field > .select.employment {
  text-align: center;
}

/* line 131, app/assets/stylesheets/home/components/home/search.scss */
.quick_form > .field > .select, .quick_form > .field .submit-button {
  width: 100%;
}

/* line 134, app/assets/stylesheets/home/components/home/search.scss */
.quick_form > .field > .submit-button {
  padding: 0.65rem;
  border-radius: 0.3rem;
}

/* line 138, app/assets/stylesheets/home/components/home/search.scss */
.quick_form > .field > .submit-button {
  position: relative;
  background-color: var(--color-dark-blue);
  color: #fff;
  border: none;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
  transition: .3s;
}

/* line 145, app/assets/stylesheets/home/components/home/search.scss */
.quick_form > .field > .submit-button:hover {
  cursor: pointer;
  opacity: 0.85;
}

/* line 149, app/assets/stylesheets/home/components/home/search.scss */
.quick_form > .field > .submit-button:after {
  position: absolute;
  top: 50%;
  right: 0.8rem;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(/assets/icons/magnifying-glass-606ff0ccd0d3fdb3a797b2779475659bffe91d89e69a90ae839521ca5034d3cd.png);
}

/* line 163, app/assets/stylesheets/home/components/home/search.scss */
.quick_form > .field > .submit-button > .sp {
  display: none;
}

/* line 170, app/assets/stylesheets/home/components/home/search.scss */
.search-map {
  position: relative;
  overflow: hidden;
  background-color: var(--color-light-yellow);
  margin: 0 1.5rem;
  border-radius: 3px;
}

/* line 177, app/assets/stylesheets/home/components/home/search.scss */
.search-map .map-title {
  font-size: 150%;
  grid-column: span 2;
}

/* line 182, app/assets/stylesheets/home/components/home/search.scss */
.search-map > .map-content-main {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.5rem 3rem;
  height: 500px;
  padding: 1.5rem 1.5rem 5.5rem;
}

/* line 191, app/assets/stylesheets/home/components/home/search.scss */
.search-map > .map-content-detail {
  display: none;
  height: 500px;
}

/* line 195, app/assets/stylesheets/home/components/home/search.scss */
.search-map > .map-content-detail > .map-header {
  position: relative;
  z-index: 10;
  background-color: var(--color-gray-200);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
}

/* line 203, app/assets/stylesheets/home/components/home/search.scss */
.search-map > .map-content-detail > .map-header > .back-link {
  font-size: 120%;
}

/* line 205, app/assets/stylesheets/home/components/home/search.scss */
.search-map > .map-content-detail > .map-header > .back-link:hover {
  cursor: pointer;
  text-decoration: underline;
}

/* line 211, app/assets/stylesheets/home/components/home/search.scss */
.search-map > .map-content-detail > .links {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 3rem;
  padding: 3rem 1.5rem;
}

/* line 216, app/assets/stylesheets/home/components/home/search.scss */
.search-map > .map-content-detail > .links > .button {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

/* line 219, app/assets/stylesheets/home/components/home/search.scss */
.search-map > .map-content-detail > .links > .button.active {
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}

/* line 227, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button {
  z-index: 10;
  grid-column: span 2;
  background-color: #fff;
  border: 2px solid var(--color-blue-200);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 0.3rem;
  min-height: 75px;
  color: var(--color-text);
  font-size: 105%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
}

/* line 244, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button:after {
  position: absolute;
  content: "＞";
  font-size: 80%;
  font-weight: bold;
  top: 50%;
  right: 0.8rem;
  transform: translateY(-50%);
}

/* line 254, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button:hover {
  cursor: pointer;
}

/* line 258, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button[data-region="hokkaido-tohoku"] {
  grid-column: 5 / 7;
  grid-row: 1;
}

/* line 262, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button[data-region="hokuriku-shinetsu"] {
  grid-column: 3 / 5;
  grid-row: 2;
}

/* line 266, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button[data-region="kanto"] {
  grid-column: 5 / 7;
  grid-row: 3;
}

/* line 270, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button[data-region="tokai"] {
  grid-column: 5 / 7;
  grid-row: 4;
}

/* line 274, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button[data-region="kansai"] {
  grid-column: 3/ 5;
  grid-row: 4;
}

/* line 278, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button[data-region="tyugoku-shikoku"] {
  grid-column: 1 / 3;
  grid-row: 2;
}

/* line 282, app/assets/stylesheets/home/components/home/search.scss */
.search-map .button[data-region="kyusyu-okinawa"] {
  grid-column: 1 / 3;
  grid-row: 4;
}

/* line 289, app/assets/stylesheets/home/components/home/search.scss */
.map-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 55%;
  height: auto;
  z-index: 1;
  transition-duration: .3s;
  transition-timing-function: linear;
}

/* line 301, app/assets/stylesheets/home/components/home/search.scss */
.map-bg.hokkaido-tohoku {
  transform: translate(-100%, 25%) scale(2.5);
}

/* line 304, app/assets/stylesheets/home/components/home/search.scss */
.map-bg.hokuriku-shinetsu {
  transform: translate(-45%, -50%) scale(2.5);
}

/* line 307, app/assets/stylesheets/home/components/home/search.scss */
.map-bg.kanto {
  transform: translate(-85%, -55%) scale(2.5);
}

/* line 310, app/assets/stylesheets/home/components/home/search.scss */
.map-bg.tokai {
  transform: translate(-40%, -60%) scale(2.5);
}

/* line 313, app/assets/stylesheets/home/components/home/search.scss */
.map-bg.kansai {
  transform: translate(-30%, -60%) scale(2.5);
}

/* line 316, app/assets/stylesheets/home/components/home/search.scss */
.map-bg.tyugoku-shikoku {
  transform: translate(-25%, -120%) scale(2.5);
}

/* line 319, app/assets/stylesheets/home/components/home/search.scss */
.map-bg.kyusyu-okinawa {
  transform: translate(40%, -125%) scale(2.5);
}

@media (max-width: 768px) {
  /* line 328, app/assets/stylesheets/home/components/home/search.scss */
  #search > .search-main .search-form {
    padding: 5vw 0;
  }
  /* line 331, app/assets/stylesheets/home/components/home/search.scss */
  #search > .search-main .search-title {
    padding: 0 3vw;
  }
  /* line 334, app/assets/stylesheets/home/components/home/search.scss */
  #search > .search-main > .search-content-tabs > .tab {
    width: calc(100% / 3);
  }
  /* line 336, app/assets/stylesheets/home/components/home/search.scss */
  #search > .search-main > .search-content-tabs > .tab .pc {
    display: none;
  }
  /* line 340, app/assets/stylesheets/home/components/home/search.scss */
  #search > .search-main > .search-content {
    padding: 0;
  }
  /* line 346, app/assets/stylesheets/home/components/home/search.scss */
  .quick_form {
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 3vw;
    margin-bottom: 1rem;
  }
  /* line 353, app/assets/stylesheets/home/components/home/search.scss */
  .quick_form > .field {
    width: calc(100% / 2 - 1rem);
  }
  /* line 355, app/assets/stylesheets/home/components/home/search.scss */
  .quick_form > .field.submit {
    width: 100%;
  }
  /* line 359, app/assets/stylesheets/home/components/home/search.scss */
  .quick_form > .field > .submit-button {
    transition: none;
    width: 50%;
    border-radius: 100px;
    display: block;
    margin: auto;
  }
  /* line 365, app/assets/stylesheets/home/components/home/search.scss */
  .quick_form > .field > .submit-button > .pc {
    display: none;
  }
  /* line 368, app/assets/stylesheets/home/components/home/search.scss */
  .quick_form > .field > .submit-button > .sp {
    display: inline-block;
  }
  /* line 372, app/assets/stylesheets/home/components/home/search.scss */
  .quick_form > .field > .select.prefecture {
    font-size: 90%;
    line-height: 1.7;
    padding: 0.65rem 1rem;
    background-position: right 0.35rem center;
  }
  /* line 381, app/assets/stylesheets/home/components/home/search.scss */
  .search-map {
    margin: 0;
  }
  /* line 383, app/assets/stylesheets/home/components/home/search.scss */
  .search-map .map-title {
    font-size: 120%;
  }
  /* line 386, app/assets/stylesheets/home/components/home/search.scss */
  .search-map > .map-content-main {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    height: 70vw;
    gap: 5vw 6.5vw;
    padding: 3vw 3vw 6vw;
  }
  /* line 394, app/assets/stylesheets/home/components/home/search.scss */
  .search-map > .map-content-detail {
    height: 70vw;
  }
  /* line 396, app/assets/stylesheets/home/components/home/search.scss */
  .search-map > .map-content-detail > .links {
    gap: 5vw 6.5vw;
    padding: 6vw 3vw 0;
  }
  /* line 402, app/assets/stylesheets/home/components/home/search.scss */
  .search-map .button {
    font-size: 3.2vw;
    min-height: auto;
  }
  /* line 405, app/assets/stylesheets/home/components/home/search.scss */
  .search-map .button:after {
    font-size: 70%;
    right: 0.65rem;
  }
  /* line 409, app/assets/stylesheets/home/components/home/search.scss */
  .search-map .button.pref {
    height: 11vw;
  }
  /* line 412, app/assets/stylesheets/home/components/home/search.scss */
  .search-map .button > .region-name-kanto {
    display: flex;
    align-items: center;
    height: 2.5rem;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/section-title.scss */
.section-title {
  font-size: 1.3rem;
  color: #fff;
  font-weight: normal;
  text-align: center;
  background-color: var(--primary-color);
  border-radius: 5px;
  max-width: var(--main-inner-width);
  margin: auto;
  margin-bottom: 2rem;
  padding: 0.5rem 0;
}

@media (max-width: 768px) {
  /* line 17, app/assets/stylesheets/home/components/home/section-title.scss */
  .section-title {
    font-size: 4vw;
    margin: 0 3vw 4vw;
    padding: 3vw 0;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/slider.scss */
.slider-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.5rem;
  height: 3.5rem;
  background-color: var(--primary-color);
  border-radius: 100px;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
}

/* line 19, app/assets/stylesheets/home/components/home/slider.scss */
.slider-button:after {
  content: "";
  display: inline-block;
  font-family: monospace, arial, sans-serif;
}

/* line 24, app/assets/stylesheets/home/components/home/slider.scss */
.slider-button:hover {
  opacity: 0.9;
}

/* line 28, app/assets/stylesheets/home/components/home/slider.scss */
.slider-button.prev {
  left: 0.125rem;
}

/* line 30, app/assets/stylesheets/home/components/home/slider.scss */
.slider-button.prev:after {
  content: "<";
  transform: translateX(-0.125rem);
}

/* line 35, app/assets/stylesheets/home/components/home/slider.scss */
.slider-button.next {
  right: 0.125rem;
}

/* line 37, app/assets/stylesheets/home/components/home/slider.scss */
.slider-button.next:after {
  content: ">";
  transform: translateX(0.125rem);
}

@media (max-width: 768px) {
  /* line 45, app/assets/stylesheets/home/components/home/slider.scss */
  .slider-button {
    display: none;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons {
  margin-bottom: 2.5rem;
}

/* line 3, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .section-title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* line 10, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .section-title > .illust {
  height: 150px;
  width: auto;
}

/* line 15, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .section-title > .text > .number {
  display: inline-block;
  font-size: 2.25rem;
  font-weight: normal;
  margin: 0 0.35rem;
}

/* line 23, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body {
  background-color: var(--color-blue-100);
  max-width: var(--main-inner-width);
  margin: auto;
  padding-bottom: 2.5rem;
}

/* line 29, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .triangle {
  content: "";
  display: block;
  width: 3.5rem;
  height: 1.25rem;
  background-color: var(--primary-color);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  margin: -1px auto 1rem;
}

/* line 39, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .introduction-text {
  max-width: var(--main-inner-box-width);
  margin: 0 auto 1.5rem;
  font-size: 95%;
}

/* line 45, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .list {
  max-width: var(--main-inner-box-width);
  margin: auto;
}

/* line 49, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .list > .item {
  margin-bottom: 2.5rem;
}

/* line 51, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .list > .item:last-of-type {
  margin-bottom: 0;
}

/* line 54, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .list > .item > .title {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  color: var(--primary-color);
  font-size: 1.2rem;
  align-items: center;
  margin-bottom: 1rem;
}

/* line 62, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .list > .item > .title > .number {
  display: inline-flex;
  background-color: var(--primary-color);
  color: #fff;
  font-weight: normal;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

/* line 75, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .list > .item > .box {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background-color: #fff;
  border-radius: 5px;
}

/* line 83, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .list > .item > .box > .text {
  flex-grow: 1;
  word-break: break-all;
  word-break: auto-phrase;
}

/* line 88, app/assets/stylesheets/home/components/home/three-reasons.scss */
#three-reasons > .body > .list > .item > .box > .illustration {
  width: 25%;
  aspect-ratio: 1 / 0.5;
  -o-object-fit: cover;
     object-fit: cover;
  align-self: flex-start;
}

@media (max-width: 768px) {
  /* line 103, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .section-title {
    justify-content: space-between;
    gap: unset;
    padding: 0;
    margin: 0;
    border-radius: 0;
  }
  /* line 109, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .section-title > .illust {
    height: 20vw;
    margin-top: 1vw;
  }
  /* line 112, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .section-title > .illust.illust-1 {
    margin-left: 1vw;
  }
  /* line 115, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .section-title > .illust.illust-2 {
    margin-right: 1vw;
  }
  /* line 119, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .section-title > .text {
    font-size: 3.5vw;
  }
  /* line 121, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .section-title > .text > .number {
    font-size: 200%;
  }
  /* line 127, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .body {
    padding: 0 3vw;
    padding-bottom: 2.5rem;
  }
  /* line 130, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .body > .triangle {
    margin-top: 0;
  }
  /* line 133, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .body > .introduction-text {
    font-size: 3.2vw;
  }
  /* line 142, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .body > .list > .item > .title {
    font-size: 3.5vw;
  }
  /* line 149, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .body > .list > .item > .box {
    gap: 0.5rem;
    flex-direction: column;
  }
  /* line 153, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .body > .list > .item > .box > .illustration {
    width: 65%;
    margin: auto;
  }
  /* line 157, app/assets/stylesheets/home/components/home/three-reasons.scss */
  #three-reasons > .body > .list > .item > .box > .text {
    font-size: 3.3vw;
    word-break: unset;
  }
}

/* line 1, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info {
  background-color: var(--color-blue-200);
  background-image: url(/assets/home/useful-info-bg-a84008a78ed4e1af4d825fc2561b0fe9b125240291c00b0d114382371b06d24f.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  margin-bottom: 3rem;
  color: #fff;
}

/* line 10, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner {
  max-width: var(--main-inner-box-width);
  margin: auto;
  padding: 2.5rem 0;
}

/* line 14, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner > .title {
  text-align: center;
  font-size: 1.3rem;
  margin-bottom: 1rem;
}

/* line 19, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner > .introduction-text {
  margin-bottom: 2rem;
  text-align: center;
}

/* line 25, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner > .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 2rem;
  margin-bottom: 2rem;
}

/* line 32, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner > .list > .item .link {
  display: flex;
  align-items: flex-start;
  padding: 1rem;
  gap: 0.5rem;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease-in-out;
}

/* line 40, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner > .list > .item .link:hover {
  transform: translateY(-4px);
}

/* line 43, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner > .list > .item .link .image {
  width: 22%;
  aspect-ratio: 1 / 0.75;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/* line 52, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner > .list > .item .link .title {
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.2;
  color: var(--color-text);
  margin-bottom: 0.125rem;
}

/* line 59, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner > .list > .item .link .date {
  font-size: 0.9rem;
  color: #888;
}

/* line 68, app/assets/stylesheets/home/components/home/useful-info.scss */
#useful-info > .inner > .more-link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.5rem 3rem;
  color: #fff;
  border-radius: 100px;
  font-size: 1rem;
  border: 2px solid #fff;
}

@media (max-width: 768px) {
  /* line 84, app/assets/stylesheets/home/components/home/useful-info.scss */
  #useful-info > .inner {
    padding: 6vw 3vw;
  }
  /* line 93, app/assets/stylesheets/home/components/home/useful-info.scss */
  #useful-info > .inner > .list {
    grid-template-columns: 1fr;
  }
  /* line 98, app/assets/stylesheets/home/components/home/useful-info.scss */
  #useful-info > .inner > .list > .item .link {
    align-items: center;
  }
  /* line 100, app/assets/stylesheets/home/components/home/useful-info.scss */
  #useful-info > .inner > .list > .item .link .title {
    font-size: 3.5vw;
    line-height: 1.5;
  }
  /* line 107, app/assets/stylesheets/home/components/home/useful-info.scss */
  #useful-info > .inner > .more-link {
    padding: 0.5rem 5rem;
  }
}

/* line 2, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider {
  background-color: #f3f3f3;
  padding: 1.5rem;
  margin-bottom: 2.5rem;
}

/* line 7, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

/* line 12, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper {
  position: relative;
}

/* line 15, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper > .main_sldier {
  position: relative;
  overflow: hidden;
}

/* line 19, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper > .main_sldier > .list {
  border-radius: 0.5vw;
  aspect-ratio: 1 / 0.65;
}

/* line 28, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper > .navigation_btn {
  width: 2.25rem;
  height: 2.25rem;
  background-color: var(--primary-color);
  position: absolute;
  z-index: 5;
  top: 49%;
  top: calc(50% - 1.125rem);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 43, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper > .navigation_btn:hover {
  cursor: pointer;
}

/* line 46, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper > .navigation_btn:before {
  content: '';
  display: inline-block;
  width: 30%;
  height: 33%;
}

/* line 52, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper > .navigation_btn.btn_next {
  right: -1rem;
}

/* line 54, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper > .navigation_btn.btn_next:before {
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translate(-20%, 0) rotate(45deg);
}

/* line 60, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper > .navigation_btn.btn_prev {
  left: -1rem;
}

/* line 62, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .main_sldier_wrapper > .navigation_btn.btn_prev:before {
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: translate(20%, 0) rotate(45deg);
}

/* line 71, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .thumb_slider {
  position: relative;
  overflow-x: hidden;
  margin-top: 1.25rem;
}

/* line 83, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .thumb_slider > .list > .item {
  aspect-ratio: 1 / 0.65;
}

/* line 86, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
#facility_image_slider > .thumb_slider > .list > .item > img {
  border-radius: 0.5vw;
}

@media (max-width: 768px) {
  /* line 97, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
  #facility_image_slider {
    padding: 3vw;
    padding-bottom: 1vw;
    margin-bottom: 3vw;
  }
  /* line 102, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
  #facility_image_slider > .main_sldier_wrapper > .navigation_btn {
    width: 6vw;
    height: 6vw;
    top: 49%;
    top: calc(50% - 3vw);
    border-radius: 50%;
  }
  /* line 111, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
  #facility_image_slider > .main_sldier_wrapper > .navigation_btn:before {
    width: 30%;
    height: 33%;
  }
  /* line 115, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
  #facility_image_slider > .main_sldier_wrapper > .navigation_btn.btn_next {
    right: -1rem;
  }
  /* line 117, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
  #facility_image_slider > .main_sldier_wrapper > .navigation_btn.btn_next:before {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
  /* line 122, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
  #facility_image_slider > .main_sldier_wrapper > .navigation_btn.btn_prev {
    left: -1rem;
  }
  /* line 124, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
  #facility_image_slider > .main_sldier_wrapper > .navigation_btn.btn_prev:before {
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
  }
  /* line 132, app/assets/stylesheets/home/components/offers/facility_image_slider.scss */
  #facility_image_slider > .thumb_slider {
    margin-top: 3vw;
  }
}

/* line 1, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-texts-section {
  margin-bottom: 3rem;
}

/* line 4, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper {
  max-width: var(--main-inner-width);
  margin: 0 auto;
}

/* line 7, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper > .lead-title {
  position: relative;
  font-size: 1.8rem;
  line-height: 2.4rem;
  color: var(--primary-text-color);
  margin-bottom: 0.5rem;
  padding-left: 1.3rem;
}

/* line 14, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper > .lead-title:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 2.4rem;
  background-color: var(--primary-color);
}

/* line 24, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper > .lead-title.spot {
  color: var(--primary-color);
}

/* line 28, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper .lead-subtitle {
  font-size: 1.2rem;
  color: var(--primary-color);
  text-decoration: underline;
  margin-bottom: 0.15rem;
}

/* line 33, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper .lead-subtitle::before {
  content: 'Q';
  display: inline-block;
  margin-right: 0.5rem;
}

/* line 39, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper .lead-body {
  display: block flow-root;
  font-size: 0.95rem;
  color: var(--color-text);
  padding: 0 1.5rem;
}

/* line 49, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper .lead-body > .lead-text {
  display: inline;
}

/* line 52, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper .lead-body > .more {
  color: var(--primary-text-color);
  text-decoration: underline;
  font-weight: bold;
  float: right;
  font-size: 110%;
}

/* line 58, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper .lead-body > .more:hover {
  text-decoration: none;
  cursor: pointer;
}

/* line 64, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper + .lead-wrapper {
  margin-top: 2rem;
}

/* line 67, app/assets/stylesheets/home/components/offers/lead.scss */
.lead-wrapper .faq-wrapper {
  margin-top: 1rem;
}

@media (max-width: 768px) {
  /* line 73, app/assets/stylesheets/home/components/offers/lead.scss */
  .lead-wrapper {
    margin: 0 var(--sp-section-margin);
  }
  /* line 75, app/assets/stylesheets/home/components/offers/lead.scss */
  .lead-wrapper > .lead-title {
    font-size: 1.5rem;
    padding-left: 1rem;
  }
  /* line 80, app/assets/stylesheets/home/components/offers/lead.scss */
  .lead-wrapper > .lead-title:before {
    width: 4px;
  }
  /* line 84, app/assets/stylesheets/home/components/offers/lead.scss */
  .lead-wrapper > .lead-body {
    padding: 0 0.8rem;
  }
}

/* line 2, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail .actions {
  display: flex;
  gap: 1rem;
  width: 85%;
  margin: 2.5rem auto 0;
}

/* line 7, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail .actions > .action {
  flex-grow: 1;
  padding: 0.8rem 0;
  border-radius: 5px;
  color: #fff;
  font-size: 95%;
  border: 2px solid var(--primary-color);
  text-align: center;
}

/* line 15, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail .actions > .action.favorite {
  padding: 0;
  color: var(--primary-text-color);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}

/* line 24, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail .actions > .action.favorite > svg {
  width: 1.6em;
  height: 1.6em;
  color: var(--primary-color);
}

/* line 30, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail .actions > .action.show {
  background-color: var(--primary-color);
}

/* line 34, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail .actions > .action.introduction {
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/* line 42, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail .actions > .action.introduction > .circle {
  background-color: #fff;
  border-radius: 5px;
  color: var(--secondary-text-color);
  font-size: 70%;
  padding: 0.2rem 0.5rem;
  font-weight: bold;
  flex-shrink: 0;
}

/* line 54, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-close {
  text-align: center;
  padding: 1rem 0;
}

/* line 59, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item {
  position: relative;
  margin-bottom: 2.5rem;
}

/* line 67, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main {
  display: grid;
  grid-template-columns: 25% 1fr;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-bottom: 1rem;
}

/* line 76, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .facility-image {
  aspect-ratio: 1 / 0.65;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  grid-column: 1;
  grid-row: 1 / span 2;
}

/* line 84, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-head {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0.25rem 0 0.5rem;
}

/* line 94, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-head > .updated-at-and-code {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.7em;
  color: var(--text-color);
  top: 0.5rem;
  right: 1rem;
}

/* line 104, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-head > .labels {
  display: flex;
  gap: 0.5rem;
}

/* line 107, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-head > .labels > .label {
  padding: 0.25rem 0.8rem;
  border-radius: 5px;
  font-size: 0.8em;
  line-height: 1;
  color: #fff;
}

/* line 113, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-head > .labels > .label.new {
  background-color: var(--secondary-color);
}

/* line 116, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-head > .labels > .label.employment {
  background-color: var(--primary-color);
}

/* line 122, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-text {
  grid-column: 2;
  grid-row: 2;
}

/* line 125, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-text > .facility-name {
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

/* line 134, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-text > .catchphrase > .link {
  color: var(--primary-text-color);
  font-weight: bold;
}

/* line 137, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .offer-main > .offer-text > .catchphrase > .link:hover {
  text-decoration: underline;
}

/* line 144, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview {
  display: flex;
  flex-direction: column;
  gap: 0.8em;
}

/* line 151, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .list {
  flex-grow: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}

/* line 156, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .list > .item {
  display: flex;
  align-items: center;
  word-break: keep-all;
  word-break: auto-phrase;
  gap: 0.5rem;
}

/* line 163, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .list > .item > .label {
  flex-shrink: 0;
  font-size: 90%;
  color: var(--primary-text-color);
  border: solid 2px var(--primary-color);
  border-radius: 5px;
  padding: 0 0.5rem;
  width: 5rem;
  text-align: center;
}

/* line 174, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .list > .item > .text {
  font-size: 95%;
  color: var(--color-text);
}

/* line 177, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .list > .item > .text .link {
  color: var(--color-text);
}

/* line 179, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .list > .item > .text .link:hover {
  text-decoration: underline;
}

/* line 184, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .list > .item > .link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  line-height: 1.2;
}

/* line 191, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .list > .item.salary > .text {
  font-weight: bold;
  color: var(--secondary-text-color);
}

/* line 198, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .features {
  background-color: #fffde4;
  width: 100%;
  padding: 0.25rem 0.5rem;
  line-height: 1.1;
}

/* line 205, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .features > .feature {
  display: inline;
  font-size: 0.8em;
}

/* line 208, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .features > .feature:after {
  display: inline-block;
  content: '';
  margin-right: 0.25rem;
}

/* line 213, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .features > .feature > .link {
  color: var(--text-color);
}

/* line 215, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-item > .overview > .features > .feature > .link:hover {
  text-decoration: underline;
}

/* line 224, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .consultant_message {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding: 0.65rem 0.5rem;
  border: 2px solid var(--primary-color);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
}

/* line 235, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .consultant_message::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 6.5rem;
  height: 6.5rem;
  border-radius: 50%;
  border: solid 2px var(--primary-color);
  background-image: url(/assets/home/consultant-illust-1c57dba33cd104947912c4ed8c9d0f807499d8336050f532ffe5562992ae35dc.png);
  background-size: 135% auto;
  background-repeat: no-repeat;
  background-position: center;
}

/* line 250, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .consultant_message > .text {
  font-size: 95%;
  color: var(--color-text);
  line-height: 1.5;
  margin-right: 0.5rem;
}

/* line 258, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-section-title {
  text-align: center;
  margin: 2.5rem 0 2rem;
  font-size: 1.35rem;
  font-weight: bold;
  color: var(--primary-text-color);
}

/* line 266, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-detail {
  padding: 1.5rem;
  border: 2px solid var(--primary-color);
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 271, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-detail > .offer-detail-item {
  display: flex;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-gray-400);
}

/* line 281, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-detail > .offer-detail-item > .offer-detail-title {
  flex-shrink: 0;
  width: 8rem;
  padding-right: 1rem;
  font-weight: bold;
  color: var(--color-text);
  text-wrap: balance;
}

/* line 289, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#offer-detail > .offer-detail > .offer-detail-item > .offer-detail-data {
  flex-grow: 1;
  color: var(--color-text);
}

/* line 300, app/assets/stylesheets/home/components/offers/offer-detail.scss */
.department_category > .label {
  display: none;
}

/* line 307, app/assets/stylesheets/home/components/offers/offer-detail.scss */
.access-map-wrapper {
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
  padding-right: 1rem;
}

/* line 312, app/assets/stylesheets/home/components/offers/offer-detail.scss */
.access-map-wrapper > .link {
  width: -moz-fit-content;
  width: fit-content;
  border: 2px solid #d8d9d6;
  background-color: #fdfcfa;
  color: #225ead;
  border-radius: 8px;
  padding: 0.25rem 0.5rem;
}

/* line 321, app/assets/stylesheets/home/components/offers/offer-detail.scss */
.access-map-wrapper > .link:hover {
  opacity: 0.85;
}

/* line 328, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#similar-offers {
  margin: 0 auto 3.5rem;
  max-width: var(--main-inner-width);
  padding-right: calc(var(--sidebar-width) + 1.5rem);
  overflow: visible;
}

/* line 333, app/assets/stylesheets/home/components/offers/offer-detail.scss */
#similar-offers .offer-section-title {
  text-align: center;
  margin-bottom: 2rem;
  font-size: 1.35rem;
  font-weight: bold;
  color: var(--primary-text-color);
}

@media (max-width: 768px) {
  /* line 346, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item {
    padding: 0.8rem;
  }
  /* line 348, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .offer-main {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
  /* line 353, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .offer-main > .facility-image {
    grid-row: 2;
    aspect-ratio: 1 / 0.55;
    margin-bottom: 1rem;
    width: 100%;
  }
  /* line 359, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .offer-main > .offer-head {
    grid-column: 1;
    margin: 0 0 0.8rem;
  }
  /* line 362, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .offer-main > .offer-head > .updated-at-and-code {
    position: relative;
    top: 0;
    right: 0;
  }
  /* line 369, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .offer-main > .offer-head > .labels {
    gap: 0.8rem;
  }
  /* line 371, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .offer-main > .offer-head > .labels > .label {
    padding: 0 0.8rem;
    font-size: 1em;
    line-height: 1.5;
    border-radius: 3px;
  }
  /* line 379, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .offer-main > .offer-text {
    grid-column: 1;
    grid-row: 3;
  }
  /* line 382, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .offer-main > .offer-text > .facility-name {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }
  /* line 386, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .offer-main > .offer-text > .catchphrase {
    font-size: 1.2rem;
  }
  /* line 391, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .overview {
    gap: 1rem;
  }
  /* line 394, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .overview > .list {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  /* line 397, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .overview > .list > .item {
    gap: 1rem;
  }
  /* line 399, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .overview > .list > .item > .label {
    font-size: 1rem;
    padding: 0;
    width: auto;
    min-width: 5rem;
  }
  /* line 405, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .overview > .list > .item > .text {
    font-size: 1rem;
  }
  /* line 410, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .overview > .features {
    width: 100%;
    padding: 0.5rem;
    line-height: 1.5;
  }
  /* line 414, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .overview > .features > .feature {
    font-size: 1rem;
  }
  /* line 417, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-item > .overview > .features > .feature:after {
    margin-right: 0.5rem;
  }
  /* line 424, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail .actions {
    width: 100%;
    gap: 0.8rem;
  }
  /* line 428, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail .actions > .action {
    padding: 0.6rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  /* line 434, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail .actions > .action.introduction {
    flex-direction: column;
    gap: 0.25rem;
  }
  /* line 437, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail .actions > .action.introduction > .circle {
    font-size: 90%;
    padding: 0.15rem 0.5rem;
  }
  /* line 442, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail .actions > .action.show {
    flex-direction: column;
    line-height: 1.5;
  }
  /* line 446, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail .actions > .action.favorite {
    flex-direction: column;
  }
  /* line 451, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .consultant_message {
    margin: 0 0.8rem;
  }
  /* line 493, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-detail {
    margin: 0 0.8rem;
  }
  /* line 499, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-detail > .offer-detail-item {
    flex-direction: column;
  }
  /* line 504, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail > .offer-detail > .offer-detail-item > .offer-detail-title {
    width: 100%;
    padding-right: 0;
    margin-bottom: 0.5rem;
  }
  /* line 512, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #offer-detail .actions-wrapper {
    margin: 0 0.8rem 0;
  }
  /* line 518, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  .access-map-wrapper {
    padding-right: 0;
  }
  /* line 522, app/assets/stylesheets/home/components/offers/offer-detail.scss */
  #similar-offers {
    padding-right: 0;
  }
}

/* line 2, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .not-found {
  text-align: center;
  padding: 3rem 0;
  font-size: 1.2em;
  color: #666;
}

/* line 9, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

/* line 15, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item {
  position: relative;
  padding: 1rem;
  border: 2px solid var(--primary-color);
  border-top-width: 6px;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 22, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main {
  display: grid;
  grid-template-columns: 25% 1fr;
  grid-template-rows: auto 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-bottom: 1rem;
}

/* line 31, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .facility-image {
  aspect-ratio: 1 / 0.65;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  grid-column: 1;
  grid-row: 1 / span 2;
}

/* line 39, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-head {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0.25rem 0 0.5rem;
}

/* line 49, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-head > .updated-at-and-code {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.7em;
  color: var(--text-color);
  top: 0.5rem;
  right: 1rem;
}

/* line 59, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-head > .labels {
  display: flex;
  gap: 0.5rem;
}

/* line 62, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-head > .labels > .label {
  padding: 0.25rem 0.8rem;
  border-radius: 5px;
  font-size: 0.8em;
  line-height: 1;
  color: #fff;
}

/* line 68, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-head > .labels > .label.new {
  background-color: var(--secondary-color);
}

/* line 71, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-head > .labels > .label.employment {
  background-color: var(--primary-color);
}

/* line 77, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-text {
  grid-column: 2;
  grid-row: 2;
}

/* line 80, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-text > .facility-name {
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

/* line 89, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-text > .catchphrase > .link {
  color: var(--primary-text-color);
  font-weight: bold;
}

/* line 92, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .offer-main > .offer-text > .catchphrase > .link:hover {
  text-decoration: underline;
}

/* line 99, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview {
  display: flex;
  flex-direction: column;
  gap: 0.8em;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--primary-color);
}

/* line 106, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .list {
  flex-grow: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}

/* line 111, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .list > .item {
  display: flex;
  align-items: center;
  word-break: keep-all;
  word-break: auto-phrase;
  gap: 0.5rem;
}

/* line 118, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .list > .item > .label {
  flex-shrink: 0;
  font-size: 90%;
  color: var(--primary-text-color);
  border: solid 2px var(--primary-color);
  border-radius: 5px;
  padding: 0 0.5rem;
  width: 5rem;
  text-align: center;
}

/* line 129, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .list > .item > .text {
  font-size: 95%;
  color: var(--color-text);
}

/* line 132, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .list > .item > .text .link {
  color: var(--color-text);
}

/* line 134, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .list > .item > .text .link:hover {
  text-decoration: underline;
}

/* line 139, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .list > .item > .link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  line-height: 1.2;
}

/* line 146, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .list > .item.salary > .text {
  font-weight: bold;
  color: var(--secondary-text-color);
}

/* line 153, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .features {
  background-color: #fffde4;
  width: 100%;
  padding: 0.25rem 0.5rem;
  line-height: 1.1;
}

/* line 160, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .features > .feature {
  display: inline;
  font-size: 0.8em;
}

/* line 163, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .features > .feature:after {
  display: inline-block;
  content: '';
  margin-right: 0.25rem;
}

/* line 168, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .features > .feature > .link {
  color: var(--text-color);
}

/* line 170, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .overview > .features > .feature > .link:hover {
  text-decoration: underline;
}

/* line 177, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .actions {
  display: flex;
  gap: 1rem;
}

/* line 180, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .actions > .action {
  flex-grow: 1;
  padding: 0.8rem 0;
  border-radius: 5px;
  color: #fff;
  font-size: 95%;
  border: 2px solid var(--primary-color);
  text-align: center;
}

/* line 188, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .actions > .action.favorite {
  padding: 0;
  color: var(--primary-text-color);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}

/* line 197, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .actions > .action.favorite > svg {
  width: 1.6em;
  height: 1.6em;
  color: var(--primary-color);
}

/* line 203, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .actions > .action.show {
  background-color: var(--primary-color);
}

/* line 207, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .actions > .action.introduction {
  background-color: var(--secondary-color);
  border-color: var(--secondary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

/* line 215, app/assets/stylesheets/home/components/offers/offer-list.scss */
#offer-list > .offer-list > .offer-item > .actions > .action.introduction > .circle {
  background-color: #fff;
  border-radius: 5px;
  color: var(--secondary-text-color);
  font-size: 70%;
  padding: 0.2rem 0.5rem;
  font-weight: bold;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  /* line 232, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list {
    margin: 0 var(--sp-section-margin);
  }
  /* line 234, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .not-found {
    padding: 2rem 0 6rem;
  }
  /* line 237, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list {
    gap: 3rem;
  }
  /* line 240, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item {
    padding: 0.8rem;
  }
  /* line 242, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .offer-main {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
  /* line 247, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .offer-main > .facility-image {
    grid-row: 2;
    aspect-ratio: 1 / 0.55;
    margin-bottom: 1rem;
    width: 100%;
  }
  /* line 253, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .offer-main > .offer-head {
    grid-column: 1;
    margin: 0 0 0.8rem;
  }
  /* line 256, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .offer-main > .offer-head > .updated-at-and-code {
    position: relative;
    top: 0;
    right: 0;
  }
  /* line 263, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .offer-main > .offer-head > .labels {
    gap: 0.8rem;
  }
  /* line 265, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .offer-main > .offer-head > .labels > .label {
    padding: 0 0.8rem;
    font-size: 1em;
    line-height: 1.5;
    border-radius: 3px;
  }
  /* line 273, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .offer-main > .offer-text {
    grid-column: 1;
    grid-row: 3;
  }
  /* line 276, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .offer-main > .offer-text > .facility-name {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }
  /* line 280, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .offer-main > .offer-text > .catchphrase {
    font-size: 1.2rem;
  }
  /* line 285, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .overview {
    gap: 1rem;
  }
  /* line 288, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .overview > .list {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  /* line 291, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .overview > .list > .item {
    gap: 1rem;
  }
  /* line 293, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .overview > .list > .item > .label {
    font-size: 1rem;
    padding: 0;
    width: auto;
    min-width: 5rem;
  }
  /* line 299, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .overview > .list > .item > .text {
    font-size: 1rem;
  }
  /* line 304, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .overview > .features {
    width: 100%;
    padding: 0.5rem;
    line-height: 1.5;
  }
  /* line 308, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .overview > .features > .feature {
    font-size: 1rem;
  }
  /* line 311, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .overview > .features > .feature:after {
    margin-right: 0.5rem;
  }
  /* line 317, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .actions {
    gap: 0.8rem;
  }
  /* line 319, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .actions > .action {
    padding: 0.6rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  /* line 325, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .actions > .action.introduction {
    flex-direction: column;
    gap: 0.25rem;
  }
  /* line 328, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .actions > .action.introduction > .circle {
    font-size: 90%;
    padding: 0.15rem 0.5rem;
  }
  /* line 333, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .actions > .action.show {
    flex-direction: column;
    line-height: 1.5;
  }
  /* line 337, app/assets/stylesheets/home/components/offers/offer-list.scss */
  #offer-list > .offer-list > .offer-item > .actions > .action.favorite {
    flex-direction: column;
  }
}

/* line 1, app/assets/stylesheets/home/components/offers/offers-header.scss */
#offers-header {
  max-width: var(--main-inner-width);
  margin: 0 auto;
}

/* line 4, app/assets/stylesheets/home/components/offers/offers-header.scss */
#offers-header > .search-result-title {
  position: relative;
  font-size: 1.8rem;
  line-height: 2.4rem;
  color: var(--primary-text-color);
  margin-bottom: 0.5rem;
  padding-left: 1.3rem;
}

/* line 11, app/assets/stylesheets/home/components/offers/offers-header.scss */
#offers-header > .search-result-title:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 2.4rem;
  background-color: var(--primary-color);
}

/* line 21, app/assets/stylesheets/home/components/offers/offers-header.scss */
#offers-header > .search-result-title.spot {
  color: var(--primary-color);
}

/* line 25, app/assets/stylesheets/home/components/offers/offers-header.scss */
#offers-header > .lead-body {
  display: block flow-root;
  font-size: 0.95rem;
  color: var(--color-text);
  padding: 0 1.5rem;
}

/* line 30, app/assets/stylesheets/home/components/offers/offers-header.scss */
#offers-header > .lead-body > .lead-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  max-height: calc(1.5em * 3);
}

/* line 40, app/assets/stylesheets/home/components/offers/offers-header.scss */
#offers-header > .lead-body > .lead-text.open {
  display: inline;
  -webkit-box-orient: initial;
  -webkit-line-clamp: initial;
  line-clamp: initial;
  max-height: none;
}

/* line 48, app/assets/stylesheets/home/components/offers/offers-header.scss */
#offers-header > .lead-body > .more {
  color: var(--primary-text-color);
  text-decoration: underline;
  font-weight: bold;
  float: right;
  font-size: 110%;
}

/* line 54, app/assets/stylesheets/home/components/offers/offers-header.scss */
#offers-header > .lead-body > .more:hover {
  text-decoration: none;
  cursor: pointer;
}

@media (max-width: 768px) {
  /* line 63, app/assets/stylesheets/home/components/offers/offers-header.scss */
  #offers-header {
    margin: 0 var(--sp-section-margin);
  }
  /* line 65, app/assets/stylesheets/home/components/offers/offers-header.scss */
  #offers-header > .search-result-title {
    font-size: 1.5rem;
    padding-left: 1rem;
  }
  /* line 70, app/assets/stylesheets/home/components/offers/offers-header.scss */
  #offers-header > .search-result-title:before {
    width: 4px;
  }
  /* line 74, app/assets/stylesheets/home/components/offers/offers-header.scss */
  #offers-header > .lead-body {
    padding: 0 0.8rem;
  }
}

/* line 2, app/assets/stylesheets/home/components/offers/offers-sorting-settings.scss */
#offers-sorting-settings > .condition-list {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
}

/* line 6, app/assets/stylesheets/home/components/offers/offers-sorting-settings.scss */
#offers-sorting-settings > .condition-list > .condition-item {
  position: relative;
  flex-basis: calc(100% / 3);
}

/* line 10, app/assets/stylesheets/home/components/offers/offers-sorting-settings.scss */
#offers-sorting-settings > .condition-list > .condition-item > .link {
  display: block;
  padding: 0.8rem 0;
  text-align: center;
  color: var(--primary-text-color);
  font-weight: bold;
  background-color: var(--color-gray-200);
  border-radius: 3px;
}

/* line 18, app/assets/stylesheets/home/components/offers/offers-sorting-settings.scss */
#offers-sorting-settings > .condition-list > .condition-item > .link.active {
  background-color: var(--primary-color);
  color: white;
}

/* line 22, app/assets/stylesheets/home/components/offers/offers-sorting-settings.scss */
#offers-sorting-settings > .condition-list > .condition-item > .link:hover {
  background-color: var(--primary-color);
  color: white;
}

/* line 27, app/assets/stylesheets/home/components/offers/offers-sorting-settings.scss */
#offers-sorting-settings > .condition-list > .condition-item:has(.active):after {
  position: absolute;
  bottom: auto;
  left: 50%;
  transform: translateX(-50%) translateY(-1px);
  content: "";
  display: block;
  width: 1.65rem;
  height: 0.8rem;
  background-color: var(--primary-color);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}

@media (max-width: 768px) {
  /* line 45, app/assets/stylesheets/home/components/offers/offers-sorting-settings.scss */
  #offers-sorting-settings {
    margin: 0 var(--sp-section-margin);
  }
  /* line 47, app/assets/stylesheets/home/components/offers/offers-sorting-settings.scss */
  #offers-sorting-settings > .condition-list {
    gap: 0.65rem;
  }
}

/* line 1, app/assets/stylesheets/home/components/offers/pagination.scss */
.offers-pagination {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.5rem;
}

/* line 7, app/assets/stylesheets/home/components/offers/pagination.scss */
.offers-pagination > .count > .count-title {
  font-size: 0.8rem;
  font-weight: normal;
}

/* line 12, app/assets/stylesheets/home/components/offers/pagination.scss */
.offers-pagination > .count > .total-count > .number {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--primary-text-color);
  line-height: 1;
}

/* line 21, app/assets/stylesheets/home/components/offers/pagination.scss */
.offers-pagination .pagination > .list {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 26, app/assets/stylesheets/home/components/offers/pagination.scss */
.offers-pagination .pagination > .list > .item > .link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 100px;
  background-color: var(--color-gray-200);
  color: var(--text-color);
}

/* line 35, app/assets/stylesheets/home/components/offers/pagination.scss */
.offers-pagination .pagination > .list > .item > .link.active {
  background-color: var(--primary-color);
  color: #fff;
}

/* line 39, app/assets/stylesheets/home/components/offers/pagination.scss */
.offers-pagination .pagination > .list > .item > .link:not(.active):hover {
  background-color: var(--primary-color);
  color: #fff;
}

/* line 44, app/assets/stylesheets/home/components/offers/pagination.scss */
.offers-pagination .pagination > .list > .item > .gap {
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 3px;
  height: 2.5rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
}

@media (max-width: 768px) {
  /* line 60, app/assets/stylesheets/home/components/offers/pagination.scss */
  .offers-pagination {
    margin: 0 var(--sp-section-margin) 1rem;
    flex-direction: column;
  }
  /* line 63, app/assets/stylesheets/home/components/offers/pagination.scss */
  .offers-pagination > .count {
    margin-bottom: 1rem;
  }
}

/* line 1, app/assets/stylesheets/home/components/offers/search-condition-button.scss */
#search-condition-button {
  display: none;
}

@media (max-width: 768px) {
  /* line 6, app/assets/stylesheets/home/components/offers/search-condition-button.scss */
  #search-condition-button {
    display: block;
    width: calc(100% - 2rem);
    margin: 0 auto 1rem;
    background-color: var(--primary-color);
    color: #fff;
    padding: 0.8rem 0;
    border: none;
    border-radius: 5px;
    text-align: center;
  }
}

/* line 1, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 6, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .all-week-select-buttons {
  display: flex;
  justify-content: space-between;
  gap: 0.25rem;
}

/* line 11, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .all-week-select-buttons > .all-week-button {
  flex: 1;
  padding: 0.5rem 0;
  background-color: #f0f0f0;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.9rem;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* line 26, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar {
  border: 1px solid #ddd;
  border-collapse: collapse;
}

/* line 31, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .caption {
  font-size: 115%;
  text-align: center;
  margin-bottom: 0.5rem;
}

/* line 37, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .row, #search-modal-calendar > .calendar .col {
  border: 1px solid #ddd;
}

/* line 42, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .col input[type="checkbox"] {
  display: none;
}

/* line 49, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .button.saturday {
  color: #2f60ff;
}

/* line 52, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .button.sunday {
  color: #fc2b2b;
}

/* line 57, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .day-button {
  width: 100%;
  height: 100%;
  padding: 1rem;
  background-color: transparent;
  border: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* line 64, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .day-button:not(.disabled) {
  cursor: pointer;
}

/* line 66, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .day-button:not(.disabled):hover {
  background-color: #f0f0f0;
}

/* line 70, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .day-button.disabled {
  color: #ccc;
}

/* line 74, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .day-button.selected .num {
  color: #fff;
  background-color: #007bff;
}

/* line 79, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .day-button .num {
  font-size: 90%;
  border-radius: 50%;
  background-color: transparent;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 92, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .header-row > .col {
  font-weight: normal;
}

/* line 97, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .month-button {
  cursor: pointer;
  text-decoration: underline;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* line 101, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .month-button:hover {
  text-decoration: none;
}

/* line 106, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .week-button {
  display: block;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  cursor: pointer;
}

/* line 110, app/assets/stylesheets/home/components/offers/search-modal-calendar.scss */
#search-modal-calendar > .calendar .week-button:hover {
  background-color: #f0f0f0;
}

/* line 1, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  max-width: 700px;
  padding: 0;
  z-index: 1000;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
  border: none;
  border-radius: 5px;
  overscroll-behavior-block: contain;
  transition-duration: 150ms;
  transition-property: display, overlay, opacity;
  transition-timing-function: ease-out;
  transition-behavior: allow-discrete;
}

/* line 19, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal::backdrop {
  background-color: rgba(0, 0, 0, 0.3);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: inherit;
}

@starting-style {
  /* line 27, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal:modal, .search-modal:modal::backdrop {
    opacity: 0;
  }
}

/* line 34, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal:not(:modal), .search-modal:not(:modal)::backdrop {
  opacity: 0;
}

/* line 39, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 1.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

/* line 45, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-header > .modal-title {
  font-size: 1.35rem;
}

/* line 48, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-header > .close-button {
  padding: 0.5rem 0.8rem;
  background-color: transparent;
  border: 0;
  font-size: 150%;
  line-height: 1;
}

/* line 54, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-header > .close-button:hover {
  cursor: pointer;
  background-color: #eee;
}

/* line 61, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  text-align: center;
  display: flex;
  justify-content: space-between;
}

/* line 67, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-footer > .button {
  display: inline-block;
  padding: 0.3rem 0.8rem;
  border-radius: 5px;
}

/* line 71, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-footer > .button:hover {
  cursor: pointer;
  opacity: 0.8;
}

/* line 75, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-footer > .button.submit-button {
  background-color: var(--primary-color);
  color: white;
  border: 0;
}

/* line 80, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-footer > .button.reset-button {
  background-color: transparent;
  color: var(--color-text);
  border: 1px solid #888;
}

/* line 84, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-footer > .button.reset-button:hover {
  background-color: #eee;
}

/* line 91, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-body {
  max-height: 70vh;
  overflow: auto;
  scrollbar-width: thin;
  padding: 1rem 1.5rem;
}

/* line 97, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-body .field .group-title {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-weight: bold;
  font-size: 100%;
  margin-bottom: 0.5rem;
}

/* line 102, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-body .field .group-title.sp {
  display: none;
}

/* line 105, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-body .field .group-title:hover {
  text-decoration: underline;
  cursor: pointer;
}

/* line 110, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-body .field .label-group {
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 115, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-body .field .label-group .label {
  flex-basis: calc((100% - 3rem) / 4);
  white-space: nowrap;
  line-height: 2;
  margin-bottom: 0.25rem;
  margin-right: 0;
}

/* line 123, app/assets/stylesheets/home/components/offers/search-modal.scss */
.search-modal .modal-body .field .label-group .label:hover {
  color: var(--primary-text-color);
}

@media (max-width: 768px) {
  /* line 137, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal {
    width: 100vw;
    height: 100vh;
    max-width: 100vw;
    max-height: 100vh;
    border-radius: 0;
    top: 0;
    left: 0;
    transform: none;
  }
  /* line 146, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal .modal-header,
.search-modal .modal-footer {
    padding: 1rem;
  }
  /* line 150, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal .modal-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
    background: #fff;
  }
  /* line 157, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal .modal-body {
    max-height: none;
    flex-grow: 1;
    padding: 6rem 1rem;
  }
  /* line 164, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal .modal-body .field .group-title.sp {
    display: block;
  }
  /* line 169, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal .modal-body .field.salary {
    margin-bottom: 1.5rem;
  }
  /* line 172, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal .modal-body .select-wrapper {
    display: flex;
    align-items: center;
  }
  /* line 175, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal .modal-body .select-wrapper #sp_salary_select {
    display: inline-block;
    font-size: 100%;
    padding: 0.8rem 1.25rem;
    border-radius: 5px;
  }
  /* line 186, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal .modal-body .select-wrapper > .suffix {
    margin-left: 0.5rem;
    font-size: 100%;
  }
  /* line 192, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .search-modal .modal-footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 10000;
    background: #fff;
  }
  /* line 204, app/assets/stylesheets/home/components/offers/search-modal.scss */
  .modal-contrent {
    display: flex;
    flex-direction: column;
  }
}

/* line 1, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar {
  margin-top: 1rem;
}

/* line 9, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar > .banner-wrapper {
  position: sticky;
  top: 0;
  z-index: 10;
  padding-top: 1.5rem;
}

/* line 17, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-box {
  border: 2px solid var(--primary-color);
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 21, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-box > .search-title {
  color: #fff;
  font-weight: normal;
  line-height: 1;
  background-color: var(--primary-color);
  text-align: center;
  padding: 0.65rem 0;
}

/* line 32, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field {
  margin: 1.25rem 0.8rem 1rem;
  padding-left: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid var(--primary-color);
}

/* line 40, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .title {
  position: relative;
  font-weight: bold;
  color: var(--primary-text-color);
  font-size: 1rem;
  line-height: 1;
  margin-bottom: 0.5rem;
}

/* line 47, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .title > svg {
  position: absolute;
  top: -0.3rem;
  left: -2rem;
  width: 1.5rem;
  height: 1.5rem;
}

/* line 55, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .selected-items {
  font-size: 90%;
  margin-bottom: 0.25rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  max-height: calc(2.5em * 3);
}

/* line 67, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .selected-items > .item {
  display: inline-block;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
}

/* line 74, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .modal-open, #search-form > .field select {
  display: inline-flex;
  align-items: center;
  font-size: 85%;
  padding: 0.25rem 0.75rem;
  border-radius: 5px;
  border: 2px solid var(--primary-color);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  background-color: #fff;
}

/* line 84, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .modal-open:hover, #search-form > .field select:hover {
  cursor: pointer;
}

/* line 87, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .modal-open:before, #search-form > .field select:before {
  display: inline-block;
  content: '+';
  font-size: 150%;
  margin-right: 0.25rem;
  font-weight: bold;
  line-height: 1;
  color: var(--primary-text-color);
}

/* line 98, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .select-field {
  display: flex;
  align-items: center;
}

/* line 101, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .select-field > .select-wrapper {
  position: relative;
}

/* line 103, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .select-field > .select-wrapper .inverted-triangle {
  color: var(--primary-color);
  width: 0.65rem;
  height: auto;
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
}

/* line 113, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .select-field #salary_select {
  display: inline-block;
  font-size: 85%;
  padding: 0.25rem 0.75rem;
  padding-right: 2rem;
  border-radius: 5px;
  border: 2px solid var(--primary-color);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

/* line 124, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .field > .select-field > .suffix {
  margin-left: 0.5rem;
  font-size: 90%;
}

/* line 130, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .submit-button {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.5rem auto;
  padding: 0.5rem 3rem;
  border-radius: 5px;
  border: 0;
  color: #fff;
  background: var(--primary-color);
}

/* line 140, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .submit-button:hover {
  cursor: pointer;
  opacity: 0.9;
}

/* line 144, app/assets/stylesheets/home/components/offers/sidebar.scss */
#search-form > .submit-button:after {
  position: absolute;
  top: 50%;
  right: 0.8rem;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(/assets/icons/magnifying-glass-606ff0ccd0d3fdb3a797b2779475659bffe91d89e69a90ae839521ca5034d3cd.png);
}

/* line 161, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner {
  padding: 1.25rem 1rem 1rem;
  background-color: var(--primary-color);
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* line 168, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .banner-text {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1rem;
  padding: 0.5rem 0.8rem;
  color: var(--secondary-text-color);
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1;
  background-color: #fff;
  border-radius: 100px;
}

/* line 179, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .bannar-title {
  color: #fff;
  font-size: 1.05rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}

/* line 187, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box {
  background-color: #fff;
  padding: 1rem 0.5rem;
  border-radius: 5px;
}

/* line 191, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .steps {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
}

/* line 196, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .steps > .step {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--color-gray-200);
  padding: 0.25rem;
}

/* line 202, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .steps > .step > .label {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  background-color: var(--primary-color);
  padding: 0.5rem 0.5rem;
  border-radius: 3px;
}

/* line 213, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .steps > .step > .label > .number {
  font-size: 1.2rem;
  font-weight: normal;
}

/* line 218, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .steps > .step > .text {
  font-size: 0.9rem;
  line-height: 1.2;
  font-weight: bold;
}

/* line 225, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 229, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .links > .link {
  font-size: 0.85rem;
  display: flex;
  align-items: center;
}

/* line 233, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .links > .link.introduction {
  background-color: var(--secondary-color);
  border-radius: 100px;
  color: #fff;
  box-shadow: 0 5px 0 var(--secondary-shadow-color);
  padding: 0.25rem 0;
}

/* line 239, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .links > .link.introduction > .circle {
  width: 2.5rem;
  height: 2.5rem;
  background-color: #fff;
  border-radius: 50%;
  color: var(--secondary-text-color);
  font-size: 75%;
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5rem;
  margin-left: 0.25rem;
  flex-shrink: 0;
}

/* line 257, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .links > .link.first {
  color: var(--primary-text-color);
  font-weight: bold;
  border-radius: 100px;
  border: 2px solid var(--primary-color);
  justify-content: center;
  padding: 1rem 0;
}

/* line 264, app/assets/stylesheets/home/components/offers/sidebar.scss */
#sidebar-banner > .white-box > .links > .link.first > svg {
  width: auto;
  height: 1.25rem;
  margin-right: 0.25rem;
}

@media (max-width: 768px) {
  /* line 283, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar > .banner-wrapper {
    padding-top: 0;
  }
  /* line 288, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #search-box {
    display: none;
  }
  /* line 292, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner {
    margin-top: 0;
    padding: 2rem 1rem 1rem;
  }
  /* line 295, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .banner-text {
    margin: 0 auto 1.5rem;
    padding: 0.8rem 1rem;
    font-size: 1rem;
    border-radius: 5px;
  }
  /* line 301, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .bannar-title {
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: 1.5rem;
  }
  /* line 306, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box {
    padding: 1.5rem 0.8rem;
  }
  /* line 308, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .steps {
    margin-bottom: 1.5rem;
  }
  /* line 311, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .steps > .step {
    gap: 1rem;
    padding: 0.5rem;
  }
  /* line 314, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .steps > .step > .label {
    font-size: 1.2rem;
    font-weight: normal;
    gap: 0.25rem;
    padding: 0.65rem 0.5rem;
    align-items: baseline;
  }
  /* line 320, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .steps > .step > .label > .number {
    font-size: 1.4rem;
  }
  /* line 324, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .steps > .step > .text {
    font-size: 1.3rem;
  }
  /* line 330, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .links {
    gap: 1.5rem;
  }
  /* line 332, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .links > .link {
    font-size: 1.25rem;
  }
  /* line 334, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .links > .link.introduction {
    position: relative;
    justify-content: center;
    border-radius: 10px;
    padding: 1.15rem 0;
    padding-left: 2rem;
    font-size: 1.28rem;
    letter-spacing: 1.1px;
  }
  /* line 342, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .links > .link.introduction > .circle {
    position: absolute;
    left: 0;
    width: 3.5rem;
    height: 3.5rem;
    margin-right: unset;
    margin-left: 0.4rem;
  }
  /* line 354, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .links > .link.first {
    border-radius: 10px;
    padding: 1.25rem 0;
  }
  /* line 357, app/assets/stylesheets/home/components/offers/sidebar.scss */
  #sidebar-banner > .white-box > .links > .link.first:before {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.5rem;
  }
}

/* line 1, app/assets/stylesheets/home/components/accounts/login.scss */
#login {
  margin: 2.5rem auto 4rem;
  max-width: var(--main-inner-width);
}

/* line 4, app/assets/stylesheets/home/components/accounts/login.scss */
#login > .title {
  font-size: 150%;
  border-left: 5px solid var(--color-blue-600);
  padding-left: 1rem;
  margin-bottom: 1.5rem;
}

/* line 11, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form {
  border: 1px solid #333;
}

/* line 14, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > #error_explanation {
  background-color: #fff6f3;
  max-width: 700px;
  margin: 1rem auto 0;
  color: red;
  padding: 1rem;
  font-weight: bold;
  border: 2px solid #f66;
}

/* line 23, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .title {
  padding: 1.5rem 2rem 1rem;
  border-bottom: 1px solid #ccc;
}

/* line 27, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields {
  padding: 1.5rem 2rem;
  max-width: 650px;
  margin: 0 auto 1rem;
}

/* line 32, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .field {
  margin-bottom: 1rem;
}

/* line 34, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .field.inline {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

/* line 38, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .field.inline > .label {
  display: inline-block;
  min-width: 8rem;
}

/* line 42, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .field.inline > .input {
  padding: 0.5rem;
  border: 1px solid #333;
  flex-grow: 1;
  font-size: 120%;
}

/* line 49, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .field.option {
  display: flex;
  justify-content: space-between;
}

/* line 52, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .field.option > .new_pass_link {
  color: var(--color-blue-600);
}

/* line 54, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .field.option > .new_pass_link:hover {
  text-decoration: underline;
}

/* line 58, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .field.option > .label {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* line 64, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .submit_btn {
  display: block;
  width: 250px;
  margin: 1rem auto;
  padding: 0.8rem 0;
  border: 0;
  color: #fff;
  background-color: #3c88eb;
}

/* line 73, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .fields > .submit_btn:hover {
  cursor: pointer;
  opacity: 0.8;
}

/* line 80, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links {
  padding: 1rem 2rem;
  margin-bottom: 1rem;
}

/* line 83, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .attention {
  text-align: center;
  margin-bottom: 1rem;
  font-size: 85%;
  justify-content: space-between;
}

/* line 89, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .links {
  display: flex;
  justify-content: center;
}

/* line 92, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .links > .login_btn {
  position: relative;
  display: inline-block;
  margin: 0 0.5rem;
  padding: 0.8rem;
  padding-left: 2rem;
  width: 280px;
  box-sizing: border-box;
  text-align: center;
}

/* line 101, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .links > .login_btn:before {
  position: absolute;
  display: inline-block;
  content: '';
  width: 2rem;
  height: 2rem;
  left: 1.0rem;
  top: 0.5rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* line 113, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .links > .login_btn.facebook {
  background-color: #1877f2;
  color: #fff;
}

/* line 116, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .links > .login_btn.facebook:before {
  background-image: url(/assets/social_logos/facebook_logo-c694be74a8202a650523f29e1a2a52c45e3cb11f9c9fa237216fb2cf6c048af1.png);
}

/* line 120, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .links > .login_btn.twitter {
  background-color: #1D9BF0;
  color: #fff;
}

/* line 123, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .links > .login_btn.twitter:before {
  background-image: url(/assets/social_logos/twitter_logo-bc95faf95f7713c14d51b7c35de18a70eb776b03b8ba8e2b5700a3a83581c0e8.svg);
}

/* line 127, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .links > .login_btn.google_oauth2 {
  background-color: #fff;
  color: #222;
  font-weight: bold;
  border: 1px solid #333;
}

/* line 133, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .social_links > .links > .login_btn.google_oauth2:before {
  background-image: url(/assets/social_logos/google_logo-2fb96b78a0d26628cb49d265b7531da9218c9e65f0149d118b2176c6af6353d7.png);
}

/* line 140, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .footer {
  border-top: 1px solid #ccc;
  padding: 2rem;
  text-align: center;
}

/* line 144, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .footer > .new_link {
  display: inline-block;
  color: var(--color-blue-600);
  margin: 0 0.3rem;
}

/* line 150, app/assets/stylesheets/home/components/accounts/login.scss */
#login > #login_form > .footer > .new_link:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  /* line 161, app/assets/stylesheets/home/components/accounts/login.scss */
  #login {
    padding: 2.5%;
    margin: 2.5rem auto 4rem;
  }
  /* line 165, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > .title {
    font-size: 5vw;
    padding-left: 1rem;
    margin-bottom: 1.5rem;
  }
  /* line 171, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form {
    border: 1px solid #333;
  }
  /* line 174, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > #error_explanation {
    background-color: #fff6f3;
    max-width: 700px;
    margin: 1rem auto 0;
    color: red;
    padding: 1rem;
    font-weight: bold;
    border: 2px solid #f66;
  }
  /* line 183, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .title {
    padding: 1.5rem 2rem 1rem;
    border-bottom: 1px solid #ccc;
  }
  /* line 187, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields {
    padding: 1.5rem 2rem;
    max-width: 650px;
    margin: 0 auto 1rem;
  }
  /* line 192, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .field {
    margin-bottom: 1rem;
  }
  /* line 194, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .field.inline {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
  /* line 199, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .field.inline > .label {
    display: inline-block;
    min-width: 8rem;
  }
  /* line 203, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .field.inline > .input {
    padding: 0.5rem;
    border: 1px solid #333;
    flex-grow: 1;
    font-size: 120%;
    width: 100%;
  }
  /* line 212, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .field.option {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
  }
  /* line 216, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .field.option > .new_pass_link {
    color: var(--color-blue-600);
  }
  /* line 218, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .field.option > .new_pass_link:hover {
    text-decoration: underline;
  }
  /* line 222, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .field.option > .label {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  /* line 228, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .submit_btn {
    display: block;
    width: 250px;
    margin: 1rem auto;
    padding: 0.8rem 0;
    border: 0;
    color: #fff;
    background-color: #3c88eb;
  }
  /* line 237, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .fields > .submit_btn:hover {
    cursor: pointer;
    opacity: 0.8;
  }
  /* line 244, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links {
    padding: 1rem 2rem;
    margin-bottom: 1rem;
  }
  /* line 247, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .attention {
    text-align: center;
    margin-bottom: 1rem;
    font-size: 85%;
    justify-content: space-between;
  }
  /* line 253, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .links {
    display: flex;
    justify-content: center;
  }
  /* line 256, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .links > .login_btn {
    position: relative;
    display: inline-block;
    margin: 0 0.5rem;
    padding: 0.8rem;
    padding-left: 2rem;
    width: 280px;
    box-sizing: border-box;
    text-align: center;
  }
  /* line 265, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .links > .login_btn:before {
    position: absolute;
    display: inline-block;
    content: '';
    width: 2rem;
    height: 2rem;
    left: 1.0rem;
    top: 0.5rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  /* line 277, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .links > .login_btn.facebook {
    background-color: #1877f2;
    color: #fff;
  }
  /* line 280, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .links > .login_btn.facebook:before {
    background-image: url(/assets/social_logos/facebook_logo-c694be74a8202a650523f29e1a2a52c45e3cb11f9c9fa237216fb2cf6c048af1.png);
  }
  /* line 284, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .links > .login_btn.twitter {
    background-color: #1D9BF0;
    color: #fff;
  }
  /* line 287, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .links > .login_btn.twitter:before {
    background-image: url(/assets/social_logos/twitter_logo-bc95faf95f7713c14d51b7c35de18a70eb776b03b8ba8e2b5700a3a83581c0e8.svg);
  }
  /* line 291, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .links > .login_btn.google_oauth2 {
    background-color: #fff;
    color: #222;
    font-weight: bold;
    border: 1px solid #333;
  }
  /* line 297, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .social_links > .links > .login_btn.google_oauth2:before {
    background-image: url(/assets/social_logos/google_logo-2fb96b78a0d26628cb49d265b7531da9218c9e65f0149d118b2176c6af6353d7.png);
  }
  /* line 304, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .footer {
    border-top: 1px solid #ccc;
    padding: 2rem;
    text-align: center;
  }
  /* line 308, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .footer > .new_link {
    display: inline-block;
    color: var(--color-blue-600);
    margin: 0 0.3rem;
  }
  /* line 314, app/assets/stylesheets/home/components/accounts/login.scss */
  #login > #login_form > .footer > .new_link:hover {
    text-decoration: underline;
  }
}

/* line 3, app/assets/stylesheets/home/components/accounts/password_reset.scss */
#login > #login_form > .explanation {
  padding: 0 2rem;
  max-width: 650px;
  margin: 3rem auto 0;
}

/* line 1, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration {
  margin: 2.5rem auto 4rem;
  max-width: var(--main-inner-width);
}

/* line 6, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box_header {
  font-size: 150%;
  border-left: 5px solid #2660AC;
  padding-left: 1rem;
  margin-bottom: 1.5rem;
}

/* line 12, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box {
  border: 1px solid #888;
  padding: 1.8rem;
  padding-bottom: 2.5rem;
}

/* line 18, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields {
  margin-bottom: 1.8rem;
}

/* line 20, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field {
  display: flex;
  border: 1px solid #ccc;
  border-bottom: none;
}

/* line 24, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field:last-child {
  border-bottom: 1px solid #ccc;
}

/* line 27, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .label, #registration > .box .fields > .field .input {
  padding: 1.5rem 2rem 1rem;
  box-sizing: border-box;
}

/* line 31, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .label {
  background-color: #f5f5f5;
  width: 28%;
  max-width: 300px;
  min-width: 100px;
}

/* line 37, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .label label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

/* line 42, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .label label:after {
  display: inline-block;
  content: " 必須";
  background-color: #f73e00;
  color: #fff;
  font-size: 80%;
  font-weight: normal;
  padding: 0.25rem 0.5rem;
  line-height: 1;
  border-radius: 2px;
}

/* line 55, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .input {
  flex-grow: 1;
}

/* line 58, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .input input, #registration > .box .fields > .field > .input select {
  padding: 0.3rem 0.5rem;
  font-size: 120%;
  box-sizing: border-box;
  outline: none;
}

/* line 70, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .input > .prefix_text {
  display: inline-block;
  margin-right: 0.5rem;
}

/* line 73, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .input > .prefix_text.last {
  margin-left: 0.5rem;
}

/* line 77, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .input .name_filed {
  max-width: 200px;
}

/* line 80, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field > .input .error_message {
  margin: 0.5rem 0;
  color: red;
  font-size: 85%;
}

/* line 87, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .fields > .field .field_with_errors input, #registration > .box .fields > .field .field_with_errors select {
  border: 2px solid red;
}

/* line 94, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .attention {
  margin-bottom: 2rem;
  text-align: center;
}

/* line 97, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .attention > .link {
  color: var(--color-blue-600);
  text-decoration: underline;
}

/* line 100, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .attention > .link:hover {
  text-decoration: none;
}

/* line 104, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .attention > .sub {
  font-size: 90%;
  margin-top: 0.5rem;
}

/* line 110, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .submit {
  display: block;
  margin: auto;
  width: 30%;
  max-width: 280px;
  padding: 0.5rem 0;
  border: 0;
  color: #fff;
  background-color: #3c88eb;
}

/* line 119, app/assets/stylesheets/home/components/accounts/registration.scss */
#registration > .box .submit:hover {
  cursor: pointer;
  opacity: 0.8;
}

@media (max-width: 768px) {
  /* line 130, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration {
    font-size: 3vw;
    margin: 3vw auto 5vw;
    padding: 1.5vw;
  }
  /* line 134, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box_header {
    font-size: 4.5vw;
    padding-left: 3vw;
    margin-bottom: 4.5vw;
  }
  /* line 140, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box {
    padding: 3vw;
    padding-bottom: 5vw;
  }
  /* line 143, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields {
    margin-bottom: 1.8rem;
  }
  /* line 145, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields > .field {
    flex-direction: column;
  }
  /* line 147, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields > .field > .label, #registration > .box .fields > .field .input {
    padding: 2.5vw;
  }
  /* line 150, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields > .field > .label {
    width: 100%;
    max-width: unset;
    min-width: unset;
  }
  /* line 155, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields > .field > .label label:after {
    padding: 0.75vw 1.5vw;
  }
  /* line 161, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields > .field > .input input, #registration > .box .fields > .field > .input select {
    padding: 0.75vw 1.5vw;
    font-size: 115%;
  }
  /* line 165, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields > .field > .input > .prefix_text {
    margin-right: 1vw;
  }
  /* line 167, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields > .field > .input > .prefix_text.last {
    margin-left: 1vw;
  }
  /* line 171, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields > .field > .input .name_filed {
    width: 40%;
  }
  /* line 174, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .fields > .field > .input .error_message {
    margin: 1.5vw 0;
    font-size: 85%;
  }
  /* line 182, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .attention {
    margin-bottom: 5vw;
    text-align: left;
  }
  /* line 185, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .attention > .sub {
    margin-top: 1.5vw;
  }
  /* line 190, app/assets/stylesheets/home/components/accounts/registration.scss */
  #registration > .box .submit {
    width: 45%;
    padding: 1.5vw 0;
  }
}

/* line 1, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete {
  margin: 2.5rem auto 4rem;
  max-width: var(--main-inner-width);
  border: 1px solid #333;
  text-align: center;
}

/* line 6, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete > .title {
  font-size: 150%;
  padding: 1.5rem 2rem 1rem;
  border-bottom: 1px solid #ccc;
}

/* line 11, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete > .body {
  padding: 2rem;
  font-size: 110%;
}

/* line 14, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete > .body > p {
  margin-bottom: 1.5rem;
}

/* line 16, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete > .body > p:last-child {
  margin-bottom: 0;
}

/* line 19, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete > .body > p > a {
  display: inline-block;
  margin-bottom: 0.8rem;
  color: var(--color-blue-600);
  text-decoration: underline;
}

/* line 25, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete > .body > p > a:hover {
  text-decoration: none;
}

/* line 32, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete > .foot > .tel_info {
  padding: 1.5rem 0 2rem;
  border-top: 1px solid #ccc;
}

/* line 35, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete > .foot > .tel_info > .tel_number {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 160%;
  font-weight: bold;
  padding-left: 2rem;
}

/* line 42, app/assets/stylesheets/home/components/accounts/registration_complete.scss */
#registration_complete > .foot > .tel_info > .tel_number:before {
  content: '';
  display: inline-block;
  width: 2.5rem;
  height: 1.8rem;
  background-image: url(/assets/_old/tel_icon-d7dfc3ab593d68ef23f81e945ccdbb7f35a69850a4b2b564be80deb3d4e58616.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: top;
  margin-right: 0.2rem;
}

/* line 1, app/assets/stylesheets/home/components/old/abount.scss */
#about {
  max-width: var(--main-inner-width);
  margin: 0 auto 3rem;
}

/* line 5, app/assets/stylesheets/home/components/old/abount.scss */
#about .sec_title {
  display: block;
  font-weight: bold;
  margin-bottom: 25px;
  padding: 8px 16px;
  background-color: #e7f5f9;
  font-size: 110%;
  margin-top: 25px;
}

/* line 15, app/assets/stylesheets/home/components/old/abount.scss */
#about .intro > p {
  font-size: 100%;
  margin-bottom: 25px;
}

/* line 22, app/assets/stylesheets/home/components/old/abount.scss */
#about .merit .m_main .m_list {
  display: flex;
  justify-content: space-between;
}

/* line 25, app/assets/stylesheets/home/components/old/abount.scss */
#about .merit .m_main .m_list .m_box {
  width: 32%;
  background: url(/merit_b_ornament_lt.png) no-repeat top left, url(/merit_b_ornament_rt.png) no-repeat top right, url(/merit_b_ornament_lb.png) no-repeat bottom left, url(/merit_b_ornament_rb.png) no-repeat bottom right;
  background-color: #003466;
  border: 3px solid #ebdb77;
  color: #fff;
  margin-bottom: 20px;
  padding: 10px 20px 20px;
  box-sizing: border-box;
}

/* line 38, app/assets/stylesheets/home/components/old/abount.scss */
#about .merit .m_main .m_list .mb_title {
  color: #EBDB75;
  text-align: center;
  font-size: 150%;
  border-bottom: 2px solid #ebdb75;
  margin-bottom: 15px;
}

/* line 45, app/assets/stylesheets/home/components/old/abount.scss */
#about .merit .m_main .m_list .mb_copy {
  text-align: center;
  font-weight: normal;
  margin-bottom: 15px;
}

/* line 50, app/assets/stylesheets/home/components/old/abount.scss */
#about .merit .m_main .m_list .mb_illust {
  margin-bottom: 15px;
  text-align: center;
}

/* line 53, app/assets/stylesheets/home/components/old/abount.scss */
#about .merit .m_main .m_list .mb_illust img {
  height: 180px;
}

/* line 57, app/assets/stylesheets/home/components/old/abount.scss */
#about .merit .m_main .m_list .mb_text {
  font-size: 90%;
}

/* line 59, app/assets/stylesheets/home/components/old/abount.scss */
#about .merit .m_main .m_list .mb_text .strong {
  color: #FCF004;
}

@media (max-width: 768px) {
  /* line 71, app/assets/stylesheets/home/components/old/abount.scss */
  #about .merit .m_main .m_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 5%;
  }
  /* line 76, app/assets/stylesheets/home/components/old/abount.scss */
  #about .merit .m_main .m_list .m_box {
    width: 100%;
  }
}

/* line 1, app/assets/stylesheets/home/components/old/access.scss */
#access {
  max-width: var(--main-inner-width);
  margin: 2rem auto 3rem;
}

/* line 4, app/assets/stylesheets/home/components/old/access.scss */
#access img {
  width: 100%;
}

/* line 7, app/assets/stylesheets/home/components/old/access.scss */
#access .row {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

/* line 11, app/assets/stylesheets/home/components/old/access.scss */
#access .row .l,
#access .row .r {
  width: 49%;
  margin-bottom: 20px;
}

/* line 18, app/assets/stylesheets/home/components/old/access.scss */
#access h3 {
  margin: 0 0 20px 0;
  padding: 6px 20px 0 20px;
  box-sizing: border-box;
  background: #EEE;
  font-size: 30px;
  font-weight: normal;
}

/* line 26, app/assets/stylesheets/home/components/old/access.scss */
#access p {
  margin: 0 0 20px 0;
}

/* line 29, app/assets/stylesheets/home/components/old/access.scss */
#access img {
  vertical-align: top;
}

@media (max-width: 768px) {
  /* line 35, app/assets/stylesheets/home/components/old/access.scss */
  #access .row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  /* line 39, app/assets/stylesheets/home/components/old/access.scss */
  #access .row .l,
#access .row .r {
    width: 100%;
    margin-bottom: 20px;
  }
  /* line 46, app/assets/stylesheets/home/components/old/access.scss */
  #access h3 {
    margin: 0 0 20px 0;
    padding: 6px 20px 0 20px;
    box-sizing: border-box;
    background: #EEE;
    font-size: 30px;
    font-weight: normal;
  }
  /* line 54, app/assets/stylesheets/home/components/old/access.scss */
  #access p {
    margin: 0 0 20px 0;
  }
  /* line 57, app/assets/stylesheets/home/components/old/access.scss */
  #access img {
    vertical-align: top;
  }
}

/* line 1, app/assets/stylesheets/home/components/old/case.scss */
#case_list {
  max-width: var(--main-inner-width);
  margin: 0 auto 3rem;
}

/* line 5, app/assets/stylesheets/home/components/old/case.scss */
#case_list .intro {
  margin-bottom: 40px;
}

/* line 9, app/assets/stylesheets/home/components/old/case.scss */
#case_list .link_list > ul {
  margin: 20px 0 0 0;
  display: flex;
}

/* line 12, app/assets/stylesheets/home/components/old/case.scss */
#case_list .link_list > ul > li {
  margin: 0 20px 0 0;
  display: inline-block;
  width: 50%;
}

/* line 19, app/assets/stylesheets/home/components/old/case.scss */
#case_list .profile {
  display: table;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0 0 5px 0 #CCC;
  -moz-box-shadow: 0 0 5px 0 #CCC;
  -webkit-box-shadow: 0 0 5px 0 #CCC;
  box-sizing: border-box;
  width: 100%;
  background: #F9F9F9;
}

/* line 29, app/assets/stylesheets/home/components/old/case.scss */
#case_list .profile:hover {
  opacity: 0.8;
}

/* line 33, app/assets/stylesheets/home/components/old/case.scss */
#case_list .profile > .l img {
  max-width: 80px;
}

/* line 37, app/assets/stylesheets/home/components/old/case.scss */
#case_list .profile > .r {
  width: 90%;
  padding: 0 0 0 20px;
  display: table-cell;
  vertical-align: middle;
  color: #888;
}

/* line 44, app/assets/stylesheets/home/components/old/case.scss */
#case_list .profile > .r h3 {
  padding: 0;
  background: none;
  font-weight: bold;
  margin: 0 0 5px 0;
  line-height: 1.2;
  font-size: 16px;
}

/* line 51, app/assets/stylesheets/home/components/old/case.scss */
#case_list .profile > .r h3 span {
  font-family: "Century Gothic",sans-serif;
  font-size: 30px;
}

/* line 58, app/assets/stylesheets/home/components/old/case.scss */
#case_list .btn {
  margin: 50px auto;
  padding: 24px 20px 18px 20px;
  box-sizing: border-box;
  display: block;
  max-width: 400px;
  line-height: 1.3;
  color: #FFF;
  background: #0097c7;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
}

/* line 71, app/assets/stylesheets/home/components/old/case.scss */
#case_list .btn:hover {
  opacity: 0.8;
}

@media (max-width: 768px) {
  /* line 78, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .intro {
    margin-bottom: 40px;
  }
  /* line 82, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .link_list > ul {
    margin: 20px 0 0 0;
    display: flex;
    flex-wrap: wrap;
  }
  /* line 86, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .link_list > ul > li {
    margin: 0 0 20px 0;
    display: inline-block;
    width: 100%;
  }
  /* line 93, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .profile {
    display: block;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 0 5px 0 #CCC;
    -moz-box-shadow: 0 0 5px 0 #CCC;
    -webkit-box-shadow: 0 0 5px 0 #CCC;
    box-sizing: border-box;
    width: 100%;
    background: #F9F9F9;
  }
  /* line 103, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .profile:hover {
    opacity: 0.8;
  }
  /* line 107, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .profile > .l img {
    max-width: 80px;
  }
  /* line 111, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .profile > .r {
    width: 90%;
    padding: 0;
    display: block;
    vertical-align: middle;
    color: #888;
  }
  /* line 118, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .profile > .r h3 {
    padding: 0;
    background: none;
    font-weight: bold;
    margin: 0 0 5px 0;
    line-height: 1.2;
    font-size: 16px;
  }
  /* line 125, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .profile > .r h3 span {
    font-family: "Century Gothic",sans-serif;
    font-size: 30px;
  }
  /* line 132, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .btn {
    margin: 50px auto;
    padding: 24px 20px 18px 20px;
    box-sizing: border-box;
    display: block;
    max-width: 400px;
    line-height: 1.3;
    color: #FFF;
    background: #0097c7;
    font-weight: bold;
    font-size: 18px;
    text-align: center;
  }
  /* line 145, app/assets/stylesheets/home/components/old/case.scss */
  #case_list .btn:hover {
    opacity: 0.8;
  }
}

/* line 155, app/assets/stylesheets/home/components/old/case.scss */
#case_detail {
  max-width: var(--main-inner-width);
  margin: 0 auto 3rem;
}

/* line 159, app/assets/stylesheets/home/components/old/case.scss */
#case_detail > .box {
  padding: 20px;
}

/* line 162, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .profile {
  display: block;
  margin: 0 0 40px 0;
}

/* line 166, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .profile > .l img {
  max-width: 150px;
}

/* line 170, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .profile > .r {
  padding: 0;
  display: block;
  vertical-align: middle;
  color: #888;
}

/* line 176, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .profile > .r h3 {
  margin: 0 0 10px 0;
  font-size: 24px;
  line-height: 1.2;
  padding: 0;
  background: none;
  font-weight: bold;
}

/* line 183, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .profile > .r h3 span {
  font-size: 50px;
  font-family: "Century Gothic",sans-serif;
}

/* line 191, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .tg-wrap {
  margin-bottom: 40px;
}

/* line 193, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .tg-wrap table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

/* line 197, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .tg-wrap table th {
  padding: 10px 15px;
  border: 1px solid #FFF;
  overflow: hidden;
  width: 33.33%;
  color: #00BBDE;
  background: #C9EFF2;
  font-size: 16px;
}

/* line 206, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .tg-wrap table td {
  padding: 10px 15px;
  border: 1px solid #C9EFF2;
  overflow: hidden;
  background: #FFF;
}

/* line 213, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .tg-wrap .sky {
  border: 1px solid #FFF;
  color: #00BBDE;
  background: #C9EFF2;
  font-weight: bold;
  font-size: 16px;
}

/* line 223, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .faq dl {
  display: inherit;
  margin: 30px 0 0 0;
}

/* line 227, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .faq dt {
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px dotted #00BBDE;
  line-height: 1;
  color: #00BBDE;
  font-weight: bold;
  font-size: 18px;
}

/* line 235, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .faq dt span {
  margin: 0 10px 0 0;
  font-family: "Century Gothic",sans-serif;
  font-weight: normal;
  font-size: 34px;
}

/* line 242, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .faq dd {
  padding: 0;
  width: auto;
  background: none;
}

/* line 249, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .btn {
  margin: 40px auto;
  padding: 24px 20px 18px 20px;
  box-sizing: border-box;
  display: block;
  max-width: 400px;
  line-height: 1.3;
  color: #FFF;
  background: #0097c7;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
}

/* line 262, app/assets/stylesheets/home/components/old/case.scss */
#case_detail .btn:hover {
  opacity: 0.8;
}

@media (max-width: 768px) {
  /* line 269, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail > .box {
    padding: 0;
  }
  /* line 272, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .profile {
    display: table;
    margin: 0 0 40px 0;
  }
  /* line 276, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .profile > .l img {
    max-width: 150px;
  }
  /* line 280, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .profile > .r {
    padding: 0 0 0 20px;
    display: table-cell;
    vertical-align: middle;
    color: #888;
  }
  /* line 286, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .profile > .r h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    line-height: 1.2;
    padding: 0;
    background: none;
    font-weight: bold;
  }
  /* line 293, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .profile > .r h3 span {
    font-size: 50px;
    font-family: "Century Gothic",sans-serif;
  }
  /* line 301, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .tg-wrap {
    margin-bottom: 40px;
  }
  /* line 303, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .tg-wrap table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
  }
  /* line 307, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .tg-wrap table th {
    padding: 10px 15px;
    border: 1px solid #FFF;
    overflow: hidden;
    width: 33.33%;
    color: #00BBDE;
    background: #C9EFF2;
    font-size: 16px;
  }
  /* line 316, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .tg-wrap table td {
    padding: 10px 15px;
    border: 1px solid #C9EFF2;
    overflow: hidden;
    background: #FFF;
  }
  /* line 323, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .tg-wrap .sky {
    border: 1px solid #FFF;
    color: #00BBDE;
    background: #C9EFF2;
    font-weight: bold;
    font-size: 16px;
  }
  /* line 333, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .faq dl {
    display: inherit;
    margin: 30px 0 0 0;
  }
  /* line 337, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .faq dt {
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    border-bottom: 1px dotted #00BBDE;
    line-height: 1;
    color: #00BBDE;
    font-weight: bold;
    font-size: 18px;
  }
  /* line 345, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .faq dt span {
    margin: 0 10px 0 0;
    font-family: "Century Gothic",sans-serif;
    font-weight: normal;
    font-size: 34px;
  }
  /* line 352, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .faq dd {
    padding: 0;
    width: auto;
    background: none;
  }
  /* line 359, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .btn {
    margin: 40px auto;
    padding: 24px 20px 18px 20px;
    box-sizing: border-box;
    display: block;
    max-width: 400px;
    line-height: 1.3;
    color: #FFF;
    background: #0097c7;
    font-weight: bold;
    font-size: 18px;
    text-align: center;
  }
  /* line 372, app/assets/stylesheets/home/components/old/case.scss */
  #case_detail .btn:hover {
    opacity: 0.8;
  }
}

/* line 1, app/assets/stylesheets/home/components/old/company_info.scss */
#company_info {
  max-width: var(--main-inner-width);
  margin: 2rem auto 3rem;
}

/* line 5, app/assets/stylesheets/home/components/old/company_info.scss */
#company_info h3 {
  margin: 40px 0 10px 0;
  padding: 6px 20px 0 20px;
  box-sizing: border-box;
  font-size: 30px;
  font-weight: normal;
}

/* line 12, app/assets/stylesheets/home/components/old/company_info.scss */
#company_info h3:first-of-type {
  margin-top: 0;
}

/* line 16, app/assets/stylesheets/home/components/old/company_info.scss */
#company_info dl {
  margin: 1px 0 0 0;
  display: flex;
}

/* line 20, app/assets/stylesheets/home/components/old/company_info.scss */
#company_info dt {
  padding: 10px 20px 8px 20px;
  box-sizing: border-box;
  width: 20%;
  background: #e5e5e5;
}

/* line 27, app/assets/stylesheets/home/components/old/company_info.scss */
#company_info dd {
  padding: 10px 20px 8px 20px;
  box-sizing: border-box;
  width: 80%;
  background: #f5f5f5;
}

/* line 1, app/assets/stylesheets/home/components/old/contact.scss */
#contact {
  max-width: var(--main-inner-box-width);
  margin: 0 auto 3rem;
  margin-top: 1.5rem;
}

/* line 6, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .main-title {
  font-size: 160%;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}

/* line 11, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .main-title:before {
  content: "";
  display: inline-block;
  height: 1.8rem;
  padding-left: 8px;
  border-left: 5px solid var(--color-blue-600);
}

/* line 19, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .explanation {
  font-size: 110%;
  margin-bottom: 1rem;
}

/* line 25, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > #error_explanation {
  margin-bottom: 1rem;
  color: red;
}

/* line 30, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .field {
  display: flex;
  border: 1px solid #ccc;
  border-bottom: none;
}

/* line 34, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .field:last-of-type {
  border-bottom: 1px solid #ccc;
}

/* line 37, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .field > .label {
  flex-basis: 250px;
  flex-shrink: 0;
  font-size: 95%;
  padding: 1.5rem 1rem;
  background-color: #e8f8fa;
  font-weight: bold;
  border-right: 1px solid #ccc;
}

/* line 46, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .field > .label label.require {
  display: flex;
  align-items: center;
}

/* line 49, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .field > .label label.require:after {
  content: " 必須";
  font-weight: normal;
  color: #fff;
  background-color: #c52c3a;
  font-size: 85%;
  padding: 0 0.5rem;
  margin-left: 0.5rem;
  display: inline-block;
}

/* line 64, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .field > .input {
  flex-grow: 1;
  padding: 1.5rem 1rem;
}

/* line 67, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .field > .input input[type='text'],
#contact > #contact_form > .field > .input input[type='email'],
#contact > #contact_form > .field > .input textarea {
  padding: 0.5rem;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #aaa;
  border-radius: 3px;
}

/* line 79, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .action {
  margin-top: 4rem;
  display: flex;
  justify-content: center;
}

/* line 83, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .action > .submit {
  padding: 0.8rem 0;
  color: #fff;
  font-weight: bold;
  border: none;
  border-radius: 5px;
  width: 80%;
  max-width: 400px;
}

/* line 91, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .action > .submit:hover {
  cursor: pointer;
  opacity: 0.8;
}

/* line 95, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .action > .submit.confirm {
  background-color: #929e9f;
}

/* line 98, app/assets/stylesheets/home/components/old/contact.scss */
#contact > #contact_form > .action > .submit.send {
  background: #e87514;
  background: linear-gradient(0deg, #e87514 0%, #f38f26 100%);
}

/* line 108, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .done {
  width: 95%;
  margin: auto;
}

/* line 111, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .done > .title {
  font-size: 160%;
  text-align: center;
  border-bottom: 2px solid #888;
  margin-bottom: 1.5rem;
}

/* line 117, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .done > .text {
  text-align: center;
  margin-bottom: 1rem;
  font-size: 110%;
}

/* line 123, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .done > .tel_info {
  padding-top: 1.5rem;
  border-top: 2px solid #888;
  text-align: center;
}

/* line 127, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .done > .tel_info > .reception_time {
  font-size: 85%;
  text-align: center;
  margin-bottom: 0.5rem;
}

/* line 132, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .done > .tel_info > .tel_number {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 160%;
  font-weight: bold;
}

/* line 138, app/assets/stylesheets/home/components/old/contact.scss */
#contact > .done > .tel_info > .tel_number:before {
  content: '';
  display: inline-block;
  width: 2.5rem;
  height: 1.8rem;
  background-image: url(/tel_icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: top;
  margin-right: 0.2rem;
}

@media (max-width: 768px) {
  /* line 156, app/assets/stylesheets/home/components/old/contact.scss */
  #contact {
    padding: 2.5%;
    font-size: 3.5vw;
    margin-top: 1.5rem;
  }
  /* line 160, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .main-title {
    font-size: 6vw;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
  }
  /* line 165, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .main-title:before {
    content: "";
    display: inline-block;
    height: 1.8rem;
    padding-left: 8px;
    border-left: 5px solid var(--color-blue-600);
  }
  /* line 173, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .explanation {
    font-size: 110%;
    margin-bottom: 1rem;
  }
  /* line 179, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > #error_explanation {
    margin-bottom: 1rem;
    color: red;
  }
  /* line 184, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .field {
    display: flex;
    flex-direction: column;
    border: 1px solid #ccc;
    border-bottom: none;
  }
  /* line 189, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .field:last-of-type {
    border-bottom: 1px solid #ccc;
  }
  /* line 192, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .field > .label {
    flex-basis: auto;
    flex-shrink: 0;
    font-size: 95%;
    padding: 1.5rem 1rem;
    background-color: #e8f8fa;
    font-weight: bold;
    border-right: 1px solid #ccc;
  }
  /* line 200, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .field > .label label.require {
    display: flex;
    align-items: center;
  }
  /* line 203, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .field > .label label.require:after {
    content: " 必須";
    font-weight: normal;
    color: #fff;
    background-color: #c52c3a;
    font-size: 85%;
    padding: 0 0.5rem;
    margin-left: 0.5rem;
    display: inline-block;
  }
  /* line 218, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .field > .input {
    flex-grow: 1;
    padding: 1.5rem 1rem;
  }
  /* line 221, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .field > .input input[type='text'],
#contact > #contact_form > .field > .input textarea {
    padding: 0.5rem;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #aaa;
    border-radius: 3px;
  }
  /* line 232, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .action {
    margin-top: 4rem;
    display: flex;
    justify-content: center;
  }
  /* line 236, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .action > .submit {
    padding: 0.8rem 0;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 5px;
    width: 80%;
    max-width: 400px;
  }
  /* line 244, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .action > .submit:hover {
    cursor: pointer;
    opacity: 0.8;
  }
  /* line 248, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .action > .submit.confirm {
    background-color: #929e9f;
  }
  /* line 251, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > #contact_form > .action > .submit.send {
    background: #e87514;
    background: linear-gradient(0deg, #e87514 0%, #f38f26 100%);
  }
  /* line 261, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .done {
    width: 95%;
    margin: auto;
  }
  /* line 264, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .done > .title {
    font-size: 160%;
    text-align: center;
    border-bottom: 2px solid #888;
    margin-bottom: 1.5rem;
  }
  /* line 270, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .done > .text {
    text-align: center;
    margin-bottom: 1rem;
    font-size: 110%;
  }
  /* line 276, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .done > .tel_info {
    padding-top: 1.5rem;
    border-top: 2px solid #888;
    text-align: center;
  }
  /* line 280, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .done > .tel_info > .reception_time {
    font-size: 85%;
    text-align: center;
    margin-bottom: 0.5rem;
  }
  /* line 285, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .done > .tel_info > .tel_number {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 160%;
    font-weight: bold;
  }
  /* line 291, app/assets/stylesheets/home/components/old/contact.scss */
  #contact > .done > .tel_info > .tel_number:before {
    content: '';
    display: inline-block;
    width: 2.5rem;
    height: 1.8rem;
    background-image: url(/assets/_old/tel_icon-d7dfc3ab593d68ef23f81e945ccdbb7f35a69850a4b2b564be80deb3d4e58616.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: top;
    margin-right: 0.2rem;
  }
}

/* line 1, app/assets/stylesheets/home/components/old/customer.scss */
#customer {
  max-width: var(--main-inner-width);
  margin: 0 auto 3rem;
  font-size: 85%;
  line-height: 1.8;
}

/* line 5, app/assets/stylesheets/home/components/old/customer.scss */
#customer img {
  width: 100%;
}

/* line 11, app/assets/stylesheets/home/components/old/customer.scss */
#customer a {
  color: #444;
}

/* line 14, app/assets/stylesheets/home/components/old/customer.scss */
#customer .row {
  display: table;
  table-layout: fixed;
  width: 100%;
}

/* line 18, app/assets/stylesheets/home/components/old/customer.scss */
#customer .row .l,
#customer .row .r {
  padding: 0 20px 0 0;
  display: table-cell;
  vertical-align: middle;
}

/* line 26, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .intro {
  margin: 20px 0 50px;
}

/* line 28, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .intro h3 {
  margin-bottom: 30px;
}

/* line 33, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .publish {
  padding: 50px 15px;
  background: #EEE;
  text-align: center;
}

/* line 37, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .publish h4 {
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: normal;
  font-size: 200%;
  margin: 0px 0px 20px;
}

/* line 43, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .publish .price {
  margin: 30px auto 0 auto;
  max-width: 355px;
}

/* line 47, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .publish .l,
#customer > .publish .r {
  vertical-align: top;
}

/* line 51, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .publish .r > ul {
  margin: 15px auto;
  font-family: "Century Gothic";
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0;
}

/* line 58, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .publish .r > ul > li .telnumer {
  padding: 0 0 0 50px;
  background: url(/assets/_old/tel_green_icon-261b30cac0adf1dee56cb679ca9998c3b19eabdf4db247fbe8bb85d962e8402a.svg) no-repeat left/44px;
}

/* line 61, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .publish .r > ul > li .telnumer:hover {
  text-decoration: underline;
}

/* line 67, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .publish .btn {
  display: block;
  margin: auto;
  padding: 15px 20px;
  max-width: 300px;
  line-height: 1.3;
  color: #FFF;
  background: #0097c7;
  font-weight: bold;
  font-size: 130%;
}

/* line 78, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .publish .btn:hover {
  opacity: 0.8;
}

/* line 84, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .step {
  margin: 50px auto 0 auto;
}

/* line 86, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .step h4 {
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: normal;
  font-size: 34px;
  text-align: center;
  margin: 0px 0px 20px;
}

/* line 93, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .step dl {
  margin: 0 0 20px 0;
  padding: 0 0 20px 0;
  border-bottom: 1px solid #CCC;
  display: table;
  width: 100%;
}

/* line 99, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .step dl:last-child {
  border-bottom: none;
}

/* line 102, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .step dl dt {
  min-width: 250px;
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-size: 34px;
}

/* line 106, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .step dl dt span {
  margin: 0 15px 0 0;
  padding: 10px 0 0 0;
  border: 5px solid #CCC;
  border-radius: 60px;
  box-sizing: border-box;
  display: inline-block;
  width: 60px;
  height: 60px;
  line-height: 1;
  color: #CCC;
  font-family: "Century Gothic";
  font-weight: bold;
  font-size: 34px;
  text-align: center;
}

/* line 123, app/assets/stylesheets/home/components/old/customer.scss */
#customer > .step dl dd {
  display: table-cell;
  width: 75%;
  vertical-align: middle;
}

@media (max-width: 768px) {
  /* line 132, app/assets/stylesheets/home/components/old/customer.scss */
  #customer {
    padding: 0 0.8rem;
    font-size: 85%;
    line-height: 1.8;
  }
  /* line 136, app/assets/stylesheets/home/components/old/customer.scss */
  #customer a {
    color: #444;
  }
  /* line 139, app/assets/stylesheets/home/components/old/customer.scss */
  #customer .row {
    display: block;
    width: 100%;
  }
  /* line 142, app/assets/stylesheets/home/components/old/customer.scss */
  #customer .row .l,
#customer .row .r {
    padding: 20px 8px;
    display: block;
    vertical-align: middle;
  }
  /* line 150, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .intro {
    margin: 20px 0 50px;
  }
  /* line 152, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .intro h3 {
    margin-bottom: 30px;
  }
  /* line 157, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .publish {
    padding: 50px 15px;
    background: #EEE;
    text-align: center;
  }
  /* line 161, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .publish h4 {
    font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
    font-weight: normal;
    font-size: 200%;
    margin: 0px 0px 20px;
  }
  /* line 167, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .publish .price {
    margin: 30px auto 0 auto;
    max-width: 355px;
  }
  /* line 171, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .publish .l,
#customer > .publish .r {
    vertical-align: top;
  }
  /* line 175, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .publish .r > ul {
    margin: 15px auto;
    font-family: "Century Gothic";
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0;
  }
  /* line 182, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .publish .r > ul > li .telnumer {
    padding: 0 0 0 50px;
    background: url(/assets/_old/tel_green_icon-261b30cac0adf1dee56cb679ca9998c3b19eabdf4db247fbe8bb85d962e8402a.svg) no-repeat left/44px;
  }
  /* line 185, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .publish .r > ul > li .telnumer:hover {
    text-decoration: underline;
  }
  /* line 191, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .publish .btn {
    display: block;
    margin: auto;
    padding: 15px 20px;
    max-width: 300px;
    line-height: 1.3;
    color: #FFF;
    background: #0097c7;
    font-weight: bold;
    font-size: 130%;
  }
  /* line 202, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .publish .btn:hover {
    opacity: 0.8;
  }
  /* line 208, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .step {
    margin: 50px auto 0 auto;
  }
  /* line 210, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .step h4 {
    font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
    font-weight: normal;
    font-size: 34px;
    text-align: center;
    margin: 0px 0px 20px;
  }
  /* line 217, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .step dl {
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #CCC;
    display: block;
    width: 100%;
  }
  /* line 223, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .step dl:last-child {
    border-bottom: none;
  }
  /* line 226, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .step dl dt {
    min-width: auto;
    margin-bottom: 8px;
    font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
    font-size: 34px;
  }
  /* line 231, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .step dl dt span {
    margin: 0 15px 0 0;
    padding: 10px 0 0 0;
    border: 5px solid #CCC;
    border-radius: 60px;
    box-sizing: border-box;
    display: inline-block;
    width: 60px;
    height: 60px;
    line-height: 1;
    color: #CCC;
    font-family: "Century Gothic";
    font-weight: bold;
    font-size: 34px;
    text-align: center;
  }
  /* line 248, app/assets/stylesheets/home/components/old/customer.scss */
  #customer > .step dl dd {
    display: block;
    width: 100%;
    vertical-align: middle;
  }
}

/* line 1, app/assets/stylesheets/home/components/old/faq.scss */
#faq {
  max-width: var(--main-inner-width);
  margin: 0 auto 3rem;
}

/* line 4, app/assets/stylesheets/home/components/old/faq.scss */
#faq h3 {
  font-size: 30px;
}

/* line 7, app/assets/stylesheets/home/components/old/faq.scss */
#faq .q_tit {
  margin: auto;
  font-weight: bold;
  padding: 25px 0 0 0;
  background: url(/assets/_old/faq/img_faq-2af0246334f9ea0c3ae7cd33201ce1d7fbc35e5c135eea7ecb39bcc7de7b177e.png) no-repeat right 0/190px;
  line-height: 2;
}

/* line 15, app/assets/stylesheets/home/components/old/faq.scss */
#faq .to_link {
  margin: 0 0 80px 0;
  padding: 20px;
  border-radius: 10px;
  box-sizing: border-box;
  display: flex;
  background: #EEE;
  font-size: 14px;
  letter-spacing: 0.05em;
}

/* line 24, app/assets/stylesheets/home/components/old/faq.scss */
#faq .to_link > ul {
  margin: 0 20px 0 0;
  width: 50%;
}

/* line 27, app/assets/stylesheets/home/components/old/faq.scss */
#faq .to_link > ul:last-child {
  margin: 0;
}

/* line 30, app/assets/stylesheets/home/components/old/faq.scss */
#faq .to_link > ul > li {
  margin: 0 0 5px 0;
  padding: 0 0 5px 0;
  border-bottom: 1px dotted #CCC;
  box-sizing: border-box;
  display: flex;
}

/* line 36, app/assets/stylesheets/home/components/old/faq.scss */
#faq .to_link > ul > li:last-child {
  margin: 0;
  padding: 0;
  border: none;
}

/* line 41, app/assets/stylesheets/home/components/old/faq.scss */
#faq .to_link > ul > li a {
  color: #222;
}

/* line 43, app/assets/stylesheets/home/components/old/faq.scss */
#faq .to_link > ul > li a:hover {
  opacity: 0.8;
}

/* line 46, app/assets/stylesheets/home/components/old/faq.scss */
#faq .to_link > ul > li a span {
  display: inherit;
  color: #00BBDE;
  font-family: "Century Gothic",sans-serif;
  font-weight: bold;
}

/* line 57, app/assets/stylesheets/home/components/old/faq.scss */
#faq dl {
  margin: 30px 0 0 0;
}

/* line 59, app/assets/stylesheets/home/components/old/faq.scss */
#faq dl:first-of-type {
  margin-top: 10px;
}

/* line 62, app/assets/stylesheets/home/components/old/faq.scss */
#faq dl span {
  margin: 0 10px 0 0;
  border-radius: 5px;
  box-sizing: border-box;
  display: inline-block;
  min-width: 60px;
  height: 30px;
  color: #FFF;
  background: #00BBDE;
  font-family: "Century Gothic",sans-serif;
  font-weight: normal;
  font-size: 18px;
  text-align: center;
}

/* line 77, app/assets/stylesheets/home/components/old/faq.scss */
#faq dt {
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  border-bottom: 1px dotted #00BBDE;
  display: flex;
  color: #00BBDE;
  font-weight: bold;
  font-size: 18px;
}

/* line 86, app/assets/stylesheets/home/components/old/faq.scss */
#faq dd {
  display: flex;
  padding: 0;
  width: auto;
  background: none;
}

/* line 91, app/assets/stylesheets/home/components/old/faq.scss */
#faq dd span {
  background: #aaa;
}

@media (max-width: 768px) {
  /* line 99, app/assets/stylesheets/home/components/old/faq.scss */
  #faq h3 {
    font-size: 30px;
  }
  /* line 102, app/assets/stylesheets/home/components/old/faq.scss */
  #faq .q_tit {
    margin: auto;
    font-weight: bold;
    padding: 55px 0 0 0;
    background: url(/assets/_old/faq/img_faq-2af0246334f9ea0c3ae7cd33201ce1d7fbc35e5c135eea7ecb39bcc7de7b177e.png) no-repeat right 0 / 190px;
    line-height: 2;
  }
  /* line 110, app/assets/stylesheets/home/components/old/faq.scss */
  #faq .to_link {
    margin: 0 0 80px 0;
    padding: 20px;
    border-radius: 10px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    background: #EEE;
    font-size: 14px;
    letter-spacing: 0.05em;
  }
  /* line 120, app/assets/stylesheets/home/components/old/faq.scss */
  #faq .to_link > ul {
    margin: 0 0 20px 0;
    width: 100%;
  }
  /* line 123, app/assets/stylesheets/home/components/old/faq.scss */
  #faq .to_link > ul:last-child {
    margin-bottom: 20px;
  }
  /* line 126, app/assets/stylesheets/home/components/old/faq.scss */
  #faq .to_link > ul > li {
    margin: 0 0 5px 0;
    padding: 0 0 5px 0;
    border-bottom: 1px dotted #CCC;
    box-sizing: border-box;
    display: flex;
  }
  /* line 132, app/assets/stylesheets/home/components/old/faq.scss */
  #faq .to_link > ul > li:last-child {
    margin: 0;
    padding: 0;
    border: none;
  }
  /* line 137, app/assets/stylesheets/home/components/old/faq.scss */
  #faq .to_link > ul > li a {
    color: #222;
  }
  /* line 139, app/assets/stylesheets/home/components/old/faq.scss */
  #faq .to_link > ul > li a:hover {
    opacity: 0.8;
  }
  /* line 142, app/assets/stylesheets/home/components/old/faq.scss */
  #faq .to_link > ul > li a span {
    display: inherit;
    color: #00BBDE;
    font-family: "Century Gothic",sans-serif;
    font-weight: bold;
  }
  /* line 153, app/assets/stylesheets/home/components/old/faq.scss */
  #faq dl {
    margin: 30px 0 0 0;
  }
  /* line 155, app/assets/stylesheets/home/components/old/faq.scss */
  #faq dl:first-of-type {
    margin-top: 10px;
  }
  /* line 158, app/assets/stylesheets/home/components/old/faq.scss */
  #faq dl span {
    margin: 0 10px 0 0;
    border-radius: 5px;
    box-sizing: border-box;
    display: inline-block;
    min-width: 60px;
    height: 30px;
    color: #FFF;
    background: #00BBDE;
    font-family: "Century Gothic",sans-serif;
    font-weight: normal;
    font-size: 18px;
    text-align: center;
  }
  /* line 173, app/assets/stylesheets/home/components/old/faq.scss */
  #faq dt {
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    border-bottom: 1px dotted #00BBDE;
    display: flex;
    color: #00BBDE;
    font-weight: bold;
    font-size: 18px;
  }
  /* line 182, app/assets/stylesheets/home/components/old/faq.scss */
  #faq dd {
    display: flex;
    padding: 0;
    width: auto;
    background: none;
  }
  /* line 187, app/assets/stylesheets/home/components/old/faq.scss */
  #faq dd span {
    background: #aaa;
  }
}

/* line 1, app/assets/stylesheets/home/components/old/flow.scss */
#flow {
  max-width: var(--main-inner-width);
  margin: 2rem auto 3rem;
}

/* line 4, app/assets/stylesheets/home/components/old/flow.scss */
#flow img {
  width: 100%;
}

/* line 7, app/assets/stylesheets/home/components/old/flow.scss */
#flow .row {
  margin: 0 0 20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* line 13, app/assets/stylesheets/home/components/old/flow.scss */
#flow dl {
  margin-bottom: 4.25%;
  display: block;
  width: 48.5%;
  align-items: stretch;
  background: #EEE;
}

/* line 20, app/assets/stylesheets/home/components/old/flow.scss */
#flow dt {
  padding: 0;
  width: 100%;
  background: none;
}

/* line 24, app/assets/stylesheets/home/components/old/flow.scss */
#flow dt img {
  vertical-align: top;
}

/* line 28, app/assets/stylesheets/home/components/old/flow.scss */
#flow dd {
  padding: 20px;
  width: 100%;
  box-sizing: border-box;
}

/* line 33, app/assets/stylesheets/home/components/old/flow.scss */
#flow strong {
  color: #FF4500;
  font-weight: normal;
}

/* line 37, app/assets/stylesheets/home/components/old/flow.scss */
#flow a {
  color: #444;
}

/* line 39, app/assets/stylesheets/home/components/old/flow.scss */
#flow a:hover {
  text-decoration: underline;
}

/* line 43, app/assets/stylesheets/home/components/old/flow.scss */
#flow .btn {
  margin: 0 auto 40px;
  padding: 24px 20px 18px 20px;
  box-sizing: border-box;
  display: block;
  max-width: 400px;
  line-height: 1.3;
  color: #FFF;
  background: #0097c7;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
}

/* line 56, app/assets/stylesheets/home/components/old/flow.scss */
#flow .btn:hover {
  text-decoration: none;
  opacity: 0.8;
}

@media (max-width: 768px) {
  /* line 64, app/assets/stylesheets/home/components/old/flow.scss */
  #flow dl {
    width: 100%;
  }
}

/* line 1, app/assets/stylesheets/home/components/old/privacy.scss */
#privacy {
  max-width: var(--main-inner-width);
  margin: 2rem auto 3rem;
  margin-bottom: 40px;
}

/* line 6, app/assets/stylesheets/home/components/old/privacy.scss */
#privacy h3 {
  margin: 50px 0 20px 0;
  padding: 6px 20px 0 20px;
  box-sizing: border-box;
  background: #EEE;
  font-size: 30px;
  font-weight: normal;
}

/* line 14, app/assets/stylesheets/home/components/old/privacy.scss */
#privacy li {
  margin: 10px 0;
  display: flex;
}

/* line 17, app/assets/stylesheets/home/components/old/privacy.scss */
#privacy li span {
  display: inline-block;
  margin-right: 10px;
}

/* line 23, app/assets/stylesheets/home/components/old/privacy.scss */
#privacy .nest {
  padding: 0 0 0 40px;
}

@media (max-width: 768px) {
  /* line 32, app/assets/stylesheets/home/components/old/privacy.scss */
  #privacy {
    margin-bottom: 40px;
  }
  /* line 34, app/assets/stylesheets/home/components/old/privacy.scss */
  #privacy h3 {
    margin: 50px 0 20px 0;
    padding: 6px 20px 0 20px;
    box-sizing: border-box;
    background: #EEE;
    font-size: 20px;
    font-weight: normal;
  }
  /* line 42, app/assets/stylesheets/home/components/old/privacy.scss */
  #privacy li {
    margin: 10px 0;
    display: flex;
  }
  /* line 45, app/assets/stylesheets/home/components/old/privacy.scss */
  #privacy li span {
    display: inline-block;
    margin-right: 10px;
  }
  /* line 51, app/assets/stylesheets/home/components/old/privacy.scss */
  #privacy .nest {
    padding: 0 0 0 40px;
  }
}

/* line 1, app/assets/stylesheets/home/components/old/system_requirements.scss */
#sys_req {
  max-width: var(--main-inner-width);
  margin: 2rem auto 3rem;
}

/* line 4, app/assets/stylesheets/home/components/old/system_requirements.scss */
#sys_req h3 {
  margin: 40px 0 10px 0;
  padding: 6px 20px 0 20px;
  box-sizing: border-box;
  font-size: 30px;
  font-weight: normal;
}

/* line 11, app/assets/stylesheets/home/components/old/system_requirements.scss */
#sys_req h3:first-of-type {
  margin-top: 0;
}

/* line 15, app/assets/stylesheets/home/components/old/system_requirements.scss */
#sys_req dl {
  margin: 1px 0 0 0;
  display: flex;
}

/* line 19, app/assets/stylesheets/home/components/old/system_requirements.scss */
#sys_req dt {
  padding: 10px 20px 8px 20px;
  box-sizing: border-box;
  width: 20%;
  background: #e5e5e5;
}

/* line 26, app/assets/stylesheets/home/components/old/system_requirements.scss */
#sys_req dd {
  padding: 10px 20px 8px 20px;
  box-sizing: border-box;
  width: 80%;
  background: #f5f5f5;
}

/* line 1, app/assets/stylesheets/home/components/old/terms.scss */
#terms {
  max-width: var(--main-inner-width);
  margin: 2rem auto 3rem;
  margin-bottom: 40px;
}

/* line 6, app/assets/stylesheets/home/components/old/terms.scss */
#terms h3 {
  margin: 50px 0 20px 0;
  padding: 6px 20px 0 20px;
  box-sizing: border-box;
  background: #EEE;
  font-size: 30px;
  font-weight: normal;
}

/* line 15, app/assets/stylesheets/home/components/old/terms.scss */
#terms .num {
  margin: 0 0 0 2em;
  list-style: outside decimal;
}

/* line 20, app/assets/stylesheets/home/components/old/terms.scss */
#terms p {
  margin: 20px 0;
}

/* line 24, app/assets/stylesheets/home/components/old/terms.scss */
#terms .alphabet {
  margin: 0 0 0 2em;
  list-style: outside lower-latin;
}

@media (max-width: 768px) {
  /* line 30, app/assets/stylesheets/home/components/old/terms.scss */
  #agreement {
    margin-bottom: 40px;
  }
  /* line 32, app/assets/stylesheets/home/components/old/terms.scss */
  #agreement h3 {
    margin: 50px 0 20px 0;
    padding: 6px 20px 0 20px;
    box-sizing: border-box;
    background: #EEE;
    font-size: 20px;
    font-weight: normal;
  }
  /* line 41, app/assets/stylesheets/home/components/old/terms.scss */
  #agreement .num {
    margin: 0 0 0 2em;
    list-style: outside decimal;
  }
  /* line 46, app/assets/stylesheets/home/components/old/terms.scss */
  #agreement p {
    margin: 20px 0;
  }
  /* line 50, app/assets/stylesheets/home/components/old/terms.scss */
  #agreement .alphabet {
    margin: 0 0 0 2em;
    list-style: outside lower-latin;
  }
}
