@charset "UTF-8";
/* =======================
	Foundation
==========================*/
/*! destyle.css v1.0.13 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model */
body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

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

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

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 */
}

/**
 * 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 */
}

img {
  border-style: none;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

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

/* Forms
   ========================================================================== */
button,
optgroup,
select {
  -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;
}

[type=checkbox] {
  /* 1 */
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  /* 1 */
  -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 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;
}

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

/**
 * 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;
}

.font-en {
  font-family: "Noto Sans", sans-serif;
  font-weight: 700;
}

@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 60%;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 100%;
    opacity: 0;
  }
}
.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}
@keyframes fadeInUp {
  from {
    transform: translate3d(0, 3em, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}

/*///////////////*/
.evt {
  visibility: hidden;
}

html {
  box-sizing: border-box;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  color: #1a1a1a;
  line-height: 1.6;
}

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

body {
  height: 100%;
}

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

/* =======================
	object
==========================*/
/*
	object-component
--------------------------*/
#recruit .title,
#flow .title,
#faq .title {
  text-align: center;
  font-size: clamp(0.875rem, 0.696rem + 0.89vw, 1.5rem);
  color: #f7701b;
  font-weight: bold;
  padding-top: clamp(1.25rem, 0.179rem + 5.36vw, 5rem);
  margin-bottom: 2.1875rem;
  position: relative;
}
#recruit .title::before,
#flow .title::before,
#faq .title::before {
  position: absolute;
  content: attr(data-en);
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translate(-50%, 0.3em);
  font-size: clamp(3rem, 1.571rem + 7.14vw, 8rem);
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #eaecee;
  z-index: -1;
}

#faq .title::before {
  color: #fff;
}

.btn {
  max-width: 600px;
  width: 100%;
  display: inline-block;
}

.btn_regist {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(to right, transparent 0%, transparent 10%, #f7701b 10%, #f7701b 100%);
  color: #fff;
  padding: 1.25rem;
  border-radius: 1.25rem;
  cursor: pointer;
  height: 70px;
  position: relative;
  transition: 0.5s;
  /* アイコン */
  /* テキスト部分 */
}
.btn_regist:hover {
  transform: scale(1.1, 1.1);
}
.btn_regist .btn_registImg {
  width: clamp(100px, 15vw, 166px);
  height: auto;
  margin-left: -30px;
  margin-right: 1rem;
}
.btn_regist .btn_registImg_text {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: clamp(1.25rem, 1.036rem + 1.07vw, 2rem);
  font-weight: bold;
  letter-spacing: 0.08em;
}
.btn_regist .btn_registImg_text .arrow {
  width: 1.3125rem;
  height: 1.3125rem;
  margin-left: 1.875rem;
}

#contact .btn_regist {
  border-radius: 0.625rem;
}

.btn.contact {
  margin-top: 1.25rem;
}

.btn_regist.btn_contact {
  display: inline-block;
  background: #f7701b;
  min-width: 263px;
  height: auto;
  padding: 0.9375rem 1.25rem;
}
.btn_regist.btn_contact:hover {
  opacity: 0.7;
  transform: scale(1);
}

.btn_contactImg_text {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: clamp(1rem, 0.714rem + 1.43vw, 2rem);
  font-weight: bold;
  letter-spacing: 0.08em;
}
.btn_contactImg_text .arrow {
  width: 1.3125rem;
  height: 1.3125rem;
  margin-left: 1.25rem;
}

@media screen and (min-width: 770px) {
  .btn_regist.btn_contact {
    width: 100%;
    max-width: 580px;
    padding: 1.5rem 0;
  }
  .btn_contactImg_text .arrow {
    margin-left: 1.875rem;
  }
  #free .btn_regist,
  #contact .btn_regist {
    border-radius: 1.25rem;
  }
}
.speech-bubble {
  background-color: #fff;
  border: 5px solid #ff7f00;
  text-align: center;
  padding: 0.625rem 1.5rem;
  border-radius: 4px;
  display: inline-block;
  position: relative;
  font-weight: bold;
  font-size: clamp(1rem, 0.857rem + 0.71vw, 1.5rem);
  margin-top: 0.9375rem;
}
.speech-bubble.last {
  margin-bottom: 0.9375rem;
}

.speech-bubble::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 1rem;
  border-width: 15px 0 0 31px;
  border-color: #f7701b transparent transparent;
  translate: -50% 100%;
  transform: skew(-5deg);
  transform-origin: top;
}

.speech-bubble::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 1rem;
  border-style: solid;
  border-width: 15px 0 0 31px;
  border-color: #f7701b transparent transparent;
  translate: -50% 100%;
  transform: skew(-11deg);
  transform-origin: top;
}

