@charset "UTF-8";
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* 変数の定義
--------------------------------------------------*/
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* 色の定義
--------------------------------------------------*/
/* 色のクラス
--------------------------------------------------*/
.white {
  color: #fff;
  text-align: inherit;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

/* フォントの定義
--------------------------------------------------*/
html,
body,
ul,
ol,
dl,
li,
dt,
dd,
a,
p,
div,
span,
img,
svg,
table,
tr,
th,
td,
figure {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #000000;
}

body,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
svg,
a,
table,
tr,
th,
td,
figure {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  body,
  ul,
  ol,
  dl,
  li,
  dt,
  dd,
  p,
  div,
  span,
  img,
  svg,
  a,
  table,
  tr,
  th,
  td,
  figure {
    font-size: 1.4rem;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  p {
    font-size: 1.4rem;
  }
}

/* base
--------------------------------------------------*/
.page_content {
  max-width: 450px;
  width: 100%;
  margin: auto;
  background-color: #fff;
  z-index: 2;
  position: relative;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 768px) {
  .page_content {
    max-width: none;
  }
}

.sec_inner {
  width: 90%;
  margin: auto;
}

.btn {
  position: relative;
  display: inline-block;
  margin-top: 30px;
  width: 100%;
  background-color: #F15A22;
  color: #fff;
  font-size: clamp(1.3rem, 4.1vw, 1.6rem);
  font-weight: bold;
  padding: 13px 10px;
  border-radius: 30px;
  text-align: center;
  box-shadow: 0px 5px 0px #2B7F95;
}
.btn img {
  width: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

.bg_line {
  background-repeat: repeat;
  background-size: 35%;
}

/* 追従ボタン
--------------------------------------------------*/
#fixed_btn {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 20px;
  width: 410px;
  text-align: center;
  transition-duration: 0.6s;
}
@media screen and (max-width: 768px) {
  #fixed_btn {
    width: 90%;
  }
}

#fixed_btn.view {
  position: fixed;
  z-index: 99;
  opacity: 1;
  pointer-events: all;
  transition-duration: 0.6s;
}

/* pc用css
--------------------------------------------------*/
.wrapper {
  background-color: #FEFCE6;
  background-image: url(../img/line.svg);
  background-attachment: fixed;
  background-size: 8%;
}

.pc_left {
  position: fixed;
  top: 0;
  width: calc((100% - 450px) / 2);
  height: 100vh;
  left: 0;
  padding-top: 50px;
}
@media screen and (max-width: 1023px) {
  .pc_left {
    display: none;
  }
}
.pc_left h2 {
  width: 90%;
  margin: 0 auto;
  max-width: 340px;
}
.pc_left h2 img {
  width: 195px;
}
.pc_left ul {
  margin-top: 50px;
}
@media screen and (max-width: 1199px) {
  .pc_left ul {
    margin-top: 30px;
  }
}
.pc_left ul li {
  position: relative;
  width: 90%;
  max-width: 340px;
  margin: 0 auto 10px;
}
.pc_left ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background-color: #fff;
  border-radius: 50px;
  padding: 8px 20px;
  box-shadow: 0px 5px 0px #2B7F95;
  font-size: 1.6rem;
  font-weight: bold;
  color: #2B7F95;
}
@media screen and (max-width: 1199px) {
  .pc_left ul li a {
    gap: 30px;
    padding: 8px 15px;
    font-size: 1.5rem;
  }
}
.pc_left ul li a .xl_br {
  display: none;
}
@media screen and (max-width: 1199px) {
  .pc_left ul li a .xl_br {
    display: block;
  }
}
.pc_left ul li a::after {
  content: "";
  background-image: url(../img/square_arrow.svg);
  background-size: contain;
  background-position: center;
  display: inline-block;
  width: 32px;
  height: 32px;
}
@media screen and (max-width: 350px) {
  .pc_left ul li a::after {
    width: 25px;
    height: 25px;
  }
}
.pc_left ul li a:hover {
  background-color: #2B7F95;
  color: #fff;
  transform: translate(0, 3px);
  box-shadow: none;
}
.pc_left ul .js-active a {
  background-color: #2B7F95;
  color: #fff;
}

