@charset "UTF-8";

/* CSS Document */

/*--------------------
01.top
02.about
03.individuals_service
04.other_service
05.consultant
06.consultant_detail
07.tensyoku
08.tensyoku_more
09.interview
10.Interview_detail
11.job
12.job_information
13.entry
14.verification
15.complete
16.corporation_service
17.news
18.news_more
19.faq
20.company
--------------------*/

/*----------
02.about
----------*/

#about .pan {
  padding: 18px 0;
  max-width: 1080px;
  margin: 0 auto;
}

#about .title_ptn01 .cnt_text02 {
  position: relative;
  white-space: nowrap;
  text-align: left;
  line-height: 1.5;
  align-self: center;
}

#about .title_ptn01 span {
  background-color: #fff;
  color: #000;
  display: inline-block;
  padding-left: 46.89px;
  padding-right: 16.9px;
  font-size: 30px;
  font-weight: 700;
  line-height: 40.18px;
  position: relative;
  z-index: -2;
  margin-left: -30px;
}

#about .title_ptn01 .title::before {
  width: 164px;
  height: 100%;
}

#about .area01 .box01.flex_box {
  flex-direction: row;
  margin-left: auto;
  margin-right: 0;
  margin-bottom: 100px;
}

#about .area01 .main_ptn h2 {
  position: relative;
  padding-left: 20px;
  margin-top: 50px;
}

#about .area01 .main_ptn h2::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 0;
  bottom: 5px;
  width: 5px;
  background-color: var(--main-color);
}

#about .area01 .box02.flex_box {
  margin-left: 0;
  margin-right: auto;
  margin-bottom: 100px;
}

#about .area01 .box02 {
  flex-direction: row-reverse;
}

#about .title_next_flex {
  display: flex;
  justify-content: center;
  margin-top: 56px;
  margin-bottom: 37.5px;
  align-items: center;
}

#about .title_next_flex .cnt_text {
  font-weight: 500;
  font-size: 57px;
  line-height: 82px;
  padding: 0 29px;
  position: relative;
  color: #fff;
  margin-right: 61.5px;
}

#about .title_next_flex .cnt_text01::after {
  content: "";
  display: block;
  width: 100%;
  height: 7.58px;
  background: repeating-linear-gradient(
    -45deg,
    #fff 0,
    #fff 4px,
    var(--main-color) 4px,
    var(--main-color) 5px
  );
  background: -webkit-repeating-linear-gradient(
    -45deg,
    #fff 0,
    #fff 4px,
    var(--main-color) 4px,
    var(--main-color) 5px
  );
  background: -o-repeating-linear-gradient(
    -45deg,
    #fff 0,
    #fff 4px,
    var(--main-color) 4px,
    var(--main-color) 5px
  );
  position: absolute;
  z-index: -1;
  bottom: 7.58px;
}

#about .title_next_flex .cnt_text::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--main-color);
  transform: skewX(-15deg);
  z-index: -1;
}

#about .title_next_flex .cnt_text01 {
  font-size: 30px;
  font-weight: 700;
  line-height: 55px;
  letter-spacing: 0.05em;
  position: relative;
}

#about .cnt_text02 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 39px;
  text-align: center;
}

#about .area01 {
  margin-top: 166px;
}

#about .area02 {
  margin-top: 50px;
  background-color: #f2f7f6;
  padding: 45.7px 0 80px;
}

#about .area02 .box01,
#about .area02 .box03 {
  flex-direction: row;
}

#about .area02 .box02 {
  flex-direction: row-reverse;
}

#about .area02 h2 {
  font-size: 48px;
  letter-spacing: 0.06em;
  line-height: 70px;
  text-align: center;
  margin-bottom: 70.1px;
  font-weight: 800;
}

#about .area02 h2 span {
  display: block;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.06em;
  line-height: 24px;
  color: #000;
  font-weight: 500;
}

#about .area02 h4 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 36px;
  margin-bottom: 28.5px;
}

#about .area02 .main_ptn .text_area {
  width: 50%;
}

#about .area02 .flex_box_pro {
  background-color: #fff;
  display: flex;
}

#about .area02 .cnt_img {
  width: 24.07%;
}

#about .area02 .flex_box_pro .text_g {
  padding: 48.3px 0 43px 60px;
  width: 75.3%;
}

#about .area02 .flex_box_pro .text_g .cnt_text {
  font-weight: 700;
  line-height: 39px;
  letter-spacing: 0.08em;
  align-items: center;
  border-bottom: 2px solid #000;
}

#about .area02 .flex_box_pro .text_g .cnt_text span {
  display: inline-block;
  font-size: 13px;
  margin-right: 39px;
}

#about .area02 .flex_box_pro .text_g p {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 28px;
  padding-top: 15.5px;
}

#about .area03 {
  margin-top: 90.5px;
}

#about .area03 h2 {
  margin-top: 90.5px;
  font-weight: 800;
  font-size: 48px;
  line-height: 70px;
  letter-spacing: 0.06em;
  margin-bottom: 40px;
}

#about .area03 h2 span {
  display: block;
  font-size: 16px;
  letter-spacing: 0.06em;
  line-height: 24px;
  color: #000;
  margin-bottom: 2.5px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

#about .area03 h2 span:nth-of-type(2) {
  max-width: 350px;
  margin: 0 auto;
}

#about .area03 dl {
  display: flex;
  width: 100%;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 25px;
}

#about .area03 dl:first-of-type span {
  display: block;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 22px;
}

#about .area03 dl:nth-of-type(2) dd,
#about .area03 dl:nth-of-type(4) dd,
#about .area03 dl:nth-of-type(8) dd {
  padding-top: 9px;
  padding-bottom: 9px;
}

#about .area03 dl:nth-of-type(4) dd {
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.6;
}

#about .area03 dl:nth-of-type(8) dd {
  align-self: center;
}

#about .area03 dl:nth-of-type(2) dd span {
  display: block;
  font-size: 12px;
}

#about .area03 dl:nth-of-type(4) dt {
  align-self: center;
  padding: 25px 0;
}

#about .area03 dl:nth-of-type(8) dt {
  align-self: center;
  padding: 51px 0;
}

#about .area03 dl {
  margin-bottom: 5px;
}

#about .area03 dl:last-child {
  margin-bottom: 0;
}

#about .area03 dt {
  background-color: #e8e8e8;
  width: 18.51%;
  padding: 18px 0;
  vertical-align: middle;
  text-align: center;
}

#about .area03 dd {
  width: 81.49%;
  padding: 19.5px 0 19.5px 20px;
}

#about .area03 h3 {
  margin-top: 80px;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 41px;
  margin-bottom: 20.3px;
  text-align: center;
}

#about .area03 h3 span {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 24px;
  display: block;
}

#about .area03 #map {
  max-width: 1192px;
  height: 518px;
  margin: 0 auto 165.8px;
}

#about .area03 .map_in {
  position: relative;
  width: 100%;
  padding-bottom: 43.45%;
  height: 0;
  overflow: hidden;
}