@media screen and (min-width: 770px) {
  .title .speech-bubble {
    margin-right: 1.625rem;
    margin-top: 1.875rem;
  }
  .btn_regist {
    height: clamp(60px, 9vw, 110px);
  }
  .btn_regist .btn_registImg_text {
    margin: 20px 0;
    transform: translateX(-20px);
  }
  .btn_registImg {
    margin-left: 0;
  }
}
#floating_top {
  width: 120px;
  height: 120px;
}

#floating_top {
  position: fixed;
  right: 0px;
  bottom: 0px;
  z-index: 999;
  transform: translate3d(0, 100%, 0);
  transition: transform 0.35s, opacity 0.35s;
}
#floating_top:hover {
  opacity: 0.8;
}

#floating_top.active {
  transform: translate3d(0, 0, 0);
}

@media screen and (min-width: 770px) {
  #floating_top {
    width: 140px;
    height: 140px;
  }
}
/* =======================
	layout
==========================*/
.divWrapper {
  width: 90%;
  max-width: 1040px;
  margin: 0 auto;
}

#header {
  height: 63px;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.7019607843);
  z-index: 9999;
}
#header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4%;
  width: 100%;
  max-width: 1440px;
  height: 63px;
  margin: 0 auto;
  padding: 0 5%;
  transition: 200ms;
}

.nav {
  width: 100%;
}

.menu {
  z-index: 7;
  position: absolute;
  top: 0;
  right: 5%;
  bottom: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  outline: 0;
  background-color: #1f1f1f;
}

.navList {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  padding: 30% 0 0;
  width: 80%;
  height: 80%;
  background: rgba(255, 255, 255, 0.9);
  transition: transform 0.3s ease;
  transform: translateX(100%);
  margin: 0;
  text-align: center;
}

.navList li {
  position: relative;
  transition: opacity 0.3s ease;
}
.navList li:hover {
  opacity: 0.7;
}

.navList li a {
  margin-left: 5%;
  display: block;
  padding: 15px 0 0;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
}

li.navItem--register {
  margin: 20px 0 0 0;
  transition: opacity 0.3s ease;
}
li.navItem--register:hover {
  opacity: 0.7;
}
li.navItem--register a {
  display: inline-flex; /* flexで縦横中央揃え */
  align-items: center;
  justify-content: center;
  width: 202px;
  height: 55px;
  background-color: #f7701b;
  padding: 0;
  color: #fff;
  text-decoration: none;
  border-radius: 0.625rem;
}
li.navItem--register a .btn_register_text {
  display: inline-flex;
  align-items: center;
}
li.navItem--register a .btn_register_text .arrow {
  display: inline-block;
  margin-left: 0.9375rem; /* テキストと矢印の間隔 */
  width: 11px; /* 適宜調整 */
  height: auto;
}

li.navItem--contact {
  margin: 40px 0 0 0;
  transition: opacity 0.3s ease;
}
li.navItem--contact:hover {
  opacity: 0.7;
}
li.navItem--contact a {
  display: inline-flex; /* flexで縦横中央揃え */
  align-items: center;
  justify-content: center;
  width: 202px;
  height: 55px;
  padding: 0;
  background-color: #fff;
  border: 1px solid #f7701b;
  color: #f7701b;
  text-decoration: none;
  border-radius: 0.625rem;
}
li.navItem--contact a .btn_register_text {
  display: inline-flex;
  align-items: center;
}
li.navItem--contact a .btn_register_text .arrow {
  display: inline-block;
  margin-left: 0.9375rem; /* テキストと矢印の間隔 */
  width: 11px; /* 適宜調整 */
  height: auto;
}

.navList.is-active {
  transform: translateX(0);
}

.navItem--register.btn_regist_sp {
  text-align: center;
  font-size: 0.625rem;
  font-weight: bold;
  width: 76px;
}
.navItem--register.btn_regist_sp .font-em {
  font-size: 0.75rem;
  font-weight: bold;
}

@media screen and (min-width: 770px) {
  #header {
    height: 93px;
  }
  #header .inner {
    height: 93px;
    display: flex;
    justify-content: space-between;
    padding: 0.8em 30px;
  }
  .menu {
    display: none;
  }
  .l-header__title img {
    width: 100px;
    height: 47px;
  }
  .navList {
    position: static;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0;
    background-color: transparent;
    transform: none;
    width: 100%;
  }
  .navList li {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .navList li a {
    font-weight: 400;
    font-size: clamp(0.938rem, 0.92rem + 0.09vw, 1rem);
    padding: 0;
  }
  .navList li.navItem--register {
    margin: 0 0 0 10px;
  }
  .navList li.navItem--contact {
    margin: 0 0 0 50px;
  }
}
/* button */
.hamburger {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 10px;
  height: 1px;
  margin: auto;
  border-radius: 10px;
  background-color: #fff;
}