.pc_right {
  position: fixed;
  top: 0;
  width: calc((100% - 450px) / 2);
  height: 100vh;
  right: 0;
  padding-top: 200px;
}
@media screen and (max-width: 1023px) {
  .pc_right {
    display: none;
  }
}
.pc_right .pc_contact_wrap {
  width: 90%;
  max-width: 370px;
  margin: 0 auto;
}
.pc_right .cta_top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
.pc_right .cta_top img {
  width: 80px;
}
@media screen and (max-width: 1199px) {
  .pc_right .cta_top img {
    width: 60px;
  }
}
.pc_right .cta_top h2 {
  font-size: 2.2rem;
  font-weight: bold;
  color: #F15A22;
}
@media screen and (max-width: 1199px) {
  .pc_right .cta_top h2 {
    font-size: 1.6rem;
  }
}
.pc_right .btn {
  margin-top: 10px;
  margin-bottom: 50px;
}
@media screen and (max-width: 1199px) {
  .pc_right .btn {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1199px) {
  .pc_right .btn img {
    width: 8px;
  }
}
.pc_right .btn:hover {
  background-color: #2B7F95;
  color: #fff;
  transform: translate(0, 3px);
  box-shadow: none;
}
.pc_right .phone_wrap {
  border-top: solid 1px #2B7F95;
  border-bottom: solid 1px #2B7F95;
  padding: 50px 0;
}
.pc_right .phone_wrap .tx {
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 20px;
}
.pc_right .phone_wrap .tx span {
  display: block;
}
.pc_right .phone_wrap .phone_link {
  text-align: center;
}
.pc_right .phone_wrap .phone_link a {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 5px;
  margin-right: 2px;
}

/* KV
--------------------------------------------------*/
#kv {
  background-color: #E5F8FF;
  padding: 10px 20px;
}
#kv .kv_wrap {
  position: relative;
}
#kv .kv_wrap .kv_top {
  position: relative;
  background-image: url(../img/line.svg);
  background-size: 35%;
  background-position: center;
  background-color: #52AEC6;
  border-radius: 30px;
  margin-bottom: 15px;
}
#kv .kv_wrap .kv_top .catch {
  padding-right: 20px;
  padding-top: 40px;
}
#kv .kv_wrap .kv_top::after {
  content: "";
  background-image: url(../img/illust.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 354px;
  height: 356px;
  position: absolute;
  top: 300px;
  left: -38%;
}
@media screen and (max-width: 768px) {
  #kv .kv_wrap .kv_top::after {
    width: 76vw;
    height: 76vw;
    top: 60%;
    left: -38%;
  }
}
#kv .kv_wrap .worries_wrap {
  padding-bottom: 20px;
  position: relative;
}
#kv .kv_wrap .worries_wrap .worries01 {
  display: block;
  margin: -25% 20px 0 auto;
  width: 165px;
}
@media screen and (max-width: 768px) {
  #kv .kv_wrap .worries_wrap .worries01 {
    width: 38vw;
  }
}
#kv .kv_wrap .worries_wrap .worries02 {
  margin: 0 70px 0px auto;
  display: block;
  width: 147px;
}
@media screen and (max-width: 768px) {
  #kv .kv_wrap .worries_wrap .worries02 {
    width: 35vw;
    margin: 0 55px 0px auto;
  }
}
#kv .kv_wrap .worries_wrap::after {
  content: "";
  background-image: url(../img/sweat.svg);
  width: 18px;
  height: 23px;
  position: absolute;
  top: 86px;
  right: 69px;
}
@media screen and (max-width: 768px) {
  #kv .kv_wrap .worries_wrap::after {
    top: 44%;
    right: 15%;
  }
}

/* 悩み
--------------------------------------------------*/
#worries {
  padding-top: 50px;
  background-color: #E5F8FF;
  position: relative;
}
#worries .sec_inner {
  background-color: #EDEDED;
  border-radius: 30px 30px 0 0;
  padding: 30px 20px 0px;
}
#worries .sec_inner h2 {
  max-width: 400px;
  margin: auto;
}
#worries .sec_inner .worries_list {
  margin-top: 30px;
}
#worries .sec_inner .worries_list li {
  display: flex;
  gap: 20px;
  margin-bottom: 15px;
}
#worries .sec_inner .worries_list li .icon {
  width: 25%;
  max-width: 90px;
}
#worries .sec_inner .worries_list li .tx {
  width: 75%;
  position: relative;
  z-index: 2;
  background-color: #fff;
  background-image: url(../img/line.svg);
  padding: 25px 15px;
  border-radius: 30px 30px 20px 20px;
}
#worries .sec_inner .worries_list li .tx::before {
  content: "";
  position: absolute;
  top: 30px;
  left: -10px;
  background: #ffffff;
  height: 17px;
  width: 10px;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
#worries .sec_inner .worries_list li .tx p {
  font-weight: 500;
}
#worries .sec_inner .worries_list li .tx p span {
  font-weight: 500;
  background: linear-gradient(transparent 60%, #FFF95C 60%);
}
#worries .sec_inner .worries_list li:nth-child(even) {
  flex-direction: row-reverse;
}
#worries .sec_inner .worries_list li:nth-child(even) .tx::before {
  left: auto;
  right: -10px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#worries .connect {
  background-color: #FEFCE6;
  padding-bottom: 100px;
  margin-top: -30px;
}
#worries .connect .square {
  background: #EDEDED;
  width: 90%;
  height: 10px;
  margin: auto;
}
#worries .connect .sankaku {
  width: 90%;
  margin: auto;
}