#about .area03 iframe {
  top: 0;
  left: 0;
  width: 100%;
  position: absolute;
  height: 100%;
}

#about .area02 .flex_box_pro.sp {
  display: none;
}

#about .title_bottom_grid {
  display: block;
  width: 83%;
}

#about .title_bottom_container .text01 {
  font-size: 30px;
  text-align: center;
  line-height: 55px;
  letter-spacing: 0.05em;
}

#about .title_bottom_container .text02 {
  font-size: 18px;
  display: block;
  line-height: 26px;
  margin-top: 21.5px;
}

#about .area02 .flex_box_pro .text_g .cnt_text span.company_name {
  font-size: 16px;
  display: block;
}

#about .area02 .flex_box_pro .text_g .cnt_text span.span_sp_name {
  display: none;
}

/*----------
03.individuals_service
----------*/

#individuals_service .pan {
  padding: 18px 0;
  max-width: 1080px;
  margin: 0 auto;
}

#individuals_service .title_bottom_block {
  width: 80%;
}

#individuals_service .cnt_text01 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 36px;
  margin-top: 41.5px;
  margin-bottom: 74.2px;
  text-align: center;
}

#individuals_service .title_bottom_container .text01 {
  text-align: center;
}

#individuals_service .title_bottom_block {
  width: 88%;
}

#individuals_service .check_area {
  margin-top: 70px;
  padding-top: 0;
}

#individuals_service .check_area_h2 {
  margin-bottom: 36.5px;
}

#individuals_service .attention {
  position: relative;
  padding: 33px 0 24px;
  z-index: 2;
}

#individuals_service .attention::before {
  content: "";
  display: block;
  position: absolute;
  width: 78%;
  height: 198px;
  background-color: #fff;
  transform: skewX(-14deg);
  z-index: 0;
  border: 2px solid #2e1817;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
}

#individuals_service .attention::after {
  content: "";
  display: block;
  position: absolute;
  width: 78%;
  height: 198px;
  background-color: var(--main-color);
  transform: skewX(-14deg);
  z-index: -1;
  right: 9.8%;
  top: 14px;
}

#individuals_service .attention .cnt_text {
  font-size: 24px;
  letter-spacing: 0.05em;
  line-height: 32px;
  text-align: center;
  z-index: 3;
  position: relative;
}

#individuals_service .attention .bold_box {
  display: flex;
  justify-content: center;
  max-width: 800px;
  margin: 10px auto 6px;
  align-items: center;
  z-index: 3;
  position: relative;
}

#individuals_service .attention .cnt_bold {
  font-size: 30px;
  font-weight: 700;
  line-height: 42px;
  letter-spacing: 0.05em;
  position: relative;
}

#individuals_service .attention .cnt_plus {
  display: block;
  width: 20px;
  height: 20px;
  margin: 0;
}

#individuals_service .attention .cnt_plus span {
  display: block;
  width: 20px;
  height: 2px;
  background-color: var(--main-color);
}

#individuals_service .area01 .num_area {
  align-items: center;
}

#individuals_service .area01 .cnt_text_nm {
  padding: 0;
}

#individuals_service .area01 .cnt_text_nm span,
#corporation_service .area02 .cnt_text_nm span {
  font-family: italic;
  font-size: 66px;
}

#individuals_service .area01 .cnt_img {
  height: 280px;
}

#individuals_service .area01 .cnt_img img {
  height: 280px;
  object-fit: cover;
}

#individuals_service .attention .cnt_plus span:nth-of-type(1) {
  margin-top: 11px;
}

#individuals_service .attention .cnt_plus span:nth-of-type(2) {
  transform: rotate(90deg);
  margin-top: -0.5px;
}

#individuals_service .area02.check_area .cnt_in {
  margin: 0 auto;
  text-align: center;
  display: block;
}

#individuals_service .area02.check_area ul {
  display: inline-block;
  font-size: 22px;
}

#individuals_service .area02.check_area ul li {
  text-align: left;
}

#individuals_service .area02.check_area ul li.active {
  animation: corpoup 1.3s cubic-bezier(0.42, 0, 0.58, 1) 1 forwards;
}

#individuals_service .area02 .flex_box.box02 {
  flex-direction: row;
}

#individuals_service .cnt_bold_bg {
  font-size: 35px;
  line-height: 48px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  z-index: 3;
  position: relative;
}

#individuals_service .area02 .bg .cnt_in.flex_box {
  padding-top: 0;
}

#individuals_service .area02 .bg .box01.flex_box,
#individuals_service .area02 .bg .box03.flex_box {
  flex-direction: row;
  margin-bottom: 100px;
}

#individuals_service .area02 .bg .box01.flex_box {
  margin-top: 56.7px;
}

#individuals_service .area02 .bg .box02.flex_box {
  margin-bottom: 100px;
  flex-direction: row-reverse;
}

#individuals_service .area02 .bg .box03.flex_box {
  margin-bottom: 0px;
}

#individuals_service .area02 .bg .flex_box.cnt_in {
  max-width: 1080px;
}

#individuals_service .area02 .bg .flex_box h2 span {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

#individuals_service .area02 .bg .flex_box h2 {
  font-weight: 700;
  margin-top: 57px;
  margin-bottom: 32px;
}

#individuals_service .area02 .bg .flex_box .main_ptn p {
  font-size: 15px;
}

#individuals_service .area02 .bg .main_ptn .text_area {
  width: 50%;
  position: relative;
}

#individuals_service .area02 .bg .flex_box.box01 picture::before,
#individuals_service .area02 .flex_box.box03 picture::before {
  left: -20px;
}

#individuals_service .area02 .bg .flex_box.box02 picture::before {
  right: -20px;
}

#individuals_service .area02 .bg {
  position: relative;
  padding-bottom: 99.8px;
}

#individuals_service .area02 .bg::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #f2f7f6;
  width: 100%;
  height: 1465px;
  bottom: 0;
  z-index: 0;
}

#individuals_service .area03 {
  /* padding-top: 140px; */
  padding-bottom: 142px;
}

#individuals_service .area03 .flex {
  display: flex;
  justify-content: flex-start;
}

#individuals_service .area03 .cnt_text {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 36px;
}

#individuals_service .area03 .common_h2 {
  margin-bottom: 39.5px;
}

#individuals_service .area03 .flow_flex {
  /*display: flex;
  justify-content: space-between;
  flex-wrap: wrap;*/
  display: block;
  max-width: 1020px;
  margin: 0 auto;
}

#individuals_service .area03 .cnt_img {
  max-width: 30px;
}

#individuals_service .area03 .flow_flex .cnt_text {
  border: 3px solid var(--main-color);
  font-size: 22px;
  font-weight: 700;
  line-height: 32px;
  padding: 34px 0;
  text-align: center;
  margin-right: 7.25%;
  width: 31.44%;
  margin-bottom: 10px;
}