.hamburger::before,
.hamburger::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background-color: inherit;
  content: "";
  transition: transform 0.2s ease-in-out;
}

.hamburger::before {
  top: -5px;
}

.hamburger::after {
  top: 5px;
}

.is-active-drawer .hamburger {
  background-color: transparent;
}
.is-active-drawer .hamburger::before, .is-active-drawer .hamburger::after {
  top: 0;
  background-color: #fff;
}
.is-active-drawer .hamburger::before {
  transform: rotate(-45deg);
}
.is-active-drawer .hamburger::after {
  transform: rotate(45deg);
}

.u-visuallyHidden {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
}

@media screen and (min-width: 770px) {
  .btn-hamburger {
    display: none;
  }
  .navItem--top {
    display: none;
  }
  .navItem--spOnly {
    display: none;
  }
}
main {
  padding-top: 63px;
}

@media screen and (min-width: 770px) {
  main {
    padding-top: 93px;
  }
}
/*
	hero
--------------------------*/
.hero_bg {
  width: 100%;
  background-image: url("../img/background-sp.png");
  background-size: cover;
  background-position: left bottom;
  background-repeat: no-repeat;
  position: relative;
}

@media screen and (min-width: 770px) {
  .hero_bg {
    background-image: url("../img/background.png");
  }
}
.hero_contents {
  display: grid;
  justify-items: center;
  grid-template: "subTitle_area" "hero_img_area" "title_area" "merit_img_area" "btn_area"/1fr;
  padding: 2rem 0;
}

.hero_contents {
  text-align: center;
}

#hero .title_area {
  grid-area: title_area;
}

#hero .subTitle_area {
  grid-area: subTitle_area;
  align-self: center;
}

#hero .hero_img_area {
  grid-area: hero_img_area;
  padding: 20px 0 20px 54px;
}

#hero .merit_img_area {
  grid-area: merit_img_area;
  align-self: center;
  padding: 1.25rem 0 0;
}

#hero .btn_area {
  grid-area: btn_area;
  align-self: center;
  justify-self: center;
  padding-top: 2rem;
}

#hero .inner {
  width: 90%;
  margin: 0 auto;
}

#hero .title {
  font-size: clamp(1rem, 0.714rem + 1.43vw, 2rem);
  font-weight: 700;
}
#hero .title span {
  display: inline-block;
  background: linear-gradient(-270deg, #28a9e0 3%, #1f67bf 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(2rem, 1.429rem + 2.86vw, 4rem);
}

#hero .text {
  font-size: clamp(0.75rem, 0.643rem + 0.54vw, 1.125rem);
  margin-top: 0.625rem;
}

#hero .subTitle_wrapper {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0.625rem;
}
#hero .subTitle_wrapper .subTitle1 {
  color: #f7701b;
  font-weight: bold;
  font-size: clamp(1rem, 0.786rem + 1.07vw, 1.75rem);
}

.subTitle2 {
  font-size: clamp(1.5rem, 1.214rem + 1.43vw, 2.5rem);
  font-weight: bold;
  margin-top: 1.25rem;
}
.subTitle2 span.dot-text {
  background-image: radial-gradient(circle at center, #28a9e0 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.4em;
  padding-top: 0.2em;
}

@media screen and (min-width: 770px) {
  .hero_contents {
    display: grid;
    grid-template-areas: "subTitle_area hero_img_area" "title_area hero_img_area" "merit_img_area btn_area";
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr 1fr;
  }
  #hero .text {
    font-weight: bold;
    line-height: 2;
    margin-top: 1.25rem;
  }
  #hero .inner {
    width: 100%;
  }
  #hero .hero_img_area {
    padding: 0;
  }
  #hero .merit_img_area {
    padding: 2.1875rem;
  }
  .merit_img img {
    max-width: 600px;
  }
  #hero .btn_area {
    padding-right: 20px;
  }
}
/*
	found
--------------------------*/
#found {
  text-align: center;
}

#found .bg-gray {
  background: #f5f5f5;
  padding: 3.125rem 0;
}

#found .title {
  font-size: clamp(1.25rem, 1.036rem + 1.07vw, 2rem);
  font-weight: bold;
  letter-spacing: 0.08em;
}
#found .title .title_orange {
  color: #f7701b;
}

#found .subTitle {
  font-weight: 600;
}

