@charset "UTF-8";
/*=========================================================
  reset
=========================================================*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, p, blockquote, th, td, figure, figcaption {
  margin: 0;
  padding: 0
}
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  font-size: clamp(7px, calc(10 / 1366 * 100vw), 10px);
  line-height: 2.133;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-y: auto;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}
body {
  font-style: normal;
  font-size: 1.5rem;
  font-weight: 500;
  min-height: 100vh;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
svg {
  width: 100%;
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
input, textarea, select {
  font-family: inherit;
  font-size: 100%;
  font-weight: normal;
  margin: 0;
  padding: 0;
  text-transform: none;
  background: none;
  border: 1px solid #ccc;
}
button {
  background: none;
  border: none;
  font: inherit;
  cursor: pointer;
  touch-action: manipulation;
  padding: 0;
}
select {
  appearance: none;
}
*:focus-visible {
  outline: none
}
input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #F7F4F1 inset;
}
iframe, embed, object {
  max-width: 100%;
  border: 0;
}
ol, ul {
  list-style: none
}
caption, th {
  text-align: left
}
sup {
  vertical-align: text-top
}
sub {
  vertical-align: text-bottom
}
fieldset {
  border: 0;
}
legend {
  display: block;
}
blockquote, q {
  quotes: none
}
/*=========================================================
  common
=========================================================*/
body {
  color: #41536A;
  background-color: #F7F4F1;
  font-family: 'Noto Sans JP', sans-serif;
}
.page main{
  padding-top: 8rem;
}
.inner {
  width: 108rem;
  margin: 0 auto;
  padding: 0 4rem;
}
.ttl {
  font-family: Montserrat;
  margin-bottom: 6rem;
  line-height: 1;
  display: inline-flex;
  flex-direction: column;
}
.ttl_txt {
  font-size: 8rem;
}
.ttl_txt_d {
  /*フォントにdescenderがある場合*/
  margin-bottom: 1rem;
}
.ttl_mark {
  font-size: 6rem;
}
.ttl_sub {
  display: inline-flex;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 600;
  margin-top: 3rem;
  position: relative;
  letter-spacing: 0.2em;
}
.top .ttl_sub {
  margin-top: 1rem;
}
.ttl_sub::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: #FF7850;
  border-radius: 50%;
  margin-right: 0.8rem;
}
.ttl_w .ttl_sub {
  justify-content: center;
}
.ttl_w .ttl_sub::before {
  background-color: #fff;
}
.btn_wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.6rem;
}
.btn {
  width: 31.2rem;
  height: 6.4rem;
  color: #fff;
  background-color: #FF7850;
  border-radius: 40px;
  position: relative;
  font-size: 1.8rem;
  font-weight: 600;
  z-index: 20;
  transition: all .3s ease-out;
}
a.btn{
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-default {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #41536A;
}
.btn-default::after {
  left: 3rem;
}
.btn_chara {
  position: relative;
}
.btn_chara::before {
  content: '';
  position: absolute;
  width: 7.2rem;
  height: 8.1rem;
  top: -0.7rem;
  right: -3.7rem;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/btn_chara.svg) no-repeat right center / contain;
  z-index: 10;
}
.btn_chara::after {
  content: '';
  position: absolute;
  bottom: 0.342rem;
  right: -0.324rem;
  width: 2.317rem;
  height: 1.181rem;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/btn_chara-hand.svg) no-repeat right center / contain;
  z-index: 30;
}
.btn:hover {
  color: #FF7850;
  background-color: #fff;
  border: 1px solid #FF7850;
  border-radius: 40px;
}
.btn-default:hover {
  color: #41536A;
  background-color: #fff;
  border: 1px solid #41536A;
  border-radius: 40px;
}
.btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 20;
}
.btn::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  right: 3rem;
  background-color: #fff;
  transition: ease .3s all;
}
.btn::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  right: 3rem;
  background-color: #fff;
  transition: ease .3s all;
}
.btn-default::before {
  left: 3rem;
}
.btn:hover::before{
  width: 15px;
  background: #FF7850;
  border-radius: .5rem;
  height: .2rem;
  right: 2.5rem;
} 
.btn-default:hover::after,
.btn:hover::after {
  position: absolute;
  content: "";
  display: inline-block;
  /* background: url(/wp-content/themes/wanworkfreelance/assets/images/img_arrow-right.svg) no-repeat center / contain; */
  width: 1.6rem;
  height: 1.2rem;
  border-radius: 0;
  top: 50%;
  transform: translateY(-50%);
  right: 2.5rem;
  width: 1rem;
  height: 1rem;
  border-right: solid;
  border-radius: .1rem;
  border-bottom: solid;
  border-width: 0.25rem;
  transform: rotate(-45deg);
  background-color: transparent;
  top: calc(50% - .5rem);
}
.btn-default:hover::after {
  /* background: url(/wp-content/themes/wanworkfreelance/assets/images/img_arrow-left.svg) no-repeat center / contain; */
  left: 3rem;
  transform: rotate(135deg);
}
.btn-default:hover::before {
  background: #41536A;
}
textarea {
  resize: vertical;
}
.en_page {
  word-break: normal;
  overflow-wrap: break-word;
}
.display_pc {
  display: inline-block;
}
.display_sp {
  display: none;
}
@media (max-width: 767px) {
  html {
    font-size: clamp(7px, calc(10 / 393 * 100vw), 10px);
  }
  .inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 2.5rem;
  }
  .ttl_txt {
    font-size: 5rem;
  }
  .ttl_mark {
    font-size: 4rem;
  }
  .display_pc {
    display: none;
  }
  .display_sp {
    display: inline-block;
  }
  .btn_chara::before{
    top: -0.7rem;
  }
}
/*=========================================================
  header
=========================================================*/
.header {
  /* background: #fff;
  position: relative; */
  width: 100%;
  z-index: 100;

  background: transparent;
  position: fixed;
  transition: .3s ease all;
}
.head_inner {
  width: 124.6rem;
  margin: 0 auto;
  padding: 2.4rem 4rem;
  display: flex;
  align-items: center;
  gap: 5.5rem;
  justify-content: center;
  background: #fff;
  border-radius: 6rem;
  filter: drop-shadow(0px 0px 16px rgba(50, 50, 50, 0.2));
}
.logo {
  width: 20rem;
  background: transparent;
}
.logo a {
  transition: .3s ease opacity;
  display: inline-block;
}
@media (max-width: 767px) {
  .header {
    width: 100%;
    /* padding: 1rem; */
    background: transparent;
    /* position: absolute; */
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .head_inner {
    padding: 2rem;
    margin: 0 2rem;
  }
  .logo {
    width: 16.8rem;
    z-index: 999;
  }
}
/*=========================================================
  nav
=========================================================*/
.nav_list {
  display: flex;
  line-height: 1;
  font-family: Montserrat;
  font-weight: bold;
  gap: 3.2rem;
}
.head_nav .nav_list {
  font-size: 1.4rem;
  /* gap: 5.5rem; */
  align-items: center;
}
.nav_item {
  transition: all .3s ease-out;
}
.nav_item:hover {
  color: #FF7850;
}
.nav_item.btn{
  font-size: 1.4rem;
  width: auto;
  height: auto;
  padding: 1.3rem 1.8rem;
  border: 1px solid #FF7850;
}
.nav_item.btn::before,
.nav_item.btn::after{
  display: none;
}
.menu {
  display: none;
}
.menu_btn {
  position: fixed;
  top: 4rem;
  right: 4rem;
  z-index: 1000;
  width: 27px;
  height: 17px;
  border: none;
  background: transparent;
  cursor: pointer;
}
.menu_line {
  position: absolute;
  left: 0;
  width: 27px;
  height: 3px;
  background-color: #41536A;
  transition: all .6s;
}
.menu_line:nth-of-type(1) {
  top: 0;
}
.menu_line:nth-of-type(2) {
  top: 7px;
}
.menu_line:nth-of-type(3) {
  bottom: 0;
}
.menu_btn.active .menu_line {
  background-color: #41536A;
}
.menu_btn.active .menu_line:nth-of-type(1) {
  transform: translateY(7px) rotate(45deg);
}
.menu_btn.active .menu_line:nth-of-type(2) {
  opacity: 0;
}
.menu_btn.active .menu_line:nth-of-type(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.nav_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #F7F4F1;
  visibility: hidden;
  opacity: 0;
  transition: all .6s;
  z-index: 900;
}
.nav_overlay.active {
  visibility: visible;
  opacity: 1;
}
.nav_overlay .logo {
  margin: 2rem 0 0 2rem;
}
.nav_sp {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
.nav_sp .nav_item {
  opacity: 0;
  transform: translateY(20px);
  transition: all .6s;
}
.nav_overlay.active .nav_item {
  opacity: 1;
  transform: translateY(0);
}
.nav_overlay.active .nav_item:nth-child(1) {
  transition-delay: 0.1s;
}
.nav_overlay.active .nav_item:nth-child(2) {
  transition-delay: 0.2s;
}
.nav_overlay.active .nav_item:nth-child(3) {
  transition-delay: 0.3s;
}
.nav_overlay.active .nav_item:nth-child(4) {
  transition-delay: 0.4s;
}
.nav_link {
  display: inline-block;
  color: #41536A;
  font-size: 2.8rem;
  font-family: Montserrat;
  font-weight: bold;
  text-decoration: none;
  padding-bottom: 1rem;
  background-image: linear-gradient(#ff7850, #ff7850);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 2px;
  transition: background-size 0.3s;
}
.nav_link span {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 0.6rem;
}
.nav_link:hover {
  background-position: bottom left;
  background-size: 100% 2px;
}
@media (any-hover: hover) {
  .logo a:hover {
    opacity: .7;
  }
}
@media (max-width: 767px) {
  .menu {
    display: block;
  }
  .head_nav {
    display: none;
  }
  .nav_list {
    display: block;
  }
  .nav_item + .nav_item {
    padding-top: 3.2rem;
  }
  .menu_btn{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 19px;
    top: 3rem;
  }
  .menu_line{
    position: static;
  }
  .menu_btn.active .menu_line:nth-of-type(3){
    transform: translateY(-8px) rotate(-45deg);
  }
  .nav_overlay{
    left: -2rem;
    width: calc(100% + 4rem);
    height: calc(100vh + 3rem);
    top: -2rem;
  }
  .nav_overlay .logo{
    display: none;
  }
  .nav_item.btn{
    display: none;
  }
}
/*=========================================================
  kv
=========================================================*/
.kv {
  width: 100%;
  position: relative;
}
/*=========================================================
  job
=========================================================*/
#job {
  scroll-margin-top: 10rem;
}
.job {
  position: relative;
  background-color: #fff;
  font-size: 1.8rem;
  padding-top: 12.95rem;
}
.job::before {
  content: '';
  position: absolute;
  background: url("/wp-content/themes/wanworkfreelance/assets/images/bg_job-top.svg") no-repeat center / contain;
  aspect-ratio: 1366 / 126;
  width: 100%;
  top: calc(-1 * (100vw * 126 / 1366) + 2px);
  will-change: opacity, transform;
  z-index: 10;
}
.job_inner {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
.job .ttl {
  position: absolute;
  top: -3.9rem;
  z-index: 20;
}
/* .search {
  position: relative;
}
.search-input {
  padding-left: 4.4rem;
  background-color: #F7F4F1;
  width: 100%;
  height: 4rem;
  border: none;
  border-radius: 2rem;
}
.search-input::placeholder {
  color: #c4c4c4;
}
.search::before {
  position: absolute;
  content: "";
  display: inline-block;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/icon_search.png) no-repeat center / contain;
  width: 2rem;
  height: 2rem;
  top: 50%;
  transform: translateY(-50%);
  left: 1.6rem;
}
.filter {
  display: flex;
  background-color: #F7F4F1;
  height: 4rem;
  border-radius: 2rem;
  color: #c4c4c4;
}
.filter li {
  width: calc(100% / 5);
  text-align: center;
  line-height: 4rem;
}
.filter li:hover {
  color: #fff;
  background-color: #FF7850;
  border-radius: 4rem;
} */
.swiper_container {
  position: relative;
}
.swiper {
  width: 100%;
}
.swiper-wrapper {
  align-items: stretch;
}
.swiper-slide {
  height: auto;
}
[class^="swiper-button"] {
  position: absolute;
  width: 5rem;
  height: 5rem;
  background-color: #41536A;
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
.swiper-button-prev {
  left: -2.5rem;
}
.swiper-button-next {
  right: -2.5rem;
}
[class^="swiper-button"]::before {
  content: '';
  width: 1.4rem;
  height: 1.4rem;
  border-top: solid 0.25rem #fff;
  border-right: solid 0.25rem #fff;
  position: absolute;
  top: 50%;
}
.swiper-button-prev::before {
  left: 58%;
  transform: translate(-50%, -50%) rotate(-135deg);
}
.swiper-button-next::before {
  left: 42%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.swiper_item {
  background-color: #F7F4F1;
  border-radius: 1rem;
  padding: 3.2rem 2.4rem;
}
.swiper dd {
  margin-top: 2.7rem;
}
.swiper .head {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.777;
  display: grid;
  place-items: center;
  text-align: center;
}
.swiper .tag ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
}
.swiper .tag li {
  font-size: 1.4rem;
  font-weight: 600;
  color: #FF7850;
  background-color: #fff;
  border: 1px solid #FF7850;
  border-radius: 0.4rem;
  padding: 0.8rem;
  line-height: 1;
}
.swiper .price {
  line-height: 1;
  font-size: 1.6rem;
  display: inline-block;
  padding-left: 2.4rem;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/icon_price.svg) no-repeat left center / 1.6rem 1.6rem;
}
.swiper .price span {
  font-size: 2rem;
  font-weight: 900;
}
.swiper .lang ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.8rem;
}
.swiper .lang li {
  font-size: 1.2rem;
  color: #A3A3A3;
  background-color: #fff;
  border: 1px solid #A3A3A3;
  border-radius: 0.4rem;
  padding: 0.8rem;
  line-height: 1;
}
.swiper_item dl{
    display: flex;
    flex-direction: column;
}
.swiper .price{
  align-self: center;
}
.swiper .desc{
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .job {
    padding-bottom: 17.5rem;
  }
  .job::before {
    background: url(/wp-content/themes/wanworkfreelance/assets/images/bg_job-top-sp.svg) no-repeat center / contain;
    aspect-ratio: 393 / 57;
    top: calc(-1 * (100vw * 57 / 393) + 2px);
  }
  .job .ttl {
    top: 0;
    z-index: 20;
  }
  .swiper {
    /* width: 28rem; */
    width: 100%;
  }
  
  .job_inner .btn_wrap{
    margin-top: 4rem;
    display: none;
  }
  .swiper-button-prev.display_pc,
  .swiper-button-next.display_pc{
    display: block;
  }
  .swiper-button-prev.display_pc{
    left: -2rem;
  }
  .swiper-button-next.display_pc{
    right: -2rem;
  }
}
/*=========================================================
  feature
=========================================================*/
.feature {
  position: relative;
  color: #fff;
  padding-top: calc(100vw * 216 / 1366);
  padding-bottom: calc(100vw * 80.5 / 1366);
}
.feature::before {
  content: '';
  position: absolute;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/bg_feature-top.svg) no-repeat center / contain;
  aspect-ratio: 1366 / 216;
  width: 100%;
  top: -1.7rem;
  will-change: opacity, transform;
}
.unit_wrap {
  position: relative;
  margin-top: calc(-1 * (100vw * 216 / 1366) + 97px);
  border-radius: 4rem;
  background-image: linear-gradient(310deg, rgba(255, 157, 76, 1), rgba(255, 224, 122, 1));
  padding: 7.8rem 7rem 8.3rem;
  z-index: 20;
  text-align: center;
}
.unit_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3.2rem;
}
.unit_item {
  display: grid;
  grid-template-rows: 26.5rem 1fr;
  row-gap: 2.6rem;
  justify-items: center;
}
.unit_img {
  width: 26.5rem;
  height: 26.5rem;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
}
.img_city {
  width: 100%;
  height: 100%;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/img_feature01-bg.svg) no-repeat center bottom/contain;
}
.img_anime01 {
  position: relative;
  width: 100%;
  height: 100%;
}
[class^="img_city0"] {
  position: absolute;
}
.img_city01 {
  position: absolute;
  width: 2.3rem;
  height: 2.2rem;
  top: 3rem;
  left: 6.2rem;
}
.img_city01 svg.show {
  stroke-dasharray: 30;
  stroke-dashoffset: 30;
  stroke: #FF7850;
  animation: blink 4s both linear 2;
}
.img_chara {
  position: absolute;
  width: 7.7rem;
  height: 4.85rem;
  right: 8rem;
  bottom: 2.5rem;
}
.img_city02 {
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/img_feature01-route.svg) no-repeat center/contain;
  visibility: hidden;
}
.img_city03.show {
  bottom: 0;
  right: 0;
  width: 3.5rem;
  height: 3.6rem;
  translate: -50% -50%;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/img_feature01-chara.png) no-repeat center/contain;
  offset-path: path("M54 43C44.4373 41.1877 30.1743 38.3482 18.0183 28.1724C9.75229 21.2529 1 6.91954 1 0");
  offset-rotate: 0deg;
  opacity: 0;
  animation: move 4s linear 2;
}
@keyframes blink {
  0% {
    stroke-dashoffset: 30;
  }
  60% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -30;
  }
}
@keyframes move {
  1% {
    opacity: 1;
  }
  10% {
    transform: rotate(10deg);
  }
  20% {
    transform: rotate(0deg) scale(0.9);
  }
  30% {
    transform: rotate(10deg) scale(0.8);
  }
  40% {
    transform: rotate(0deg) scale(0.7);
  }
  50% {
    transform: rotate(10deg) scale(0.65);
  }
  60% {
    transform: rotate(0deg) scale(0.6);
  }
  70% {
    transform: rotate(10deg) scale(0.55);
  }
  80% {
    offset-distance: 100%;
    transform: scale(0.5);
  }
  81% {
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: hidden;
  }
}
.img_anime02 {
  position: relative;
  z-index: 10;
}
#img_clock {
  position: absolute;
  width: 10.4rem;
  height: 11.9rem;
  top: 6rem;
  left: 1.5rem;
}
#img_house {
  position: absolute;
  width: 10.4rem;
  height: 12rem;
  top: 2.8rem;
  right: 3.6rem;
}
.img_pc01 {
  position: absolute;
  width: 18.8rem;
  height: 15.7rem;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.img_pc img {
  width: 100%;
}
[class^="img_pc-show"] {
  opacity: 0;
  animation: none;
  transition: opacity 0.5s ease-in-out;
}
.img_clock [class^="img_pc-show"].show {
  animation: show 5s ease both 1.2;
  animation-delay: var(--delay, 0s);
}
.img_house [class^="img_pc-show"].show {
  animation: show 5s ease both 1.2;
  animation-delay: calc(var(--delay, 0s) + 0.4s);
}
.img_pc-show01 {
  --delay: 0.7s;
}
.img_pc-show02 {
  --delay: 0.9s;
}
.img_pc-show03 {
  --delay: 1.1s;
}
.img_pc-show04 {
  --delay: 1.3s;
}
.img_pc-show05 {
  --delay: 1.4s;
}
@keyframes show {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  60% {
    opacity: 0.9;
  }
  70% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.img_anime03 {
  position: absolute;
  width: 11rem;
  height: 7.6rem;
  top: 4.3rem;
  left: 5.6rem;
}
#img_arrow {
  mask: url("#feature_mask");
  -webkit-mask: url("#feature_mask");
}
#img_line {
  stroke-dasharray: 800px;
  animation: stroke-dashoffset 5s 2;
  animation-play-state: paused;
  stroke: #fff;
}
@keyframes stroke-dashoffset {
  0% {
    stroke-dashoffset: 800px;
  }
  15% {
    stroke-dashoffset: 800px;
  }
  100% {
    stroke-dashoffset: 0px;
  }
}
.img_graph {
  position: absolute;
  width: 15.26rem;
  height: 17.149rem;
  left: 50%;
  transform: translateX(-50%);
  bottom: 4.183rem;
}
[class^="img_graph-change"].show {
  transition: fill 0.5s ease-in-out;
}
.img_graph-change01.show {
  animation: changeColor01 5s both 2;
}
.img_graph-change02.show {
  animation: changeColor02 5s both 2;
}
.img_graph-change03.show {
  animation: changeColor03 5s both 2;
}
.img_graph-change04.show {
  animation: changeColor04 5s both 2;
}
@keyframes changeColor01 {
  0%, 15%, 85%, 100% {
    fill: #E6DDD3;
  }
  25%, 75% {
    fill: #fc8014;
  }
}
/* 2番目のバー */
@keyframes changeColor02 {
  0%, 20%, 85%, 100% {
    fill: #E6DDD3;
  }
  25%, 75% {
    fill: #fc8014;
  }
}
/* 3番目のバー */
@keyframes changeColor03 {
  0%, 25%, 85%, 100% {
    fill: #E6DDD3;
  }
  30%, 75% {
    fill: #fc8014;
  }
}
/* 4番目のバー */
@keyframes changeColor04 {
  0%, 30%, 85%, 100% {
    fill: #E6DDD3;
  }
  35%, 75% {
    fill: #fc8014;
  }
}
.unit_item dl {
  display: grid;
  grid-template-rows: 7rem 1fr;
  row-gap: 1.75rem;
}
.unit_item dt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.375;
  display: grid;
  place-items: center;
}
.unit_item dd {
  font-weight: 600;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  #feature {
    scroll-margin-top: 12rem;
  }
  .feature {
    padding-top: calc(100vw * 60 / 393);
  }
  .feature::before {
    background: url(/wp-content/themes/wanworkfreelance/assets/images/bg_feature-top-sp.svg) no-repeat center / contain;
    aspect-ratio: 393 / 60;
    top: 0;
  }
  .unit_wrap {
    margin-top: calc(-1 * (100vw * 152 / 393));
    padding: 6rem 2rem 8rem;
  }
  .unit_list {
    grid-template-columns: 1fr;
    row-gap: 8rem;
  }
}
/*=========================================================
  flow
=========================================================*/
.flow {
  position: relative;
  background-color: #fff;
  padding: 0.75rem 0 9.15rem;
  scroll-margin-top: 8rem;
}
.flow::before {
  content: '';
  position: absolute;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/bg_flow-top.svg) no-repeat center / contain;
  aspect-ratio: 1366 / 159;
  width: 100%;
  top: calc(-1 * (100vw * 159 / 1366) + 2px);
  will-change: opacity, transform;
}
.flow_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 3.2rem;
  margin-top: 6rem;
}
.flow_item {
  display: grid;
  grid-template-rows: 22.6rem 1fr;
  row-gap: 2.45rem;
  position: relative;
}
.flow_item::after {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  top: 0;
  height: 4.2rem;
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Noto Sans Japanese', sans-serif;
}
.flow_item:nth-of-type(1):after {
  background: url(/wp-content/themes/wanworkfreelance/assets/images/icon_flow01.svg) no-repeat center / cover;
  width: 5.7rem;
}
.flow_item:nth-of-type(2):after {
  background: url(/wp-content/themes/wanworkfreelance/assets/images/icon_flow02.svg) no-repeat center / cover;
  width: 7.1rem;
}
.flow_item:nth-of-type(3):after {
  background: url(/wp-content/themes/wanworkfreelance/assets/images/icon_flow03.svg) no-repeat center / cover;
  width: 7.2rem;
}
.flow_item:nth-of-type(4):after {
  background: url(/wp-content/themes/wanworkfreelance/assets/images/icon_flow04.svg) no-repeat center / cover;
  width: 7.3rem;
}
.flow_img {
  width: 22.6rem;
  height: 22.6rem;
  background-color: #F7F4F1;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
}
.img_pc02 {
  position: absolute;
  width: 15.8rem;
  height: 13.2rem;
  left: 50%;
  transform: translateX(-50%);
  bottom: 3.7rem;
}
#img_type {
  position: absolute;
  width: 10.8rem;
  height: 1.1rem;
  top: 9.3rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
}
.img_btn {
  position: absolute;
  width: 5.511rem;
  height: 1.04rem;
  top: 12.347rem;
  left: 50%;
  transform: translateX(-50%) scale(1);
  z-index: 20;
}
.img_btn.start {
  animation: click 8s ease-in-out infinite;
}
.img_cursor {
  position: absolute;
  width: 1.501rem;
  height: 1.505rem;
  top: 13.4rem;
  left: 13.4rem;
  z-index: 20;
}
.img_cursor.start {
  animation: moveTopLeft 8s ease-in-out infinite;
}
#img_light {
  position: absolute;
  width: 2.272rem;
  height: 2.148rem;
  top: 10rem;
  left: 6.749rem;
  z-index: 30;
}
#img_light svg {
  stroke-dasharray: 30;
  stroke-dashoffset: 30;
  stroke: #FF7850;
  animation: blink02 8s linear infinite;
}
svg rect {
  opacity: 0;
}
@keyframes drawRect {
  0% {
    opacity: 0;
    clip-path: polygon(0 0, 0 100%, 0 100%, 0 0);
  }
  10% {
    opacity: 1;
    clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
  }
  75% {
    opacity: 1;
    clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
  }
  80% {
    opacity: 0;
    clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
  }
  100% {
    opacity: 0;
  }
}
#Rectangle9 {
  animation: drawRect 8s ease-out infinite;
  animation-delay: 0s;
}
#Rectangle10 {
  animation: drawRect 8s ease-out infinite;
  animation-delay: 0.3s;
}
#Rectangle13 {
  animation: drawRect 8s ease-out infinite;
  animation-delay: 0.6s;
}
#Rectangle11 {
  animation: drawRect 8s ease-out infinite;
  animation-delay: 0.9s;
}
#Rectangle14 {
  animation: drawRect 8s ease-out infinite;
  animation-delay: 1.2s;
}
@keyframes click {
  0%, 30% {
    transform: translateX(-50%) scale(1);
  }
  33% {
    transform: translateX(-50%) scale(0.9);
  }
  36%, 100% {
    transform: translateX(-50%) scale(1);
  }
}
@keyframes moveTopLeft {
  0%, 20%, 85%, 100% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(-5px, -5px);
  }
  70% {
    transform: translate(-5px, -5px);
  }
}
@keyframes blink02 {
  0%, 32% {
    stroke-dashoffset: 30;
  }
  38% {
    stroke-dashoffset: 0;
  }
  55%, 100% {
    stroke-dashoffset: -30;
  }
}
.img_adviser {
  position: absolute;
  width: 15rem;
  height: 15.2rem;
  left: 50%;
  transform: translateX(-50%);
  bottom: 2.7rem;
}
.img_box {
  position: absolute;
  width: 6.299rem;
  height: 4.554rem;
  top: 5.05rem;
  left: 3.7rem;
  z-index: 20;
  animation: flow 2s ease-in-out infinite;
}
.img_word {
  position: absolute;
  width: 4.517rem;
  height: 1.583rem;
  top: 6.067rem;
  left: 4.591rem;
  z-index: 20;
  animation: word 5.5s ease-in-out infinite, flow 2s ease-in-out infinite;
}
.img_body {
  position: absolute;
  width: 22.6rem;
  height: 16.5rem;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  z-index: 10;
}
.img_head {
  position: absolute;
  width: 5.3rem;
  height: 5.4rem;
  top: 4.307rem;
  left: 3.067rem;
  z-index: 20;
  animation: nod 6s linear infinite;
}
.img_face {
  position: absolute;
  width: 4.3rem;
  height: 4.9rem;
  top: 2.937rem;
  right: 4.746rem;
  animation: nod2 6s linear infinite;
}
.img_hand {
  position: absolute;
  width: 5.4rem;
  height: 5.7rem;
  top: 10.76rem;
  left: 8.138rem;
  animation: nod2 6s linear infinite;
}
@keyframes flow {
  0%, 100% {
    transform: translateY(2px);
  }
  50% {
    transform: translateY(-2px);
  }
}
@keyframes word {
  0% {
    clip-path: inset(0 100% 0 0);
    opacity: 1;
  }
  50% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
  70% {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
  80% {
    clip-path: inset(0 0 0 0);
    opacity: 0;
  }
  100% {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
}
@keyframes nod {
  0%, 100% {
    transform: rotate(0);
  }
  60% {
    transform: rotate(8deg);
  }
  70% {
    transform: rotate(0);
  }
  80% {
    transform: rotate(8deg);
  }
  90% {
    transform: rotate(0);
  }
}
@keyframes nod2 {
  0%, 100% {
    transform: rotate(0);
  }
  10% {
    transform: rotate(-12deg);
  }
  22% {
    transform: rotate(0);
  }
  34% {
    transform: rotate(-12deg);
  }
  46% {
    transform: rotate(0);
  }
}
.img_arm {
  position: absolute;
  width: 22.6rem;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 4.55rem;
  animation: shake 6s linear infinite;
}
@keyframes shake {
  0%, 100% {
    transform: translate(-50%, 0);
  }
  20% {
    transform: translate(-50%, -0.5rem);
  }
  30% {
    transform: translate(-50%, 0);
  }
  40% {
    transform: translate(-50%, -0.5rem);
  }
  50% {
    transform: translate(-50%, 0);
  }
}
.flow_item dl {
  display: grid;
  grid-template-rows: 7rem 1fr;
  row-gap: 1.6rem;
}
.flow_item dt {
  color: #FF7850;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.375;
  display: grid;
  place-items: center;
  text-align: center;
}
.flow_item dd {
  font-weight: 500;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .flow{
    padding: 6rem 0 7rem;
  }
  .flow_list {
    grid-template-columns: 1fr;
    margin-top: 0;
    row-gap: 5.6rem;
  }
  .flow_item {
    display: grid;
    grid-template-rows: 32.9rem 1fr;
  }
  .flow_img {
    width: 32.9rem;
    height: 32.9rem;
  }
  .img_pc02 {
    position: absolute;
    width: 23rem;
    height: 19.2rem;
    bottom: 5.4rem;
  }
  #img_type {
    width: 15.722rem;
    height: 1.602rem;
    top: 14.63rem;
  }
  .img_btn {
    width: 8.023rem;
    height: 1.514rem;
    top: 17.974rem;
  }
  .img_cursor {
    width: 2.185rem;
    height: 2.191rem;
    top: 19.2rem;
    left: 19.2rem;
  }
  #img_light {
    position: absolute;
    width: 3.307rem;
    height: 2.585rem;
    top: 15.513rem;
    left: 9.825rem;
  }
  .flow_item dl {
    grid-template-rows: 1fr;
    row-gap: 3.2rem;
  }
  .img_adviser {
    width: 21.791rem;
    height: 22.094rem;
    bottom: 3.902rem;
  }
  .img_box {
    width: 9.156rem;
    height: 6.619rem;
    top: 7.313rem;
    left: 5.403rem;
  }
  .img_word {
    width: 6.566rem;
    height: 2.301rem;
    top: 8.792rem;
    left: 6.698rem;
  }
  .img_body {
    width: 32.9rem;
    height: 23.9rem;
  }
  .img_head {
    width: 7.544rem;
    height: 7.73rem;
    top: 6.269rem;
    left: 4.464rem;
  }
  .img_face {
    width: 6.11rem;
    height: 6.995rem;
    top: 4.275rem;
    right: 6.909rem;
  }
  .img_hand {
    width: 7.666rem;
    height: 8.259rem;
    top: 15.664rem;
    left: 11.846rem;
  }
  .img_arm {
    width: 32.9rem;
    height: 23.6rem;
    left: 50%;
    transform: translateX(-50%);
    bottom: 7.355rem;
  }
}
/*=========================================================
  faq
=========================================================*/
.faq {
  padding: 9.2rem 0 10rem;
}
.faq .c-subtitle {
  margin: 2rem 0 6rem;
}
.faq_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3.2rem;
}
.faq_list {
  width: calc(50% - 1.6rem);
  display: flex;
  flex-direction: column;
}
.faq_q {
  background-color: #fff;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  padding: 2.4rem 7.2rem 2.4rem 8.8rem;
  position: relative;
  transition: border-radius 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq_q::before {
  position: absolute;
  content: "";
  background: url(/wp-content/themes/wanworkfreelance/assets/images/icon_faq.svg) #FF7850 no-repeat center / 2.4rem 2.4rem;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  left: 3.2rem;
}
.faq_icon {
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  top: 50%;
  right: 3.2rem;
  transform: translateY(-50%);
}
.faq_icon::before {
  content: "";
  display: inline-block;
  width: 0.2rem;
  height: 100%;
  background-color: #41536A;
  position: absolute;
  top: 0;
  left: 50%;
  transform-origin: center center;
  transform: translateX(-50%) rotate(0deg);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq_icon::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 0.2rem;
  background-color: #41536A;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: opacity 0.4s ease;
}
.faq_a {
  margin: 0;
  background-color: #fff;
  border-radius: 0 0 1rem 1rem;
  padding: 0 3.2rem;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    padding 0.5s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.6s ease;
  opacity: 0;
  flex-grow: 1;
}
.faq_a.is-open {
  max-height: 50rem;
  padding: 2.4rem 3.2rem;
  position: relative;
  opacity: 1;
  transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    padding 0.6s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s ease 0.15s;
}
.faq_a.is-open::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  display: inline-block;
  width: 42rem;
  height: 1px;
  transform: translateX(-50%);
  background-color: #41536A;
  opacity: 0;
  animation: fadeInLine 0.5s ease 0.3s forwards;
}
.faq_q.is-open {
  border-radius: 1rem 1rem 0 0;
}
.faq_q.is-open .faq_icon::before {
  transform: translateX(-50%) rotate(90deg);
}
.faq_q.is-open .faq_icon::after {
  opacity: 0;
}
@keyframes fadeInLine {
  to {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .faq{
    padding: 6rem 0 7rem;
  }
  .faq_list {
    /* width: calc(100% - 1.6rem); */
    width: 100%;
  }
}
/*=========================================================
  footer
=========================================================*/
footer {
  background-color: #fff;
  padding: 10rem 0;
}
.foot_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 3.2rem;
}
footer .nav_list{
  gap : 0;
  align-items: center;
}
footer .nav_list > li:first-of-type a{
  padding-left: 0;
}
footer .nav_list a{
  padding: 0 2rem;
}
footer .nav_list a[target="_blank"]::after{
  content: url(/wp-content/themes/wanworkfreelance/assets/images/icon_blank.svg);
  padding-left: 0.5rem;
}
footer .nav_list a[target="_blank"]:hover::after{
  content: url(/wp-content/themes/wanworkfreelance/assets/images/icon_blank_on.svg);
}
.foot_logo {
  align-self: center;
  order: -2;
}
.foot_nav {
  width: 100%;
  font-size: 1.5rem;
  margin-top: 6rem;
}
.foot_list {
  font-size: 1.2rem;
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid #D0C8C1;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
/* .foot__link span {
  display: block;
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.8rem;
} */
.foot_txt {
  display: flex;
  justify-content: space-between;
  font-size: 1.2rem;
}
.totop {
  font-family: Montserrat;
  font-weight: 800;
  order: -1;
}
.totop a {
  display: inline-block;
  position: relative;
  padding-right: 24px;
  line-height: 16px;
  transition: all .3s ease-out;
}
.totop a::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-color: #41536A;
  border-radius: 50%;
  right: 0;
  transition: all .3s ease-out;
}
.totop a::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 2px;
  height: 2px;
  background-color: #fff;
  border-radius: 50%;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s ease-out;
}
.totop a:hover{
  color: #FF7850;
}
.totop a:hover::after {
  position: absolute;
  content: "";
  display: inline-block;
  background: url(/wp-content/themes/wanworkfreelance/assets/images/img_arrow-foot.svg) no-repeat center / contain;
  width: 6px;
  height: 6.5px;
  border-radius: 0;
  right: 5px;
}
.totop a:hover::before{
  background: #FF7850;
}
@media screen and (max-width: 767px) {
  footer {
    padding: 4rem 0 10rem; 
}
  footer .inner {
    padding: 0 2rem;
  }
  .foot_wrap {
    grid-template-columns: 1fr;
    grid-row-gap: 3.2rem;
    place-items: center;
    text-align: center;
    margin-bottom: 2rem;
  }
  .foot_logo {
    margin-bottom: 1.6rem;
  }
  .foot_logo,
  .foot_nav,
  .foot_list {
    grid-area: auto;
    justify-self: auto;
  }
  .foot_nav{
    margin-top: 3rem;
  }
  .foot_nav .nav_item + .nav_item{
    padding-top: 0;
    margin-top: 4rem;
  }
  .foot_list{
    flex-flow: column;
    margin-top: 5rem;
  }
  footer .foot_list .nav_list{
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
  }
  footer .foot_list .nav_list > * {
    width: 50%;
    padding: 0;
  }
  footer .foot_list .nav_list > :nth-of-type(n+3){
    margin-top: 3rem;
  }
  .foot_txt {
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    padding-top: 3.2rem;
    border-top: 1px solid #F7F4F1;
  }
  p.foot_copy {
    border-top: 1px solid #D0C8C1;
    padding-top: 2rem;
    margin-top: 3rem;
  }
}
/*=========================================================
  form
=========================================================*/
.formrun {
  width: 100%;
}
.has_h2 {
  padding: 9rem 0 10rem;
}
.top .form_container {
  position: absolute;
  width: 40.1rem;
  top: 18rem;
  right: 4rem;
}
.form_container {
  background: #fff;
  border-radius: 40px;
  padding: 4.8rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
}
.form_container_sp { 
  display: none; 
} 
.form_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.form_ttl {
  font-size: 2rem;
  font-weight: bold;
  width: 100%;
  text-align: center;
}
.form_half .form-group {
  width: calc(50% - 0.8rem);
}
.form_full .form-group {
  width: 100%;
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.form + .form {
  margin-top: 3.2rem;
}
.form_label {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
}
.form_label span {
  font-size: 1.4rem;
  font-weight: bold;
  color: #FF7850;
  border: 1px solid #FF7850;
  border-radius: 40px;
  padding: 0.4rem 1.8rem;
  flex-shrink: 0;
}
.form-control {
  width: 100%;
  border-radius: 10px;
  background: #F7F4F1;
  border: none;
  padding: 0.95rem 1.6rem;
  font-size: 1.8rem;
}
.form-control::placeholder {
  color: #C4C4C4;
}
.form textarea {
  resize: none;
}
[data-formrun-show-if-error] {
  display: none;
  font-size: 1.3rem;
}
[data-formrun-show-if-error].formrun-system-show {
  display: block;
}
.form_policy_wrap {
  border-radius: 10px;
  background: #F7F4F1;
  padding: 1.6rem;
  overflow: hidden;
  max-height: 23rem;
  margin-bottom: 1.2rem;
}
.form_policy {
  overflow-y: auto;
  max-height: 100%;
  padding-right: 1rem;
  line-height: 2;
  font-weight: normal;
}
.form-check {
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-check.policy {
  margin: 0 auto;
}
.form-check-label {
  display: flex;
  align-items: center;
  position: relative;
  gap: 0.8rem;
}
.form-check-input {
  width: 2.4rem;
  height: 2.4rem;
  margin: 0;
  flex-shrink: 0;
}
.form-check-input[type="checkbox"],
.form-check-input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 4px;
  outline: none;
  cursor: pointer;
  vertical-align: middle;
  position: relative;
}
.form-check-input[type="checkbox"] {
  border: 1px solid #ccc;
  border-radius: 4px;
}
.form-check-input[type="radio"] {
  border: 1px solid #ccc;
  border-radius: 50%;
}
.form-check-input[type="checkbox"]:checked {
  background-color: #41536A;
  border-color: #41536A;
}
.form-check-input[type="radio"]:checked {
  border-color: #41536A;
}
.form-check-input[type="checkbox"]:checked::after {
  content: '\2713';
  display: block;
  color: #FFFFFF;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.form-check-input[type="radio"]:checked::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 1.4rem;
  height: 1.4rem;
  background-color: #41536A;
  border-radius: 50%;
}
.form-check.policy {
  margin: 0 auto;
}
.register .formrun-has-error {
  background: #fff;
}
.form-control-danger,
.formrun-has-error {
  background: #FFF0E6;
}
.text-danger {
  color: #FF7850;
  font-weight: bold;
}
.text-danger.center{
  text-align: center;
}
.recaptcha_wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}
.col-xs-9 {
  margin-top: 1.6rem;
}
.form_bottom {
  margin-bottom: 3.2rem;
}
.form-file { 
  font-size: 1.3rem; 
  line-height: 1.5; 
} 
.row .form-file { 
  gap: 1.2rem; 
} 
.file-wrap { 
  position: relative; 
  width: 100%; 
} 
.form-file .filebox { 
  width: 100%; 
  padding: 0.8rem 1.6rem; 
} 
.clear-btn { 
  position: absolute; 
  top: 50%; 
  right: 2rem; 
  transform: translateY(-50%); 
} 
.form-file .download { 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  color: #ff7850; 
  font-size: 1.6rem; 
  border: 1px solid #FF7850; 
  border-radius: 6rem; 
  transition: border 0.3s ease, background-color 0.3s ease, 
color 0.3s ease; 
} 
.form-file .download:hover { 
  border: 1px solid rgba(255, 120, 80, 0.7); 
  background-color: rgb(255, 255, 255, 0.7); 
  color: rgb(255, 120, 80, 0.5); 
} 
.form-file .download::after { 
  content: ""; 
  display: inline-block; 
  background: url(/wp-content/themes/wanworkfreelance/assets/images/icon_download.svg) no-repeat center / contain; 
  width: 1.6rem; 
  height: 1.6rem; 
  margin-left: 0.8rem; 
  transition: opacity 0.3s ease; 
} 
.form-file .download:hover::after { 
  opacity: 0.5; 
}
.form-file p,
.form_answer{
    font-weight: normal;
}
.formrun .btn_wrap{
  margin-top: 8rem;
}
.top .formrun .btn_wrap{
  margin-top: 1.6rem;
}
.confirm .form_container .row,
.confirm .form_container .form_full{
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .form .inner {
    padding: 0 2.4rem;
  }
  /* .top .form_container {
    display: none;
  } */
  .form_container {
    padding: 3.6rem 2rem;
  }
   .form_container_pc { 
    display: none; 
  } 
  .form_container_sp { 
    display: block; 
    width: 100%; 
    position: fixed; 
    bottom: 0; 
    left: 0; 
    z-index: 1000; 
  } 
  .form_container_sp .btn{ 
    width: 100%; 
    border-radius: 0; 
  }
  .form_half .form-group {
    width: 100%
  }
  .formrun .btn_wrap{
    flex-direction: column-reverse;
  }
  .formrun .btn{
    width: 100%;
  }
  .row .form-check{
    flex-direction: column;
  }
  .form_birth,
  .step2 .form-group.row .form-check-label,
  .step3 .form-check .form_list .form-check-label,
  .form-check .form_list .form-check-labe,
  .form-check .form_list .form-check-label,
  .form-group.row.cols-3 .form-check-label,
  .step3 .form-group.row.cols-3 .form-check-label,
  .step4 .form-check .form_list .form-check-label,
  .correct .form-group.row .form-check-label,
  .correct .form-check .form_list .form-check-label,
  .correct .form-group.row.cols-3 .form-check-label{
    width: 100%;
  }
  
  .confirm .form_wrap.form_full{
    margin-top: 6rem;
  }
  .correct .form_birth .form_label {
    justify-content: flex-start;
  }
  .correct .form_container{
    gap: 9rem;
  }
  .correct .form-group.row{
    margin-top: 0;
  }
}
@media (768px <=width < 1200px) {
  .top .form_container {
    top: 14rem;
    right: 3rem;
    width: 38rem;
    padding: 3.2rem;
    gap: 2.4rem;
  }
}
@media (1200px <=width < 1366px) {
  .top .form_container {
    top: 14rem;
  }
}
/*=========================================================
  register
=========================================================*/
.register {
  padding: 14rem 0 15rem;
}
.progress-steps {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-bottom: 7rem;
}
.progress-line-wrap {
  position: absolute;
  top: 1rem;
  left: 3rem;
  right: 1.2rem;
  height: 2px;
  z-index: 1;
}
.progress-line,
.progress-line-active {
  position: absolute;
  height: 2px;
  top: 0;
  left: 0;
  background-color: #D0C8C1;
  width: 100%;
  transform-origin: left;
}
.progress-line-active {
  background-color: #FF7850;
  z-index: 2;
}
.step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 3;
}
.step-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  margin-bottom: 2.4rem;
}
.step-icon.active {
  background-color: #FF7850;
}
.step-icon.inactive {
  background-color: #D0C8C1;
}
.step-label {
  color: #D0C8C1;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.375;
}
.step-label.active {
  color: #FF7850;
}
.form_birth {
  margin: 0 9.6rem;
  text-align: center;
}
.form-group.row {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 3.2rem;
}
.row .form_label {
  width: calc((100% - 3.2rem) * 0.235);
}
.row .form-check {
  width: calc((100% - 3.2rem) * 0.765);
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.multi_select .form-check {
  gap: 1.9rem;
}
.form-group.row .form-check-label {
  width: 25%;
  display: flex;
  align-items: center;
}
.form-group.row.cols-3 .form-check-label {
  width: 26%;
}
.form_list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  row-gap: 0.8rem;
}
.form-check .form_list .form-check-label {
  width: 50%;
}
.form-check-input {
  accent-color: #41536A;
}
.form-group.row .text-danger {
  width: 100%;
}
.form_birth .form-group {
  width: calc((100% - 6.4rem) / 3);
}