#individuals_service .area03 .flow_flex .cnt_text_06 {
  font-weight: 400;
  line-height: 40px;
  letter-spacing: 0.08em;
  font-size: 15px;
  align-self: center;
  width: 65.78%;
}

#individuals_service .area03 .flow_flex .cnt_box {
  display: flex;
  width: 100%;
  justify-content: space-between;
}

#individuals_service .area03 .flow_flex .cnt_text:last-child {
  background-color: var(--main-color);
  color: #fff;
}

#individuals_service .area02 .main_ptn p {
  font-size: 15px;
}

#individuals_service .area03 .common_h2 span {
  display: block;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.06em;
  line-height: 24px;
  color: #000;
  font-weight: 500;
}

#individuals_service .area03 .common_h2 {
  font-size: 48px;
  letter-spacing: 0.06em;
  line-height: 75.7px;
  margin-bottom: 39.5px;
  font-weight: 800;
}

#individuals_service .cnt_inner {
  width: 100%;
}

#individuals_service .area03 .flow_flex .cnt_text05 {
  background-color: var(--main-color);
  color: #fff;
}

/*----------
04.other_service
----------*/

#other_service .area01 {
  margin: 47px auto 70px;
}

#other_service .area01 h2 {
  font-size: 30px;
  line-height: 55px;
  font-weight: 700;
}

#other_service .area01 .flex_box {
  margin-right: 0;
  margin-left: auto;
}

#other_service .area01 .num_area_h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 55px;
  margin-bottom: 32px;
}

#other_service .check_area {
  margin-top: 70px;
}

#other_service .check_area ul {
  max-width: 741px;
  margin-bottom: 214.1px;
}

#other_service .check_area_h2 {
  margin-bottom: 36.5px;
}

/*----------
05.consultant
----------*/

/*----------
06.consultant_detail
----------*/

/*----------
08.tensyoku_more
----------*/

/*----------
09.interview
----------*/

/*----------
10.Interview_detail
----------*/

/*----------
12.job_information
----------*/

/*----------
13.entry
----------*/

/*----------
14.verification
----------*/

/*----------
15.complete
----------*/

/*----------
16.corporation_service
----------*/

#corporation_service .title_bottom_block {
  width: 78%;
}

#corporation_service .area01 {
  /*padding: 41.5px 0 70px;*/
  padding: 0 0 70px;
  margin-top: 0;
}

#corporation_service .title_ptn01.title_section {
  margin-bottom: 169.7px;
  background-position: 0px -110px;
}
#corporation_service .title_ptn01.title_section.municipality {
  background-position: 0 276px;
}
#corporation_service .area01 h2 {
  color: #0d0d0d;
  font-size: 26px;
  line-height: 55px;
  letter-spacing: 0.05em;
  font-weight: 700;
}

#corporation_service .area01 h3 {
  color: #0d0d0d;
  font-size: 20px;
  line-height: 1.4px;
  letter-spacing: 0.05em;
  font-weight: 500;
}

#corporation_service .area01 .main_ptn .text_area {
  width: 45.31%;
}

#corporation_service .area01 .main_ptn picture {
  width: 50.84%;
}

#corporation_service .area01 .main_ptn picture img {
  height: 388.3px;
  object-fit: cover;
}

#corporation_service .area01 .flex_box {
  margin: 0 auto;
  width: 94.18%;
}

#corporation_service .num_area_h2 {
  margin-bottom: 40.2px;
}

#corporation_service .area02 {
  padding: 60.7px 0 98.5px;
  background-color: #f2f7f6;
}

#corporation_service .area02 .main_ptn p {
  font-size: 15px;
  line-height: 40px;
  letter-spacing: 0.08em;
  font-weight: 400;
}

#corporation_service .check_area ul {
  margin-bottom: 104.3px;
}

#corporation_service .check_area ul {
  max-width: 938px;
}

#corporation_service .check_area_h2 {
  margin-bottom: 36.5px;
}

#corporation_service .check_area ul {
  font-size: 22px;
}

#corporation_service .check_area li.active {
  animation: corpoup 1.3s cubic-bezier(0.42, 0, 0.58, 1) 1 forwards;
}

@keyframes corpoup {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*----------
17.news
----------*/

/*----------
18.news_more
----------*/

/*----------
19.faq
----------*/

#faq .cnt_in {
  max-width: 880px;
}

#faq .title_ptn01 {
  margin-bottom: 40px;
}

#faq section {
  margin-top: 112.5px;
}

#faq section:last-child {
  margin-bottom: 159.5px;
}

#faq .area01 {
  margin-top: 100.5px;
}

#faq .flex_box_link {
  margin-top: 57px;
  justify-content: space-evenly;
  flex-wrap: wrap;
}

#faq .flex_box_link .cnt_text {
  width: 32%;
}

#faq .flex_box_link a {
  display: block;
  width: 100%;
  font-size: 18px;
  line-height: 20px;
  padding-bottom: 10px;
  position: relative;
  text-decoration: none;
  color: var(--main-color);
  text-align: center;
}

#faq .flex_box_link a::before {
  position: absolute;
  top: 40%;
  right: 8%;
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--main-color);
  border-right: 2px solid var(--main-color);
  transform: translate(0, -50%) rotate(134deg);
}

#faq .flex_box_link a::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: var(--main-color);
}

#faq h2 {
  font-size: 28px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.08em;
  padding-bottom: 18.8px;
  text-align: center;
  position: relative;
}

#faq h2::after {
  content: "";
  display: block;
  width: 115px;
  height: 6px;
  background: repeating-linear-gradient(
    -45deg,
    #fff 0,
    #fff 4px,
    var(--main-color) 4px,
    var(--main-color) 5px
  );
  background: -webkit-repeating-linear-gradient(
    -45deg,
    #fff 0,
    #fff 4px,
    var(--main-color) 4px,
    var(--main-color) 5px
  );
  background: -o-repeating-linear-gradient(
    -45deg,
    #fff 0,
    #fff 4px,
    var(--main-color) 4px,
    var(--main-color) 5px
  );
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

#faq dl {
  border-top: 1px solid #cccccc;
}

#faq dl:last-child {
  border-bottom: 1px solid #cccccc;
}

#faq dt {
  font-size: 18px;
  line-height: 24px;
  padding: 24px;
  align-items: center;
  position: relative;
}

#faq dt.active {
  padding: 33px 0 19px;
}

#faq dt.active::after {
  transform: rotate(180deg);
}

#faq dd {
  display: none;
  padding: 0 0 28px 0;
}

#faq dd .cnt_text {
  font-weight: 400;
  max-width: 706px;
  font-size: 16px;
  line-height: 28px;
  color: #272727;
}

#faq dd .flex {
  display: flex;
  max-width: 725.63px;
  margin-left: 44.3px;
}

#faq .q_text i {
  position: absolute;
  right: 24px;
}