#found .found_contentsArea {
  margin-top: 1.875rem;
  margin-bottom: 17.5rem;
  position: relative;
  overflow: visible;
}
#found .found_contentsArea .divWrapper {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}
#found .found_contentsArea .image-Wrapper {
  width: 100%;
  z-index: 10;
  position: relative;
  text-align: left;
}
#found .found_contentsArea .image-Wrapper img {
  width: 65%;
}
#found .found_contentsArea .text-bg {
  background: #fff;
  padding: 16% 2.0625rem 2.5rem 3.125rem;
  position: absolute;
  top: 80%; /* 縦位置はお好みで調整 */
  left: 5%;
  right: 0;
  background: #fff;
  border: 2px solid #eaecee;
  border-top-left-radius: 3.125rem;
  border-bottom-left-radius: 3.125rem;
}
#found .found_contentsArea .text-Wrapper {
  width: 100%;
  text-align: left;
}
#found .found_contentsArea .text-Wrapper .found_con_num {
  display: inline-block;
  font-size: clamp(3rem, 2.714rem + 1.43vw, 4rem);
  background: linear-gradient(-270deg, #28a9e0 3%, #1f67bf 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
  z-index: 1;
  position: absolute;
  top: -50px;
}
#found .found_contentsArea .text-Wrapper .found_con_num.reverse {
  right: 10%;
}
#found .found_contentsArea .text-Wrapper .found_con_title {
  font-size: clamp(1rem, 0.857rem + 0.71vw, 1.5rem);
  font-weight: 600;
  letter-spacing: 0.08em;
}
#found .found_contentsArea .text-Wrapper .found_con_title .spantext {
  font-size: clamp(1.5rem, 1.357rem + 0.71vw, 2rem);
  font-weight: bold;
  background: linear-gradient(transparent 70%, rgba(247, 112, 27, 0.6) 70%);
}
#found .found_contentsArea .text-Wrapper .found_con_text {
  margin-top: 1.625rem;
  text-align: left;
  font-size: clamp(0.875rem, 0.839rem + 0.18vw, 1rem);
}
#found .found_contentsArea .text-Wrapper .found_con_text .spantext {
  color: #f7701b;
}
#found .found_contentsArea.reverse .image-Wrapper {
  text-align: right;
}
#found .found_contentsArea.reverse .text-bg {
  left: 0;
  right: 5%;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 3.125rem;
  border-bottom-right-radius: 3.125rem;
}
#found .found_contentsArea.reverse .text-bg::before {
  position: absolute;
  top: clamp(-3rem, -2.714rem - 1.43vw, -4rem);
  left: 13vw;
  font-size: clamp(3rem, 2.714rem + 1.43vw, 4rem);
}
#found .found_contentsArea.reverse .center {
  display: flex;
  align-items: center;
  gap: 0 2%;
}
#found .found_contentsArea.reverse .multi_con {
  width: 1.375rem;
}

@media screen and (min-width: 954px) {
  #found .bg-gray {
    padding: 5rem 0;
  }
  #found .found_contentsArea {
    margin-top: 2.5rem;
    margin-bottom: 6.25rem;
  }
  #found .found_contentsArea .image-Wrapper {
    width: 520px;
  }
  #found .found_contentsArea .image-Wrapper img {
    width: 100%;
  }
  #found .found_contentsArea .text-bg {
    position: absolute;
    top: 50px; /* 縦位置はお好みで調整 */
    left: calc(50vw - 100px);
    right: 0;
    background: #fff;
    border: 2px solid #eaecee;
    border-top-left-radius: 3.125rem;
    border-bottom-left-radius: 3.125rem;
    padding: 5.625rem 2.75rem 3.75rem 12.5rem;
  }
  #found .found_contentsArea .text-Wrapper {
    max-width: 400px;
  }
  #found .found_contentsArea .text-Wrapper .found_con_text {
    font-weight: 600;
  }
  #found .found_contentsArea .text-Wrapper .found_con_num {
    display: inline-block;
    font-size: clamp(3rem, 2.714rem + 1.43vw, 4rem);
    background: linear-gradient(-270deg, #28a9e0 3%, #1f67bf 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: bold;
    z-index: 1;
    position: absolute;
    top: -50px;
  }
  #found .found_contentsArea .text-Wrapper .found_con_num.reverse {
    right: inherit;
  }
  #found .found_contentsArea.reverse .text-bg {
    left: 0;
    right: calc(50vw - 100px);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 3.125rem;
    border-bottom-right-radius: 3.125rem;
    padding: 5.625rem 12.5rem 3.75rem 2.75rem;
  }
  #found .found_contentsArea.reverse .image-Wrapper {
    margin-left: auto;
  }
  #found .found_contentsArea.reverse .text-Wrapper {
    margin-left: auto;
  }
}
/*
	regist
--------------------------*/
#regist {
  padding: 3.125rem 0;
}