/* 事例
--------------------------------------------------*/
#case {
  background-color: #FEFCE6;
  padding-bottom: 60px;
}
#case .intro {
  margin-top: -150px;
  position: relative;
  z-index: 2;
}
#case .intro .intro_illust {
  margin: auto;
  width: 130px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  #case .intro .intro_illust {
    width: 28vw;
  }
}
#case .intro .intro_illust::before {
  content: "";
  width: 124px;
  height: 105px;
  background-image: url(../img/hukidasi01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 9px;
  left: 9px;
}
@media screen and (max-width: 768px) {
  #case .intro .intro_illust::before {
    width: 32vw;
    height: 25vw;
    left: 9px;
  }
}
#case .case_list {
  margin-top: 20px;
}
#case .case_list .case_item {
  border: solid 1px #2B7F95;
  border-radius: 30px;
  background-color: #fff;
  margin-bottom: 30px;
}
#case .case_list .case_item .case_ttl_wrap {
  position: relative;
}
#case .case_list .case_item .case_ttl_wrap::after {
  content: "";
  background-color: #2B7F95;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
#case .case_list .case_item .case_ttl_wrap .case_ttl {
  font-size: 2rem;
  font-weight: bold;
  color: #F15A22;
  padding-bottom: 20px;
  padding: 20px;
}
#case .case_list .case_item .case_ttl_wrap .case_ttl span {
  display: block;
  color: #2B7F95;
  font-weight: bold;
  font-size: 1.3rem;
  display: flex;
  align-items: center;
}
#case .case_list .case_item .case_ttl_wrap .case_ttl span::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #2B7F95;
  display: inline-block;
  border-radius: 50%;
  margin-right: 8px;
}
#case .case_list .case_item .case_box {
  padding: 20px;
  background-image: url(../img/line.svg);
  background-repeat: repeat;
  background-size: 35%;
}
#case .case_list .case_item .case_box .profile {
  display: flex;
  gap: 17px;
  margin-bottom: 30px;
}
#case .case_list .case_item .case_box .profile .profile_img {
  width: 25%;
}
#case .case_list .case_item .case_box .profile .profile_tx .service_name {
  font-weight: bold;
  font-size: 1.6rem;
  margin-top: 10px;
}
#case .case_list .case_item .case_box .flow {
  position: relative;
  padding-left: 12px;
  padding-bottom: 5px;
}
#case .case_list .case_item .case_box .flow::before {
  content: "";
  width: 2px;
  height: calc(100% - 10px);
  background-color: #FFF95C;
  position: absolute;
  bottom: 0;
  left: 0;
}
#case .case_list .case_item .case_box .flow::after {
  content: "";
  background-color: #2B7F95;
  width: 6px;
  height: 6px;
  position: absolute;
  bottom: 0;
  left: -2px;
  border-radius: 50%;
}
#case .case_list .case_item .case_box .flow .flow_item {
  margin-bottom: 15px;
}
#case .case_list .case_item .case_box .flow .flow_item .flow_ttl {
  display: inline-block;
  background-color: #FFF95C;
  padding: 1px 7px;
  font-weight: bold;
  color: #2B7F95;
  margin-bottom: 10px;
  position: relative;
}
#case .case_list .case_item .case_box .flow .flow_item .flow_ttl::before {
  content: "";
  background-color: #2B7F95;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -14px;
  border-radius: 50%;
}
#case .case_list .case_item .case_box .flow .flow_item p {
  padding-left: 7px;
}
#case .case_list .case_item .case_box .flow .flow_item p span {
  display: block;
  font-weight: bold;
  font-size: 1.6rem;
  margin-bottom: 7px;
}
#case .cta_wrap .tx_wrap {
  text-align: center;
}
#case .cta_wrap .tx_wrap .taget_tx span {
  display: block;
  font-size: 1.8rem;
  position: relative;
  color: #2B7F95;
  font-weight: bold;
  margin-bottom: 15px;
}
#case .cta_wrap .tx_wrap .taget_tx span::after {
  content: "";
  background-image: url(../img/wavy_line.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 12px;
  position: absolute;
  bottom: -5px;
  left: 0;
}
#case .cta_wrap .tx_wrap .action_tx {
  margin-top: 10px;
  margin-bottom: 30px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #2B7F95;
}
#case .cta_wrap .tx_wrap .action_tx span {
  font-size: 1.8rem;
  font-weight: bold;
  color: #F15A22;
}

