@charset "UTF-8";
/*
Theme Name:origin
Description:origin template
Version:1.0
*/
:root {
  --theme-color-1: #004494;
  --theme-color-2: #8CC220;
  --theme-color-3: #f4f4f4;
  --theme-color-4: #1D81C5;
  --theme-color-5: #8CC220;
  --theme-color-6: #cccccc;
  --accent-color-1: #ff9900;
  --accent-color-2: #d21452;
  --accent-color-3: #ff9900;
  --text-color-1: #333333;
  --text-color-2: #ffffff;
  --text-color-3: #333333;
  --link-color-1: #333333;
  --link-color-2: #333333;
  --link-color-3: #333333;
  --bg-color-1: #ffffff;
  --bg-color-2: #EFECE5;
  --bg-color-3: #cccccc;
  --bg-color-4: #FFFEF0;
  --bg-color-5: #ffe5ee;
  --font-family-1: "Noto Sans JP", sans-serif;
  --font-family-2: "M PLUS Rounded 1c", sans-serif;
  --font-family-3: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  --font-size-1: clamp(0.8rem, 0.667rem + 0.444vw, 1rem);
  --font-size-2: clamp(0.96rem, 0.8rem + 0.533vw, 1.2rem);
  --font-size-3: clamp(1.28rem, 1.067rem + 0.711vw, 1.6rem);
  --font-size-4: clamp(1.6rem, 1.333rem + 0.889vw, 2rem);
  --font-size-5: clamp(1.92rem, 1.6rem + 1.067vw, 2.4rem); }

@media screen and (max-width: 1280px) {
  .hide-1280 {
    display: none !important; } }

@media screen and (max-width: 1200px) {
  .hide-1200 {
    display: none !important; } }

@media screen and (max-width: 1120px) {
  .hide-1120 {
    display: none !important; } }

@media screen and (max-width: 1040px) {
  .hide-1040 {
    display: none !important; } }

@media screen and (max-width: 960px) {
  .hide-960 {
    display: none !important; } }

@media screen and (max-width: 880px) {
  .hide-880 {
    display: none !important; } }

@media screen and (max-width: 800px) {
  .hide-800 {
    display: none !important; } }

@media screen and (max-width: 720px) {
  .hide-720 {
    display: none !important; } }

@media screen and (max-width: 640px) {
  .hide-640 {
    display: none !important; } }

@media screen and (max-width: 560px) {
  .hide-560 {
    display: none !important; } }

@media screen and (max-width: 480px) {
  .hide-480 {
    display: none !important; } }

@media screen and (max-width: 1280px) {
  .show-1280.block {
    display: block !important; }
  .show-1280.flex {
    display: flex !important; } }

@media screen and (max-width: 1200px) {
  .show-1200.block {
    display: block !important; }
  .show-1200.flex {
    display: flex !important; } }

@media screen and (max-width: 1120px) {
  .show-1120.block {
    display: block !important; }
  .show-1120.flex {
    display: flex !important; } }

@media screen and (max-width: 1040px) {
  .show-1040.block {
    display: block !important; }
  .show-1040.flex {
    display: flex !important; } }

@media screen and (max-width: 960px) {
  .show-960.block {
    display: block !important; }
  .show-960.flex {
    display: flex !important; } }

@media screen and (max-width: 880px) {
  .show-880.block {
    display: block !important; }
  .show-880.flex {
    display: flex !important; } }

@media screen and (max-width: 800px) {
  .show-800.block {
    display: block !important; }
  .show-800.flex {
    display: flex !important; } }

@media screen and (max-width: 720px) {
  .show-720.block {
    display: block !important; }
  .show-720.flex {
    display: flex !important; } }

@media screen and (max-width: 640px) {
  .show-640.block {
    display: block !important; }
  .show-640.flex {
    display: flex !important; } }

@media screen and (max-width: 560px) {
  .show-560.block {
    display: block !important; }
  .show-560.flex {
    display: flex !important; } }

@media screen and (max-width: 480px) {
  .show-480.block {
    display: block !important; }
  .show-480.flex {
    display: flex !important; } }

.m-0 {
  margin: 0px !important; }

.p-0 {
  padding: 0px !important; }

.mt-0 {
  margin-top: 0px !important; }

.pt-0 {
  padding-top: 0px !important; }

.mb-0 {
  margin-bottom: 0px !important; }

.pb-0 {
  padding-bottom: 0px !important; }

.ml-0 {
  margin-left: 0px !important; }

.pl-0 {
  padding-left: 0px !important; }

.mr-0 {
  margin-right: 0px !important; }

.pr-0 {
  padding-right: 0px !important; }

.m-5 {
  margin: 5px !important; }

.p-5 {
  padding: 5px !important; }

.mt-5 {
  margin-top: 5px !important; }

.pt-5 {
  padding-top: 5px !important; }

.mb-5 {
  margin-bottom: 5px !important; }

.pb-5 {
  padding-bottom: 5px !important; }

.ml-5 {
  margin-left: 5px !important; }

.pl-5 {
  padding-left: 5px !important; }

.mr-5 {
  margin-right: 5px !important; }

.pr-5 {
  padding-right: 5px !important; }

.m-10 {
  margin: 10px !important; }

.p-10 {
  padding: 10px !important; }

.mt-10 {
  margin-top: 10px !important; }

.pt-10 {
  padding-top: 10px !important; }

.mb-10 {
  margin-bottom: 10px !important; }

.pb-10 {
  padding-bottom: 10px !important; }

.ml-10 {
  margin-left: 10px !important; }

.pl-10 {
  padding-left: 10px !important; }

.mr-10 {
  margin-right: 10px !important; }

.pr-10 {
  padding-right: 10px !important; }

.m-15 {
  margin: 15px !important; }

.p-15 {
  padding: 15px !important; }

.mt-15 {
  margin-top: 15px !important; }

.pt-15 {
  padding-top: 15px !important; }

.mb-15 {
  margin-bottom: 15px !important; }

.pb-15 {
  padding-bottom: 15px !important; }

.ml-15 {
  margin-left: 15px !important; }

.pl-15 {
  padding-left: 15px !important; }

.mr-15 {
  margin-right: 15px !important; }

.pr-15 {
  padding-right: 15px !important; }

.m-20 {
  margin: 20px !important; }

.p-20 {
  padding: 20px !important; }

.mt-20 {
  margin-top: 20px !important; }

.pt-20 {
  padding-top: 20px !important; }

.mb-20 {
  margin-bottom: 20px !important; }

.pb-20 {
  padding-bottom: 20px !important; }

.ml-20 {
  margin-left: 20px !important; }

.pl-20 {
  padding-left: 20px !important; }

.mr-20 {
  margin-right: 20px !important; }

.pr-20 {
  padding-right: 20px !important; }

.m-25 {
  margin: 25px !important; }

.p-25 {
  padding: 25px !important; }

.mt-25 {
  margin-top: 25px !important; }

.pt-25 {
  padding-top: 25px !important; }

.mb-25 {
  margin-bottom: 25px !important; }

.pb-25 {
  padding-bottom: 25px !important; }

.ml-25 {
  margin-left: 25px !important; }

.pl-25 {
  padding-left: 25px !important; }

.mr-25 {
  margin-right: 25px !important; }

.pr-25 {
  padding-right: 25px !important; }

.m-30 {
  margin: 30px !important; }

.p-30 {
  padding: 30px !important; }

.mt-30 {
  margin-top: 30px !important; }

.pt-30 {
  padding-top: 30px !important; }

.mb-30 {
  margin-bottom: 30px !important; }

.pb-30 {
  padding-bottom: 30px !important; }

.ml-30 {
  margin-left: 30px !important; }

.pl-30 {
  padding-left: 30px !important; }

.mr-30 {
  margin-right: 30px !important; }

.pr-30 {
  padding-right: 30px !important; }

.m-35 {
  margin: 35px !important; }

.p-35 {
  padding: 35px !important; }

.mt-35 {
  margin-top: 35px !important; }

.pt-35 {
  padding-top: 35px !important; }

.mb-35 {
  margin-bottom: 35px !important; }

.pb-35 {
  padding-bottom: 35px !important; }

.ml-35 {
  margin-left: 35px !important; }

.pl-35 {
  padding-left: 35px !important; }

.mr-35 {
  margin-right: 35px !important; }

.pr-35 {
  padding-right: 35px !important; }

.m-40 {
  margin: 40px !important; }

.p-40 {
  padding: 40px !important; }

.mt-40 {
  margin-top: 40px !important; }

.pt-40 {
  padding-top: 40px !important; }

.mb-40 {
  margin-bottom: 40px !important; }

.pb-40 {
  padding-bottom: 40px !important; }

.ml-40 {
  margin-left: 40px !important; }

.pl-40 {
  padding-left: 40px !important; }

.mr-40 {
  margin-right: 40px !important; }

.pr-40 {
  padding-right: 40px !important; }

.m-45 {
  margin: 45px !important; }

.p-45 {
  padding: 45px !important; }

.mt-45 {
  margin-top: 45px !important; }

.pt-45 {
  padding-top: 45px !important; }

.mb-45 {
  margin-bottom: 45px !important; }

.pb-45 {
  padding-bottom: 45px !important; }

.ml-45 {
  margin-left: 45px !important; }

.pl-45 {
  padding-left: 45px !important; }

.mr-45 {
  margin-right: 45px !important; }

.pr-45 {
  padding-right: 45px !important; }

.m-50 {
  margin: 50px !important; }

.p-50 {
  padding: 50px !important; }

.mt-50 {
  margin-top: 50px !important; }

.pt-50 {
  padding-top: 50px !important; }

.mb-50 {
  margin-bottom: 50px !important; }

.pb-50 {
  padding-bottom: 50px !important; }

.ml-50 {
  margin-left: 50px !important; }

.pl-50 {
  padding-left: 50px !important; }

.mr-50 {
  margin-right: 50px !important; }

.pr-50 {
  padding-right: 50px !important; }

.m-55 {
  margin: 55px !important; }

.p-55 {
  padding: 55px !important; }

.mt-55 {
  margin-top: 55px !important; }

.pt-55 {
  padding-top: 55px !important; }

.mb-55 {
  margin-bottom: 55px !important; }

.pb-55 {
  padding-bottom: 55px !important; }

.ml-55 {
  margin-left: 55px !important; }

.pl-55 {
  padding-left: 55px !important; }

.mr-55 {
  margin-right: 55px !important; }

.pr-55 {
  padding-right: 55px !important; }