#regist .regist_title {
  font-size: clamp(1.125rem, 0.804rem + 1.61vw, 2.25rem);
  font-weight: bold;
  color: #f7701b;
  text-align: center;
}

#regist .regist_contentsArea {
  display: flex;
  flex-wrap: wrap;
}

#regist .regist_cont {
  margin: 2.8125rem 0;
  width: 100%;
}

#regist .regist_cont figure {
  text-align: center;
}
#regist .regist_cont figure img {
  max-width: 400px;
}

#regist .speech-bubble {
  margin-bottom: 1.875rem;
}

#regist .regist_cont_text {
  font-size: clamp(0.875rem, 0.839rem + 0.18vw, 1rem);
  margin-top: 1.25rem;
}
#regist .regist_cont_text .spantext {
  color: #f7701b;
}

@media screen and (min-width: 770px) {
  #regist .regist_contentsArea {
    flex-flow: row wrap;
    gap: 0 13%;
  }
  #regist .regist_cont {
    width: 43%;
    margin: 3.125rem 0;
  }
  #regist .regist_cont figure {
    text-align: center;
  }
  #regist .regist_cont figure img.couse_graph {
    max-width: 428px;
  }
  #regist .speech-bubble {
    margin-bottom: 3.125rem;
  }
  #regist .regist_cont_text {
    margin-top: 1.875rem;
  }
}
/*
	free
--------------------------*/
#free .bg-blue {
  background: #afe0ee;
  border-top-right-radius: 3.125rem;
  border-bottom-right-radius: 3.125rem;
  padding: 5rem 0 4.375rem;
}

#free .paddingArea {
  padding: 0 5%;
}

#free .title,
#contact .title,
#faq .title {
  text-align: center;
  font-size: clamp(1rem, 0.714rem + 1.43vw, 2rem);
  font-weight: bold;
  letter-spacing: 0.08em;
  line-height: 2;
}
#free .title .spantext,
#contact .title .spantext,
#faq .title .spantext {
  background: #fff;
  padding: 0.25rem 1rem;
  margin: 0 0.25rem;
}
#free .title .spantext.blue,
#contact .title .spantext.blue,
#faq .title .spantext.blue {
  color: #28a9e0;
}
#free .title .spantext.orange,
#contact .title .spantext.orange,
#faq .title .spantext.orange {
  padding: 0.25rem 0.625rem;
  color: #f7701b;
}

#free .free_iconList {
  margin: 2.1875rem auto 1.625rem;
  text-align: center;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  align-items: center;
}

#free .free_iconList_item {
  width: 30%;
}

#free .free_icon_text {
  font-size: clamp(0.875rem, 0.696rem + 0.89vw, 1.5rem);
  letter-spacing: 0.08em;
  font-weight: bold;
  margin-bottom: 1rem;
  position: relative;
}

#free .free_icon_text::before,
#free .free_icon_text::after {
  content: "";
  display: inline-block;
  background-image: url("../img/wave.svg");
  width: 96px;
  height: 4px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

#free .free_icon_text::before {
  position: absolute;
  top: -0.3125rem;
  left: 50%;
  transform: translateX(-50%);
}

#free .free_icon_text::after {
  position: absolute;
  bottom: -0.3125rem;
  left: 50%;
  transform: translateX(-50%);
}

#free .free_registArea {
  display: grid;
  justify-items: center;
  grid-template: "illust01_area illust01_area illust01_area speech-bubble_area speech-bubble_area speech-bubble_area illust02_area illust02_area illust02_area" "green01_area green01_area green01_area text_area text_area text_area green02_area green02_area green02_area" "btn_area btn_area btn_area btn_area btn_area btn_area btn_area btn_area btn_area"/1fr 1fr 1fr 3fr 3fr 3fr 1fr 1fr 1fr;
  gap: 1rem 0;
}

#free .illust01_area {
  grid-area: illust01_area;
}
#free .illust01_area img {
  width: 2rem;
}

#free .speech-bubble_area {
  grid-area: speech-bubble_area;
}

#free .speech-bubble {
  font-size: clamp(0.875rem, 0.696rem + 0.89vw, 1.5rem);
  padding: 0.5rem 0.9375rem;
}

#free .illust02_area {
  grid-area: illust02_area;
}
#free .illust02_area img {
  width: 5.875rem;
}

#free .green01_area {
  grid-area: green01_area;
  justify-self: right;
}