/* プログラム
--------------------------------------------------*/
#program {
  background-color: #FEFCE6;
}
#program .bk_wrap {
  background-color: #52AEC6;
  border-radius: 30px 30px 0 0;
  background-image: url(../img/line.svg);
  padding: 40px 0;
  background-size: 35%;
}
#program .program_ttl_wrap {
  position: relative;
}
#program .program_ttl_wrap .reason {
  font-size: 2.4rem;
  color: #fff;
  text-align: center;
  font-weight: bold;
  display: block;
}
@media screen and (max-width: 768px) {
  #program .program_ttl_wrap .reason {
    display: none;
  }
}
@media screen and (max-width: 500px) {
  #program .program_ttl_wrap .reason {
    display: block;
  }
}
#program .program_ttl_wrap .program_ttl {
  margin-top: -15px;
  max-width: 300px;
}
@media screen and (max-width: 500px) {
  #program .program_ttl_wrap .program_ttl {
    max-width: 250px;
  }
}
#program .program_ttl_wrap .intro_tx {
  color: #fff;
  font-weight: 500;
  position: absolute;
  top: 263px;
  width: calc(100% - 80px);
  right: 0;
}
#program .program_ttl_wrap .intro_tx span {
  display: none;
  font-size: 2.4rem;
  font-weight: bold;
  color: #fff;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  #program .program_ttl_wrap .intro_tx {
    display: block;
    top: 240px;
    width: calc(100% - 100px);
  }
}
@media screen and (max-width: 500px) {
  #program .program_ttl_wrap .intro_tx {
    top: 227px;
    width: calc(100% - 60px);
  }
  #program .program_ttl_wrap .intro_tx span {
    display: none;
  }
}
#program .program_list {
  margin-top: 50px;
}
#program .program_list li {
  position: relative;
  margin-bottom: 30px;
}
#program .program_list li a {
  display: block;
  background-color: #fff;
  border-radius: 50px;
  padding: 20px;
  box-shadow: 0px 5px 0px #2B7F95;
}
#program .program_list li a .sub_tx {
  background-color: #FFF95C;
  display: inline;
  padding: 1px 7px;
  font-size: clamp(1.3rem, 4.1vw, 1.6rem);
  font-weight: bold;
  color: #2B7F95;
  position: absolute;
  top: -12px;
  left: 20px;
}
#program .program_list li a .main_tx {
  font-size: clamp(1.5rem, 5.6vw, 2.2rem);
  font-weight: bold;
  color: #2B7F95;
}
#program .program_list li a::after {
  content: "";
  background-image: url(../img/square_arrow.svg);
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  width: 32px;
  height: 32px;
}
@media screen and (max-width: 350px) {
  #program .program_list li a::after {
    width: 25px;
    height: 25px;
  }
}
#program .program_list li:last-child .main_tx {
  font-size: clamp(1.4rem, 5.1vw, 2rem);
}