.m-60 {
  margin: 60px !important; }

.p-60 {
  padding: 60px !important; }

.mt-60 {
  margin-top: 60px !important; }

.pt-60 {
  padding-top: 60px !important; }

.mb-60 {
  margin-bottom: 60px !important; }

.pb-60 {
  padding-bottom: 60px !important; }

.ml-60 {
  margin-left: 60px !important; }

.pl-60 {
  padding-left: 60px !important; }

.mr-60 {
  margin-right: 60px !important; }

.pr-60 {
  padding-right: 60px !important; }

.m-65 {
  margin: 65px !important; }

.p-65 {
  padding: 65px !important; }

.mt-65 {
  margin-top: 65px !important; }

.pt-65 {
  padding-top: 65px !important; }

.mb-65 {
  margin-bottom: 65px !important; }

.pb-65 {
  padding-bottom: 65px !important; }

.ml-65 {
  margin-left: 65px !important; }

.pl-65 {
  padding-left: 65px !important; }

.mr-65 {
  margin-right: 65px !important; }

.pr-65 {
  padding-right: 65px !important; }

.m-70 {
  margin: 70px !important; }

.p-70 {
  padding: 70px !important; }

.mt-70 {
  margin-top: 70px !important; }

.pt-70 {
  padding-top: 70px !important; }

.mb-70 {
  margin-bottom: 70px !important; }

.pb-70 {
  padding-bottom: 70px !important; }

.ml-70 {
  margin-left: 70px !important; }

.pl-70 {
  padding-left: 70px !important; }

.mr-70 {
  margin-right: 70px !important; }

.pr-70 {
  padding-right: 70px !important; }

.m-75 {
  margin: 75px !important; }

.p-75 {
  padding: 75px !important; }

.mt-75 {
  margin-top: 75px !important; }

.pt-75 {
  padding-top: 75px !important; }

.mb-75 {
  margin-bottom: 75px !important; }

.pb-75 {
  padding-bottom: 75px !important; }

.ml-75 {
  margin-left: 75px !important; }

.pl-75 {
  padding-left: 75px !important; }

.mr-75 {
  margin-right: 75px !important; }

.pr-75 {
  padding-right: 75px !important; }

.m-80 {
  margin: 80px !important; }

.p-80 {
  padding: 80px !important; }

.mt-80 {
  margin-top: 80px !important; }

.pt-80 {
  padding-top: 80px !important; }

.mb-80 {
  margin-bottom: 80px !important; }

.pb-80 {
  padding-bottom: 80px !important; }

.ml-80 {
  margin-left: 80px !important; }

.pl-80 {
  padding-left: 80px !important; }

.mr-80 {
  margin-right: 80px !important; }

.pr-80 {
  padding-right: 80px !important; }

.m-85 {
  margin: 85px !important; }

.p-85 {
  padding: 85px !important; }

.mt-85 {
  margin-top: 85px !important; }

.pt-85 {
  padding-top: 85px !important; }

.mb-85 {
  margin-bottom: 85px !important; }

.pb-85 {
  padding-bottom: 85px !important; }

.ml-85 {
  margin-left: 85px !important; }

.pl-85 {
  padding-left: 85px !important; }

.mr-85 {
  margin-right: 85px !important; }

.pr-85 {
  padding-right: 85px !important; }

.m-90 {
  margin: 90px !important; }

.p-90 {
  padding: 90px !important; }

.mt-90 {
  margin-top: 90px !important; }

.pt-90 {
  padding-top: 90px !important; }

.mb-90 {
  margin-bottom: 90px !important; }

.pb-90 {
  padding-bottom: 90px !important; }

.ml-90 {
  margin-left: 90px !important; }

.pl-90 {
  padding-left: 90px !important; }

.mr-90 {
  margin-right: 90px !important; }

.pr-90 {
  padding-right: 90px !important; }

.m-95 {
  margin: 95px !important; }

.p-95 {
  padding: 95px !important; }

.mt-95 {
  margin-top: 95px !important; }

.pt-95 {
  padding-top: 95px !important; }

.mb-95 {
  margin-bottom: 95px !important; }

.pb-95 {
  padding-bottom: 95px !important; }

.ml-95 {
  margin-left: 95px !important; }

.pl-95 {
  padding-left: 95px !important; }

.mr-95 {
  margin-right: 95px !important; }

.pr-95 {
  padding-right: 95px !important; }

.m-100 {
  margin: 100px !important; }

.p-100 {
  padding: 100px !important; }

.mt-100 {
  margin-top: 100px !important; }

.pt-100 {
  padding-top: 100px !important; }

.mb-100 {
  margin-bottom: 100px !important; }

.pb-100 {
  padding-bottom: 100px !important; }

.ml-100 {
  margin-left: 100px !important; }

.pl-100 {
  padding-left: 100px !important; }

.mr-100 {
  margin-right: 100px !important; }

.pr-100 {
  padding-right: 100px !important; }

.w-5 {
  width: 5% !important; }

.w-10 {
  width: 10% !important; }

.w-15 {
  width: 15% !important; }

.w-20 {
  width: 20% !important; }

.w-25 {
  width: 25% !important; }

.w-30 {
  width: 30% !important; }

.w-35 {
  width: 35% !important; }

.w-40 {
  width: 40% !important; }

.w-45 {
  width: 45% !important; }

.w-50 {
  width: 50% !important; }

.w-55 {
  width: 55% !important; }

.w-60 {
  width: 60% !important; }

.w-65 {
  width: 65% !important; }

.w-70 {
  width: 70% !important; }

.w-75 {
  width: 75% !important; }

.w-80 {
  width: 80% !important; }

.w-85 {
  width: 85% !important; }

.w-90 {
  width: 90% !important; }

.w-95 {
  width: 95% !important; }

.w-100 {
  width: 100% !important; }

.w-33 {
  width: 33.333% !important; }

.w-66 {
  width: 66.666% !important; }