#faq .q_text i::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-top: 4px solid var(--main-color);
  border-right: 4px solid var(--main-color);
  margin-bottom: 2px;
  transform: rotate(45deg);
  transition: 0.3s;
}

#faq .question.open i::after {
  transform: rotate(135deg);
  transition: 0.3s;
}

#faq .cnt_q {
  font-size: 25px;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: 0.1em;
  color: var(--main-color);
  margin-right: 10px;
}

#faq .cnt_q span {
  font-size: 20px;
  line-height: 19px;
}

#faq .cnt_a {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: var(--main-color);
  margin-top: 2px;
  margin-right: 8px;
}

.question {
  cursor: pointer;
}

.question.open i::after {
  transform: rotate(135deg);
  transition: 0.3s;
}

.question.open .answer {
  display: block;
}

/*----------
20.company
----------*/

#company .area01 {
  padding: 43px 0 97px;
}

#company .area01 h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 44px;
  letter-spacing: 0.05em;
  color: #0d0d0d;
}

#company .area01 dl {
  display: flex;
  margin-bottom: 5px;
}

#company .area01 dl.dl_inner {
  display: block;
  margin-bottom: 0;
}

#company .area01 dl dt {
  width: 18.51%;
  line-height: 28px;
  letter-spacing: 0.05em;
  background-color: #e8e8e8;
  text-align: center;
  padding: 15px 0;
}

#company .area01 dl dt.dt_inner {
  width: 100%;
  font-size: 15px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: 0.08em;
  background-color: transparent;
  padding: 0;
  text-align: left;
}

#company .area01 dl dd {
  width: 81.49%;
  font-size: 15px;
  line-height: 22px;
  letter-spacing: 0.08em;
  font-weight: 400;
  padding: 19.5px 0 19.5px 20px;
}

#company .area01 dl:nth-child(5) dd {
  padding: 8.5px 0 8.5px 20px;
}

#company .area01 dl dd.dd_inner {
  width: 100%;
  padding: 0;
}

#company .area01 dl:nth-child(5) dd {
  padding: 10px 0 10px 20px;
}

#company .area01 dl:nth-child(5) dd.dd_inner {
  padding: 0 0 22px 15px;
}

#company .area01 dl:nth-child(5) dd.dd_inner:last-child {
  padding-bottom: 0;
}

#company .area01 dl:nth-child(6) dt,
#company .area01 dl:nth-child(7) dt {
  align-self: center;
  padding: 48.5px 0;
}

#company .area01 dl dt.dt_outer {
  align-self: center;
  padding: 201.6px 0;
}

#company .area01 dl:nth-child(6) dd,
#company .area01 dl:nth-child(7) dd {
  padding: 8.5px 0 8.5px 20px;
}

@media only screen and (max-width: 1100px) {
  #individuals_service .attention .cnt_bold {
    font-size: 27px;
  }
  #individuals_service .cnt_bold_bg {
    font-size: 30px;
  }
}

@media only screen and (max-width: 1040px) {
  /*----------
03.individuals_service
----------*/
  #individuals_service .area03 .flow_flex {
    max-width: 670px;
    margin: 0 auto;
  }
  #individuals_service .area03 .flow_flex:after {
    content: "";
    display: block;
    width: 247.2px;
    height: 0;
  }
  /*#individuals_service .area03 .flow_flex .cnt_text04,
  #individuals_service .area03 .flow_flex .cnt_text05 {
    margin-top: 30px;
  }
  #individuals_service .area03 .flow_flex .cnt_img04 {
    margin-top: 108px;
  }*/
  #individuals_service .area03 .flow_flex .cnt_text {
    align-self: baseline;
  }
}

@media only screen and (max-width: 1024px) {
  /*----------
02.about
----------*/
  #about .title_next_flex .cnt_text01 {
    font-size: 28px;
  }
  #about .cnt_text02 {
    font-size: 16px;
  }
  #about .area02 h4 {
    font-size: 15px;
  }
  #about .area02 .main_ptn p {
    font-size: 12px;
  }
  #about .area02 .flex_box_pro .text_g p {
    font-size: 11px;
  }
  #about .area02 picture::before {
    height: 270.1px;
  }
  #corporation_service .area01 h3 {
    color: #0d0d0d;
    font-size: 18px;
    line-height: 1.4px;
    /* letter-spacing: 0.05em; */
    font-weight: 500;
  }
  /*----------
03.individuals_service
----------*/
  #individuals_service .title_ptn01.title_section {
    margin-bottom: 240px;
  }
  #individuals_service .box_sm_in .cnt_text {
    font-size: 16px;
    line-height: 1.6;
    margin-left: 48px;
  }
  #individuals_service .area01 .flex_big_box p {
    font-size: 14px;
    line-height: 1.8;
  }
  #individuals_service .cnt_text01 {
    font-size: 15px;
  }
  #individuals_service .attention::before {
    width: 88%;
  }
  #individuals_service .attention::after {
    width: 88%;
    right: 4.6%;
  }
  #individuals_service .area02 .bg .flex_box h2 {
    margin-top: 10px;
  }
  #individuals_service .area03 .flow_flex .cnt_text_06 {
    font-size: 18px;
    line-height: 1.8;
  }
  #individuals_service .area02 .bg .flex_box.cnt_in {
    max-width: 1080px;
    width: 84.375%;
    margin-left: auto;
    margin-right: auto;
  }
  #individuals_service .area03 {
    padding-top: 80px;
    padding-bottom: 120px;
  }
  /*----------
16.corporation_service
----------*/
  #corporation_service .area01 h2 {
    font-size: 18px;
    line-height: 1.6;
  }
  #corporation_service .area01 .main_ptn p {
    font-size: 14px;
  }
  #corporation_service .area01 h3 {
    font-size: 18px;
  }
  /*----------
19.faq
----------*/
  #faq .flex_box_link {
    max-width: 640px;
  }
  #faq dd .cnt_text {
    max-width: 600px;
  }
  #faq .flex_box_link .cnt_text {
    width: 46.84%;
  }
  #faq .flex_box_link .cnt_text:nth-child(3),
  #faq .flex_box_link .cnt_text:nth-child(4) {
    margin-top: 30px;
  }
  /*----------
20.company
----------*/
  #company .area01 dl dd {
    font-size: 14px;
  }
  #company .area01 dl dt.dt_inner {
    font-size: 14px;
  }
  #company .area01 dl:nth-child(5) dd.dd_inner {
    font-size: 12px;
  }
}