/* 就労移行支援
--------------------------------------------------*/
.service_wrap h2 {
  background-color: #FFF95C;
  padding: 17px 0;
  text-align: center;
  font-weight: bold;
  font-size: clamp(1.5rem, 6.4vw, 2.5rem);
  color: #2B7F95;
  position: relative;
  line-height: 1.2;
}
.service_wrap h2 span {
  display: block;
  font-size: clamp(1.2rem, 3.5vw, 1.4rem);
  color: inherit;
  font-weight: inherit;
}
.service_wrap h2::before {
  content: "01";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
  font-size: 3rem;
}
.service_wrap h2::after {
  content: "";
  position: absolute;
  background-image: url(../img/support_illust01.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  top: -10px;
  right: -86px;
  width: 205px;
  height: 200px;
}
.service_wrap .content {
  background-color: #FEFCE6;
  padding: 40px 0 60px;
}
.service_wrap .content .intro_wrap .catch {
  font-size: clamp(1.5rem, 5.6vw, 2.2rem);
  font-weight: bold;
  color: #F15A22;
  margin-bottom: 10px;
}
.service_wrap .content .intro_wrap .intro_img {
  margin-top: 12px;
}
.service_wrap .content .person_wrap {
  margin-top: 45px;
}
.service_wrap .content .person_wrap .ttl {
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background-color: #2B7F95;
  padding: 5px 0;
  position: relative;
}
.service_wrap .content .person_wrap .ttl::after {
  content: "";
  background-color: #2B7F95;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 12px;
}
.service_wrap .content .person_wrap ul {
  background-color: #fff;
  border-radius: 0 0 30px 30px;
  border: solid 1px #2B7F95;
}
.service_wrap .content .person_wrap ul li {
  border-bottom: solid 1px #2B7F95;
}
.service_wrap .content .person_wrap ul li p {
  font-weight: 500;
  padding: 12px 20px;
  padding-left: 40px;
  position: relative;
}
.service_wrap .content .person_wrap ul li p::before {
  content: "";
  width: 9px;
  height: 9px;
  background-color: #2B7F95;
  position: absolute;
  border-radius: 50%;
  top: 18px;
  left: 20px;
}
.service_wrap .content .person_wrap ul li:last-child {
  border-bottom: none;
}
.service_wrap .content .point_wrap {
  margin-top: 30px;
}
.service_wrap .content .point_wrap .ttl {
  text-align: center;
}
.service_wrap .content .point_wrap .ttl span {
  color: #2B7F95;
  font-weight: bold;
  font-size: clamp(1.5rem, 4.61vw, 1.8rem);
  position: relative;
}
.service_wrap .content .point_wrap .ttl span::before {
  content: "";
  background-color: #2B7F95;
  width: 1px;
  height: 20px;
  position: absolute;
  top: 7px;
  left: -15px;
  transform: rotate(-45deg);
}
.service_wrap .content .point_wrap .ttl span::after {
  content: "";
  background-color: #2B7F95;
  width: 1px;
  height: 20px;
  position: absolute;
  top: 7px;
  right: -15px;
  transform: rotate(45deg);
}
.service_wrap .content .point_wrap .ttl h3 {
  font-size: clamp(1.5rem, 4.61vw, 1.8rem);
  font-weight: bold;
  color: #fff;
  text-align: center;
  background-color: #2B7F95;
  padding: 5px 0;
  position: relative;
  margin-top: 5px;
}
.service_wrap .content .point_wrap .ttl h3::after {
  content: "";
  background-color: #2B7F95;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 12px;
}
.service_wrap .content .point_wrap .point_list {
  margin-top: 30px;
}
.service_wrap .content .point_wrap .point_list li {
  border: solid 1px #2B7F95;
  border-radius: 30px;
  background-color: #fff;
  margin-bottom: 30px;
  background-image: url(../img/line.svg);
  background-size: 35%;
}
.service_wrap .content .point_wrap .point_list li .point_ttl_wrap {
  position: relative;
}
.service_wrap .content .point_wrap .point_list li .point_ttl_wrap::after {
  content: "";
  background-color: #2B7F95;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.service_wrap .content .point_wrap .point_list li .point_ttl_wrap .point_ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
}
.service_wrap .content .point_wrap .point_list li .point_ttl_wrap .point_ttl img {
  width: 18%;
}
.service_wrap .content .point_wrap .point_list li .point_ttl_wrap .point_ttl p {
  width: 77%;
  font-size: clamp(2rem, 6.15vw, 2.4rem);
  font-weight: bold;
  line-height: 1.4;
}
.service_wrap .content .point_wrap .point_list li .point_ttl_wrap .point_ttl p span {
  font-weight: bold;
  font-size: clamp(2rem, 6.15vw, 2.4rem);
  background: linear-gradient(transparent 60%, #FFF95C 60%);
  line-height: 1.4;
}
.service_wrap .content .point_wrap .point_list li .point_content {
  padding: 20px;
}
.service_wrap .content .point_wrap .point_list li .point_content .zoom_img {
  margin-top: 30px;
}
.service_wrap .content .point_wrap .point_list li .point_content .zoom_tx {
  margin-top: 10px;
  text-align: right;
  font-weight: bold;
}
.service_wrap .content .point_wrap .point_list li .point_content .zoom_tx i {
  margin-left: 5px;
}
.service_wrap .content .point_wrap .point_list li .point_content .course {
  margin-top: 15px;
  font-weight: bold;
}
.service_wrap .content .point_wrap .point_list li .point_content .course span {
  font-weight: bold;
  margin-right: 10px;
  line-height: 2;
  background: linear-gradient(transparent 60%, #FFF95C 60%);
}
.service_wrap .content .point_wrap .point_list li .point_content .gakupro_course {
  margin-bottom: 10px;
}
.service_wrap .content .point_wrap .point_list li .point_content .date {
  margin-top: 20px;
  display: flex;
  gap: 6px;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date_box {
  display: flex;
  flex-direction: column;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date_box .content {
  background-color: #FFF95C;
  padding: 10px 20px;
  text-align: center;
  flex-grow: 1;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date_box .content .item {
  font-weight: bold;
  color: #2B7F95;
  margin-bottom: 5px;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date_box .content img {
  width: 50px;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date_box .content .item_tx {
  color: #2B7F95;
  font-weight: bold;
  font-size: clamp(1.4rem, 5.1vw, 2rem);
  letter-spacing: 0.01em;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date_box .content .item_tx span {
  color: #2B7F95;
  font-weight: bold;
  font-size: 3.5rem;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .note {
  font-size: 1.2rem;
  text-align: right;
}
@media screen and (max-width: 370px) {
  .service_wrap .content .point_wrap .point_list li .point_content .date .note {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 345px) {
  .service_wrap .content .point_wrap .point_list li .point_content .date .note {
    font-size: 1rem;
  }
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date01 {
  width: 57%;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date02 {
  width: 43%;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date02 img {
  width: 70px !important;
}
.service_wrap .content .point_wrap .point_list li .point_content .date .date03 {
  width: 45%;
}
.service_wrap .content .point_wrap .point_list li .point_content .date_center {
  justify-content: center;
}
.service_wrap .content .point_wrap .point_list li .point_content .point_img {
  margin-bottom: 20px;
}
.service_wrap .content .point_wrap .cta_tx {
  margin-top: 30px;
  text-align: center;
}
.service_wrap .content .point_wrap .cta_tx p {
  font-size: 1.8rem;
  font-weight: bold;
  color: #2B7F95;
  display: inline-block;
  position: relative;
}
.service_wrap .content .point_wrap .cta_tx p::before {
  content: "";
  background-color: #2B7F95;
  width: 1px;
  height: 20px;
  position: absolute;
  top: 7px;
  left: -15px;
  transform: rotate(-45deg);
}
.service_wrap .content .point_wrap .cta_tx p::after {
  content: "";
  background-color: #2B7F95;
  width: 1px;
  height: 20px;
  position: absolute;
  top: 7px;
  right: -15px;
  transform: rotate(45deg);
}
.service_wrap .content .point_wrap .btn {
  margin-top: 10px;
}

.pswp__img {
  height: auto !important;
}

/* 自立訓練
--------------------------------------------------*/
#training h2 .ttl_size {
  display: inline;
  font-size: 2rem;
}
@media screen and (max-width: 389px) {
  #training h2 .ttl_size {
    display: block;
  }
}
#training h2::before {
  content: "02";
}
#training h2::after {
  background-image: url(../img/training_illust01.png);
  top: 18px;
  right: -42px;
  width: 128px;
  height: 171px;
}

/* ガクプロ
--------------------------------------------------*/
#gakupro h2::before {
  content: "03";
}
#gakupro h2::after {
  background-image: url(../img/gakupro_illust01.png);
  top: 18px;
  right: -37px;
  width: 128px;
  height: 171px;
}
@media screen and (max-width: 350px) {
  #gakupro h2::after {
    top: 22px;
  }
}

/* 特徴
--------------------------------------------------*/
#feature {
  background: linear-gradient(#FEFCE6, #fff);
}
#feature .bg {
  background-color: #52AEC6;
  background-image: url(../img/line.svg);
  border-radius: 30px;
  padding: 35px 0;
  background-size: 35%;
}
#feature h2 {
  width: 73vw;
  max-width: 400px;
}
#feature .date_wrap {
  margin-top: -55px;
}
#feature .date_wrap .first_stage {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
#feature .date_wrap .first_stage .card {
  width: calc(50% - 10px);
}
#feature .date_wrap .first_stage .card img {
  width: 60px;
  flex-grow: 1;
  margin: auto;
}
#feature .date_wrap .card {
  background-color: #E5F8FF;
  text-align: center;
  padding: 10px 18px;
  margin-bottom: 15px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
#feature .date_wrap .card .ttl {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 10px;
  flex-grow: 1;
}
@media screen and (max-width: 350px) {
  #feature .date_wrap .card .ttl .it_br {
    display: none;
  }
}
#feature .date_wrap .card .number {
  font-weight: bold;
  font-size: clamp(2rem, 12.8vw, 5rem);
  color: #2B7F95;
  background: linear-gradient(transparent 70%, #FFF95C 70%);
  line-height: 1;
  display: inline;
  margin: auto;
}
#feature .date_wrap .card .number span {
  font-size: clamp(3rem, 17.9vw, 7rem);
  font-weight: bold;
  letter-spacing: 0.01em;
  color: #2B7F95;
  line-height: 1.2;
}
#feature .date_wrap .card .tx {
  margin-top: 10px;
  font-weight: 500;
  letter-spacing: 0.01em;
}
#feature .date_wrap .card .flex {
  display: flex;
  align-items: center;
  gap: 10px;
}
#feature .date_wrap .card .flex .number {
  width: 40%;
}
#feature .date_wrap .card .flex .tx {
  width: 60%;
  text-align: left;
}
#feature .date_wrap .staff .ttl {
  margin-bottom: 0;
}
#feature .date_wrap .staff .number {
  max-width: 150px;
}
#feature .date_wrap .job {
  position: relative;
}
#feature .date_wrap .job .job_img {
  padding-bottom: 15px;
  max-width: 500px;
  margin: auto;
}
#feature .date_wrap .job::after {
  content: "";
  background-image: url(../img/feature_icon03.svg);
  width: 51px;
  height: 60px;
  position: absolute;
  bottom: 10px;
  right: 20px;
}
#feature .date_wrap .university .university_wrap {
  color: #2B7F95;
  font-weight: bold;
  font-size: 1.2rem;
}
#feature .date_wrap .skill .flex {
  justify-content: center;
}
#feature .date_wrap .skill .skill_icon {
  width: 15%;
}
#feature .date_wrap .skill .skill_img {
  width: 85%;
  max-width: 350px;
}
#feature .company_wrap {
  margin-top: 30px;
  margin-bottom: 75px;
}
#feature .company_wrap h3 {
  font-size: 1.8rem;
  font-size: clamp(1.6rem, 4.61vw, 1.8rem);
  font-weight: bold;
  color: #fff;
  text-align: center;
  background-color: #2B7F95;
  padding: 5px 0;
  position: relative;
}
#feature .company_wrap h3::after {
  content: "";
  background-color: #2B7F95;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 12px;
}
#feature .company_wrap .company {
  border: solid 1px #2B7F95;
  padding: 20px;
}
@media screen and (max-width: 350px) {
  #feature .company_wrap .company {
    padding: 15px 10px;
    font-size: 1.2rem;
  }
}