#free .green01_area img,
#free .green02_area img {
  width: 40px;
}

#free .text_area {
  grid-area: text_area;
  font-size: clamp(3rem, 2.143rem + 4.29vw, 6rem);
  letter-spacing: 0.1em;
  font-weight: bold;
  align-self: center;
}

#free .green02_area {
  grid-area: green02_area;
  justify-self: left;
}

#free .btn_area {
  grid-area: btn_area;
  padding-top: 0.625rem;
}

@media screen and (min-width: 770px) {
  #free .bg-blue,
  #contact .bg-blue {
    border-top-right-radius: 6.25rem;
    border-bottom-right-radius: 6.25rem;
    padding: 5rem 0 4.375rem;
  }
  #free .free_iconList {
    margin: 3.25rem auto 2.5rem;
    max-width: 702px;
  }
  #free .free_icon_text::before,
  #free .free_icon_text::after {
    width: 162px;
    height: 7px;
  }
  #free .free_icon_text::before {
    top: -0.375rem;
  }
  #free .free_icon_text::after {
    bottom: -0.375rem;
  }
  #free .free_registArea {
    display: grid;
    justify-items: center;
    grid-template: "speech-bubble_area speech-bubble_area speech-bubble_area speech-bubble_area speech-bubble_area speech-bubble_area speech-bubble_area speech-bubble_area speech-bubble_area" "illust01_area illust01_area illust01_area green01_area text_area green02_area illust02_area illust02_area illust02_area" "illust01_area illust01_area illust01_area btn_area btn_area btn_area illust02_area illust02_area illust02_area"/1fr 1fr 1fr 1fr 5fr 1fr 1fr 1fr 1fr;
  }
  #free .illust01_area {
    padding-top: 2.5rem;
  }
  #free .illust01_area img {
    width: auto;
    height: 14vw;
    max-height: 200px;
  }
  #free .illust02_area {
    padding-top: 2.5rem;
    padding-right: 10%;
  }
  #free .illust02_area img {
    width: 20vw;
    max-width: 300px;
  }
  #free .green01_area img,
  #free .green02_area img {
    width: 5rem;
  }
  #free .free_registArea .btn_area {
    justify-self: stretch;
    text-align: center;
    padding-top: 2.5rem;
  }
  #free .free_registArea .btn_area .btn_regist {
    width: 100%;
  }
  .free_icon_img img {
    max-width: 138px;
  }
}
@media screen and (max-width: 370px) {
  #free .text_area {
    font-size: 42px;
  }
}
/*
	recruit
--------------------------*/
#recruit {
  padding: 4.75rem 0 2.5rem;
}

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

.recruit_caseList_item {
  max-width: 314px;
  border: 2px solid #eaecee;
  border-radius: 0.625rem;
  margin: 0 0 2.375rem;
  padding: 0 1.125rem 2.5rem;
  text-align: center;
  position: relative;
}
.recruit_caseList_item .speech-bubble {
  margin-top: 3.375rem;
  z-index: 10;
}

.recruit_caseList_item:first-child {
  margin-top: 20px;
}

.recruit_caseList_item::after {
  content: "";
  width: 119px;
  height: 119px;
  position: absolute;
  top: -1.875rem;
  left: 50%;
  transform: translateX(-50%);
}

.recruit_caseList_item.caseList01::after {
  background: url("../img/case01-img.png") no-repeat;
  background-size: contain;
}

.recruit_caseList_item.caseList02::after {
  background: url("../img/case02-img.png") no-repeat;
  background-size: contain;
}

.recruit_caseList_item.caseList03::after {
  background: url("../img/case03-img.png") no-repeat;
  background-size: contain;
}

.recruit_caseList_item.caseList04::after {
  background: url("../img/case04-img.png") no-repeat;
  background-size: contain;
}

.recruit_case_title {
  font-size: clamp(0.875rem, 0.804rem + 0.36vw, 1.125rem);
  font-weight: 600;
  padding: 1.25rem 0;
  border-bottom: 1px solid #28a9e0;
  margin: 0 0 1.25rem;
}

.recruit_case_text {
  font-size: clamp(0.75rem, 0.679rem + 0.36vw, 1rem);
  text-align: left;
}

#recruit .title02 {
  text-align: center;
  font-size: clamp(1rem, 0.714rem + 1.43vw, 2rem);
  color: #28a9e0;
  font-weight: bold;
}

.recruit_alumniList {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  max-width: 290px;
  margin: 0 auto;
}

.recruit_alumniList_item {
  max-width: 412px;
  margin: 1.875rem 0;
  background: #eaecee;
  border-radius: 9%;
  text-align: center;
}