@media screen and (max-width: 1280px) {
  .w-5--1280 {
    width: 5 * 1% !important; }

  .w-10--1280 {
    width: 10 * 1% !important; }

  .w-15--1280 {
    width: 15 * 1% !important; }

  .w-20--1280 {
    width: 20 * 1% !important; }

  .w-25--1280 {
    width: 25 * 1% !important; }

  .w-30--1280 {
    width: 30 * 1% !important; }

  .w-35--1280 {
    width: 35 * 1% !important; }

  .w-40--1280 {
    width: 40 * 1% !important; }

  .w-45--1280 {
    width: 45 * 1% !important; }

  .w-50--1280 {
    width: 50 * 1% !important; }

  .w-55--1280 {
    width: 55 * 1% !important; }

  .w-60--1280 {
    width: 60 * 1% !important; }

  .w-65--1280 {
    width: 65 * 1% !important; }

  .w-70--1280 {
    width: 70 * 1% !important; }

  .w-75--1280 {
    width: 75 * 1% !important; }

  .w-80--1280 {
    width: 80 * 1% !important; }

  .w-85--1280 {
    width: 85 * 1% !important; }

  .w-90--1280 {
    width: 90 * 1% !important; }

  .w-95--1280 {
    width: 95 * 1% !important; }

  .w-100--1280 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 1200px) {
  .w-5--1200 {
    width: 5 * 1% !important; }

  .w-10--1200 {
    width: 10 * 1% !important; }

  .w-15--1200 {
    width: 15 * 1% !important; }

  .w-20--1200 {
    width: 20 * 1% !important; }

  .w-25--1200 {
    width: 25 * 1% !important; }

  .w-30--1200 {
    width: 30 * 1% !important; }

  .w-35--1200 {
    width: 35 * 1% !important; }

  .w-40--1200 {
    width: 40 * 1% !important; }

  .w-45--1200 {
    width: 45 * 1% !important; }

  .w-50--1200 {
    width: 50 * 1% !important; }

  .w-55--1200 {
    width: 55 * 1% !important; }

  .w-60--1200 {
    width: 60 * 1% !important; }

  .w-65--1200 {
    width: 65 * 1% !important; }

  .w-70--1200 {
    width: 70 * 1% !important; }

  .w-75--1200 {
    width: 75 * 1% !important; }

  .w-80--1200 {
    width: 80 * 1% !important; }

  .w-85--1200 {
    width: 85 * 1% !important; }

  .w-90--1200 {
    width: 90 * 1% !important; }

  .w-95--1200 {
    width: 95 * 1% !important; }

  .w-100--1200 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 1120px) {
  .w-5--1120 {
    width: 5 * 1% !important; }

  .w-10--1120 {
    width: 10 * 1% !important; }

  .w-15--1120 {
    width: 15 * 1% !important; }

  .w-20--1120 {
    width: 20 * 1% !important; }

  .w-25--1120 {
    width: 25 * 1% !important; }

  .w-30--1120 {
    width: 30 * 1% !important; }

  .w-35--1120 {
    width: 35 * 1% !important; }

  .w-40--1120 {
    width: 40 * 1% !important; }

  .w-45--1120 {
    width: 45 * 1% !important; }

  .w-50--1120 {
    width: 50 * 1% !important; }

  .w-55--1120 {
    width: 55 * 1% !important; }

  .w-60--1120 {
    width: 60 * 1% !important; }

  .w-65--1120 {
    width: 65 * 1% !important; }

  .w-70--1120 {
    width: 70 * 1% !important; }

  .w-75--1120 {
    width: 75 * 1% !important; }

  .w-80--1120 {
    width: 80 * 1% !important; }

  .w-85--1120 {
    width: 85 * 1% !important; }

  .w-90--1120 {
    width: 90 * 1% !important; }

  .w-95--1120 {
    width: 95 * 1% !important; }

  .w-100--1120 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 1040px) {
  .w-5--1040 {
    width: 5 * 1% !important; }

  .w-10--1040 {
    width: 10 * 1% !important; }

  .w-15--1040 {
    width: 15 * 1% !important; }

  .w-20--1040 {
    width: 20 * 1% !important; }

  .w-25--1040 {
    width: 25 * 1% !important; }

  .w-30--1040 {
    width: 30 * 1% !important; }

  .w-35--1040 {
    width: 35 * 1% !important; }

  .w-40--1040 {
    width: 40 * 1% !important; }

  .w-45--1040 {
    width: 45 * 1% !important; }

  .w-50--1040 {
    width: 50 * 1% !important; }

  .w-55--1040 {
    width: 55 * 1% !important; }

  .w-60--1040 {
    width: 60 * 1% !important; }

  .w-65--1040 {
    width: 65 * 1% !important; }

  .w-70--1040 {
    width: 70 * 1% !important; }

  .w-75--1040 {
    width: 75 * 1% !important; }

  .w-80--1040 {
    width: 80 * 1% !important; }

  .w-85--1040 {
    width: 85 * 1% !important; }

  .w-90--1040 {
    width: 90 * 1% !important; }

  .w-95--1040 {
    width: 95 * 1% !important; }

  .w-100--1040 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 960px) {
  .w-5--960 {
    width: 5 * 1% !important; }

  .w-10--960 {
    width: 10 * 1% !important; }

  .w-15--960 {
    width: 15 * 1% !important; }

  .w-20--960 {
    width: 20 * 1% !important; }

  .w-25--960 {
    width: 25 * 1% !important; }

  .w-30--960 {
    width: 30 * 1% !important; }

  .w-35--960 {
    width: 35 * 1% !important; }

  .w-40--960 {
    width: 40 * 1% !important; }

  .w-45--960 {
    width: 45 * 1% !important; }

  .w-50--960 {
    width: 50 * 1% !important; }

  .w-55--960 {
    width: 55 * 1% !important; }

  .w-60--960 {
    width: 60 * 1% !important; }

  .w-65--960 {
    width: 65 * 1% !important; }

  .w-70--960 {
    width: 70 * 1% !important; }

  .w-75--960 {
    width: 75 * 1% !important; }

  .w-80--960 {
    width: 80 * 1% !important; }

  .w-85--960 {
    width: 85 * 1% !important; }

  .w-90--960 {
    width: 90 * 1% !important; }

  .w-95--960 {
    width: 95 * 1% !important; }

  .w-100--960 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 880px) {
  .w-5--880 {
    width: 5 * 1% !important; }

  .w-10--880 {
    width: 10 * 1% !important; }

  .w-15--880 {
    width: 15 * 1% !important; }

  .w-20--880 {
    width: 20 * 1% !important; }

  .w-25--880 {
    width: 25 * 1% !important; }

  .w-30--880 {
    width: 30 * 1% !important; }

  .w-35--880 {
    width: 35 * 1% !important; }

  .w-40--880 {
    width: 40 * 1% !important; }

  .w-45--880 {
    width: 45 * 1% !important; }

  .w-50--880 {
    width: 50 * 1% !important; }

  .w-55--880 {
    width: 55 * 1% !important; }

  .w-60--880 {
    width: 60 * 1% !important; }

  .w-65--880 {
    width: 65 * 1% !important; }

  .w-70--880 {
    width: 70 * 1% !important; }

  .w-75--880 {
    width: 75 * 1% !important; }

  .w-80--880 {
    width: 80 * 1% !important; }

  .w-85--880 {
    width: 85 * 1% !important; }

  .w-90--880 {
    width: 90 * 1% !important; }

  .w-95--880 {
    width: 95 * 1% !important; }

  .w-100--880 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 800px) {
  .w-5--800 {
    width: 5 * 1% !important; }

  .w-10--800 {
    width: 10 * 1% !important; }

  .w-15--800 {
    width: 15 * 1% !important; }

  .w-20--800 {
    width: 20 * 1% !important; }

  .w-25--800 {
    width: 25 * 1% !important; }

  .w-30--800 {
    width: 30 * 1% !important; }

  .w-35--800 {
    width: 35 * 1% !important; }

  .w-40--800 {
    width: 40 * 1% !important; }

  .w-45--800 {
    width: 45 * 1% !important; }

  .w-50--800 {
    width: 50 * 1% !important; }

  .w-55--800 {
    width: 55 * 1% !important; }

  .w-60--800 {
    width: 60 * 1% !important; }

  .w-65--800 {
    width: 65 * 1% !important; }

  .w-70--800 {
    width: 70 * 1% !important; }

  .w-75--800 {
    width: 75 * 1% !important; }

  .w-80--800 {
    width: 80 * 1% !important; }

  .w-85--800 {
    width: 85 * 1% !important; }

  .w-90--800 {
    width: 90 * 1% !important; }

  .w-95--800 {
    width: 95 * 1% !important; }

  .w-100--800 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 720px) {
  .w-5--720 {
    width: 5 * 1% !important; }

  .w-10--720 {
    width: 10 * 1% !important; }

  .w-15--720 {
    width: 15 * 1% !important; }

  .w-20--720 {
    width: 20 * 1% !important; }

  .w-25--720 {
    width: 25 * 1% !important; }

  .w-30--720 {
    width: 30 * 1% !important; }

  .w-35--720 {
    width: 35 * 1% !important; }

  .w-40--720 {
    width: 40 * 1% !important; }

  .w-45--720 {
    width: 45 * 1% !important; }

  .w-50--720 {
    width: 50 * 1% !important; }

  .w-55--720 {
    width: 55 * 1% !important; }

  .w-60--720 {
    width: 60 * 1% !important; }

  .w-65--720 {
    width: 65 * 1% !important; }

  .w-70--720 {
    width: 70 * 1% !important; }

  .w-75--720 {
    width: 75 * 1% !important; }

  .w-80--720 {
    width: 80 * 1% !important; }

  .w-85--720 {
    width: 85 * 1% !important; }

  .w-90--720 {
    width: 90 * 1% !important; }

  .w-95--720 {
    width: 95 * 1% !important; }

  .w-100--720 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 640px) {
  .w-5--640 {
    width: 5 * 1% !important; }

  .w-10--640 {
    width: 10 * 1% !important; }

  .w-15--640 {
    width: 15 * 1% !important; }

  .w-20--640 {
    width: 20 * 1% !important; }

  .w-25--640 {
    width: 25 * 1% !important; }

  .w-30--640 {
    width: 30 * 1% !important; }

  .w-35--640 {
    width: 35 * 1% !important; }

  .w-40--640 {
    width: 40 * 1% !important; }

  .w-45--640 {
    width: 45 * 1% !important; }

  .w-50--640 {
    width: 50 * 1% !important; }

  .w-55--640 {
    width: 55 * 1% !important; }

  .w-60--640 {
    width: 60 * 1% !important; }

  .w-65--640 {
    width: 65 * 1% !important; }

  .w-70--640 {
    width: 70 * 1% !important; }

  .w-75--640 {
    width: 75 * 1% !important; }

  .w-80--640 {
    width: 80 * 1% !important; }

  .w-85--640 {
    width: 85 * 1% !important; }

  .w-90--640 {
    width: 90 * 1% !important; }

  .w-95--640 {
    width: 95 * 1% !important; }

  .w-100--640 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 560px) {
  .w-5--560 {
    width: 5 * 1% !important; }

  .w-10--560 {
    width: 10 * 1% !important; }

  .w-15--560 {
    width: 15 * 1% !important; }

  .w-20--560 {
    width: 20 * 1% !important; }

  .w-25--560 {
    width: 25 * 1% !important; }

  .w-30--560 {
    width: 30 * 1% !important; }

  .w-35--560 {
    width: 35 * 1% !important; }

  .w-40--560 {
    width: 40 * 1% !important; }

  .w-45--560 {
    width: 45 * 1% !important; }

  .w-50--560 {
    width: 50 * 1% !important; }

  .w-55--560 {
    width: 55 * 1% !important; }

  .w-60--560 {
    width: 60 * 1% !important; }

  .w-65--560 {
    width: 65 * 1% !important; }

  .w-70--560 {
    width: 70 * 1% !important; }

  .w-75--560 {
    width: 75 * 1% !important; }

  .w-80--560 {
    width: 80 * 1% !important; }

  .w-85--560 {
    width: 85 * 1% !important; }

  .w-90--560 {
    width: 90 * 1% !important; }

  .w-95--560 {
    width: 95 * 1% !important; }

  .w-100--560 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 480px) {
  .w-5--480 {
    width: 5 * 1% !important; }

  .w-10--480 {
    width: 10 * 1% !important; }

  .w-15--480 {
    width: 15 * 1% !important; }

  .w-20--480 {
    width: 20 * 1% !important; }

  .w-25--480 {
    width: 25 * 1% !important; }

  .w-30--480 {
    width: 30 * 1% !important; }

  .w-35--480 {
    width: 35 * 1% !important; }

  .w-40--480 {
    width: 40 * 1% !important; }

  .w-45--480 {
    width: 45 * 1% !important; }

  .w-50--480 {
    width: 50 * 1% !important; }

  .w-55--480 {
    width: 55 * 1% !important; }

  .w-60--480 {
    width: 60 * 1% !important; }

  .w-65--480 {
    width: 65 * 1% !important; }

  .w-70--480 {
    width: 70 * 1% !important; }

  .w-75--480 {
    width: 75 * 1% !important; }

  .w-80--480 {
    width: 80 * 1% !important; }

  .w-85--480 {
    width: 85 * 1% !important; }

  .w-90--480 {
    width: 90 * 1% !important; }

  .w-95--480 {
    width: 95 * 1% !important; }

  .w-100--480 {
    width: 100 * 1% !important; } }
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-padding-start: 0;
  line-height: 1;
  -webkit-text-size-adjust: none;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0; }

ol,
ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input[type="password"],
input[type="text"],
input[type="submit"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="button"],
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

img {
  max-width: 100%;
  height: auto;
  border: none; }

body, html {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  font-family: var(--font-family-1);
  min-height: 100vh;
  scroll-behavior: smooth;
  background: var(--bg-color-2); }

a {
  font-size: inherit;
  color: inherit;
  text-decoration: inherit;
  display: inline-block; }

p {
  color: var(--text-color-1);
  line-height: 1.6;
  font-weight: 400; }
  p.center {
    text-align: center; }
  p.right {
    text-align: right; }

p > a {
  display: inline-block;
  color: var(--accent-color-1);
  font-weight: 700;
  border-bottom: 3px solid var(--accent-color-1); }

button {
  cursor: pointer; }

figure {
  margin: 0;
  padding: 0; }

* {
  box-sizing: border-box; }

