@charset "UTF-8";
/*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
/* ============================================ */
* {
  box-sizing: border-box;
}

::before,
::after {
  box-sizing: inherit;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
  font-size: rem(16);
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
  overflow-x: hidden;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  vertical-align: bottom;
}

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

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

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

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

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

a {
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s;
}
a:hover {
  color: #888;
}

html {
  scroll-behavior: smooth;
  overscroll-behavior: auto;
}

li {
  list-style-type: none;
}

.main-top {
  padding-top: 44px;
}
@media screen and (max-width: 1600px) {
  .main-top {
    margin-top: 44px;
  }
}
@media (max-width: 1280px) {
  .main-top {
    margin-top: 3.6666666667vw;
  }
}
@media (max-width: 768px) {
  .main-top {
    margin-top: 0;
    padding-top: 0;
  }
}

#chamo-window .chamo-chatlog-wrapper {
  overscroll-behavior: auto;
}

main .container {
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

.quotation {
  margin-left: -14px;
  margin-right: -14px;
}

.fixed {
  position: fixed;
  width: 100%;
  padding-top: 6px;
  background-color: rgba(0, 0, 0, 0.7176470588);
  top: 0;
  z-index: 999;
}

body {
  background: #000;
  font-variant-ligatures: none;
  font-family: "Noto Serif JP", serif;
  overflow-x: hidden;
  color: #fff;
  font-weight: 500;
}

img {
  max-width: 100%;
}

.block {
  display: block !important;
}

.none {
  display: none !important;
}

.pc {
  display: block !important;
}
@media (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

.tab {
  display: none !important;
}
@media (max-width: 768px) {
  .tab {
    display: block !important;
  }
}

@media (max-width: 440px) {
  .pc-words {
    display: none !important;
  }
}

.sp-words {
  display: none !important;
}
@media (max-width: 440px) {
  .sp-words {
    display: block !important;
  }
}

@media (max-width: 768px) {
  .recruit {
    padding-top: 17.7083333333vw;
  }
}

.container {
  max-width: 1260px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1280px) {
  .container {
    max-width: 93.75vw;
  }
}

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

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

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.flex-around {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}

/* ボタンで表示・非表示JSで値操作 */
[data-display=hide] {
  display: none;
}

[data-display=show] {
  display: block;
}

.section-title {
  position: relative;
  z-index: 1;
  margin: 80px auto 40px;
  width: 1184px;
  height: 132px;
  background: url(../img/section-bg.png) no-repeat;
  background-size: contain;
  background-position: top center;
  text-align: center;
}
@media (max-width: 1280px) {
  .section-title {
    margin: 6.25vw auto 3.125vw;
    width: 92.5vw;
    height: 10.3125vw;
  }
}
@media (max-width: 768px) {
  .section-title {
    background: url(../img/section-bg-sp.png) no-repeat;
    background-size: contain;
    background-position: top center;
    margin: 6.5104166667vw auto 7.8125vw;
    text-align: center;
    width: 89.84375vw;
    height: 17.1875vw;
  }
}
.section-title h4 {
  padding-top: 24px;
  font-size: 22px;
  letter-spacing: 0.1em;
}
@media (max-width: 1280px) {
  .section-title h4 {
    padding: 1.71875vw 1.71875vw 1.40625vw 1.71875vw;
    font-size: 1.71875vw;
  }
}
@media (max-width: 768px) {
  .section-title h4 {
    padding: 2.34375vw 2.8645833333vw 1.8229166667vw 2.8645833333vw;
    font-size: 3.90625vw;
  }
}
.section-title h3 {
  margin-top: 10px;
  font-size: 44px;
  letter-spacing: 0.1em;
}
@media (max-width: 1280px) {
  .section-title h3 {
    margin-top: 0.3125vw;
    font-size: 3.28125vw;
  }
}
@media (max-width: 768px) {
  .section-title h3 {
    font-size: 5.2083333333vw;
  }
}

.fadeUp {
  opacity: 0;
  transform: translateY(15px);
}

.fadeUp.show-fadeUp {
  animation: fadeUp 1.2s ease-in-out forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(15px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeIn1 {
  opacity: 0;
}

.fadeIn1.show-fadeIn1 {
  animation: fadeIn 1.1s ease-in-out forwards;
}

.fadeIn2 {
  opacity: 0;
}

.fadeIn2.show-fadeIn2 {
  animation: fadeIn 1.1s 0.6s ease-in-out forwards;
}

.fadeIn3 {
  opacity: 0;
}

.fadeIn3.show-fadeIn3 {
  animation: fadeIn 1.1s 1.1s ease-in-out forwards;
}

.fadeIn4 {
  opacity: 0;
}

.fadeIn4.show-fadeIn4 {
  animation: fadeIn 1.1s 1.7s ease-in-out forwards;
}

.fadeIn5 {
  opacity: 0;
}

.fadeIn5.show-fadeIn5 {
  animation: fadeIn 0.8s ease forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.bound1 {
  opacity: 0;
}

.bound1.show-bound1 {
  animation: bound 2s 0.6s linear forwards;
}

.bound2 {
  opacity: 0;
}

.bound2.show-bound2 {
  animation: bound 2s 1s linear forwards;
}

.bound3 {
  opacity: 0;
}

.bound3.show-bound3 {
  animation: bound 2s 1.6s linear forwards;
}

@keyframes bound {
  0% {
    transform: translate(0%, -48%);
    opacity: 0;
  }
  30% {
    transform: translate(0%, 0%) scale(0.95);
  }
  40% {
    transform: translate(0%, -12%);
    opacity: 1;
  }
  55% {
    transform: translate(0%, 0%) scale(0.95);
  }
  60% {
    transform: translate(0%, -6%);
  }
  70% {
    transform: translate(0%, 0%) scale(0.95);
  }
  75% {
    transform: translate(0%, -2.4%);
  }
  100% {
    transform: translate(0%, 0%);
    opacity: 1;
  }
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
.header__store-info {
  padding-top: 50px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media (max-width: 1280px) {
  .header__store-info {
    padding-top: 3.125vw;
  }
}
@media (max-width: 768px) {
  .header__store-info {
    padding-top: 4.1666666667vw;
    padding-bottom: 2.34375vw;
  }
}
.header__store-info-name h1 {
  margin-bottom: 18px;
  letter-spacing: 0.4em;
  font-size: 24px;
}
@media (max-width: 1280px) {
  .header__store-info-name h1 {
    margin-bottom: 1.40625vw;
    font-size: 1.71875vw;
  }
}
@media (max-width: 768px) {
  .header__store-info-name h1 {
    letter-spacing: 0.3em;
    font-size: 3.3854166667vw;
  }
}
.header__store-info-name img {
  width: 370px;
}
@media (max-width: 1280px) {
  .header__store-info-name img {
    width: 27.34375vw;
  }
}
@media (max-width: 768px) {
  .header__store-info-name img {
    width: 48.1770833333vw;
  }
}
.header__store-info-contact {
  display: flex;
  align-items: center;
}
.header__store-info-contact-txt {
  margin-right: 10px;
  text-align: right;
}
@media (max-width: 1280px) {
  .header__store-info-contact-txt {
    margin-right: 1.09375vw;
  }
}
.header__store-info-contact-txt p {
  margin-bottom: 8px;
  font-size: 28px;
}
@media (max-width: 1280px) {
  .header__store-info-contact-txt p {
    margin-bottom: 0.625vw;
    font-size: 2.03125vw;
  }
}
.header__store-info-contact-txt h3 {
  font-size: 38px;
}
@media (max-width: 1280px) {
  .header__store-info-contact-txt h3 {
    font-size: 2.8125vw;
  }
}
.header__store-info-contact img {
  width: 77px;
}
@media (max-width: 1280px) {
  .header__store-info-contact img {
    width: 5.78125vw;
  }
}
.header .under-line {
  margin: 12px auto 24px;
  height: 1px;
  background-color: #fff;
}
@media (max-width: 1280px) {
  .header .under-line {
    margin: 0.9375vw auto 1.875vw;
  }
}
.header__nav {
  background: #fff;
  color: #000;
  font-size: 18px;
}
@media (max-width: 1280px) {
  .header__nav {
    font-size: 1.40625vw;
  }
}
.header__nav__list {
  padding: 8px 0;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  width: 96%;
}
@media (max-width: 1280px) {
  .header__nav__list {
    padding: 0.625vw 0;
  }
}
.header__nav__list-link {
  padding: 6px 0;
}
@media (max-width: 1280px) {
  .header__nav__list-link {
    padding: 0.46875vw;
  }
}
.header__nav__list-link p {
  position: relative;
  padding-bottom: 2px;
}
.header__nav__list-link p::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  transform: scaleX(0);
  transition: transform 0.3s ease-in-out;
}
.header__nav__list-link .active p::after {
  transform: scaleX(1);
}
.header__tabNav {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #000;
  color: #fff;
  transition: 0.6s all ease-out;
  z-index: 90;
}
.header__tabNav::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 3.125vw;
  margin-top: -2.8645833333vw;
  vertical-align: middle;
}
.header__tabNav__list {
  position: absolute;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  justify-content: center;
  gap: 4%;
  top: -4%;
  left: 50%;
  width: 100%;
  height: 100%;
  padding: 6.5104166667vw 0;
  transform: translate(-50%);
}
.header__tabNav__list-link {
  font-size: 3.125vw;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 440px) {
  .header__tabNav__list-link {
    font-size: 5.4545454545vw;
    line-height: 1.6;
  }
}
.header__tabNav-active {
  left: 0 !important;
}
.header__tabButton {
  position: fixed;
  display: block;
  width: 9.8958333333vw;
  height: 13.0208333333vw;
  right: 5.7291666667vw;
  top: 7.5520833333vw;
  z-index: 100;
}
@media (max-width: 440px) {
  .header__tabButton {
    width: 10.2272727273vw;
    height: 13.6363636364vw;
    right: 8.1818181818vw;
    top: 6.3636363636vw;
  }
}
.header__tabButton span {
  position: absolute;
  left: 0px;
  width: 100%;
  height: 0.6510416667vw;
  background: #fff;
  transition: 0.8s all ease-in-out;
}
@media (max-width: 440px) {
  .header__tabButton span {
    height: 0.9090909091vw;
    left: 0;
    width: 115%;
  }
}
.header__tabButton span:nth-of-type(1) {
  top: 1.8229166667vw;
}
@media (max-width: 440px) {
  .header__tabButton span:nth-of-type(1) {
    top: 2.7272727273vw;
  }
}
.header__tabButton span:nth-of-type(2) {
  top: 3.125vw;
  background: transparent;
  font-size: 2.34375vw;
}
@media (max-width: 440px) {
  .header__tabButton span:nth-of-type(2) {
    top: 4.3181818182vw;
  }
}
.header__tabButton span:nth-of-type(3) {
  top: 7.8125vw;
  color: #d6b880;
  background-color: #fff;
}
@media (max-width: 440px) {
  .header__tabButton span:nth-of-type(3) {
    top: 9.3181818182vw;
  }
}
.header__tabButton span:nth-of-type(2)::after {
  content: "Menu";
  position: absolute;
  display: block;
  top: 0vw;
  color: #fff;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 3.3854166667vw;
  text-transform: uppercase;
}
@media (max-width: 440px) {
  .header__tabButton span:nth-of-type(2)::after {
    font-size: 3.8636363636vw;
  }
}
.header__tabButton-active:nth-of-type(2)::after {
  content: "Close" !important;
  left: -0.5208333333vw !important;
}
@media (max-width: 440px) {
  .header__tabButton-active:nth-of-type(2)::after {
    left: -0.4545454545vw !important;
  }
}
.header__tabButton-bg {
  position: fixed;
  display: block;
  width: 13.5416666667vw;
  height: 13.5416666667vw;
  right: 3.90625vw;
  top: 5.7291666667vw;
  background: #000;
  border: #fff 0.5208333333vw solid;
  border-radius: 14px;
  z-index: 99;
}
@media (max-width: 440px) {
  .header__tabButton-bg {
    width: 15.4545454545vw;
    height: 15.4545454545vw;
    right: 5vw;
    top: 5vw;
    border: #fff 0.6818181818vw solid;
  }
}

.footer__nav__list {
  padding-bottom: 8px;
  font-size: 16px;
  display: flex;
  justify-content: space-around;
}
@media (max-width: 1280px) {
  .footer__nav__list {
    padding-bottom: 0.625vw;
    font-size: 1.25vw;
  }
}
.footer__info {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  text-align: center;
  padding-top: 50px;
}
@media (max-width: 1280px) {
  .footer__info {
    padding-top: 3.90625vw;
  }
}
.footer__info h3 {
  font-size: 20px;
  letter-spacing: 0.3em;
  margin-bottom: 6px;
}
@media (max-width: 1280px) {
  .footer__info h3 {
    font-size: 1.5625vw;
    margin-bottom: 0.46875vw;
  }
}
@media (max-width: 768px) {
  .footer__info h3 {
    margin-bottom: 1.5625vw;
    font-size: 3.125vw;
  }
}
.footer__info img {
  width: 350px;
}
@media (max-width: 1280px) {
  .footer__info img {
    width: 27.34375vw;
  }
}
@media (max-width: 768px) {
  .footer__info img {
    width: 46.875vw;
  }
}
.footer__info p {
  margin-top: 40px;
  font-size: 26px;
}
@media (max-width: 1280px) {
  .footer__info p {
    margin-top: 3.125vw;
    font-size: 2.03125vw;
  }
}
@media (max-width: 768px) {
  .footer__info p {
    margin-top: 5.2083333333vw;
    font-size: 4.1666666667vw;
  }
}
.footer__info h4 {
  margin-bottom: 10px;
  font-size: 28px;
}
@media (max-width: 1280px) {
  .footer__info h4 {
    margin-bottom: 0.78125vw;
    font-size: 2.1875vw;
  }
}
@media (max-width: 768px) {
  .footer__info h4 {
    margin-bottom: 1.3020833333vw;
    font-size: 4.1666666667vw;
  }
}
.footer__space {
  height: 60px;
}
@media (max-width: 1280px) {
  .footer__space {
    height: 4.6875vw;
  }
}

.top {
  position: relative;
  background: url(../img/top_bg.png) no-repeat;
  background-size: cover;
  background-position: top center;
  height: 843px;
}
@media (max-width: 1280px) {
  .top {
    height: 61.40625vw;
  }
}
@media (max-width: 768px) {
  .top {
    background: url(../img/top_bg-sp.png) no-repeat;
    background-size: cover;
    background-position: top center;
    height: 104.1666666667vw;
  }
}
.top__main {
  position: relative;
}
@media (max-width: 1280px) {
  .top__main {
    margin-left: 2.6041666667vw;
  }
}
@media (max-width: 768px) {
  .top__main {
    margin-left: 5.2083333333vw;
  }
}
.top__main h2 {
  padding-top: 20px;
  font-size: 110px;
  line-height: 1.05;
  letter-spacing: 0.03em;
}
@media (max-width: 1280px) {
  .top__main h2 {
    padding-top: 1.5625vw;
    font-size: 7.8125vw;
  }
}
@media (max-width: 768px) {
  .top__main h2 {
    padding-top: 5.2083333333vw;
    font-size: 13.5416666667vw;
    letter-spacing: 0.04em;
  }
}
.top__main img {
  position: absolute;
  top: 190px;
  left: 220px;
  width: 330px;
}
@media (max-width: 1280px) {
  .top__main img {
    top: 13.28125vw;
    left: 17.1875vw;
    width: 23.4375vw;
  }
}
@media (max-width: 768px) {
  .top__main img {
    top: 26.0416666667vw;
    left: 24.7395833333vw;
    width: 37.7604166667vw;
  }
}
.top__main h3 {
  margin-top: -20px;
  font-size: 80px;
  letter-spacing: -0.02em;
  color: #ff2cb7;
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.38);
  display: flex;
  align-items: baseline;
}
@media (max-width: 1280px) {
  .top__main h3 {
    margin-top: -1.5625vw;
    font-size: 5.46875vw;
  }
}
@media (max-width: 768px) {
  .top__main h3 {
    font-size: 9.1145833333vw;
  }
}
.top__main h3 span {
  font-size: 120px;
  display: inline-block;
  transform: scale(0.9, 1);
  transform-origin: top left;
  margin-right: -8px;
}
@media (max-width: 1280px) {
  .top__main h3 span {
    font-size: 9.375vw;
    margin-right: -0.625vw;
  }
}
@media (max-width: 768px) {
  .top__main h3 span {
    font-size: 11.71875vw;
  }
}
.top-square {
  position: relative;
  z-index: 1;
  text-align: center;
  margin: 16px 160px 22px auto;
  width: 600px;
}
@media (max-width: 1280px) {
  .top-square {
    margin: 1.25vw 11.71875vw 1.71875vw auto;
    width: 46.09375vw;
  }
}
@media (max-width: 768px) {
  .top-square {
    margin: 3.125vw 3.90625vw 2.8645833333vw auto;
    width: 69.0104166667vw;
  }
}
.top-square p {
  font-size: 60px;
}
@media (max-width: 1280px) {
  .top-square p {
    font-size: 4.21875vw;
  }
}
@media (max-width: 768px) {
  .top-square p {
    font-size: 7.2916666667vw;
  }
}
.top-square span {
  font-size: 90px;
}
@media (max-width: 1280px) {
  .top-square span {
    font-size: 6.5625vw;
  }
}
@media (max-width: 768px) {
  .top-square span {
    font-size: 10.6770833333vw;
  }
}
.top-square .num {
  font-size: 106px;
  display: inline-block;
  transform: scale(0.9, 1);
  transform-origin: top left;
  margin-right: -8px;
}
@media (max-width: 1280px) {
  .top-square .num {
    margin-right: -0.625vw;
    font-size: 7.8125vw;
  }
}
@media (max-width: 768px) {
  .top-square .num {
    font-size: 11.71875vw;
  }
}
.top-square::before {
  transform: skewX(-26deg);
  content: ""; /*ボックスを作る*/
  position: absolute; /*ポジションで中央に配置*/
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1; /* 親要素の後ろに来るように-1 */
  background-color: #ff2cb7;
}
.top-square:last-of-type {
  width: 660px;
}
@media (max-width: 1280px) {
  .top-square:last-of-type {
    width: 50.78125vw;
  }
}
@media (max-width: 768px) {
  .top-square:last-of-type {
    width: 76.8229166667vw;
  }
}

.concept__main {
  background: url(../img/concept_bg.png) no-repeat;
  background-size: cover;
  background-position: top center;
  height: 464px;
}
@media (max-width: 1280px) {
  .concept__main {
    height: 420px;
  }
}
@media (max-width: 768px) {
  .concept__main {
    background: url(../img/concept_bg-sp.png) no-repeat;
    background-size: cover;
    background-position: top center;
    height: 72.9166666667vw;
  }
}
.concept__main-txt {
  margin-left: 200px;
  padding-top: 50px;
  padding-bottom: 50px;
  color: #737273;
  font-size: 18px;
  line-height: 2;
  text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.18);
}
@media (max-width: 1280px) {
  .concept__main-txt {
    margin-left: 16.40625vw;
    padding-top: 36px;
    padding-bottom: 36px;
    font-size: 18px;
    line-height: 2;
  }
}
@media (max-width: 768px) {
  .concept__main-txt {
    margin-left: 5.2083333333vw;
    padding-top: 10.4166666667vw;
    font-size: 4.1666666667vw;
    line-height: 1.6;
    text-shadow: 0.5px 0.5px 4px rgb(255, 255, 255), 0.5px 0.5px 6px rgb(255, 255, 255), 0.5px 0.5px 6px rgb(255, 255, 255), 0.5px 0.5px 6px rgb(255, 255, 255), 0.5px 0.5px 6px rgb(255, 255, 255), 0.5px 0.5px 6px rgb(255, 255, 255), 0.5px 0.5px 10px rgb(255, 255, 255), 0.5px 0.5px 10px rgb(255, 255, 255), 0.5px 0.5px 6px rgb(255, 255, 255), 0.5px 0.5px 10px rgb(255, 255, 255);
  }
}
.concept__main-txt h5 {
  margin-bottom: 40px;
}
@media (max-width: 1280px) {
  .concept__main-txt h5 {
    margin-bottom: 2.96875vw;
  }
}
@media (max-width: 768px) {
  .concept__main-txt h5 {
    margin-bottom: 6.5104166667vw;
  }
}
.concept__course {
  text-align: center;
}
.concept__course-title h2 {
  padding-top: 38px;
  margin-bottom: 18px;
  font-size: 40px;
}
@media (max-width: 1280px) {
  .concept__course-title h2 {
    padding-top: 2.96875vw;
    margin-bottom: 1.40625vw;
    font-size: 3.125vw;
  }
}
@media (max-width: 768px) {
  .concept__course-title h2 {
    padding-top: 7.8125vw;
    margin-bottom: 2.34375vw;
    font-size: 6.25vw;
    line-height: 1.2;
  }
}
.concept__course-title p {
  margin-bottom: 70px;
  font-size: 26px;
  line-height: 1.5;
}
@media (max-width: 1280px) {
  .concept__course-title p {
    margin-bottom: 5.46875vw;
    font-size: 2.03125vw;
  }
}
@media (max-width: 768px) {
  .concept__course-title p {
    margin-bottom: 5.2083333333vw;
    font-size: 4.1666666667vw;
  }
}
.concept__course-detail {
  margin-bottom: 80px;
}
@media (max-width: 1280px) {
  .concept__course-detail {
    margin-bottom: 6.25vw;
  }
}
@media (max-width: 768px) {
  .concept__course-detail {
    margin-bottom: 7.8125vw;
  }
}
.concept__course-detail h3 {
  font-size: 40px;
}
@media (max-width: 1280px) {
  .concept__course-detail h3 {
    font-size: 3.125vw;
  }
}
@media (max-width: 768px) {
  .concept__course-detail h3 {
    font-size: 4.9479166667vw;
  }
}
.concept__course-detail h3 span {
  font-size: 64px;
  display: inline-block;
  transform: scale(0.9, 1);
  transform-origin: top left;
  margin-right: -6px;
}
@media (max-width: 1280px) {
  .concept__course-detail h3 span {
    font-size: 5vw;
    margin-right: -0.46875vw;
  }
}
@media (max-width: 768px) {
  .concept__course-detail h3 span {
    font-size: 6.5104166667vw;
  }
}
.concept__course-detail img {
  margin-top: 6px;
  margin-bottom: 14px;
  width: 640px;
}
@media (max-width: 1280px) {
  .concept__course-detail img {
    margin-top: 0.46875vw;
    margin-bottom: 1.09375vw;
    width: 50vw;
  }
}
@media (max-width: 768px) {
  .concept__course-detail img {
    margin-top: 1.0416666667vw;
    margin-bottom: 1.8229166667vw;
    width: 87.2395833333vw;
  }
}
.concept__course-detail .under-line {
  margin: 0 auto;
  width: 720px;
  height: 1px;
  background: #fff;
}
@media (max-width: 1280px) {
  .concept__course-detail .under-line {
    width: 56.25vw;
  }
}
@media (max-width: 768px) {
  .concept__course-detail .under-line {
    width: 91.1458333333vw;
    height: 0.2604166667vw;
  }
}
.concept__course-detail p {
  margin-top: 14px;
  font-size: 28px;
}
@media (max-width: 1280px) {
  .concept__course-detail p {
    margin-top: 1.09375vw;
    font-size: 2.1875vw;
  }
}
@media (max-width: 768px) {
  .concept__course-detail p {
    margin-top: 1.8229166667vw;
    font-size: 4.6875vw;
  }
}
.concept__taiken {
  text-align: center;
}
.concept__taiken img {
  margin: 0 auto;
  width: 1200px;
}
@media (max-width: 1280px) {
  .concept__taiken img {
    width: 93.75vw;
  }
}
.concept__taiken-txt {
  margin-top: 30px;
}
@media (max-width: 1280px) {
  .concept__taiken-txt {
    margin-top: 2.34375vw;
  }
}
@media (max-width: 768px) {
  .concept__taiken-txt {
    margin-top: 3.90625vw;
  }
}
.concept__taiken-txt h4 {
  font-size: 42px;
}
@media (max-width: 1280px) {
  .concept__taiken-txt h4 {
    font-size: 3.28125vw;
  }
}
@media (max-width: 768px) {
  .concept__taiken-txt h4 {
    font-size: 5.9895833333vw;
    line-height: 1.3;
  }
}
.concept__taiken-txt p {
  margin-top: 10px;
  font-size: 25px;
  line-height: 1.4;
}
@media (max-width: 1280px) {
  .concept__taiken-txt p {
    margin-top: 0.78125vw;
    font-size: 1.953125vw;
  }
}
@media (max-width: 768px) {
  .concept__taiken-txt p {
    margin-top: 2.6041666667vw;
    margin-bottom: 13.0208333333vw;
    font-size: 3.90625vw;
  }
}
.concept__banner {
  background: url(../img/concept-banner.png) no-repeat;
  background-size: cover;
  background-position: top center;
  height: 89.5833333333vw;
  text-shadow: 1px 1px 1.3020833333vw rgba(0, 0, 0, 0.82);
}
.concept__banner h2 {
  padding-top: 2.6041666667vw;
  margin-left: 3.90625vw;
  font-size: 13.8020833333vw;
}
.concept__banner h3 {
  display: flex;
  align-items: center;
  margin-left: 3.90625vw;
  font-size: 9.6354166667vw;
}
.concept__banner h3 span {
  font-size: 12.7604166667vw;
  transform: scale(0.9, 1);
  transform-origin: top left;
}
.concept__banner h4 {
  margin-top: 0.5208333333vw;
  margin-left: 3.125vw;
  padding: 1.0416666667vw;
  background: #ff2cb7;
  width: 59.8958333333vw;
  text-shadow: none;
  box-shadow: 1px 1px 1.3020833333vw rgba(0, 0, 0, 0.82);
  font-size: 7.03125vw;
  text-align: center;
  letter-spacing: 0.1em;
  transform: rotate(-3deg);
}
.concept__banner p {
  margin-top: 5.2083333333vw;
  margin-right: 3.90625vw;
  color: #ff2cb7;
  font-size: 5.46875vw;
  text-align: right;
  text-shadow: 1px 1px 1.3020833333vw rgba(0, 0, 0, 0.82), 1px 1px 1.3020833333vw rgba(85, 85, 85, 0.82);
}
.concept__banner h5 {
  -webkit-clip-path: polygon(7% 0, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(7% 0, 100% 0%, 100% 100%, 0% 100%);
  margin: 0.5208333333vw 0 1.3020833333vw auto;
  padding: 1.3020833333vw 2.34375vw 1.3020833333vw 0;
  width: 69.0104166667vw;
  font-size: 10.15625vw;
  text-shadow: none;
  box-shadow: 1px 1px 1.3020833333vw rgba(0, 0, 0, 0.82);
  text-align: right;
  background: #ff2cb7;
  color: #fff;
}

.salary__exact {
  margin-top: 60px;
  margin-bottom: 70px;
  text-align: center;
}
@media (max-width: 1280px) {
  .salary__exact {
    margin-top: 4.6875vw;
    margin-bottom: 5.46875vw;
  }
}
@media (max-width: 768px) {
  .salary__exact {
    margin-top: 6.5104166667vw;
    margin-bottom: 10.4166666667vw;
  }
}
.salary__exact h3 {
  margin-bottom: 20px;
  font-size: 40px;
}
@media (max-width: 1280px) {
  .salary__exact h3 {
    margin-bottom: 1.5625vw;
    font-size: 3.125vw;
  }
}
@media (max-width: 768px) {
  .salary__exact h3 {
    margin-bottom: 2.6041666667vw;
    font-size: 5.9895833333vw;
  }
}
.salary__exact ul {
  margin: 12px auto 12px;
  width: 800px;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1280px) {
  .salary__exact ul {
    margin: 0.9375vw auto 0.9375vw;
    width: 62.5vw;
  }
}
@media (max-width: 768px) {
  .salary__exact ul {
    margin: 1.5625vw auto;
    width: 93.75vw;
  }
}
.salary__exact ul li {
  font-size: 48px;
  color: #ffa42d;
  text-align: right;
}
@media (max-width: 1280px) {
  .salary__exact ul li {
    font-size: 3.75vw;
  }
}
@media (max-width: 768px) {
  .salary__exact ul li {
    font-size: 6.3802083333vw;
  }
}
.salary__exact ul .time {
  width: 230px;
  margin-right: 36px;
  color: #fff;
}
@media (max-width: 1280px) {
  .salary__exact ul .time {
    width: 17.96875vw;
    margin-right: 2.8125vw;
  }
}
@media (max-width: 768px) {
  .salary__exact ul .time {
    width: 32.5520833333vw;
    margin-right: 0vw;
  }
}
.salary__exact ul .time span {
  font-size: 36px;
}
@media (max-width: 1280px) {
  .salary__exact ul .time span {
    font-size: 2.8125vw;
  }
}
@media (max-width: 768px) {
  .salary__exact ul .time span {
    font-size: 5.2083333333vw;
  }
}
.salary__exact p {
  width: 840px;
  margin: 0 auto;
  padding-top: 12px;
  border-top: 1px #fff dashed;
  font-size: 26px;
}
@media (max-width: 1280px) {
  .salary__exact p {
    width: 65.625vw;
    padding-top: 0.9375vw;
    font-size: 2.03125vw;
  }
}
@media (max-width: 768px) {
  .salary__exact p {
    width: 93.75vw;
    padding-top: 1.5625vw;
    font-size: 3.90625vw;
  }
}
.salary__exact:last-of-type {
  margin-bottom: 90px;
}
@media (max-width: 1280px) {
  .salary__exact:last-of-type {
    margin-bottom: 7.03125vw;
  }
}
@media (max-width: 768px) {
  .salary__exact:last-of-type {
    margin-bottom: 13.0208333333vw;
  }
}
.salary__example {
  background-color: #fff;
  text-align: center;
  color: #000;
}
.salary__example-title {
  padding-top: 40px;
  padding-bottom: 12px;
  margin: 0 auto 34px;
  width: 540px;
  border-bottom: 1px solid #000;
  font-size: 34px;
}
@media (max-width: 1280px) {
  .salary__example-title {
    padding-top: 3.125vw;
    padding-bottom: 0.9375vw;
    margin: 0 auto 2.65625vw;
    width: 42.1875vw;
    font-size: 2.65625vw;
  }
}
@media (max-width: 768px) {
  .salary__example-title {
    padding-top: 5.2083333333vw;
    padding-bottom: 1.8229166667vw;
    margin: 0 auto 6.5104166667vw;
    width: 78.125vw;
    border-bottom: 2px solid #000;
    font-size: 5.2083333333vw;
  }
}
.salary__example-course {
  padding-bottom: 60px;
}
@media (max-width: 1280px) {
  .salary__example-course {
    padding-bottom: 4.6875vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course {
    padding-bottom: 10.4166666667vw;
  }
}
.salary__example-course-name {
  margin-bottom: 16px;
  font-size: 36px;
}
@media (max-width: 1280px) {
  .salary__example-course-name {
    margin-bottom: 1.25vw;
    font-size: 2.8125vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-name {
    margin-bottom: 2.8645833333vw;
    font-size: 5.7291666667vw;
  }
}
.salary__example-course-detail {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
  gap: 4px;
}
@media (max-width: 1280px) {
  .salary__example-course-detail {
    margin-bottom: 1.09375vw;
    gap: 0.3125vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-detail {
    flex-direction: column;
  }
}
.salary__example-course-detail-box {
  padding: 4px;
  box-shadow: -1px 2px 5px rgba(0, 0, 0, 0.38);
  width: 200px;
}
@media (max-width: 1280px) {
  .salary__example-course-detail-box {
    padding: 0.3125vw;
    width: 15.625vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-detail-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.8229166667vw;
    width: 80.7291666667vw;
  }
}
.salary__example-course-detail-box h3 {
  padding-top: 2px;
  font-size: 18px;
}
@media (max-width: 1280px) {
  .salary__example-course-detail-box h3 {
    padding-top: 0.15625vw;
    font-size: 1.40625vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-detail-box h3 {
    padding-top: 0;
    padding-bottom: 0.2604166667vw;
    font-size: 3.90625vw;
  }
}
.salary__example-course-detail-box .line {
  margin-top: 3px;
  margin-bottom: 8px;
  height: 2px;
  background: #000;
}
@media (max-width: 1280px) {
  .salary__example-course-detail-box .line {
    margin-top: 0.234375vw;
    margin-bottom: 0.625vw;
    height: 0.15625vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-detail-box .line {
    width: 0.2604166667vw;
    height: 9.1145833333vw;
  }
}
.salary__example-course-detail-box h4 {
  font-size: 20px;
}
@media (max-width: 1280px) {
  .salary__example-course-detail-box h4 {
    font-size: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-detail-box h4 {
    font-size: 3.90625vw;
  }
}
.salary__example-course-detail-box h5 {
  margin-top: 10px;
  padding-bottom: 10px;
  font-size: 30px;
  color: #ff2cb7;
}
@media (max-width: 1280px) {
  .salary__example-course-detail-box h5 {
    margin-top: 0.78125vw;
    padding-bottom: 0.78125vw;
    font-size: 2.34375vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-detail-box h5 {
    margin-top: 0;
    padding-bottom: 0;
    font-size: 8.3333333333vw;
  }
}
.salary__example-course-detail p {
  font-size: 34px;
}
@media (max-width: 1280px) {
  .salary__example-course-detail p {
    font-size: 2.65625vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-detail p {
    font-size: 6.7708333333vw;
  }
}
.salary__example-course-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
@media (max-width: 1280px) {
  .salary__example-course-ttl {
    margin-bottom: 0.78125vw;
  }
}
.salary__example-course-ttl p {
  margin-right: 10px;
  font-size: 60px;
}
@media (max-width: 1280px) {
  .salary__example-course-ttl p {
    margin-right: 0.78125vw;
    font-size: 4.6875vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-ttl p {
    font-size: 8.0729166667vw;
  }
}
.salary__example-course-ttl h5 {
  font-size: 80px;
  color: #ff2cb7;
}
@media (max-width: 1280px) {
  .salary__example-course-ttl h5 {
    font-size: 6.25vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-ttl h5 {
    font-size: 10.6770833333vw;
  }
}
.salary__example-course-ttl h5 span {
  font-size: 60px;
}
@media (max-width: 1280px) {
  .salary__example-course-ttl h5 span {
    font-size: 4.6875vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course-ttl h5 span {
    font-size: 7.8125vw;
  }
}
.salary__example-course h6 {
  font-size: 24px;
}
@media (max-width: 1280px) {
  .salary__example-course h6 {
    font-size: 1.875vw;
  }
}
@media (max-width: 768px) {
  .salary__example-course h6 {
    font-size: 3.6458333333vw;
  }
}
.salary__banner {
  background: url("../img/salary-banner.png") no-repeat;
  background-size: cover;
  background-position: top center;
  height: 81.5104166667vw;
  text-align: right;
}
.salary__banner h2 {
  padding-top: 4.1666666667vw;
  margin-right: 2.8645833333vw;
  font-size: 8.8541666667vw;
  text-shadow: 1px 1px 1.3020833333vw rgba(0, 0, 0, 0.82);
}
.salary__banner p {
  margin-top: 1.3020833333vw;
  margin-right: 1.3020833333vw;
  margin-left: auto;
  padding: 0.5208333333vw 1.3020833333vw;
  background: #ff2cb7;
  width: 45.0520833333vw;
  text-shadow: none;
  box-shadow: 1px 1px 1.3020833333vw rgba(0, 0, 0, 0.82);
  font-size: 5.46875vw;
  text-align: center;
  letter-spacing: 0.5em;
  transform: rotate(-3deg);
}
.salary__banner h3 {
  margin-top: 7.8125vw;
  margin-right: 2.8645833333vw;
  font-size: 10.4166666667vw;
  text-shadow: 1px 1px 1.3020833333vw rgba(0, 0, 0, 0.82);
}
.salary__banner h4 {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  -webkit-clip-path: polygon(9% 0, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(9% 0, 100% 0%, 100% 100%, 0% 100%);
  margin: 1.0416666667vw 0 1.3020833333vw auto;
  padding: 0vw 2.34375vw 0vw 0;
  width: 71.6145833333vw;
  font-size: 11.4583333333vw;
  text-shadow: none;
  background: #ff2cb7;
  color: #fff;
}
.salary__banner h4 span {
  font-size: 16.9270833333vw;
  display: inline-block;
  transform: scale(0.8, 1);
  transform-origin: top left;
  margin-right: -2.8645833333vw;
}

.system {
  text-align: center;
}
.system__bg {
  background-color: #696969;
}
.system__bg .space {
  height: 80px;
}
@media (max-width: 1280px) {
  .system__bg .space {
    height: 6.25vw;
  }
}
@media (max-width: 768px) {
  .system__bg .space {
    height: 9.1145833333vw;
  }
}
.system .section-title {
  margin-top: 0;
  margin-bottom: 56px;
}
@media (max-width: 1280px) {
  .system .section-title {
    margin-bottom: 4.375vw;
  }
}
@media (max-width: 768px) {
  .system .section-title {
    margin-bottom: 9.1145833333vw;
  }
}
.system-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 1000px;
  margin: 0 auto 26px;
  gap: 30px;
}
@media (max-width: 1280px) {
  .system-flex {
    width: 78.125vw;
    margin: 0 auto 2.03125vw;
    gap: 2.34375vw;
  }
}
@media (max-width: 768px) {
  .system-flex {
    width: 93.75vw;
    margin: 0 auto 5.2083333333vw;
  }
}
.system-flex div {
  width: calc(50% - 3.90625vw); /* margin padding分を引く */
  padding: 4px;
  background: #Fff;
  color: #ff2cb7;
  font-size: 36px;
  letter-spacing: 0.2em;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.48);
}
@media (max-width: 1280px) {
  .system-flex div {
    padding: 0.3125vw;
    font-size: 2.8125vw;
    box-shadow: 0 0 0.78125vw rgba(0, 0, 0, 0.48);
  }
}
@media (max-width: 768px) {
  .system-flex div {
    padding: 1.3020833333vw 0vw;
    font-size: 4.9479166667vw;
  }
}
.system h5 {
  padding-bottom: 40px;
  font-size: 22px;
  line-height: 1.5;
}
@media (max-width: 1280px) {
  .system h5 {
    padding-bottom: 3.125vw;
    font-size: 1.71875vw;
  }
}
@media (max-width: 768px) {
  .system h5 {
    padding-bottom: 5.2083333333vw;
    font-size: 3.90625vw;
  }
}

.privacy {
  text-align: center;
}
@media (max-width: 768px) {
  .privacy .container {
    padding-top: 6.5104166667vw;
  }
}
.privacy .section-title {
  margin-bottom: 60px;
}
@media (max-width: 1280px) {
  .privacy .section-title {
    margin-bottom: 4.6875vw;
  }
}
@media (max-width: 768px) {
  .privacy .section-title {
    margin-bottom: 7.8125vw;
  }
}
.privacy-main h3 {
  margin-bottom: 14px;
  font-size: 40px;
}
@media (max-width: 1280px) {
  .privacy-main h3 {
    margin-bottom: 1.09375vw;
    font-size: 3.125vw;
  }
}
@media (max-width: 768px) {
  .privacy-main h3 {
    margin-bottom: 3.125vw;
    font-size: 6.25vw;
  }
}
.privacy-main p {
  margin-bottom: 70px;
  font-size: 24px;
}
@media (max-width: 1280px) {
  .privacy-main p {
    margin-bottom: 5.46875vw;
    font-size: 1.875vw;
  }
}
@media (max-width: 768px) {
  .privacy-main p {
    margin-bottom: 7.8125vw;
    font-size: 3.6458333333vw;
    line-height: 1.4;
  }
}
.privacy__title {
  position: relative;
  z-index: -1;
  margin: 0 auto;
  background-color: #fff;
  color: #000;
  width: 1180px;
  text-align: left;
}
@media (max-width: 1280px) {
  .privacy__title {
    width: 92.1875vw;
  }
}
@media (max-width: 768px) {
  .privacy__title {
    width: 100.2604166667vw;
  }
}
.privacy__title h3 {
  padding: 6px 0 6px 40px;
  font-size: 42px;
}
@media (max-width: 1280px) {
  .privacy__title h3 {
    padding: 0.46875vw 0 0.46875vw 3.125vw;
    font-size: 3.28125vw;
  }
}
@media (max-width: 768px) {
  .privacy__title h3 {
    padding: 0.78125vw 0 0.78125vw 4.6875vw;
    font-size: 5.2083333333vw;
  }
}
.privacy-txt {
  position: relative;
  margin-top: 12px;
  margin-bottom: 50px;
  margin-left: 130px;
  text-align: left;
}
@media (max-width: 1280px) {
  .privacy-txt {
    margin-top: 0.9375vw;
    margin-bottom: 3.90625vw;
    margin-left: 11.71875vw;
  }
}
@media (max-width: 768px) {
  .privacy-txt {
    margin-top: 1.5625vw;
    margin-bottom: 6.5104166667vw;
    margin-left: 4.9479166667vw;
  }
}
.privacy-txt p {
  font-size: 24px;
  line-height: 1.7;
}
@media (max-width: 1280px) {
  .privacy-txt p {
    font-size: 1.875vw;
  }
}
@media (max-width: 768px) {
  .privacy-txt p {
    font-size: 3.90625vw;
    line-height: 1.7;
  }
}
.privacy-txt img {
  position: absolute;
  z-index: 4;
  top: -120px;
  right: 140px;
  width: 400px;
}
@media (max-width: 1280px) {
  .privacy-txt img {
    top: -9.375vw;
    right: 13.28125vw;
    width: 31.25vw;
  }
}
@media (max-width: 768px) {
  .privacy-txt img {
    top: -7.8125vw;
    right: 1.3020833333vw;
    width: 38.8020833333vw;
  }
}
.privacy-txt-first {
  margin-bottom: 80px;
}
@media (max-width: 1280px) {
  .privacy-txt-first {
    margin-bottom: 6.25vw;
  }
}
@media (max-width: 768px) {
  .privacy-txt-first {
    margin-bottom: 13.0208333333vw;
  }
}

.interview__bg {
  background: url(../img/interview.jpg) no-repeat;
  background-size: cover;
  background-position: top center;
}
.interview__bg .space {
  height: 80px;
}
.interview .section-title {
  margin-top: 0;
  margin-bottom: 60px;
  background: url(../img/section-bg-black.png) no-repeat;
  background-size: contain;
  background-position: top center;
  text-align: center;
  color: #000;
}
@media (max-width: 768px) {
  .interview .section-title {
    background: url(../img/section-bg-black-sp.png) no-repeat;
    background-size: contain;
    background-position: top center;
    text-align: center;
  }
}
.interview-box1 {
  background: url(../img/interview1.png) no-repeat;
}
@media (max-width: 768px) {
  .interview-box1 {
    background: url(../img/interview1-sp.png) no-repeat;
  }
}
.interview-box2 {
  background: url(../img/interview2.png) no-repeat;
}
@media (max-width: 768px) {
  .interview-box2 {
    background: url(../img/interview2-sp.png) no-repeat;
  }
}
.interview-box3 {
  background: url(../img/interview3.png) no-repeat;
}
@media (max-width: 768px) {
  .interview-box3 {
    background: url(../img/interview3-sp.png) no-repeat;
  }
}
.interview-box {
  margin: 70px auto;
  background-size: contain;
  width: 1000px;
  height: 430px;
  color: #000;
}
@media (max-width: 1280px) {
  .interview-box {
    margin: 5.46875vw auto;
    width: 78.125vw;
    height: 33.59375vw;
  }
}
@media (max-width: 768px) {
  .interview-box {
    margin: 10.4166666667vw auto;
    width: 100vw;
    height: 79.4270833333vw;
    background-size: contain;
  }
}
.interview-box p {
  padding-top: 20px;
  padding-left: 320px;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media (max-width: 1280px) {
  .interview-box p {
    padding-top: 1.5625vw;
    padding-left: 25vw;
    font-size: 1.875vw;
  }
}
@media (max-width: 768px) {
  .interview-box p {
    padding-top: 36.4583333333vw;
    padding-left: 4.4270833333vw;
    font-size: 3.90625vw;
    line-height: 1.3;
    letter-spacing: 0.01em;
  }
}
.interview .banner {
  margin-top: -2.6041666667vw;
}
.interview .banner img {
  width: 100vw;
}

.faq__accordion {
  width: 90%;
  margin: 0px auto 0;
  padding-top: 100px;
  padding-bottom: 20px;
}
@media (max-width: 1280px) {
  .faq__accordion {
    padding-top: 7.8125vw;
    padding-bottom: 0vw;
  }
}
@media (max-width: 768px) {
  .faq__accordion {
    margin: 0vw auto 0;
    padding-top: 3.90625vw;
    padding-bottom: 5.2083333333vw;
  }
}
.faq__accordion__box {
  position: relative;
  z-index: 4;
  margin-bottom: 50px;
}
@media (max-width: 1280px) and (max-width: 1280px) {
  .faq__accordion__box {
    margin-bottom: 3.90625vw;
  }
}
@media (max-width: 768px) {
  .faq__accordion__box {
    margin-bottom: 2.6041666667vw;
  }
}
.faq__accordion__box .toggle {
  display: none;
}
.faq__accordion__box .title,
.faq__accordion__box .content {
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.faq__accordion__box .title {
  padding: 25px 0 25px 75px;
  display: block;
  color: #000000;
  background: #fff;
  font-size: 25px;
}
@media (max-width: 1280px) {
  .faq__accordion__box .title {
    padding: 1.953125vw 0 1.953125vw 5.859375vw;
    font-size: 1.953125vw;
  }
}
@media (max-width: 768px) {
  .faq__accordion__box .title {
    padding: 1.3020833333vw 0 1.3020833333vw 8.0729166667vw;
    font-size: 4.4270833333vw;
  }
}
.faq__accordion__box .title span {
  position: relative;
}
.faq__accordion__box .title span::before {
  content: "Q.";
  position: absolute;
  top: -5px;
  left: -44px;
  font-size: 32px;
  font-weight: 700;
}
@media (max-width: 1280px) {
  .faq__accordion__box .title span::before {
    top: -0.4166666667vw;
    left: -3.6666666667vw;
    font-size: 2.6666666667vw;
  }
}
@media (max-width: 768px) {
  .faq__accordion__box .title span::before {
    top: -0.390625vw;
    left: -6.5104166667vw;
    font-size: 4.6875vw;
  }
}
.faq__accordion__box .title::after {
  content: "＞";
  position: absolute;
  right: 1.25em;
  top: 17px;
  font-size: 40px;
  transform: rotate(90deg) scale(0.5, 1);
  transition: all 0.3s;
  color: #7c7c7c;
}
@media (max-width: 1280px) {
  .faq__accordion__box .title::after {
    top: 1.4166666667vw;
    font-size: 3.3333333333vw;
  }
}
@media (max-width: 768px) {
  .faq__accordion__box .title::after {
    top: 1.0416666667vw;
    font-size: 5.2083333333vw;
    color: #000000;
  }
}
.faq__accordion__box .content {
  position: relative;
  max-height: 0;
  overflow: hidden;
}
.faq__accordion__box .content p {
  position: relative;
  margin: 0 15px 4px 15px;
  padding: 25px 20px 0px 60px;
  color: #fff;
  font-size: 20px;
  line-height: 1.6;
}
@media (max-width: 1280px) {
  .faq__accordion__box .content p {
    margin: 0vw 1.171875vw 0.3125vw 1.171875vw;
    padding: 1.953125vw 1.5625vw 0vw 4.6875vw;
    font-size: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .faq__accordion__box .content p {
    margin: 0 1.5625vw 1.5625vw 1.5625vw;
    padding: 2.6041666667vw 1.953125vw 2.6041666667vw 6.5104166667vw;
    font-size: 3.90625vw;
    line-height: 1.4;
  }
}
@media (max-width: 768px) {
  .faq__accordion__box .content p::after {
    content: "A.";
    position: absolute;
    top: 2.6041666667vw;
    left: 0.2604166667vw;
    font-size: 4.1666666667vw;
    font-weight: 700;
  }
}
.faq__accordion__box .toggle:checked + .title + .content {
  max-height: 500px;
  transition: all 1.5s;
}
.faq__accordion__box .toggle:checked + .title::after {
  transform: scale(1, 0.6) rotate(270deg) !important;
}

.about__flex {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 40px;
  width: 930px;
  gap: 16px;
  color: #000;
}
@media (max-width: 1280px) {
  .about__flex {
    margin: 0 auto 3.125vw;
    width: 72.65625vw;
    gap: 1.25vw;
  }
}
@media (max-width: 768px) {
  .about__flex {
    margin: 0 auto 10.4166666667vw;
    width: 91.1458333333vw;
    gap: 1.8229166667vw;
  }
}
.about__flex-ttl {
  padding: 6px 8px;
  width: 180px;
  background: #fff;
  text-align: right;
  font-size: 22px;
  letter-spacing: 0.1em;
}
@media (max-width: 1280px) {
  .about__flex-ttl {
    padding: 0.46875vw 0.625vw;
    width: 14.0625vw;
    font-size: 1.71875vw;
  }
}
@media (max-width: 768px) {
  .about__flex-ttl {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 20.8333333333vw;
    font-size: 4.1666666667vw;
  }
}
.about__flex-txt {
  padding: 6px 8px;
  width: 732px;
  background: #fff;
  font-size: 22px;
  letter-spacing: 0.05em;
}
@media (max-width: 1280px) {
  .about__flex-txt {
    padding: 0.46875vw 0.625vw;
    width: 57.1875vw;
    font-size: 1.71875vw;
  }
}
@media (max-width: 768px) {
  .about__flex-txt {
    display: flex;
    align-items: center;
    width: 68.4895833333vw;
    font-size: 3.90625vw;
    line-height: 1.4;
  }
}

.contact {
  text-align: center;
  /********************************************
  * Now Loading
  ********************************************/
}
.contact img {
  width: 950px;
}
@media (max-width: 1280px) {
  .contact img {
    width: 74.21875vw;
  }
}
@media (max-width: 768px) {
  .contact img {
    width: 89.84375vw;
  }
}
@media (max-width: 768px) {
  .contact form {
    border: 1px solid #fff;
  }
}
.contact .form {
  margin: 40px auto;
  width: 960px;
}
@media (max-width: 1280px) {
  .contact .form {
    margin: 3.125vw auto;
    width: 75vw;
  }
}
@media (max-width: 768px) {
  .contact .form {
    margin: 7.8125vw auto 13.0208333333vw;
    width: 89.84375vw;
  }
}
.contact .form__flex {
  border: 1px solid #fff;
  border-bottom: none;
}
@media (max-width: 768px) {
  .contact .form__flex {
    border: none;
  }
}
.contact .form-radio .form-box-ttl {
  border: none;
}
.contact .form-radio .form-box-content {
  border-left: 1px solid #fff;
}
@media (max-width: 768px) {
  .contact .form-radio .form-box-content {
    border-left: none;
  }
}
.contact .form .textbox .form-box-ttl {
  border: none;
}
.contact .form .textbox .form-box-content {
  border-left: 1px solid #fff;
}
@media (max-width: 768px) {
  .contact .form .textbox .form-box-content {
    border-left: none;
  }
}
.contact .form-box {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #fff;
}
.contact .form-box p {
  margin-left: 20px;
  padding: 4px 14px;
  border-radius: 6px;
  background: #a70000;
  color: #fff;
  font-size: 18px;
}
@media (max-width: 1280px) {
  .contact .form-box p {
    margin-left: 1.5625vw;
    padding: 0.3125vw 1.09375vw;
    border-radius: 0.46875vw;
  }
}
@media (max-width: 768px) {
  .contact .form-box p {
    margin-left: 0;
    font-size: 2.8645833333vw;
  }
}
@media (max-width: 440px) {
  .contact .form-box p {
    font-size: 3.1818181818vw;
  }
}
@media (max-width: 768px) {
  .contact .form-box {
    flex-direction: column;
    border-bottom: none;
  }
}
.contact .form-box-ttl {
  padding: 20px;
  height: 100%;
  width: 220px;
  border-right: 1px solid #fff;
  letter-spacing: 0.03em;
  font-size: 20px;
}
@media (max-width: 1280px) {
  .contact .form-box-ttl {
    padding: 1.5625vw;
    width: 17.1875vw;
    font-size: 1.40625vw;
  }
}
@media (max-width: 768px) {
  .contact .form-box-ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-right: none;
    padding: 3.90625vw 0 1.3020833333vw;
    width: 94%;
    font-size: 3.3854166667vw;
  }
}
@media (max-width: 440px) {
  .contact .form-box-ttl {
    font-size: 3.6363636364vw;
  }
}
.contact .form-box-ttl label {
  display: block;
  height: 100%;
}
.contact .form-box-content {
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .contact .form-box-content {
    width: 94%;
  }
}
.contact .form-box-content input {
  padding: 6px;
  margin-left: 50px;
  width: 440px;
  background: #fff;
  color: #000;
  text-align: left;
  font-size: 20px;
}
@media (max-width: 1280px) {
  .contact .form-box-content input {
    padding: 0.46875vw;
    margin-left: 3.90625vw;
    width: 34.375vw;
    font-size: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .contact .form-box-content input {
    margin-left: 0;
    width: 100%;
    border: 1px solid #fff;
    background: #000;
    padding: 0.5208333333vw;
    color: #fff;
    font-size: 3.3854166667vw;
  }
}
@media (max-width: 440px) {
  .contact .form-box-content input {
    font-size: 3.6363636364vw;
  }
}
.contact .form-box-content textarea {
  padding: 6px;
  margin: 20px 50px;
  width: 440px;
  background: #fff;
  color: #000;
  text-align: left;
  font-size: 20px;
}
@media (max-width: 1280px) {
  .contact .form-box-content textarea {
    padding: 0.46875vw;
    margin: 1.5625vw 3.90625vw;
    width: 34.375vw;
    font-size: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .contact .form-box-content textarea {
    margin: 0;
    width: 100%;
    border: 1px solid #fff;
    background: #000;
    padding: 0.5208333333vw;
    color: #fff;
    font-size: 3.3854166667vw;
  }
}
.contact .form-box-radio {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  padding: 30px;
}
@media (max-width: 1280px) {
  .contact .form-box-radio {
    gap: 0.9375vw;
    padding: 2.34375vw;
  }
}
@media (max-width: 768px) {
  .contact .form-box-radio {
    width: 100%;
    border: 1px solid #fff;
    gap: 2.34375vw 1.0416666667vw;
    font-size: 2.8645833333vw;
  }
}
@media (max-width: 440px) {
  .contact .form-box-radio {
    font-size: 3.6363636364vw;
  }
}
.contact .form-box-radio-inner {
  display: flex;
}
@media (max-width: 768px) {
  .contact .form-box-radio-inner {
    justify-content: center;
  }
}
.contact .form-box-radio-inner input {
  width: 30px;
}
@media (max-width: 1280px) {
  .contact .form-box-radio-inner input {
    width: 2.34375vw;
  }
}
@media (max-width: 768px) {
  .contact .form-box-radio-inner input {
    width: 3.90625vw;
  }
}
.contact .form-submit {
  margin: 40px auto 100px;
}
@media (max-width: 1280px) {
  .contact .form-submit {
    margin: 3.125vw auto 7.8125vw;
  }
}
@media (max-width: 768px) {
  .contact .form-submit {
    margin: 6.5104166667vw auto;
  }
}
.contact .form-submit input {
  padding: 16px;
  width: 340px;
  border: 1px solid #fff;
  font-size: 20px;
  letter-spacing: 0.05em;
}
@media (max-width: 1280px) {
  .contact .form-submit input {
    padding: 1.25vw;
    width: 26.5625vw;
    font-size: 1.5625vw;
  }
}
@media (max-width: 768px) {
  .contact .form-submit input {
    width: 59.8958333333vw;
    padding: 2.8645833333vw;
    font-size: 3.125vw;
  }
}
.contact #form-load {
  display: none;
}
.contact .loader {
  margin: 0 auto;
  border: 12px solid #fafafa;
  border-radius: 50%;
  border-top: 12px solid #3498db;
  width: 100px;
  height: 100px;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.contact .load1 {
  animation: sk-scaleout 1s infinite ease-in-out;
  position: fixed;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  z-index: 201;
  text-align: center;
  background-color: #b1b1b1;
  color: #ffffff;
  opacity: 0.8;
  width: 800px;
}
.contact .load1 p {
  margin: 0 auto;
  text-align: center;
  padding: 10px;
}
.contact #result {
  text-align: center;
  margin: 80px auto;
}
@media (max-width: 1280px) {
  .contact #result {
    margin: 6.6666666667vw auto;
  }
}
.contact #result h4 {
  margin-bottom: 45px;
  font-size: 47px;
}
@media (max-width: 1280px) {
  .contact #result h4 {
    margin-bottom: 3.3333333333vw;
    font-size: 3.9166666667vw;
  }
}
@media (max-width: 768px) {
  .contact #result h4 {
    font-size: 4.5572916667vw;
  }
}
.contact #result p {
  font-size: 31px;
}
@media (max-width: 1280px) {
  .contact #result p {
    font-size: 2.5833333333vw;
  }
}
@media (max-width: 768px) {
  .contact #result p {
    font-size: 2.734375vw;
  }
}
.contact .space {
  margin-bottom: 1.0416666667vw;
  height: 2.0833333333vw;
  background: #fff;
}

@media (max-width: 768px) {
  .form-confirm {
    padding: 3.90625vw;
  }
}