.recruit_alumniArea {
  padding: 1.5625rem;
}

.recruit_alumni_text {
  font-size: clamp(0.938rem, 0.848rem + 0.45vw, 1.25rem);
  font-weight: 600;
  line-height: 1;
}

.recruit_alumni_img {
  width: 1.375rem;
  margin: 0.9375rem auto;
}

.recruit_alumni_text02 {
  display: inline-block;
  background: #fff;
  border: 2px solid #28a9e0;
  border-radius: 1.875rem;
  padding: 0.3125rem 1.25rem;
  font-size: clamp(1rem, 0.857rem + 0.71vw, 1.5rem);
  font-weight: bold;
}

@media screen and (min-width: 770px) {
  #recruit .divWrapper {
    max-width: 1306px;
  }
  .recruit_alumniList {
    max-width: inherit;
    margin: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 0 4%;
  }
  .recruit_alumniList_item {
    width: 30%;
    max-width: 310px;
    margin: 2.5rem 0 1.875rem;
  }
  .recruit_caseList_item::after {
    content: "";
    width: 167px;
    height: 167px;
    position: absolute;
    top: -3.375rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .recruit_caseList_item .speech-bubble {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 771px) and (max-width: 1360px) {
  .recruit_caseList {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 0 4%;
  }
  .recruit_case_title {
    text-align: left;
  }
  .recruit_case_title span.br {
    display: block;
  }
  .recruit_caseList_item {
    width: 46%;
    max-width: inherit;
    margin: 5rem 0 1.875rem;
  }
  .recruit_caseList_item:first-child {
    margin-top: auto;
  }
}
@media screen and (min-width: 1361px) {
  .recruit_caseList {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 0 1%;
  }
  .recruit_caseList_item {
    width: 24%;
    margin: 5rem 0 3.125rem;
    height: 448px;
  }
  .recruit_caseList_item:first-child {
    margin-top: auto;
  }
  .recruit_case_title {
    text-align: left;
  }
}
/*
	contact
--------------------------*/
#contact .bg-blue {
  background: #afe0ee;
  border-top-right-radius: 3.125rem;
  border-bottom-right-radius: 3.125rem;
  padding: 2.5rem 0;
}

.contact_textArea {
  text-align: center;
  position: relative;
  max-width: 500px;
  margin: 0 auto;
}
.contact_textArea::before {
  content: "";
  position: absolute;
  left: 5%;
  top: 45%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  background: url("../img/free_people4.png") no-repeat center/contain;
}
.contact_textArea::after {
  content: "";
  position: absolute;
  right: 5%;
  top: 45%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  background: url("../img/free_people3.png") no-repeat center/contain;
}

#contact .title .spantext {
  margin-left: 0.3125rem;
}

@media screen and (min-width: 770px) {
  #contact .bg-blue {
    background: #afe0ee;
    border-top-right-radius: 6.25rem;
    border-bottom-right-radius: 6.25rem;
    padding: 5rem 0 3.75rem;
  }
  .contact_textArea {
    text-align: center;
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
  }
  .contact_textArea::before {
    content: "";
    position: absolute;
    left: 5%;
    top: 45%;
    transform: translateY(-50%);
    height: 20vw;
    max-height: 200px;
    width: auto;
    aspect-ratio: 1/1;
    background: url("../img/free_people4.png") no-repeat center/contain;
    z-index: 10;
  }
  .contact_textArea::after {
    content: "";
    position: absolute;
    right: 3%;
    top: 45%;
    transform: translateY(-50%);
    height: 18vw;
    max-height: 200px;
    width: auto;
    aspect-ratio: 1/1;
    background: url("../img/free_people3.png") no-repeat center/contain;
  }
}
/*
	flow
--------------------------*/
#flow {
  padding: 4.75rem 0 5rem;
}

.flowArea {
  display: flex;
  flex-flow: row nowrap;
  gap: 1.875rem;
  align-items: center;
  margin-bottom: 1.25rem;
}
.flowArea img {
  width: 70px;
}

.flowArea > div {
  flex: 1;
}

.flow_num {
  font-size: clamp(2.25rem, 2.036rem + 1.07vw, 3rem);
  font-weight: bold;
  color: #f7701b;
}

.flow_textArea {
  width: calc(100% - 100px);
}