/* ご利用までの流れ
--------------------------------------------------*/
#flow {
  background-color: #FEFCE6;
  padding: 50px 0;
}
#flow h2 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 22px;
  font-size: 2.4rem;
}
#flow .flow_list li {
  margin-bottom: 50px;
  background-color: #fff;
  border: solid 1px #2B7F95;
  border-radius: 30px;
  padding: 20px;
  position: relative;
}
#flow .flow_list li::after {
  content: "";
  background-image: url(../img/arrow_navy.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 14px;
  height: 8px;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
}
#flow .flow_list li:last-child {
  margin-bottom: 0;
}
#flow .flow_list li:last-child::after {
  display: none;
}
#flow .flow_list li .ttl_wrap {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
#flow .flow_list li .ttl_wrap .tx {
  width: 75%;
}
#flow .flow_list li .ttl_wrap .tx span {
  color: #2B7F95;
  font-weight: bold;
  display: block;
  margin-bottom: 6px;
}
#flow .flow_list li .ttl_wrap .tx .ttl {
  display: inline;
  color: #2B7F95;
  font-weight: bold;
  font-size: 1.8rem;
  font-size: clamp(1.5rem, 4.61vw, 1.8rem);
  background-color: #FFF95C;
  padding: 0px 10px;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 350px) {
  #flow .flow_list li .ttl_wrap .tx .ttl {
    font-size: 1.4rem;
  }
}
#flow .flow_list li .ttl_wrap .flow_icon {
  width: 25%;
  max-width: 100px;
}
#flow .flow_list li .tx {
  margin-top: 10px;
}