.navi__header {
  display: flex;
  flex-flow: row nowrap;
  width: 100%;
  height: 100px;
  align-items: stretch;
  justify-content: space-between;
  position: relative;
  z-index: 9; }
  @media screen and (max-width: 1200px) {
    .navi__header {
      height: 40px; } }
  .navi__header .logo {
    flex-basis: 30%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 20px; }
    @media screen and (max-width: 1200px) {
      .navi__header .logo {
        flex-basis: 80%;
        padding: 0 10px; } }
    .navi__header .logo figure {
      max-width: 80px;
      margin-right: 10px;
      display: block; }
      @media screen and (max-width: 1200px) {
        .navi__header .logo figure {
          max-width: 40px; } }
    .navi__header .logo span {
      color: var(--text-color-1);
      font-size: var(--font-size-2);
      font-weight: 700; }
      @media screen and (max-width: 1200px) {
        .navi__header .logo span {
          font-size: var(--font-size-1); } }
  .navi__header .menu {
    flex-basis: 70%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0; }
    @media screen and (max-width: 1200px) {
      .navi__header .menu {
        flex-basis: 20%; } }
    .navi__header .menu > li {
      display: flex;
      height: 100%;
      align-items: center;
      justify-content: center; }
      @media screen and (max-width: 1200px) {
        .navi__header .menu > li {
          display: none; } }
    .navi__header .menu > li > a, .navi__header .menu > li > span {
      display: flex;
      height: 100%;
      align-items: center;
      line-height: 1;
      padding: 0 30px;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s;
      font-weight: 700;
      color: var(--text-color-1);
      cursor: pointer; }
    .navi__header .menu > li.employer > a:hover, .navi__header .menu > li.employer > span:hover {
      color: var(--theme-color-1); }
    .navi__header .menu > li.worker > a:hover, .navi__header .menu > li.worker > span:hover {
      color: var(--theme-color-2); }
    .navi__header .menu > li > select {
      background: var(--bg-color-1);
      padding: 10px 40px;
      font-weight: 700;
      position: relative; }
    .navi__header .menu > li.region {
      position: relative; }
      .navi__header .menu > li.region:before {
        content: '';
        width: 20px;
        height: 20px;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 5px;
        z-index: 3;
        background-image: url(../img/common/icon_grove.webp);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center; }
      .navi__header .menu > li.region:after {
        content: '';
        width: 5px;
        height: 5px;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
        z-index: 3;
        border-bottom: 1px solid var(--theme-color-5);
        border-right: 1px solid var(--theme-color-5);
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg); }
    .navi__header .menu > li.contact {
      margin-left: 20px;
      text-align: center; }
      .navi__header .menu > li.contact.employer {
        background: var(--theme-color-1); }
      .navi__header .menu > li.contact.worker {
        background: var(--theme-color-2); }
      .navi__header .menu > li.contact a {
        color: var(--text-color-2);
        line-height: 1.4; }
      @media screen and (max-width: 1200px) {
        .navi__header .menu > li.contact {
          display: none; } }
    .navi__header .menu > li.contact--sp {
      display: none; }
      .navi__header .menu > li.contact--sp.employer {
        background: var(--theme-color-1); }
      .navi__header .menu > li.contact--sp.worker {
        background: var(--theme-color-2); }
      .navi__header .menu > li.contact--sp a {
        color: var(--text-color-2);
        padding: 0 10px;
        width: 40px; }
      @media screen and (max-width: 1200px) {
        .navi__header .menu > li.contact--sp {
          display: flex;
          align-items: center;
          justify-content: center;
          margin-left: 10px; } }
    .navi__header .menu > li.hamburger {
      display: none; }
      @media screen and (max-width: 1200px) {
        .navi__header .menu > li.hamburger {
          display: block;
          width: 40px;
          height: 40px;
          cursor: pointer;
          position: relative; } }
      .navi__header .menu > li.hamburger span {
        display: block;
        margin: auto;
        width: 30px;
        height: 2px;
        background: var(--text-color-1);
        left: 0;
        right: 0;
        padding: 0;
        position: absolute;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s; }
        .navi__header .menu > li.hamburger span:nth-child(1) {
          top: 10px; }
        .navi__header .menu > li.hamburger span:nth-child(2) {
          top: 0;
          bottom: 0; }
        .navi__header .menu > li.hamburger span:nth-child(3) {
          bottom: 10px; }
    .navi__header .menu > li.hamburger.open span:nth-child(1) {
      top: 10px;
      bottom: 10px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg); }
    .navi__header .menu > li.hamburger.open span:nth-child(2) {
      width: 0; }
    .navi__header .menu > li.hamburger.open span:nth-child(3) {
      top: 10px;
      bottom: 10px;
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      transform: rotate(-45deg); }
  .navi__header .menu > li > ul {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    padding: 20px;
    margin: auto;
    position: absolute;
    top: 100%;
    width: 960px;
    left: 50%;
    z-index: 10;
    border-radius: 0 0 25px 25px;
    -webkit-border-radius: 0 0 25px 25px;
    -moz-border-radius: 0 0 25px 25px;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -15px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    display: flex;
    flex-flow: row wrap; }
  .navi__header .menu > li:hover > ul {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0); }
  .navi__header .menu > li > ul > li {
    width: 30%; }
    .navi__header .menu > li > ul > li a {
      color: var(--text-color-1);
      font-weight: 700;
      position: relative;
      padding: 20px;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
      .navi__header .menu > li > ul > li a:after {
        content: '';
        width: 0%;
        height: 2px;
        position: absolute;
        bottom: 0;
        left: 0;
        transition: width 0.3s ease; }
      .navi__header .menu > li > ul > li a:hover:after {
        width: 100%; }
  .navi__header .menu > li.employer > ul > li a:after {
    background: var(--theme-color-1); }
  .navi__header .menu > li.employer > ul > li a:hover {
    color: var(--theme-color-1); }
  .navi__header .menu > li.worker > ul > li a:after {
    background: var(--theme-color-2); }
  .navi__header .menu > li.worker > ul > li a:hover {
    color: var(--theme-color-2); }

.navi__header--sp {
  width: 300px;
  position: fixed;
  background: rgba(30, 80, 162, 0.8);
  backdrop-filter: blur(12px);
  top: 40px;
  right: -300px;
  z-index: 10;
  height: calc(100dvh - 40px);
  padding: 20px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
  overflow: hidden; }
  .navi__header--sp.open {
    right: 0; }
  .navi__header--sp .toggle-close {
    display: block;
    text-align: center; }
    .navi__header--sp .toggle-close span {
      border: 1px solid var(--text-color-2);
      padding: 10px 40px;
      color: var(--text-color-2);
      display: inline-block;
      font-size: 0.9rem; }
  .navi__header--sp .inner {
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 60px; }
  .navi__header--sp ul > li {
    margin-bottom: 20px; }
  .navi__header--sp ul li a {
    color: var(--text-color-2);
    font-size: var(--font-size-1);
    line-height: 1.5;
    padding: 10px 0;
    border-bottom: 1px solid var(--text-color-2);
    display: block;
    font-size: 0.9rem; }
  .navi__header--sp ul > li.region {
    position: relative; }
    .navi__header--sp ul > li.region select {
      background: var(--bg-color-1);
      padding: 10px 40px;
      font-weight: 500;
      position: relative;
      font-size: 0.9rem;
      width: 100%; }
    .navi__header--sp ul > li.region:before {
      content: '';
      width: 20px;
      height: 20px;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 5px;
      z-index: 3;
      background-image: url(../img/common/icon_grove.webp);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
    .navi__header--sp ul > li.region:after {
      content: '';
      width: 5px;
      height: 5px;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 10px;
      z-index: 3;
      border-bottom: 1px solid var(--theme-color-5);
      border-right: 1px solid var(--theme-color-5);
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg); }
  .navi__header--sp ul > li > ul {
    padding-left: 20px; }
  .navi__header--sp ul > li > ul > li {
    margin-bottom: 0; }

.navi__serach {
  display: flex;
  align-items: center;
  justify-content: flex-start; }
  .navi__serach li {
    margin-right: 20px;
    position: relative; }
    @media screen and (max-width: 480px) {
      .navi__serach li {
        margin-right: 10px; } }
  .navi__serach:before {
    content: '';
    width: 20px;
    height: 20px;
    margin: 0 20px 0 0;
    background-image: url(../img/common/icon_search.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; }

.pagination {
  margin-top: 40px; }
  .pagination .nav-links {
    display: flex; }
    .pagination .nav-links a, .pagination .nav-links span {
      display: block;
      width: 40px;
      height: 40px;
      border: 1px solid var(--theme-color-2);
      font-size: var(--font-size-1);
      text-align: center;
      line-height: 38px;
      font-weight: 700;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s;
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      margin-right: 20px; }
      @media screen and (max-width: 480px) {
        .pagination .nav-links a, .pagination .nav-links span {
          width: 30px;
          height: 30px;
          line-height: 28px;
          margin: 0 10px 10px 0; } }
    .pagination .nav-links a {
      background: var(--bg-color-1);
      color: var(--theme-color-2); }
      .pagination .nav-links a:hover {
        background: var(--theme-color-2);
        color: var(--text-color-2); }
    .pagination .nav-links span {
      background: var(--theme-color-2);
      color: var(--text-color-2); }

.navi__top {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between; }
  .navi__top li {
    width: 50%;
    display: block;
    padding: 0 20px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    position: relative; }
    .navi__top li:hover {
      opacity: 0.6;
      filter: alpha(opacity=60);
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
    @media screen and (max-width: 480px) {
      .navi__top li {
        width: 100%;
        margin-bottom: 20px; } }
    .navi__top li:last-child {
      margin-bottom: 0; }
    .navi__top li figure {
      width: 90%;
      margin-left: 10%; }
    .navi__top li .btn__link, .navi__top li .btn__link--small {
      position: absolute;
      margin: auto;
      bottom: 20px;
      left: 0; }

.section, .section__hero, .section__hero--layer {
  width: 100%;
  margin: auto;
  position: relative;
  overflow: hidden; }
  .section > .inner, .section__hero > .inner, .section__hero--layer > .inner {
    max-width: 1200px;
    margin: auto;
    padding: 80px 20px;
    position: relative;
    overflow: hidden; }
    @media screen and (max-width: 480px) {
      .section > .inner, .section__hero > .inner, .section__hero--layer > .inner {
        padding: 40px 10px; } }
    .section > .inner.mid, .section__hero > .inner.mid, .section__hero--layer > .inner.mid {
      max-width: 960px; }
    .section > .inner.small, .section__hero > .inner.small, .section__hero--layer > .inner.small {
      max-width: 720px; }
  .section.white, .white.section__hero, .white.section__hero--layer {
    background: var(--bg-color-1); }
  .section .background-blobs, .section__hero .background-blobs, .section__hero--layer .background-blobs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none; }
    .section .background-blobs div, .section__hero .background-blobs div, .section__hero--layer .background-blobs div {
      position: absolute;
      will-change: transform, border-radius; }
    .section .background-blobs #blob1, .section__hero .background-blobs #blob1, .section__hero--layer .background-blobs #blob1 {
      width: 400px;
      height: 400px;
      top: 10%;
      left: 10%;
      background-color: #EDE6E0;
      animation: float1 12s ease-in-out infinite alternate; }
    .section .background-blobs #blob2, .section__hero .background-blobs #blob2, .section__hero--layer .background-blobs #blob2 {
      width: 250px;
      height: 250px;
      bottom: 15%;
      left: 50%;
      background-color: #F6F1EE;
      animation: float2 15s ease-in-out infinite alternate; }
    .section .background-blobs #blob3, .section__hero .background-blobs #blob3, .section__hero--layer .background-blobs #blob3 {
      width: 220px;
      height: 220px;
      top: 25%;
      right: 10%;
      background-color: #EDE6E0;
      animation: float3 14s ease-in-out infinite alternate; }