.flow_title {
  font-size: clamp(1rem, 0.857rem + 0.71vw, 1.5rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  border-bottom: 1px solid #28a9e0;
  padding-bottom: 0.8125rem;
  margin-bottom: 0.8125rem;
}

.flow_text {
  font-size: clamp(0.813rem, 0.759rem + 0.27vw, 1rem);
  letter-spacing: 0.08em;
}

@media screen and (min-width: 770px) {
  .flow_conList_item {
    display: flex;
    flex-flow: row nowrap;
    margin-top: 80px;
  }
  .flowArea {
    width: 90%;
  }
  .flowArea img {
    width: 100px;
  }
  .flowArea figure {
    margin: 0 3.125rem 0 2.5rem;
    position: relative;
  }
  .flowArea figure::before {
    content: "";
    background: #f7701b;
    width: 2px;
    height: 80px;
    position: absolute;
    left: 0;
    top: 110%;
  }
  .flowArea figure.last::before {
    content: none;
  }
}
/*
	faq
--------------------------*/
#faq .bg-gray {
  background-color: #eaecee;
  padding: 4.75rem 0 3.125rem;
  position: relative;
  z-index: 0;
}

.faq_contentsArea {
  background-color: #fff;
  padding: 1.25rem;
  border-radius: 0.625rem;
  margin: 0.625rem 0;
}

.faq_img {
  width: 2.875rem;
  height: 2.875rem;
}

.faq_text.js-ac__box {
  display: none;
}

.faq_title {
  display: flex;
  cursor: pointer;
  position: relative;
  transition: all 0.5s ease;
  font-size: clamp(1rem, 0.857rem + 0.71vw, 1.5rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  gap: 1.25rem;
  padding-right: 1.25rem;
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid #28a9e0;
}
.faq_title::before, .faq_title::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 1px;
  background-color: #808080;
}
.faq_title::before {
  top: 50%;
  right: 0px;
}
.faq_title::after {
  top: 50%;
  right: 0px;
  transform: rotate(90deg);
}

.faq_title.active::before {
  transform: translateX(-10px);
  opacity: 0;
}

.faq_title.active::after {
  transform: rotate(0deg);
}

.faq_text {
  padding: 0.9375rem 1.25rem 0;
  font-size: clamp(0.813rem, 0.759rem + 0.27vw, 1rem);
}

@media screen and (min-width: 770px) {
  .faq_text.js-ac__box {
    display: block;
  }
  .faq_title {
    cursor: inherit;
    width: 100%;
  }
  .faq_title::before,
  .faq_title::after {
    display: none;
  }
  .faq_contentsArea {
    background-color: #fff;
    padding: 1.875rem 2.5rem;
    border-radius: 1.875rem;
    margin: 1.875rem 0;
  }
}
/*
	footer
--------------------------*/
#footer {
  background-color: black;
  text-align: center;
  padding: 3.125rem 0 0.375rem;
  color: #fff;
}

.footer_logo {
  max-width: 198px;
  margin: 0 auto;
}

.footer_contentsArea {
  margin: 3.125rem 0;
  text-align: left;
}

.foote_cont_title {
  font-size: clamp(0.938rem, 0.92rem + 0.09vw, 1rem);
}

.footer_navArea {
  margin-top: 1.25rem;
}

.footer_navList_item {
  margin-bottom: 1.5rem;
  position: relative;
  transition: opacity 0.3s ease;
}
.footer_navList_item:hover {
  opacity: 0.8;
}
.footer_navList_item::after {
  content: "";
  display: inline-block;
  background: url(./../img/arrow-orange.svg) no-repeat;
  width: 1.5rem;
  height: 1.5rem;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.footer_navList_item a {
  display: block;
  font-size: clamp(0.938rem, 0.92rem + 0.09vw, 1rem);
  padding: 1rem;
  border-bottom: 1px solid #fff;
  cursor: pointer;
}

#footer small {
  font-size: clamp(0.625rem, 0.589rem + 0.18vw, 0.75rem);
}

@media screen and (min-width: 770px) {
  #footer .divWrapper {
    max-width: 1198px;
  }
  .footerArea {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }
  .footer_logo {
    margin: 0;
  }
  .footer_contentsArea {
    margin-top: 0;
    margin-left: 5%;
    flex: 1;
  }
  .footer_navList {
    display: flex;
    flex-flow: row wrap;
    gap: 2%;
  }
  .footer_navList_item {
    margin-bottom: 0;
    width: 30%;
  }
}
/*
	object-project
--------------------------*/
/*.logo
.profile
*/
/*
	object-utility
--------------------------*/
.text-center {
  text-align: center;
}

.mb20 {
  margin-bottom: 1.25rem;
}

.uppercase {
  text-transform: uppercase;
}

.sp-none {
  display: none;
}

@media screen and (min-width: 770px) {
  .pc-none {
    display: none;
  }
  .sp-none {
    display: block;
  }
  .mb20 {
    margin-bottom: 3.75rem;
  }
}