/* よくある質問
--------------------------------------------------*/
#faq {
  background-color: #E5F8FF;
  padding: 50px 0;
}
#faq h2 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 22px;
  font-size: 2.4rem;
}
#faq .faq_list li {
  background-color: #fff;
  border-radius: 15px;
  border: solid 1px #2B7F95;
  padding: 13px 20px;
  margin-bottom: 10px;
}
#faq .faq_list li .question {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}
#faq .faq_list li .question .question_mark img {
  width: 40px;
}
#faq .faq_list li .question .question_tx {
  text-align: left;
  width: calc(100% - 40px);
  font-weight: bold;
}
#faq .faq_list li .question i {
  position: relative;
  width: 5%;
}
#faq .faq_list li .question i::before {
  content: "";
  position: absolute;
  top: 0px;
  right: 0px;
  background-color: #2B7F95;
  width: 16px;
  height: 3px;
  border-radius: 10px;
  transform: rotate(0deg);
  transition: 0.2s;
}
#faq .faq_list li .question i::after {
  content: "";
  position: absolute;
  top: -6px;
  right: 6px;
  background-color: #2B7F95;
  width: 3px;
  height: 16px;
  border-radius: 10px;
  transform: rotate(0deg);
  transition: 0.2s;
}
#faq .faq_list li .question.open i::after {
  display: none;
}
#faq .faq_list li .question.open i::before {
  transform: rotate(180deg);
  transition: 0.2s;
}
#faq .faq_list li .answer {
  display: none;
  margin-top: 35px;
}
#faq .faq_list li .answer .answer_content {
  display: flex;
  gap: 10px;
}
#faq .faq_list li .answer .answer_mark img {
  width: 40px;
}
#faq .faq_list li .answer .answer_tx {
  width: calc(100% - 40px);
  margin-bottom: 10px;
}

/* 利用者の声
--------------------------------------------------*/
#voice {
  background: linear-gradient(#E5F8FF, 3%, #FEFCE6);
}
#voice .bg {
  background-color: #52AEC6;
  background-image: url(../img/line.svg);
  border-radius: 30px;
  padding: 50px 0;
  background-size: 35%;
}
#voice h2 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  font-size: 2.4rem;
  color: #fff;
}
#voice .voice_list {
  padding: 0px 20px;
}
@media screen and (max-width: 350px) {
  #voice .voice_list {
    padding: 0;
  }
}
#voice .voice_list li {
  display: flex;
  gap: 15px;
  margin-bottom: 30px;
}
#voice .voice_list li .voice_icon {
  width: 24%;
  max-width: 100px;
}
#voice .voice_list li .tx_wrap {
  width: 76%;
  background-color: #fff;
  border-radius: 30px;
  padding: 20px 17px;
  position: relative;
}
#voice .voice_list li .tx_wrap::before {
  content: "";
  position: absolute;
  top: 30px;
  left: -10px;
  background: #ffffff;
  height: 17px;
  width: 10px;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
#voice .voice_list li .tx_wrap .voice {
  font-weight: 500;
}
#voice .voice_list li .tx_wrap .voice span {
  font-weight: inherit;
  background: linear-gradient(transparent 60%, #FFF95C 60%);
}
#voice .voice_list li .tx_wrap .profile {
  text-align: right;
  font-size: 1.3rem;
  color: #2B7F95;
  font-weight: 500;
  margin-top: 10px;
}
@media screen and (max-width: 350px) {
  #voice .voice_list li .tx_wrap .profile {
    font-size: 1.2rem;
  }
}
#voice .voice_list li:nth-child(even) {
  flex-direction: row-reverse;
}
#voice .voice_list li:nth-child(even) .tx_wrap::before {
  left: auto;
  right: -10px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