@keyframes float1 {
  0% {
    transform: translate(0, 0) rotate(0deg);
    border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%; }
  50% {
    transform: translate(20px, -15px) rotate(90deg);
    border-radius: 70% 30% 52% 48% / 60% 40% 60% 40%; }
  100% {
    transform: translate(-10px, 20px) rotate(180deg);
    border-radius: 30% 70% 40% 60% / 40% 60% 50% 50%; } }
@keyframes float2 {
  0% {
    transform: translate(0, 0) rotate(0deg);
    border-radius: 50% 50% 30% 70% / 50% 60% 40% 50%; }
  50% {
    transform: translate(-30px, 20px) rotate(-60deg);
    border-radius: 38% 62% 63% 37% / 41% 35% 65% 59%; }
  100% {
    transform: translate(15px, -10px) rotate(120deg);
    border-radius: 65% 35% 50% 50% / 35% 65% 50% 50%; } }
@keyframes float3 {
  0% {
    transform: translate(0, 0) rotate(0deg);
    border-radius: 60% 40% 60% 40% / 40% 60% 40% 60%; }
  50% {
    transform: translate(-20px, 30px) rotate(-120deg);
    border-radius: 40% 60% 35% 65% / 65% 45% 55% 35%; }
  100% {
    transform: translate(15px, -15px) rotate(-240deg);
    border-radius: 55% 45% 70% 30% / 30% 70% 45% 55%; } }
  .section input[type="text"], .section__hero input[type="text"], .section__hero--layer input[type="text"], .section input[type="tel"], .section__hero input[type="tel"], .section__hero--layer input[type="tel"], .section input[type="email"], .section__hero input[type="email"], .section__hero--layer input[type="email"], .section input[type="password"], .section__hero input[type="password"], .section__hero--layer input[type="password"], .section select, .section__hero select, .section__hero--layer select, .section textarea, .section__hero textarea, .section__hero--layer textarea {
    padding: 10px;
    background: var(--bg-color-1);
    font-size: var(--font-size-1);
    line-height: 1.8;
    color: var(--text-color-1);
    position: relative;
    display: block;
    width: 100%;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
    @media screen and (max-width: 480px) {
      .section input[type="text"], .section__hero input[type="text"], .section__hero--layer input[type="text"], .section input[type="tel"], .section__hero input[type="tel"], .section__hero--layer input[type="tel"], .section input[type="email"], .section__hero input[type="email"], .section__hero--layer input[type="email"], .section input[type="password"], .section__hero input[type="password"], .section__hero--layer input[type="password"], .section select, .section__hero select, .section__hero--layer select, .section textarea, .section__hero textarea, .section__hero--layer textarea {
        padding: 5px; } }
    .section input[type="text"]:focus, .section__hero input[type="text"]:focus, .section__hero--layer input[type="text"]:focus, .section input[type="tel"]:focus, .section__hero input[type="tel"]:focus, .section__hero--layer input[type="tel"]:focus, .section input[type="email"]:focus, .section__hero input[type="email"]:focus, .section__hero--layer input[type="email"]:focus, .section input[type="password"]:focus, .section__hero input[type="password"]:focus, .section__hero--layer input[type="password"]:focus, .section select:focus, .section__hero select:focus, .section__hero--layer select:focus, .section textarea:focus, .section__hero textarea:focus, .section__hero--layer textarea:focus {
      background: var(--bg-color-4); }
  .section .select:after, .section__hero .select:after, .section__hero--layer .select:after {
    content: '';
    width: 5px;
    height: 5px;
    border-bottom: 1px solid var(--text-color-1);
    border-right: 1px solid var(--text-color-1);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 10px; }
  .section .select select, .section__hero .select select, .section__hero--layer .select select {
    padding: 10px 50px 10px 10px; }
    @media screen and (max-width: 480px) {
      .section .select select, .section__hero .select select, .section__hero--layer .select select {
        padding: 5px 30px 5px 5px; } }
  .section figure, .section__hero figure, .section__hero--layer figure {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    overflow: hidden; }
    @media screen and (max-width: 480px) {
      .section figure, .section__hero figure, .section__hero--layer figure {
        border-radius: 20px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px; } }
    .section figure img, .section__hero figure img, .section__hero--layer figure img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }

.section p, .section__hero p, .section__hero--layer p {
  font-size: var(--font-size-1);
  font-weight: 700;
  line-height: 2; }

.section__hero, .section__hero--layer {
  background: var(--bg-color-1); }

.section__hero--top > .inner {
  width: 100% !important;
  margin: 0;
  padding: 0;
  position: relative; }
  .section__hero--top > .inner figure {
    width: 80%;
    margin: 0 0 0 20%;
    border-radius: 40px 0 0 40px;
    -webkit-border-radius: 40px 0 0 40px;
    -moz-border-radius: 40px 0 0 40px;
    overflow: hidden; }
    @media screen and (max-width: 480px) {
      .section__hero--top > .inner figure {
        border-radius: 20px 0 0 20px;
        -webkit-border-radius: 20px 0 0 20px;
        -moz-border-radius: 20px 0 0 20px; } }
  .section__hero--top > .inner .text {
    width: 40%;
    position: absolute;
    left: 0;
    bottom: 40px;
    border-radius: 0 40px 40px 0;
    -webkit-border-radius: 0 40px 40px 0;
    -moz-border-radius: 0 40px 40px 0;
    background: rgba(29, 129, 197, 0.8);
    backdrop-filter: blur(12px);
    text-align: center;
    padding: 80px 40px;
    color: var(--text-color-2); }
    @media screen and (max-width: 480px) {
      .section__hero--top > .inner .text {
        width: 90%;
        position: relative;
        left: auto;
        bottom: auto;
        margin-top: -40px;
        border-radius: 0 20px 20px 0;
        -webkit-border-radius: 0 20px 20px 0;
        -moz-border-radius: 0 20px 20px 0;
        padding: 40px 20px; } }
    .section__hero--top > .inner .text h1 {
      font-size: var(--font-size-4);
      margin-bottom: 20px;
      color: var(--text-color-2);
      line-height: 1.4; }
      @media screen and (max-width: 480px) {
        .section__hero--top > .inner .text h1 {
          font-size: var(--font-size-3); } }
    .section__hero--top > .inner .text p {
      font-size: var(--font-size-2);
      color: var(--text-color-2); }
      @media screen and (max-width: 480px) {
        .section__hero--top > .inner .text p {
          font-size: var(--font-size-1); } }