@media only screen and (max-width: 850px) {
  /*----------
02.about
----------*/
  #about .area02 picture::before {
    height: 215px;
  }
  /*----------
03.individuals_service
----------*/
  #individuals_service .attention .cnt_text {
    font-size: 20px;
  }
  #individuals_service .attention .cnt_bold {
    font-size: 24px;
  }
  #individuals_service .cnt_bold_bg {
    font-size: 29px;
  }
  #individuals_service .area01 .cnt_img {
    width: 32%;
    height: 240px;
  }
  #individuals_service .cnt_in div:last-of-type img {
    object-position: right;
  }
  #individuals_service .num_area .flex_box_sm {
    width: 64.24%;
  }
  .title_ptn01 picture,
  .title_ptn01 picture img {
    height: 180px;
  }
}
@media screen and (max-width: 820px) {
  #corporation_service .title_bottom_block {
    width: 90%;
  }
  .title_bottom_container {
    top: 60%;
  }
  .title_bottom_container .text01 {
    font-size: 17px;
  }
  #corporation_service .area01 .main_ptn picture {
    width: 45.84%;
  }
  #corporation_service .area01 .main_ptn picture img {
    height: 360.3px;
  }
  #corporation_service .area01 .main_ptn .text_area {
    width: 52.31%;
  }
}