.form_birth .form_label {
  justify-content: center;
  margin-bottom: 4.8rem;
}
.select_wrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.form_birth .text-danger {
  text-align: left;
}
#selected_skills {
  width: 100%;
  border: 2px solid #F7F4F1;
  border-radius: 10px;
  padding: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#skill_search {
  width: 100%;
  border: 2px solid #F7F4F1;
  border-radius: 10px;
  padding: 1.4rem;
  line-height: 1;
}
#skill_search::placeholder {
  color: #C4C4C4;
}
#skill_list {
  width: 100%;
  border: 2px solid #F7F4F1;
  border-radius: 10px;
  padding: 3rem 1.4rem;
}
.category + .category {
  margin-top: 1.6rem;
}
.category:not(:last-of-type) {
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #F7F4F1;
}
.category_ttl {
  margin-bottom: 1.6rem;
}
.register_confirm .form_wrap + .form_wrap {
  margin-top: 3.2rem;
}
.register_confirm .form_wrap {
  gap: 3.2rem;
}
.register_confirm .form_answer {
  font-weight: 500;
}
.register_confirm .form_answer span {
  margin-right: 1.6rem;
  ;
}
.register_correct .form_birth {
  margin: 0;
}
.register_correct .form_birth .form_label {
  justify-content: flex-start;
  margin-bottom: 1.6rem;
  ;
}
@media screen and (max-width: 767px) {
  .progress-line-wrap {
    top: 0.8rem;
  }
  .step-icon {
    width: 1.6rem;
    height: 1.6rem;
  }
  .step-label {
    font-size: 1.4rem;
  }
  .form_birth {
    margin: 0 auto;
    flex-direction: column;
  }
  .form_birth .form-group {
    width: auto;
  }
  .form-group.row {
    flex-direction: column;
  }
  .confirm .form_container .row, 
  .confirm .form_container .form_full{
    margin-top: 4rem;
  }
  .step2 .form-group.row:first-of-type,
  .step3 .form-group.row:first-of-type{
    margin-top: 0;
  }
  .row .form_label {
    width: 100%;
  }
  .row .form-check {
    width: 100%;
  }
}
/*=========================================================
  contact
=========================================================*/
.contact .form_container span{
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .form_wrap{
    margin-top: 4rem;
  }
}
/*=========================================================
  contact-thanks
=========================================================*/
.contact_thanks main > section ,
.register-thanks main > section{
  padding: 14.8rem 0;
  text-align: center;
}
.thanks_heading {
  font-size: 2.4rem;
  font-weight: bold;
  color: #FF7850;
  line-height: 1.5;
}
.thanks_inner {
  margin-top: 4.8rem;
  font-size: 1.5rem;
  line-height: 2.4;
}
.thanks_inner > div{
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .contact_thanks main > section ,
  .register-thanks main > section{
    padding: 5rem 0;
    text-align: center;
  }
  .thanks_heading{
    font-size: 2rem;
  }
  .contact_thanks .form_container,
  .register-thanks .form_container{
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
/*=========================================================
  terms
=========================================================*/
.terms h2{
  font-size: 2.4rem;
  margin: 4rem 0 2rem;
  padding-bottom: 1rem;
  border-bottom: solid;
}
.terms .has_h2 a{
  text-decoration: underline;
  font-weight: bold;
  color: #FF7850;
}
.terms .has_h2 a[target="_blank"]::after{
  content: url(/wp-content/themes/wanworkfreelance/assets/images/icon_blank_on.svg);
  padding-left: 0.5rem;
}
.terms .has_h2 a:hover{
  text-decoration: none;
}
/*=========================================================
  404
=========================================================*/
.error404 .has_h2 .inner{
  text-align: center;
}
.error404 dl{
  margin-top: 2rem;
}
.error404 dt{
  font-size: 2rem;
  font-weight: 600;
  margin-top: 3rem;
  position: relative;
  letter-spacing: 0.2em;
}
.error404 dd{
  margin-top: 2rem;
}
.error404 .btn_wrap{
  margin-top: 5.6rem;
}