.section__hero--layer {
  background-image: url(../img/common/bg_hero_1.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }
  @media screen and (max-width: 720px) {
    .section__hero--layer {
      background-image: url(../img/common/bg_hero_2.webp); } }
  .section__hero--layer h1 {
    color: var(--theme-color-1);
    font-size: var(--font-size-5);
    text-align: center;
    line-height: 1.8;
    font-weight: 900; }
    @media screen and (max-width: 480px) {
      .section__hero--layer h1 {
        font-size: var(--font-size-4); } }
    .section__hero--layer h1 > span {
      font-size: var(--font-size-2);
      display: block;
      line-height: 1.8; }
    @media screen and (max-width: 720px) {
      .section__hero--layer h1 {
        text-align: left; } }
  .section__hero--layer p {
    text-align: center;
    color: var(--text-color-1);
    line-height: 2;
    margin: 40px 0 0 0; }
    @media screen and (max-width: 720px) {
      .section__hero--layer p {
        text-align: left; } }
  .section__hero--layer.worker h1 {
    color: var(--theme-color-2); }

.footer {
  width: 100%;
  background: var(--bg-color-1); }
  .footer > .inner {
    max-width: 960px;
    margin: 80px auto 0 auto;
    padding: 40px 20px 80px 20px; }
    @media screen and (max-width: 480px) {
      .footer > .inner {
        padding: 20px 0 100px 0; } }
  .footer ul {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
    position: relative; }
    @media screen and (max-width: 480px) {
      .footer ul {
        justify-content: flex-start; } }
    .footer ul li {
      border-right: 1px solid var(--text-color-1); }
      .footer ul li:last-child {
        border-right: none; }
      @media screen and (max-width: 480px) {
        .footer ul li {
          width: 100%;
          border-right: none;
          border-bottom: 1px solid var(--text-color-1); } }
    .footer ul a {
      display: block;
      color: var(--text-color-1);
      padding: 0 20px;
      position: relative;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s;
      font-weight: 700; }
      .footer ul a:hover {
        opacity: 0.6;
        filter: alpha(opacity=60);
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s; }
      @media screen and (max-width: 480px) {
        .footer ul a {
          padding: 20px; }
          .footer ul a:after {
            content: '';
            width: 5px;
            height: 5px;
            border-top: 1px solid var(--text-color-1);
            border-right: 1px solid var(--text-color-1);
            -webkit-transform: rotate(45deg);
            -moz-transform: rotate(45deg);
            transform: rotate(45deg);
            position: absolute;
            margin: auto;
            top: 0;
            bottom: 0;
            right: 10px; } }
  .footer .logo {
    width: 80px;
    margin: 0 auto 40px auto; }
  .footer .copy {
    text-align: center;
    color: var(--text-color-1);
    font-size: 0.8rem;
    font-weight: 700; }

.footer__contact {
  position: fixed;
  bottom: 10px;
  right: 0;
  z-index: 8;
  transform: translateX(100%);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease, visibility 0.4s; }
  .footer__contact.is-show {
    transform: translateX(0);
    opacity: 1;
    visibility: visible; }
  @media screen and (max-width: 480px) {
    .footer__contact {
      bottom: 0;
      transform: translateY(100%); }
      .footer__contact.is-show {
        transform: translateY(0); } }
  .footer__contact figure {
    margin: 0;
    padding: 0 0 0 50%;
    display: flex;
    align-items: baseline;
    justify-content: flex-end; }
    @media screen and (max-width: 480px) {
      .footer__contact figure {
        padding: 0 0 0 70%; } }
  .footer__contact > .inner {
    padding: 40px 20px;
    border-radius: 40px 0 0 40px;
    -webkit-border-radius: 40px 0 0 40px;
    -moz-border-radius: 40px 0 0 40px; }
    @media screen and (max-width: 480px) {
      .footer__contact > .inner {
        padding: 20px 20px;
        border-radius: 20px 20px 0 0;
        -webkit-border-radius: 20px 20px 0 0;
        -moz-border-radius: 20px 20px 0 0; } }
    .footer__contact > .inner p {
      color: var(--text-color-2);
      font-size: var(--font-size-2);
      text-align: center;
      line-height: 1.5;
      margin-bottom: 20px;
      font-weight: 700; }
    .footer__contact > .inner.employer {
      background: var(--theme-color-1); }
    .footer__contact > .inner.worker {
      background: var(--theme-color-2); }

.pan {
  width: 100%;
  overflow: hidden; }
  .pan ol {
    width: auto;
    padding: 10px 20px 20px 20px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    overflow-x: auto; }
  .pan li {
    padding: 0 20px 0 10px;
    position: relative; }
    .pan li:after {
      content: '';
      width: 5px;
      height: 5px;
      border-top: 1px solid var(--text-color-1);
      border-right: 1px solid var(--text-color-1);
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 0;
      right: 0; }
    .pan li:last-child {
      padding: 0 0 0 10px; }
      .pan li:last-child:after {
        content: none; }
  .pan a, .pan span {
    font-size: var(--font-size-1);
    color: var(--text-color-1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    line-height: 1.4;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    display: block; }
    .pan a:hover, .pan span:hover {
      opacity: 0.6;
      filter: alpha(opacity=60);
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }

.card, .card__flex {
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
  box-sizing: border-box; }

.card__flex {
  display: flex;
  flex-flow: row wrap;
  gap: 20px 10px; }
  .card__flex.lineup {
    justify-content: center;
    align-items: center; }
  .card__flex .separate {
    width: 46%; }
    @media screen and (max-width: 640px) {
      .card__flex .separate {
        width: 100%;
        margin-bottom: 40px; } }

.block {
  width: 100%;
  position: relative; }

.title, .title__basic, .title__small {
  position: relative;
  width: 100%;
  text-align: center; }

.title__basic {
  margin-bottom: 40px; }
  .title__basic h2, .title__basic h3 {
    text-align: center;
    color: var(--text-color-1);
    font-size: var(--font-size-3);
    line-height: 1.8;
    position: relative;
    padding: 20px 40px;
    display: inline-block; }
    @media screen and (max-width: 480px) {
      .title__basic h2, .title__basic h3 {
        font-size: var(--font-size-2); } }
    .title__basic h2:before, .title__basic h2:after, .title__basic h3:before, .title__basic h3:after {
      content: '';
      width: 160px;
      height: 40px;
      margin: auto;
      position: absolute;
      background: none; }
    .title__basic h2:before, .title__basic h3:before {
      top: 0;
      left: 0;
      border-top: 2px solid var(--theme-color-1);
      border-left: 2px solid var(--theme-color-1);
      border-radius: 40px 0 0 0;
      -webkit-border-radius: 40px 0 0 0;
      -moz-border-radius: 40px 0 0 0; }
    .title__basic h2:after, .title__basic h3:after {
      bottom: 0;
      right: 0;
      border-bottom: 2px solid var(--theme-color-2);
      border-right: 2px solid var(--theme-color-2);
      border-radius: 0 0 40px 0;
      -webkit-border-radius: 0 0 40px 0;
      -moz-border-radius: 0 0 40px 0; }

.title__small {
  margin-bottom: 20px; }
  .title__small h2, .title__small h3, .title__small h4, .title__small h5 {
    text-align: center;
    color: var(--theme-color-1);
    font-size: var(--font-size-2);
    line-height: 1.8;
    position: relative;
    padding: 20px;
    display: inline-block; }
    .title__small h2:before, .title__small h2:after, .title__small h3:before, .title__small h3:after, .title__small h4:before, .title__small h4:after, .title__small h5:before, .title__small h5:after {
      content: '';
      width: 40px;
      height: 2px;
      margin: auto;
      position: absolute;
      left: 0;
      right: 0; }
    .title__small h2:before, .title__small h3:before, .title__small h4:before, .title__small h5:before {
      top: 0;
      background: var(--theme-color-1); }
    .title__small h2:after, .title__small h3:after, .title__small h4:after, .title__small h5:after {
      bottom: 0;
      background: var(--theme-color-2); }

.btn {
  display: block;
  margin: 15px auto; }

.btn__link, .btn__link--small {
  text-align: center; }
  .btn__link.left, .left.btn__link--small {
    text-align: left; }
  .btn__link a, .btn__link--small a, .btn__link button, .btn__link--small button, .btn__link input[type="submit"], .btn__link--small input[type="submit"] {
    display: inline-block;
    color: var(--text-color-2);
    font-size: var(--font-size-2);
    text-align: left;
    font-weight: 700;
    position: relative;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    padding: 20px 60px 20px 20px;
    border-radius: 35px;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
    font-size: var(--font-size-2);
    min-width: 240px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
    .btn__link a:hover, .btn__link--small a:hover, .btn__link button:hover, .btn__link--small button:hover, .btn__link input[type="submit"]:hover, .btn__link--small input[type="submit"]:hover {
      opacity: 0.6;
      filter: alpha(opacity=60);
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
    .btn__link a:after, .btn__link--small a:after, .btn__link button:after, .btn__link--small button:after, .btn__link input[type="submit"]:after, .btn__link--small input[type="submit"]:after {
      width: 30px;
      height: 30px;
      content: '';
      background: url(../img/common/icon_arrow.webp);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 10px;
      margin: auto;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
    .btn__link a:hover:after, .btn__link--small a:hover:after, .btn__link button:hover:after, .btn__link--small button:hover:after, .btn__link input[type="submit"]:hover:after, .btn__link--small input[type="submit"]:hover:after {
      right: 0; }
  .btn__link.employer a, .employer.btn__link--small a, .btn__link.employer button, .employer.btn__link--small button, .btn__link.employer input[type="submit"], .employer.btn__link--small input[type="submit"] {
    background-color: var(--theme-color-1); }
  .btn__link.worker a, .worker.btn__link--small a, .btn__link.worker button, .worker.btn__link--small button, .btn__link.worker input[type="submit"], .worker.btn__link--small input[type="submit"] {
    background-color: var(--theme-color-2); }

.btn__link--small a, .btn__link--small button {
  padding: 10px 40px 10px 20px;
  border-radius: 25px;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  font-size: var(--font-size-1);
  min-width: 180px; }
  .btn__link--small a:after, .btn__link--small button:after {
    width: 20px;
    height: 20px; }

.list__grid, .list__grid--2, .list__grid--3, .list__grid--4 {
  overflow: hidden; }
  .list__grid ul, .list__grid--2 ul, .list__grid--3 ul, .list__grid--4 ul {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 20px; }
  .list__grid li, .list__grid--2 li, .list__grid--3 li, .list__grid--4 li {
    background: var(--bg-color-1);
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 40px; }
    @media screen and (max-width: 720px) {
      .list__grid li, .list__grid--2 li, .list__grid--3 li, .list__grid--4 li {
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px; } }
  .list__grid li figure, .list__grid--2 li figure, .list__grid--3 li figure, .list__grid--4 li figure {
    display: block;
    margin: 0; }
  .list__grid li h2, .list__grid--2 li h2, .list__grid--3 li h2, .list__grid--4 li h2, .list__grid li h3, .list__grid--2 li h3, .list__grid--3 li h3, .list__grid--4 li h3, .list__grid li h4, .list__grid--2 li h4, .list__grid--3 li h4, .list__grid--4 li h4 {
    font-size: var(--font-size-2);
    margin-bottom: 20px;
    text-align: left;
    font-weight: 700;
    line-height: 1.4; }
    .list__grid li h2.theme--1, .list__grid--2 li h2.theme--1, .list__grid--3 li h2.theme--1, .list__grid--4 li h2.theme--1, .list__grid li h3.theme--1, .list__grid--2 li h3.theme--1, .list__grid--3 li h3.theme--1, .list__grid--4 li h3.theme--1, .list__grid li h4.theme--1, .list__grid--2 li h4.theme--1, .list__grid--3 li h4.theme--1, .list__grid--4 li h4.theme--1 {
      color: var(--theme-color-1);
      font-size: var(--font-size-2);
      text-align: center; }
    .list__grid li h2.theme--2, .list__grid--2 li h2.theme--2, .list__grid--3 li h2.theme--2, .list__grid--4 li h2.theme--2, .list__grid li h3.theme--2, .list__grid--2 li h3.theme--2, .list__grid--3 li h3.theme--2, .list__grid--4 li h3.theme--2, .list__grid li h4.theme--2, .list__grid--2 li h4.theme--2, .list__grid--3 li h4.theme--2, .list__grid--4 li h4.theme--2 {
      color: var(--theme-color-4);
      font-size: var(--font-size-2);
      text-align: center; }
    .list__grid li h2.theme--3, .list__grid--2 li h2.theme--3, .list__grid--3 li h2.theme--3, .list__grid--4 li h2.theme--3, .list__grid li h3.theme--3, .list__grid--2 li h3.theme--3, .list__grid--3 li h3.theme--3, .list__grid--4 li h3.theme--3, .list__grid li h4.theme--3, .list__grid--2 li h4.theme--3, .list__grid--3 li h4.theme--3, .list__grid--4 li h4.theme--3 {
      color: var(--theme-color-2);
      font-size: var(--font-size-2);
      text-align: center; }
  .list__grid .label, .list__grid--2 .label, .list__grid--3 .label, .list__grid--4 .label {
    padding: 40px 20px;
    color: var(--text-color-2) !important;
    font-size: var(--font-size-2) !important;
    text-align: center;
    border-radius: 40px 40px 0 0;
    -webkit-border-radius: 40px 40px 0 0;
    -moz-border-radius: 40px 40px 0 0;
    margin: 0; }
    @media screen and (max-width: 720px) {
      .list__grid .label, .list__grid--2 .label, .list__grid--3 .label, .list__grid--4 .label {
        border-radius: 30px 30px 0 0;
        -webkit-border-radius: 30px 30px 0 0;
        -moz-border-radius: 30px 30px 0 0; } }
    .list__grid .label.employer--1, .list__grid--2 .label.employer--1, .list__grid--3 .label.employer--1, .list__grid--4 .label.employer--1 {
      background: var(--theme-color-1); }
    .list__grid .label.employer--2, .list__grid--2 .label.employer--2, .list__grid--3 .label.employer--2, .list__grid--4 .label.employer--2 {
      background: var(--theme-color-4); }
    .list__grid .label.worker--1, .list__grid--2 .label.worker--1, .list__grid--3 .label.worker--1, .list__grid--4 .label.worker--1 {
      background: var(--theme-color-2); }
  .list__grid li p, .list__grid--2 li p, .list__grid--3 li p, .list__grid--4 li p {
    color: var(--text-color-1);
    font-size: var(--font-size-1);
    margin: 0; }
    .list__grid li p.center, .list__grid--2 li p.center, .list__grid--3 li p.center, .list__grid--4 li p.center {
      text-align: center; }
  .list__grid li > .inner, .list__grid--2 li > .inner, .list__grid--3 li > .inner, .list__grid--4 li > .inner, .list__grid li > a > .inner, .list__grid--2 li > a > .inner, .list__grid--3 li > a > .inner, .list__grid--4 li > a > .inner {
    padding: 40px 20px; }
  .list__grid.employer li h2, .employer.list__grid--2 li h2, .employer.list__grid--3 li h2, .employer.list__grid--4 li h2, .list__grid.employer li h3, .employer.list__grid--2 li h3, .employer.list__grid--3 li h3, .employer.list__grid--4 li h3, .list__grid.employer li h4, .employer.list__grid--2 li h4, .employer.list__grid--3 li h4, .employer.list__grid--4 li h4 {
    color: var(--theme-color-1); }
  .list__grid.worker li h2, .worker.list__grid--2 li h2, .worker.list__grid--3 li h2, .worker.list__grid--4 li h2, .list__grid.worker li h3, .worker.list__grid--2 li h3, .worker.list__grid--3 li h3, .worker.list__grid--4 li h3, .list__grid.worker li h4, .worker.list__grid--2 li h4, .worker.list__grid--3 li h4, .worker.list__grid--4 li h4 {
    color: var(--theme-color-2); }
  .list__grid p.label, .list__grid--2 p.label, .list__grid--3 p.label, .list__grid--4 p.label {
    color: var(--text-color-2);
    font-size: var(--font-size-1) !important;
    padding: 5px 20px;
    border-radius: 25px;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    display: inline-block; }
    .list__grid p.label.employer, .list__grid--2 p.label.employer, .list__grid--3 p.label.employer, .list__grid--4 p.label.employer {
      background: var(--theme-color-1); }
    .list__grid p.label.worker, .list__grid--2 p.label.worker, .list__grid--3 p.label.worker, .list__grid--4 p.label.worker {
      background: var(--theme-color-2); }

@media screen and (max-width: 720px) {
  .list__grid--2 ul {
    width: 100%; } }
.list__grid--2 li {
  width: calc((100% - 20px * 2) / 2); }
  @media screen and (max-width: 720px) {
    .list__grid--2 li {
      width: 100%;
      margin-bottom: 20px; }
      .list__grid--2 li:last-child {
        margin-bottom: 0; } }

@media screen and (max-width: 720px) {
  .list__grid--3 ul {
    flex-flow: row nowrap;
    width: auto;
    overflow-x: auto; } }
.list__grid--3 li {
  width: calc((100% - 20px * 2) / 3); }
  @media screen and (max-width: 720px) {
    .list__grid--3 li {
      width: 240px;
      flex-grow: 0;
      flex-shrink: 0; } }

@media screen and (max-width: 720px) {
  .list__grid--4 ul {
    width: auto;
    flex-flow: row nowrap;
    justify-content: flex-start;
    overflow-x: auto; } }
.list__grid--4 li {
  width: calc((100% - 20px * 4) / 4); }
  @media screen and (max-width: 720px) {
    .list__grid--4 li {
      width: 240px;
      flex-grow: 0;
      flex-shrink: 0; } }

.list__bar, .list__bar--rich {
  position: relative;
  padding: 0 2%; }
  .list__bar ul, .list__bar--rich ul, .list__bar ol, .list__bar--rich ol {
    z-index: 5;
    position: relative; }
  .list__bar li, .list__bar--rich li {
    background: var(--bg-color-1);
    border-radius: 40px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    margin-top: 0;
    margin-bottom: 40px;
    position: relative;
    padding: 20px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start; }
    @media screen and (max-width: 720px) {
      .list__bar li, .list__bar--rich li {
        border-radius: 30px;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px; } }
    .list__bar li:last-child, .list__bar--rich li:last-child {
      margin-bottom: 0; }
  .list__bar li h2, .list__bar--rich li h2, .list__bar li h3, .list__bar--rich li h3, .list__bar li h4, .list__bar--rich li h4 {
    font-size: var(--font-size-2);
    text-align: left;
    font-weight: 700;
    line-height: 1.4; }
  .list__bar li p, .list__bar--rich li p {
    color: var(--text-color-1);
    font-size: var(--font-size-1);
    margin: 0; }
  .list__bar.employer li h2, .employer.list__bar--rich li h2, .list__bar.employer li h3, .employer.list__bar--rich li h3, .list__bar.employer li h4, .employer.list__bar--rich li h4 {
    color: var(--theme-color-1); }
  .list__bar.employer li p.label, .employer.list__bar--rich li p.label {
    font-size: var(--font-size-2);
    color: var(--theme-color-1); }
  .list__bar.worker li h2, .worker.list__bar--rich li h2, .list__bar.worker li h3, .worker.list__bar--rich li h3, .list__bar.worker li h4, .worker.list__bar--rich li h4 {
    color: var(--theme-color-2); }
  .list__bar.worker li p.label, .worker.list__bar--rich li p.label {
    font-size: var(--font-size-2);
    color: var(--theme-color-2); }
  .list__bar.feature, .feature.list__bar--rich {
    padding: 40px 2% 40px 60px; }
    @media screen and (max-width: 480px) {
      .list__bar.feature, .feature.list__bar--rich {
        padding: 40px 2% 40px 40px; } }
    .list__bar.feature:before, .feature.list__bar--rich:before {
      content: '';
      width: 140px;
      height: 100%;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1; }
    .list__bar.feature.employer:before, .feature.employer.list__bar--rich:before {
      background: var(--theme-color-1); }
    .list__bar.feature.worker:before, .feature.worker.list__bar--rich:before {
      background: var(--theme-color-2); }
  .list__bar.flow li:after, .flow.list__bar--rich li:after {
    content: '';
    width: 40px;
    height: 20px;
    background: var(--bg-color-3);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    position: absolute;
    bottom: -30px;
    margin: auto;
    left: 0;
    right: 0;
    z-index: 10; }
  .list__bar.flow li:last-child:after, .flow.list__bar--rich li:last-child:after {
    content: none; }
  .list__bar ol li:before, .list__bar--rich ol li:before {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    color: var(--text-color-2);
    font-size: var(--font-size-1);
    text-align: center;
    line-height: 50px;
    margin-right: 20px;
    font-family: var(--font-family-2);
    flex-shrink: 0; }
    @media screen and (max-width: 720px) {
      .list__bar ol li:before, .list__bar--rich ol li:before {
        width: 40px;
        height: 40px;
        line-height: 40px; } }
  .list__bar ol, .list__bar--rich ol {
    counter-reset: item; }
    .list__bar ol li, .list__bar--rich ol li {
      counter-increment: item; }
      .list__bar ol li::before, .list__bar--rich ol li::before {
        content: counter(item,decimal-leading-zero); }
  .list__bar.employer ol li:before, .employer.list__bar--rich ol li:before {
    background: var(--theme-color-1); }
  .list__bar.worker ol li:before, .worker.list__bar--rich ol li:before {
    background: var(--theme-color-2); }

.list__bar--rich {
  margin-bottom: 40px; }
  .list__bar--rich > p {
    color: var(--text-color-2);
    font-size: var(--font-size-2);
    text-align: center;
    font-weight: 700;
    width: 240px;
    position: absolute;
    top: 40px;
    left: 0;
    z-index: 2; }
    @media screen and (max-width: 480px) {
      .list__bar--rich > p {
        width: 200px; } }
  .list__bar--rich ul {
    margin-bottom: 40px; }
    @media screen and (max-width: 480px) {
      .list__bar--rich ul {
        margin-bottom: 20px; } }
  .list__bar--rich li {
    padding: 20px 40px; }
  .list__bar--rich.feature {
    padding: 120px 2% 40px 60px; }
    .list__bar--rich.feature:before {
      content: '';
      width: 240px;
      height: 100%;
      border-radius: 40px;
      -webkit-border-radius: 40px;
      -moz-border-radius: 40px;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1; }
      @media screen and (max-width: 480px) {
        .list__bar--rich.feature:before {
          width: 200px; } }
    .list__bar--rich.feature:after {
      content: '';
      width: 160px;
      height: 120px;
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
    .list__bar--rich.feature.employer:after {
      background-image: url(../img/common/figure_1.webp); }
    .list__bar--rich.feature.worker:after {
      background-image: url(../img/common/figure_2.webp); }

.list__faq dt, .list__faq dd {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between; }
  .list__faq dt p, .list__faq dd p {
    flex-basis: 100%;
    flex-shrink: 10;
    font-size: var(--font-size-2);
    color: var(--text-color-1);
    line-height: 2; }
  .list__faq dt:before, .list__faq dd:before {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    color: var(--text-color-2);
    font-size: var(--font-size-1);
    text-align: center;
    line-height: 40px;
    margin-right: 20px;
    font-family: var(--font-family-2); }
.list__faq dt {
  padding: 20px;
  cursor: pointer; }
  @media screen and (max-width: 480px) {
    .list__faq dt {
      padding: 20px 10px; } }
  .list__faq dt:before {
    content: 'Q'; }
  .list__faq dt:after {
    content: '＋';
    margin-left: 10px; }
  .list__faq dt.active:after {
    content: 'ー'; }
.list__faq dd {
  display: none;
  padding: 20px 20px 20px 80px; }
  @media screen and (max-width: 480px) {
    .list__faq dd {
      padding: 20px 10px; } }
  .list__faq dd:before {
    content: 'A';
    background: var(--accent-color-2); }
.list__faq.employer dt:before {
  background: var(--theme-color-1); }
.list__faq.worker dt:before {
  background: var(--theme-color-2); }

.list__table {
  padding: 0 2%;
  overflow: hidden; }
  .list__table .inner {
    overflow: hidden; }
    @media screen and (max-width: 480px) {
      .list__table .inner {
        overflow-x: auto; } }
  .list__table table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: inherit;
    border: 1px solid var(--bg-color-3);
    background: var(--bg-color-1); }
    @media screen and (max-width: 480px) {
      .list__table table {
        width: 200%;
        overflow-x: auto; } }
  .list__table th, .list__table td {
    padding: 15px;
    text-align: center;
    line-height: 2;
    border: 1px solid var(--bg-color-3);
    font-weight: 700; }
    .list__table th.feature, .list__table td.feature {
      background: var(--bg-color-4); }
    .list__table th.point, .list__table td.point {
      font-size: var(--font-size-2);
      color: var(--accent-color-2); }
  .list__table th {
    font-size: var(--font-size-2); }
  .list__table td {
    font-size: var(--font-size-1);
    color: var(--text-color-1); }
  .list__table.employer th {
    color: var(--theme-color-1); }
  .list__table.worker th {
    color: var(--theme-color-2); }

.list__link a {
  display: block;
  position: relative;
  padding: 20px 40px 20px 0;
  font-size: fs1;
  line-height: 2; }
  .list__link a:after {
    width: 20px;
    height: 20px;
    content: '';
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
  .list__link a:hover:after {
    right: 0; }
.list__link.employer li {
  border-bottom: 1px dotted var(--theme-color-1); }
.list__link.employer a {
  color: var(--theme-color-1); }
  .list__link.employer a:after {
    background-image: url(../img/common/icon_arrow_b.webp); }
.list__link.worker li {
  border-bottom: 1px dotted var(--theme-color-2); }
.list__link.worker a {
  color: var(--theme-color-2); }
  .list__link.worker a:after {
    background-image: url(../img/common/icon_arrow_g.webp); }

.list__dl dl {
  display: flex;
  flex-flow: row wrap; }
.list__dl dt p, .list__dl dd p {
  font-size: var(--font-size-1);
  line-height: 1.8; }
.list__dl dt {
  width: 35%;
  flex-shrink: 1;
  flex-grow: 1;
  border-bottom: 1px dotted var(--theme-color-6);
  padding: 20px; }
  .list__dl dt p {
    color: theme1; }
  .list__dl dt span {
    display: inline-block;
    padding: 5px 10px;
    font-size: 0.7rem;
    text-align: center;
    margin-right: 10px;
    color: var(--text-color-2); }
    .list__dl dt span.option {
      background: var(--text-color-1); }
    .list__dl dt span.required {
      background: var(--accent-color-2); }
.list__dl dd {
  width: 65%;
  flex-shrink: 2;
  flex-grow: 2;
  border-bottom: 1px dotted var(--theme-color-6);
  padding: 20px; }
  .list__dl dd p {
    color: text1; }

.list__simple {
  list-style: decimal;
  list-style-position: inside; }
  .list__simple li {
    font-size: var(--font-size-1);
    color: var(--text-color-1);
    line-height: 1.8;
    font-weight: 700; }
    .list__simple li ul {
      list-style: lower-latin;
      padding-left: 40px; }
      .list__simple li ul ul {
        list-style: lower-roman; }

.list__jobs li {
  margin-bottom: 40px; }
  .list__jobs li:last-child {
    margin-bottom: 0; }
.list__jobs li a {
  display: flex;
  flex-flow: row nowrap;
  background: var(--bg-color-1);
  border-radius: 40px;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  position: relative;
  padding: 0; }
  @media screen and (max-width: 640px) {
    .list__jobs li a {
      flex-flow: row wrap;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; } }
  .list__jobs li a:after {
    width: 20px;
    height: 20px;
    content: '';
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    background-image: url(../img/common/icon_arrow_g.webp); }
    @media screen and (max-width: 640px) {
      .list__jobs li a:after {
        top: auto;
        bottom: 30px; } }
  .list__jobs li a:hover:after {
    right: 0; }
.list__jobs figure {
  width: 320px;
  margin-right: 20px;
  border-radius: 40px;
  -webkit-border-radius: 40px;
  -moz-border-radius: 40px;
  flex-grow: 0;
  flex-shrink: 1;
  display: block;
  overflow: hidden; }
  @media screen and (max-width: 640px) {
    .list__jobs figure {
      width: 100%;
      margin-right: 0;
      border-radius: 20px;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px; } }
.list__jobs .text {
  flex-grow: 10;
  flex-shrink: 10;
  padding: 20px 40px 20px 20px; }
  .list__jobs .text h2, .list__jobs .text h3, .list__jobs .text h4 {
    color: var(--text-color-1);
    font-size: var(--font-size-2);
    line-height: 1.8;
    margin: 0 0 20px 0; }
  .list__jobs .text .tag {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start; }
    .list__jobs .text .tag li {
      font-size: var(--font-size-1);
      color: var(--text-color-2);
      margin: 0 10px 10px 0;
      padding: 10px 20px;
      border-radius: 25px;
      -webkit-border-radius: 25px;
      -moz-border-radius: 25px;
      background: var(--theme-color-6); }
      @media screen and (max-width: 640px) {
        .list__jobs .text .tag li {
          padding: 5px 10px;
          border-radius: 15px;
          -webkit-border-radius: 15px;
          -moz-border-radius: 15px; } }
      .list__jobs .text .tag li.active {
        background: var(--theme-color-2); }

.list__jobinfo {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 640px) {
    .list__jobinfo {
      flex-flow: row wrap;
      justify-content: flex-start;
      margin-bottom: 0; } }
  .list__jobinfo li {
    margin: 0 40px 0 0;
    font-weight: 700;
    font-size: var(--font-size-1);
    color: var(--text-color-1);
    line-height: 1;
    display: flex;
    align-items: center;
    flex-flow: row nowrap; }
    @media screen and (max-width: 640px) {
      .list__jobinfo li {
        margin: 0 10px 10px 0; } }
    .list__jobinfo li:nth-child(1) {
      background: var(--text-color-1);
      color: var(--text-color-2);
      font-size: var(--font-size-1);
      padding: 5px 20px;
      line-height: 1;
      border-radius: 15px;
      -webkit-border-radius: 15px;
      -moz-border-radius: 15px;
      text-align: center; }
    .list__jobinfo li:nth-child(2):before {
      content: '';
      display: block;
      width: 20px;
      height: 20px;
      margin-right: 5px;
      background-image: url(../img/common/icon_location.webp);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
    .list__jobinfo li:nth-child(3):before {
      content: '';
      display: block;
      width: 20px;
      height: 20px;
      margin-right: 5px;
      background-image: url(../img/common/icon_yen.webp);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }

.list__select {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  gap: 15px;
  margin-bottom: 40px; }

.single-columns__thumbnail {
  margin-bottom: 40px;
  text-align: center; }
  .single-columns__thumbnail img {
    max-width: 100%;
    height: auto;
    border-radius: 8px; }

.single-columns__content {
  line-height: 1.8;
  font-size: 1.05rem; }

.toc-box {
  background: var(--bg-color-1);
  border: 1px solid var(--bg-color-3);
  border-radius: 12px;
  padding: 20px 30px;
  margin-top: 20px;
  margin-bottom: 40px; }
  .toc-box .toc-title {
    font-weight: 700;
    font-size: var(--font-size-2);
    color: var(--text-color-1);
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--theme-color-6); }
  .toc-box ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    .toc-box ul li {
      font-size: var(--font-size-1);
      color: var(--text-color-1);
      margin-bottom: 10px;
      line-height: 1.5; }
      .toc-box ul li:last-child {
        margin-bottom: 0; }
      .toc-box ul li a {
        color: var(--text-color-1);
        font-weight: 700;
        border-bottom: 1px solid transparent;
        transition: color 0.3s, border-color 0.3s;
        display: inline; }
        .toc-box ul li a:hover {
          color: var(--accent-color-1);
          border-color: var(--accent-color-1); }

.callout-box {
  background-color: #f0f9ff;
  border-left: 4px solid #0284c7;
  padding: 15px;
  border-radius: 4px;
  margin: 20px 0;
  font-size: 0.95rem;
  color: #1e3a8a; }

.fadeInDown {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.wp-pagenavi {
  display: flex;
  flex-flow: row wrap; }
  .wp-pagenavi a, .wp-pagenavi span {
    display: block;
    line-height: 38px;
    width: 40px;
    height: 40px;
    text-align: center;
    margin: 0 15px 15px 0; }
  .wp-pagenavi a {
    color: var(--text-color-1);
    border: 1px solid var(--text-color-1);
    background: var(--bg-color-1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
  .wp-pagenavi a:hover {
    background: var(--text-color-1);
    color: var(--bg-color-1);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
  .wp-pagenavi span {
    color: var(--text-color-1);
    background: var(--bg-color-1); }

.single-columns__content .single-columns__thumbnail {
  margin-bottom: 30px; }
.single-columns__content .wp-block-paragraph {
  margin: 20px auto; }
.single-columns__content p {
  color: var(--text-color-1);
  font-size: var(--font-size-1);
  line-height: 2; }
.single-columns__content h2 {
  color: var(--theme-color-1);
  font-size: var(--font-size-3);
  margin-bottom: 20px;
  border-bottom: 1px solid var(--theme-color-1);
  line-height: 1.5; }
.single-columns__content h3 {
  color: var(--theme-color-1);
  font-size: var(--font-size-2);
  margin-bottom: 20px;
  border-left: 10px solid var(--theme-color-1);
  line-height: 1.5;
  padding-left: 15px; }
.single-columns__content .wp-block-list li {
  font-size: var(--font-size-1);
  line-height: 2;
  margin-bottom: 20px;
  background: var(--bg-color-1);
  padding: 10px;
  border: 1px solid var(--theme-color-6); }
.single-columns__content .callout-box {
  background-color: #f0f9ff;
  border-left: 4px solid #0284c7;
  padding: 15px;
  border-radius: 4px;
  margin: 20px 0;
  font-size: var(--font-size-1);
  color: #1e3a8a;
  line-height: 1.5; }

.wpcf7-not-valid-tip {
  margin-top: 10px;
  font-weight: bold; }

.wpcf7-response-output {
  background: var(--bg-color-5);
  padding: 20px !important;
  border: 1px solid var(--accent-color-2) !important; }