@media only screen and (max-width: 750px) {
  /*----------
02.about
----------*/
  #corporation_service .title_bottom_block {
    width: 90%;
  }
  #about .area01 .main_ptn picture {
    width: 100%;
  }
  #about .area03 {
    margin-top: 50.5px;
  }
  #about .title_ptn01 {
    width: 94.66%;
    padding-bottom: 75.18px;
    padding-top: 75.18px;
    /* background-image: url("../img/about/bg_sp.jpg"); */
    background-size: cover;
  }
  #about .title_ptn01.title_section {
    /* background-position: center right -50px; */
    /* height: 280px; */
  }
  #about .title_ptn01 .title {
    padding: 0 0 0 9.3px;
    font-size: 22px;
    line-height: 25px;
  }
  #about .title_ptn01 span {
    padding-left: 75.8px;
    font-size: 20px;
    line-height: 20px;
    margin-left: -66.98px;
    margin-bottom: 3px;
    padding-top: 3.59px;
    padding-bottom: 3.59px;
    margin-top: 3px;
  }
  #about .title_ptn01 .title::before {
    width: 94px;
    height: 100%;
  }
  #about .pan {
    width: 89.33%;
  }
  #about .title_next_flex {
    display: block;
    margin-top: 17.3px;
    margin-bottom: 20px;
  }
  #about .title_next_flex .cnt_text {
    font-size: 36px;
    line-height: 54.15px;
    padding: 0 16.5px;
    margin: 0 auto 15.6px;
    max-width: 154px;
  }
  #about .title_next_flex .cnt_text01 {
    font-size: 22px;
    line-height: 36px;
    text-align: center;
  }
  #about .cnt_text02 {
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0.04em;
  }
  #about .area01 {
    margin-top: 106.2px;
  }
  #about .area01 .main_ptn .cnt_in_middle {
    max-width: 375px;
    margin: 0 auto;
    width: 100%;
  }
  #about .area01 .box01.flex_box,
  #about .area01 .box02.flex_box {
    display: block;
  }
  #about .area01 .main_ptn .text_area {
    width: 100%;
    max-width: 355px;
    margin: 0 auto;
  }
  #about .area01 .main_ptn p {
    margin-bottom: 21px;
    max-width: 335px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.06em;
  }
  #about .area01 .main_ptn h2 {
    max-width: 335px;
    margin: 0 auto 11.1px;
    letter-spacing: 0.06em;
    font-size: 14px;
    line-height: 20px;
  }
  #about .area01 .main_ptn h2 span {
    font-size: 26px;
    line-height: 38px;
  }
  #about .area01 picture {
    max-width: 310px;
    margin: 21px 0 40.2px auto;
  }
  #about .area01 .box02 picture {
    margin-right: auto;
    margin-left: 0;
  }
  #about .area01 picture:nth-of-type(2) {
    max-width: 310px;
    margin: 21px auto 0 0;
  }
  #about .area02 {
    margin-top: 50px;
    padding: 37.7px 0 35px;
  }
  #about .area02 h2 {
    font-size: 30px;
    line-height: 44px;
    margin-bottom: 20.6px;
  }
  #about .area02 .cnt_in {
    width: 89.33%;
    max-width: 335px;
  }
  #about .area02 .main_ptn .cnt_in_middle {
    width: 100%;
  }
  #about .area02 .box01,
  #about .area02 .box02,
  #about .area02 .box03 {
    display: block;
    margin-bottom: 38.2px;
  }
  #about .area02 h4 {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 14px;
  }
  #about .area02 .main_ptn .text_area {
    width: 100%;
  }
  #about .area02 .main_ptn p {
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 0.06em;
    margin-bottom: 21px;
  }
  #about .area02 picture {
    width: 100%;
    max-width: 321.86px;
    margin-top: 25px;
  }
  #about .area02 .box02 picture {
    margin-left: auto;
    margin-right: 0;
  }
  #about .area02 .flex_box_pro.pc {
    display: none;
  }
  #about .area02 .flex_box_pro.sp {
    display: block;
  }
  #about .area02 .cnt_img {
    width: 35.82%;
  }
  #about .area02 .flex_box_pro_in {
    display: flex;
  }
  #about .area02 .flex_box_pro .text_g {
    padding: 14.8px 0 10px 15px;
    width: 64.18%;
  }
  #about .area02 .main_ptn p {
    margin-bottom: 0;
    font-size: 12px;
    line-height: 22px;
    padding-bottom: 0;
  }
  #about .area02 .flex_box_pro .text_g p {
    font-size: 12px;
    line-height: 22px;
    padding-bottom: 0;
  }
  #about .area02 .main_ptn .p02 {
    padding: 0 15px 12.5px;
  }
  #about .area02 .flex_box_pro .text_g .cnt_text {
    font-size: 15px;
    border-bottom: 2px solid #000;
    padding-bottom: 9px;
  }
  #about .area02 .flex_box_pro .text_g .cnt_text span {
    font-size: 12px;
    margin-right: 17px;
  }
  #about .area03 h2 {
    margin-top: 43px;
    font-size: 30px;
    line-height: 44px;
    margin-bottom: 25.5px;
  }
  #about .area03 h2 span {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 3.5px;
  }
  #about .area03 dt {
    width: 37.61%;
    padding: 15px 0;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 20px;
  }
  #about .area03 dd {
    width: 62.39%;
    padding: 14px 0 14px 12px;
    font-size: 13px;
    line-height: 22px;
    letter-spacing: 0.04em;
  }
  #about .area03 dl:nth-of-type(2) dd,
  #about .area03 dl:nth-of-type(4) dd,
  #about .area03 dl:nth-of-type(8) dd,
  #about .area03 dl:nth-of-type(1) dd {
    padding-top: 1px;
    padding-bottom: 1px;
  }
  #about .area03 dl:nth-of-type(2) dt,
  #about .area03 dl:nth-of-type(4) dt,
  #about .area03 dl:nth-of-type(8) dt,
  #about .area03 dl:nth-of-type(1) dt {
    align-self: center;
  }
  #about .area03 dl:nth-of-type(1) dt {
    /*padding: 23.4px 0;*/
  }
  #about .area03 dl:nth-of-type(2) dt {
    padding: 23.4px 0;
  }
  #about .area03 dl:nth-of-type(4) dt {
    padding: 15px 0;
  }
  #about .area03 dl:nth-of-type(8) dt {
    padding: 34.2px 0;
  }
  #about .area03 h3 {
    margin-top: 40px;
    font-size: 25px;
    line-height: 37px;
    margin-bottom: 20.7px;
  }
  #about .area03 h3 span {
    margin-bottom: 2.5px;
  }
  #about .area03 .map {
    max-width: 335px;
    margin: 0 auto 90px;
  }
  #about .area03 .map_in {
    padding-bottom: 107.39%;
  }
  #about .title_next_flex .cnt_text01::after {
    left: 0;
    right: 0;
    margin: auto;
    width: 237px;
    bottom: 0;
  }
  #about .area02 picture::before {
    height: 203.63px;
    width: 321.66px;
    top: 13.1px;
  }
  #about .area02 .box01 picture::before {
    right: -13.1px;
  }
  #about .area02 .box02 picture::before {
    left: -13.1px;
  }
  #about .area02 .box03 picture::before {
    right: -13.1px;
  }
  #about .title_bottom_grid {
    width: 96%;
  }
  #about .title_bottom_container .text01 {
    font-size: 20px;
    line-height: 36px;
  }
  #about .title_bottom_container .text02 {
    font-size: 14px;
    line-height: 28px;
    margin-top: 18px;
  }
  #about .area03 h2 span:nth-of-type(2) {
    max-width: 200px;
  }
  #about .area02 .flex_box_pro .text_g .cnt_text span.company_name {
    font-size: 15px;
    display: block;
  }
  #about .area02 .flex_box_pro .text_g .cnt_text span.span_pc_name {
    display: none;
  }
  #about .area02 .flex_box_pro .text_g .cnt_text span.span_sp_name {
    display: block;
    padding-left: 15px;
  }
  #about .area02 .flex_box_pro .text_g .cnt_text {
    line-height: 28px;
  }
  #about .area03 dl:nth-of-type(4) dt {
    padding: 22.2px 0;
  }
  /*----------
03.individuals_service
----------*/
  #individuals_service .cnt_in {
    width: 100%;
    max-width: 335px;
  }
  #individuals_service .pan {
    width: 89.33%;
  }
  #individuals_service .title_ptn01 .title {
    padding: 0 43.3px 0 15.3px;
    position: absolute;
    font-size: 22px;
    line-height: 32.76px;
  }
  #individuals_service .title_ptn01 {
    padding: 74.98px 0;
  }
  #individuals_service .title_bottom_block {
    width: 96%;
  }
  #individuals_service .cnt_text01 {
    font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 28px;
    margin-top: 28px;
    margin-bottom: 48px;
  }
  #individuals_service .common_h2 {
    font-size: 30px;
    line-height: 44px;
    margin-bottom: 30px;
  }
  #individuals_service .area01 .flex_big_box {
    display: block;
  }
  #individuals_service .area01 .flex_big_box .cnt_img {
    width: 100%;
    max-width: 335px;
    margin-bottom: 20px;
  }
  #individuals_service .area01 .flex_big_box .cnt_img {
    width: 100%;
  }
  #individuals_service .area01 .flex_box_sm {
    width: 100%;
    max-width: 335px;
  }
  #individuals_service .cnt_text_nm {
    max-width: 40.41px;
  }
  #individuals_service .box_sm_in .cnt_text {
    font-size: 16px;
    line-height: 24px;
    margin-left: 48px;
  }
  #individuals_service .cnt_text_nm::after {
    height: 69px;
    bottom: 0;
    margin: auto;
    right: -24px;
  }
  #individuals_service .area01 .flex_big_box p {
    font-size: 14px;
    line-height: 28px;
    margin-top: 6px;
    margin-bottom: 0;
  }
  #individuals_service .area01 .flex_big_box {
    padding-bottom: 26px;
  }
  #individuals_service .area01 .flex_big_box02,
  #individuals_service .area01 .flex_big_box03 {
    padding-top: 30px;
  }
  #individuals_service .check_area {
    margin-top: 38.5px;
  }
  #individuals_service .check_area::before {
    height: 195px;
  }
  #individuals_service .attention::before {
    width: 83.29%;
    height: 285px;
    transform: skewX(-4deg);
  }
  #individuals_service .attention::after {
    width: 83.29%;
    height: 285px;
    transform: skewX(-4deg);
    top: 8.5px;
    right: 20px;
    margin: 0;
  }
  #individuals_service .attention .cnt_text {
    font-size: 14px;
    line-height: 20px;
    max-width: 236px;
    margin-left: 52.4px;
  }
  #individuals_service .attention {
    padding: 19.1px 0 20.1px;
  }
  #individuals_service .attention .bold_box {
    flex-direction: column;
    justify-content: center;
    max-width: 202px;
    margin: 17px auto 17px;
    align-items: center;
  }
  #individuals_service .cnt_bold_bg {
    font-size: 26px;
    line-height: 37px;
  }
  #individuals_service .attention .cnt_plus {
    width: 13.81px;
    height: 13.81px;
    margin-top: 5.595px;
    margin-bottom: 5.595px;
  }
  #individuals_service .attention .cnt_plus span {
    width: 13.81px;
  }
  #individuals_service .attention .cnt_plus span:nth-of-type(1) {
    margin-top: 6.405px;
  }
  #individuals_service .attention .cnt_plus span:nth-of-type(2) {
    transform: rotate(90deg);
    margin-top: -1.5px;
  }
  #individuals_service .attention .cnt_bold {
    font-size: 24px;
    line-height: 35px;
  }
  #individuals_service .area02 .bg .flex_box.cnt_in {
    max-width: 335px;
    width: 89.33%;
  }
  #individuals_service .area02 .bg .main_ptn .text_area {
    width: 100%;
  }
  #individuals_service .area02 .bg .box01.flex_box,
  #individuals_service .area02 .bg .box03.flex_box {
    margin-bottom: 59.5px;
    width: 100%;
    display: block;
    margin-top: 64.5px;
  }
  #individuals_service .area02 .bg .box03.flex_box {
    margin-bottom: 0;
  }
  #individuals_service .area02 .bg .box02.flex_box {
    margin-bottom: 59.5px;
    display: block;
    width: 100%;
  }
  #individuals_service .area02 .bg::before {
    width: 100%;
    height: 1672px;
    bottom: 0;
    z-index: 0;
  }
  #individuals_service .area03 .flex {
    display: block;
  }
  #individuals_service .area03 {
    padding-bottom: 60px;
    padding-top: 60px;
  }
  #individuals_service .area03 .flex .cnt_text {
    font-size: 16px;
    line-height: 24px;
    margin-left: 0;
    margin-top: 5px;
    margin-bottom: 33.5px;
  }
  #individuals_service .area03 .common_h2 {
    /*margin-bottom: 0;*/
    font-size: 30px;
    line-height: 44px;
    margin-bottom: 7.5px;
  }
  #individuals_service .area03 .common_h2 span {
    font-size: 14px;
    line-height: 20px;
  }
  #individuals_service .area03 .flow_flex {
    display: block;
  }
  #individuals_service .area03 .flow_flex .cnt_text {
    /*padding: 41.5px 109px;*/
    font-size: 20px;
    line-height: 29px;
    text-align: center;
    padding: 12.5px 0;
    width: 100%;
  }
  #individuals_service .area03 .cnt_img {
    /*transform: rotate(90deg);*/
    width: 12px;
    height: 8px;
    display: block;
  }
  #individuals_service .area03 .cnt_img,
  #individuals_service .area03 .flow_flex .cnt_img04 {
    /*margin: 6px auto;*/
    display: block;
    margin: 6px auto 10px;
  }
  #individuals_service .area03 .flow_flex .cnt_text04,
  #individuals_service .area03 .flow_flex .cnt_text05 {
    margin-top: 0;
  }
  #individuals_service .area02 .bg .flex_box h2 {
    margin-bottom: 15px;
    line-height: 20px;
  }
  #individuals_service .area02 .bg .flex_box h2 span {
    font-size: 22px;
    line-height: 32px;
    letter-spacing: 0.08em;
    margin-top: 2px;
  }
  #individuals_service .area02 .bg .main_ptn p {
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.08em;
    margin-bottom: 0;
  }
  #individuals_service .area02 .bg {
    padding-bottom: 25.4px;
  }
  #individuals_service .area03 .flow_flex .cnt_box {
    display: block;
  }
  #individuals_service .area03 .flow_flex .cnt_text_06 {
    line-height: 24px;
    letter-spacing: 0.08em;
    font-size: 14px;
    width: 100%;
    margin-top: 6px;
  }
  #individuals_service .title_ptn01.title_section {
    margin-bottom: 187.5px;
  }
  #individuals_service .check_area_h2 {
    padding-top: 34.6px;
    margin-bottom: 49.1px;
    font-size: 20px;
    line-height: 29px;
  }
  /*----------
04.other_service
----------*/
  #other_service .area01 .flex_box {
    max-width: 335px;
    margin: 30px auto 0;
  }
  #other_service .area01 {
    margin-bottom: 27.5px;
  }
  #other_service .area01 .main_ptn .text_area {
    width: 100%;
  }
  #other_service .area01 .main_ptn .text_area p {
    margin-bottom: 0;
  }
  #other_service .area01 h2 {
    font-size: 22px;
    line-height: 35px;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
  }
  #other_service .area01 .main_ptn picture {
    margin-bottom: 18.5px;
  }
  #other_service .check_area_h2 {
    margin-bottom: 27.9px;
  }
  #other_service .check_area ul {
    margin-bottom: 79.8px;
  }
  #other_service .check_area {
    margin-top: 26.5px;
  }
  /*----------
16.corporation_service
----------*/
  #corporation_service .title_ptn01 .title {
    padding-left: 15.744px;
    line-height: 32.76px;
  }
  #corporation_service .area01 .flex_box {
    display: block;
    margin: 0 auto;
    max-width: 346px;
    width: 100%;
  }
  #corporation_service .area01 .main_ptn .text_area {
    width: 100%;
  }
  #corporation_service .area01 {
    padding: 30px 0 16px;
  }
  #corporation_service .area01 .main_ptn picture {
    width: 100%;
    margin-bottom: 15.5px;
  }
  #corporation_service .area01 h2 {
    font-size: 22px;
    line-height: 35px;
    letter-spacing: 0.04em;
    margin-bottom: 7.5px;
  }
  #corporation_service .area01 .main_ptn p {
    margin-bottom: 0;
  }
  #corporation_service .area02 .cnt_in {
    max-width: 335px;
    width: 89.33%;
  }
  #corporation_service .area02 {
    padding: 20px 0 37.5px;
    background-color: #f2f7f6;
  }
  #corporation_service .area03 .check_area_h2 {
    padding-top: 34.6px;
    margin-bottom: 49.1px;
    font-size: 20px;
    line-height: 29px;
  }
  #corporation_service .check_area ul {
    margin-bottom: 87.1px;
  }
  #corporation_service .check_area ul {
    font-size: 16px;
  }
  #corporation_service .title_bottom_block {
    width: 96%;
  }
  #corporation_service .area01 .main_ptn picture img {
    height: auto;
    object-fit: contain;
  }
  /*----------
19.faq
----------*/
  #faq .flex_box_link {
    max-width: 335px;
    margin-top: 21px;
  }
  #faq .flex_box_link a {
    padding-bottom: 14px;
  }
  #faq .flex_box_link a::before {
    bottom: 18px;
    right: 0;
  }
  #faq .flex_box_link .cnt_text:nth-child(2) {
    margin-top: 30px;
  }
  #faq .area01 {
    margin-top: 80.5px;
  }
  #faq h2 {
    font-size: 18px;
    line-height: 26px;
    padding-bottom: 21.8px;
    margin-bottom: 30.3px;
  }
  #faq dl {
    max-width: 335px;
    margin: 0 auto;
  }
  #faq dt {
    align-items: flex-start;
    padding: 29px 0 15px;
  }
  #faq dt .q_text {
    margin-top: 9px;
    max-width: 259px;
  }
  #faq dt::after {
    right: 0;
    top: 34px;
  }
  #faq section {
    margin-top: 80.5px;
  }
  #faq section:last-child {
    margin-bottom: 80.5px;
  }
  #faq dd .flex {
    display: flex;
    max-width: 315.63px;
    margin-left: 0;
  }
  #faq dd .cnt_text {
    max-width: 296px;
  }
  #faq dt.active {
    padding-bottom: 15px;
  }
  #faq .flex_box_link .cnt_text {
    width: 100%;
  }
  #faq .flex_box_link .cnt_text:nth-child(3),
  #faq .flex_box_link .cnt_text:nth-child(4) {
    margin-top: 30px;
  }
  #faq .area0area01 .cnt_in {
    text-align: center;
  }
  #faq .area0area02 .cnt_in {
    text-align: center;
  }
  #faq .area0area03 .cnt_in {
    text-align: center;
  }
  #faq .area0area04 .cnt_in {
    text-align: center;
  }
  #faq h2 {
    display: inline-block;
  }
  #faq h2::after {
    width: 100%;
  }
  #faq dl {
    text-align: left;
  }
  /*----------
20.company
----------*/
  #company .area01 h2 {
    font-size: 22px;
    font-weight: 500;
    line-height: 32px;
    margin-bottom: 15.5px;
  }
  #company .area01 {
    padding: 43px 0 98.5px;
  }
  #company .area01 dl {
    display: block;
    margin-bottom: 0;
  }
  #company .area01 dl dt,
  #company .area01 dl dt.dt_outer,
  #company .area01 dl:nth-child(6) dt,
  #company .area01 dl:nth-child(7) dt {
    width: 100%;
    text-align: left;
    padding: 8.5px 0 8.5px 14px;
  }
  #company .area01 dl dd {
    font-size: 15px;
    padding: 20px 0;
  }
  #about .area02 .flex_box_pro_in {
    display: unset;
  }
  #about .area02 .cnt_img {
    width: 35.82%;
    float: left;
    clear: both;
    margin-right: 12px;
    margin-bottom: 5px;
  }
  #about .area02 .flex_box_pro .text_g {
    padding: 14.8px 0 10px 12px;
    width: auto;
  }
  #about .area02 .flex_box_pro .text_g p {
    font-size: 12px;
    line-height: 22px;
    padding-bottom: 0;
    padding-right: 10px;
  }
}