#voice .cta_wrap {
  background-color: #FEFCE6;
  padding-top: 30px;
  padding-bottom: 50px;
}
#voice .cta_wrap .tx_wrap {
  margin-bottom: 30px;
}
#voice .cta_wrap .tx_wrap .catch {
  font-weight: bold;
  text-align: center;
  font-size: 2.4rem;
  font-size: clamp(1.8rem, 6.15vw, 2.4rem);
  color: #F15A22;
  margin-bottom: 30px;
  position: relative;
  padding-bottom: 5px;
}
#voice .cta_wrap .tx_wrap .catch::after {
  content: "";
  background-image: url(../img/wavy_line_orange.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 12px;
  position: absolute;
  bottom: -5px;
  left: 0;
}
#voice .cta_wrap .tx_wrap .tx {
  padding: 0px 20px;
  font-weight: 500;
}

/* 拠点一覧
--------------------------------------------------*/
#location {
  padding: 50px 0;
  background-color: #F8F8F8;
}
#location h2 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  font-size: 2.4rem;
}
#location h2 span {
  display: block;
  font-weight: bold;
}
#location .location_list {
  margin-top: 30px;
}
#location .location_list .location_item {
  margin-bottom: 10px;
}
#location .location_list .location_item .top {
  background-color: #2B7F95;
  display: flex;
  justify-content: space-between;
  padding: 10px 20px;
}
#location .location_list .location_item .top p {
  font-weight: bold;
  color: #fff;
}
#location .location_list .location_item .top i {
  position: relative;
  width: 5%;
}
#location .location_list .location_item .top i::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 0px;
  background-color: #fff;
  width: 16px;
  height: 3px;
  border-radius: 10px;
  transform: rotate(0deg);
  transition: 0.3s;
}
#location .location_list .location_item .top i::after {
  content: "";
  position: absolute;
  top: 4px;
  right: 6px;
  background-color: #fff;
  width: 3px;
  height: 16px;
  border-radius: 10px;
  transform: rotate(0deg);
  transition: 0.3s;
}
#location .location_list .location_item .top.open i::before {
  transform: rotate(180deg);
  transition: 0.3s;
}
#location .location_list .location_item .top.open i::after {
  display: none;
}
#location .location_list .location_item .region_list {
  display: none;
}
#location .location_list .location_item .region_list .region_item {
  background-color: #E5F8FF;
  display: flex;
  padding: 10px 20px;
  gap: 20px;
}
#location .location_list .location_item .region_list .region_item .name_wrap {
  width: 35%;
}
#location .location_list .location_item .region_list .region_item .name_wrap .name {
  font-weight: bold;
}
#location .location_list .location_item .region_list .region_item .name_wrap .service {
  font-weight: 500;
  font-size: 1.2rem;
  background-color: #52AEC6;
  color: #fff;
  display: inline-block;
  padding: 0 5px;
}
@media screen and (max-width: 350px) {
  #location .location_list .location_item .region_list .region_item .name_wrap .service {
    font-size: 1rem;
  }
}
#location .location_list .location_item .region_list .region_item .info {
  width: 65%;
}
#location .location_list .location_item .region_list .region_item .info .access_wrap {
  display: flex;
  align-items: flex-start;
}
#location .location_list .location_item .region_list .region_item .info .access_wrap img {
  width: 11px;
  padding-top: 5px;
  margin-right: 5px;
}
#location .location_list .location_item .region_list .region_item .info .access_wrap p {
  font-weight: 500;
}
#location .location_list .location_item .region_list .region_item .info .station_wrap {
  display: flex;
  align-items: flex-start;
}
#location .location_list .location_item .region_list .region_item .info .station_wrap img {
  width: 11px;
  padding-top: 6px;
  margin-right: 5px;
}
#location .location_list .location_item .region_list .region_item .info .station_wrap p {
  font-weight: 500;
}
#location .location_list .location_item .region_list .region_item:nth-child(even) {
  background-color: #fff;
}
#location .bnr_wrap {
  margin-top: 50px;
}
#location .bnr_wrap .note {
  text-align: right;
  margin-top: 5px;
}

/* お問い合わせ
--------------------------------------------------*/
#contact {
  background-color: #F15A22;
  padding: 50px 0;
}
#contact .sec_inner {
  background-color: #fff;
  border-radius: 30px;
  padding: 20px;
}
#contact .cta_top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
#contact .cta_top img {
  width: 80px;
}
#contact .cta_top h2 {
  font-size: clamp(1.5rem, 5.6vw, 2.2rem);
  font-weight: bold;
  color: #F15A22;
}
@media screen and (max-width: 350px) {
  #contact .cta_top h2 {
    font-size: 1.5rem;
  }
}
#contact .btn {
  margin-top: 10px;
  margin-bottom: 30px;
}
#contact .phone_wrap .tx {
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 20px;
}
#contact .phone_wrap .tx span {
  display: block;
}
#contact .phone_wrap .phone_link {
  text-align: center;
}
#contact .phone_wrap .phone_link a {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 5px;
  margin-right: 2px;
}/*# sourceMappingURL=top.css.map */