@media only screen and (max-width: 360px) {
  /*----------
02.about
----------*/
  #about .title_next_flex h3 {
    font-size: 20px;
  }
  #about .cnt_text02 {
    font-size: 14px;
  }
  #about .area01 .main_ptn p {
    width: 89.33%;
  }
  #about .area01 .main_ptn h2 {
    width: 89.33%;
  }
  #about .area02 h4 {
    font-size: 15px;
  }
  #about .area02 picture::before {
    height: 180.85px;
    width: 285.5px;
  }
  /*----------
03.individuals_service
----------*/
  #individuals_service .cnt_in {
    width: 90.53%;
  }
  #individuals_service .area02 .bg .flex_box picture {
    max-width: 270px;
  }
  #individuals_service .area02 .bg .flex_box.box01 picture::before,
  #individuals_service .area02 .flex_box.box03 picture::before,
  #individuals_service .area02 .bg .flex_box.box02 picture::before {
    width: 290px;
    left: -10px;
  }
  #individuals_service .box_sm_in .cnt_text {
    font-size: 14px;
  }
  #individuals_service .attention .cnt_text {
    font-size: 12px;
    margin-left: 32.4px;
  }
  #individuals_service .attention .cnt_bold {
    font-size: 22px;
  }
  #individuals_service .cnt_bold_bg {
    font-size: 24px;
  }
  #individuals_service .area03 .flex .cnt_text {
    font-size: 14px;
  }
  #individuals_service .cnt_text01 {
    font-size: 14px;
  }
  /*----------
16.corporation_service
----------*/
  #corporation_service .area01 .flex_box {
    width: 89.33%;
  }
  #corporation_service .area01 h2 {
    font-size: 21px;
  }
  #corporation_service .common_h2 {
    font-size: 28px;
  }
  #corporation_service .num_area .box_sm_in .cnt_text {
    font-size: 13px;
  }
  #corporation_service .num_area p {
    font-size: 12px;
  }
  /*----------
19.faq
----------*/
  #faq dt .q_text {
    font-size: 14px;
  }
  #faq dd .cnt_text {
    font-size: 12px;
  }
  #faq .cnt_q {
    margin-right: 6px;
  }
  #faq dt::after {
    top: auto;
    bottom: 20px;
  }
}

@media screen and (max-width: 480px) {
  .pc {
    display: none;
  }
  #mv {
    margin-top: 78px;
  }
  #individuals_service .title_ptn01 {
    width: 100%;
  }
  #individuals_service .title_ptn01 .title,
  #corporation_service .title_ptn01 .title {
    padding: 0 14.3px 0 14.3px;
    font-size: 20px;
    top: 66%;
    left: 3%;
    transform: initial;
  }

  .title_bottom_container .text01 {
    font-size: 14px;
    line-height: 1.6;
  }
  #individuals_service .title_ptn01.title_section {
    margin-bottom: 200px;
  }
  #individuals_service .area01 .cnt_img img {
    height: 220px;
  }
  #individuals_service .area01 .cnt_text_nm span,
  #corporation_service .area02 .cnt_text_nm span {
    font-size: 40px;
    font-weight: 800;
  }
  #individuals_service .box_sm_in .cnt_text {
    margin-left: 32px;
  }
  #individuals_service .area01 .flex_big_box p {
    line-height: 2;
    margin-top: 8px;
  }
  #individuals_service .check_area {
    margin-top: 12.5px;
    padding: 16px 0;
  }
  #individuals_service .check_area_h2,
  #corporation_service .area03 .check_area_h2 {
    padding-top: 34.6px;
    margin-bottom: 40.1px;
    font-size: 6vw;
    width: 100%;
  }
  #individuals_service .area02.check_area ul {
    font-size: 18px;
  }
  .check_area_h2 span {
    margin-bottom: 4.5px;
  }
  #individuals_service .area02.check_area ul li {
    padding-left: 0;
  }
  #individuals_service .attention::before {
    width: 100%;
    height: 285px;
    transform: skewX(-4deg);
  }
  #individuals_service .attention::after {
    width: 100%;
    top: 9px;
    right: -8px;
  }
  #individuals_service .attention .cnt_text {
    max-width: 292px;
    margin: 0 auto;
  }
  #individuals_service .attention .bold_box {
    max-width: 280px;
  }
  #individuals_service .attention .cnt_bold {
    font-size: 22px;
  }
  #individuals_service .title_ptn01.title_section {
    background-position: 0px -26px;
  }
  #individuals_service .title_bottom_block,
  #corporation_service .title_bottom_block {
    width: 100%;
  }
  .title_bottom_grid,
  .title_bottom_block {
    padding: 30px 16px 17px;
  }
  #individuals_service .title_bottom_container .text01,
  .title_bottom_container .text01 em {
    font-weight: 400;
  }
  #individuals_service .cnt_in,
  .num_area_h2,
  .check_area_h2,
  #individuals_service .area01 .flex_big_box .cnt_img,
  #individuals_service .area01 .flex_box_sm {
    max-width: initial;
  }
  #individuals_service .cnt_in {
    width: 96%;
  }
  .num_area_h2,
  .check_area_h2 {
    font-size: 24px;
    line-height: 36px;
    margin: 0 auto 24px;
    width: 96%;
  }
  .check_area ul {
    max-width: 360px;
    margin: 0 auto 40px;
  }
  #corporation_service .title_ptn01.title_section {
    width: 100%;
    background-position: 0px -22px;
    margin-bottom: 138.7px;
  }
  #corporation_service .title_ptn01.title_section.municipality {
    background-position: 0 385px;
  }
  #corporation_service .area01 h2 {
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 28px;
  }
  #corporation_service .area01 {
    padding: 32px 0;
  }
  #corporation_service .area02 {
    padding: 37px 0;
  }
  #corporation_service .num_area_h2 {
    margin-bottom: 16px;
  }
  #individuals_service .check_area_h2 {
    padding-top: 34.6px;
    margin-bottom: 40.1px;
    font-size: 6vw;
  }
  .check_area {
    padding: 32px 0;
  }
  .check_area li {
    padding-left: 0;
  }
  #individuals_service .area03 {
    padding-bottom: 100px;
  }
}
