@charset "UTF-8";
/**************************************************
サブ共通    
**************************************************/
main .head .head_inner {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

main .head .head_inner.case {
  flex-direction: column;
}

main .head .head_inner.blog::after {
  content: none;
}

main .head .head_inner::after {
  content: "";
  display: block;
  width: 8.33vw;
  height: 8.33vw;
  max-width: 160px;
  max-height: 160px;
  min-width: 80px;
  min-height: 80px;
  border-radius: 100%;
  background-color: #FFFFFF;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  position: absolute;
}

main .head .head_inner h1 {
  width: 100%;
}

main .head .head_inner h1.blog {
  position: unset !important;
  transform: translate(0%);
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

main .head .head_inner h2::after {
  content: "";
  display: block;
  width: 2.0833vw;
  max-width: 40px;
  height: 2px;
  background-color: #2CA6E0;
  margin: 1.04vw auto;
}

main .head .head_inner .area_wrap {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

main .head .head_inner .area_wrap p {
  border-radius: 5px;
}

main .anchor_wrap {
  padding-top: 0.78125vw;
  padding-bottom: 0.78125vw;
}

main .anchor_wrap.partners_anchor_wrap {
  display: none;
}

main .anchor_wrap .switch {
  display: none !important;
}

main .anchor_wrap .switch .material-symbols-outlined {
  transition: 0.3s;
}

main .anchor_wrap .switch.open .material-symbols-outlined {
  transform: rotate(180deg);
}

main .anchor_wrap aside {
  gap: 0.52vw 2.604vw;
  display: none;
}

main .anchor_wrap aside a:hover {
  color: #025C9A;
}

main aside.section_anchor.reasons_anchor ul li a {
  width: auto;
  max-width: 220px;
  padding-left: 1.04vw;
  padding-right: 1.04vw;
}

main aside.section_anchor ul {
  gap: 2.08333vw;
}

main aside.section_anchor ul li a {
  max-width: 200px;
  width: 10.4166vw;
  border-bottom: 1px solid #2CA6E0;
}

main aside.section_anchor ul li a:hover {
  color: #025C9A;
}

main .breadcrumbs_wrap {
  padding-top: 0.78125vw;
  padding-bottom: 0.78125vw;
  border-top: 1px solid #525863;
}

main .breadcrumbs_wrap .breadcrumbs {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

main .breadcrumbs_wrap .breadcrumbs a,
main .breadcrumbs_wrap .breadcrumbs span {
  font-size: clamp(12px, 0.7291666667vw, 14px);
  letter-spacing: 1px;
}

main .breadcrumbs_wrap .breadcrumbs a:hover {
  color: #025C9A;
}

main .marker {
  display: inline;
  padding: 0 4px 2px 4px;
  background: linear-gradient(transparent 77%, #FFF3C1 0%);
}

main .marker.marker_white {
  background: linear-gradient(transparent 77%, #FFFFFF 0%);
}

main .marker.marker_blue {
  background: linear-gradient(transparent 77%, #DFEFF4 0%);
}

main .marker.marker_blue02 {
  background: linear-gradient(transparent 77%, #EDFAFF 0%);
}

main .marker.marker_yl02 {
  padding-bottom: 0;
  background: linear-gradient(transparent 70%, #FFD643 70%, #FFD643 85%, transparent 85%);
}

main .yl_deco::after {
  content: "";
  display: block;
  max-width: 30px;
  width: 1.5625vw;
  min-width: 15px;
  height: 1px;
  background-color: #F5AA00;
  margin: 1.04vw auto 0;
}

.radius20 {
  border-radius: 1.04vw !important;
}

.p_blue::before {
  content: "";
  display: block;
  border-radius: 100%;
  border: 1px solid #F5AA00;
  margin-right: 0.625vw;
}

.p_blue.f_18::before {
  width: 0.625vw;
  height: 0.625vw;
}

.h_border {
  border-bottom: 2px solid #F5AA00;
  padding-bottom: 0.46vw;
}

.h_border.h_border_1 {
  border-bottom: 1px solid #F5AA00;
}

.main_wiz_index.active {
  align-items: flex-end !important;
}

.main_wiz_index .index_wrap {
  border: 1px solid #DEE7EA;
  width: 16.40625vw;
  z-index: 100;
  background-color: #FFFFFF;
}

.main_wiz_index .index_wrap ul li {
  margin-bottom: 0.7vw;
}

.main_wiz_index .index_wrap ul li a {
  opacity: 0.5;
  position: relative;
  line-height: 1.2;
  display: flex;
  align-items: baseline;
}

.main_wiz_index .index_wrap ul li a span {
  line-height: 1.2;
}

.main_wiz_index .index_wrap ul li a::before {
  content: "";
  display: block;
  width: 0.52vw;
  height: 0.52vw;
  max-width: 10px;
  max-height: 10px;
  min-width: 4px;
  min-height: 4px;
  border-radius: 100%;
  background-color: #F5AA00;
  transition: 0.3s;
  opacity: 0;
  margin-right: 0.52vw;
}

.main_wiz_index .index_wrap ul li a:hover {
  opacity: 1;
  color: #025C9A;
}

.main_wiz_index .index_wrap ul li a:hover span {
  color: #025C9A;
}

.main_wiz_index .index_wrap ul li a:hover::before {
  opacity: 1;
}

.main_wiz_index .index_wrap ul li a.toc_highlight {
  opacity: 1;
  color: #025C9A;
}

.main_wiz_index .index_wrap ul li a.toc_highlight span {
  color: #025C9A;
}

.main_wiz_index .index_wrap ul li a.toc_highlight::before {
  opacity: 1;
}

.main_wiz_index .index_wrap.is_fixed {
  position: sticky;
  top: 100px;
}

.main_wiz_index .index_wrap.active {
  position: relative;
}

.main_wiz_index .contents_wrap {
  width: calc(100% - 16.40625vw - 2.60416vw);
}

.main_wiz_index .contents_wrap section.bg_gray02 {
  position: relative;
  z-index: 1;
}

.main_wiz_index .contents_wrap section.bg_gray02::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background-color: #F7F7F7;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}

.pagetitle {
  clip-path: polygon(0 min(3.125vw, 60px), 50% min(0.5208333333vw, 10px), 100% min(3.125vw, 60px), 100% calc(100% - min(3.125vw, 60px)), 50% calc(100% - min(0.5208333333vw, 10px)), 0 calc(100% - min(3.125vw, 60px)));
  container-type: inline-size;
}
.pagetitle .bg {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
.pagetitle .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pagetitle .txbox {
  min-height: 28.8541666667cqw;
  padding: min(0.5208333333vw, 10px) 10px min(3.125vw, 60px) 16.7708333333%;
}
.pagetitle .txbox .eg {
  margin-bottom: min(0.3645833333vw, 7px);
}
.pagetitle .txbox .eg.f_36 {
  letter-spacing: 0.0555555556em;
}
.pagetitle .txbox h2 {
  margin-bottom: min(0.7291666667vw, 14px);
}
.pagetitle .txbox h2.f_65 {
  letter-spacing: 0.0307692308em;
}
.pagetitle .txbox h1 {
  order: 1;
  border-top: 1px solid #fff;
  padding-top: min(0.625vw, 12px);
}
.pagetitle .txbox h1.f_24 {
  letter-spacing: 0.0416666667em;
}

main .breadcrumbs_wrap {
  border-top: none;
  padding: min(0.46875vw, 9px) 0 0;
  margin-bottom: min(6.09375vw, 117px);
}
main .breadcrumbs_wrap .breadcrumbs {
  width: 83.2%;
}
main .breadcrumbs_wrap .breadcrumbs a,
main .breadcrumbs_wrap .breadcrumbs span {
  font-size: clamp(12px, 0.8333333333vw, 16px);
  letter-spacing: 0.125em;
}

main {
  /*----------------------------------------------------------------

  会社案内

  ----------------------------------------------------------------*/
}
main .company01 {
  margin-bottom: min(7.1875vw, 138px);
}
main .company01 .head {
  padding: 0 7px;
  flex-wrap: wrap;
  gap: min(1.875vw, 36px) 1.3157894737%;
  margin-bottom: min(2.4479166667vw, 47px);
}
main .company01 .head .eg.f_36 {
  letter-spacing: 0.0555555556em;
}
main .company01 .head h3.f_40 {
  letter-spacing: 0.05em;
}
main .company01 .head small {
  width: 100%;
  text-align: center;
}
main .company01 .head small.f_28,
main .company01 .head small * {
  letter-spacing: 0.0714285714em;
}
main .company01 .company01_inner {
  flex-wrap: wrap;
  gap: min(1.875vw, 36px) 2.1875%;
  container-type: inline-size;
  min-width: min(630px, 100% - 20px);
}
main .company01 .company01_inner .item {
  width: 48.90625%;
  padding: min(2.734375cqw, 35px) 6.484375%;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - min(3.125vw, 60px)), calc(100% - min(3.125vw, 60px)) 100%, 0 100%);
}
main .company01 .company01_inner .item h4 {
  text-align: center;
  margin-bottom: min(0.3645833333vw, 7px);
}
main .company01 .company01_inner .item h4 small {
  margin-bottom: 0.546875cqw;
}
main .company01 .company01_inner .item h4 small.f_28 {
  letter-spacing: 0.0714285714em;
}
main .company01 .company01_inner .item h4 span.f_36 {
  letter-spacing: 0.0555555556em;
}
main .company02 {
  clip-path: polygon(0 min(2.8645833333vw, 55px), 50% 0, 100% min(2.8645833333vw, 55px), 100% calc(100% - min(2.8645833333vw, 55px)), 50% 100%, 0 calc(100% - min(2.8645833333vw, 55px)));
  padding: min(9.4270833333vw, 181px) 0 min(8.8541666667vw, 170px) 0;
  margin-bottom: min(6.5104166667vw, 125px);
}
main .company02 .head {
  -moz-column-gap: 1.832460733%;
       column-gap: 1.832460733%;
}
main .company02 .head:first-child {
  padding-left: 10px;
  margin-bottom: min(2.7083333333vw, 52px);
}
main .company02 .head .eg.f_36 {
  letter-spacing: 0.0555555556em;
}
main .company02 .head h3.f_40,
main .company02 .head h4.f_40 {
  letter-spacing: 0.05em;
}
main .company02 .top {
  padding: min(10.5729166667vw, 203px) 10px min(7.03125vw, 135px) 16.9791666667%;
  margin-bottom: min(5.9895833333vw, 115px);
}
main .company02 .top .bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
main .company02 .top .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
}
main .company02 .top .catch {
  margin-bottom: min(2.7604166667vw, 53px);
}
main .company02 .top .catch p {
  line-height: 2.1;
}
main .company02 .top .data {
  margin-bottom: min(3.1770833333vw, 61px);
}
main .company02 .top .data .center {
  -moz-column-gap: 12px;
       column-gap: 12px;
  margin-bottom: min(0.78125vw, 15px);
}
main .company02 .top .data .list {
  border-top: 1px solid #000;
  padding-top: min(0.78125vw, 15px);
}
main .company02 .top .text {
  max-width: 685px;
}
main .company02 .top + .head {
  padding-right: 25px;
  margin-bottom: min(2.6041666667vw, 50px);
}
main .company02 .bottom {
  flex-wrap: wrap;
  gap: 30px 5.46875%;
  overflow-x: clip;
  container-type: inline-size;
  min-width: min(322px, 100% - 20px);
}
main .company02 .bottom .item {
  width: max(15.625%, 135px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #0e7abc;
  text-align: center;
}
main .company02 .bottom .item time {
  margin: max(2.96875cqw, 20px) 0 max(0.78125cqw, 5px);
}
main .company02 .bottom .item .title.f_18.lh_14 {
  min-height: calc(clamp(14px, 0.9375vw, 18px) * 1.4 * 3);
  align-content: center;
}
main .company02 .bottom .item::before {
  content: "";
  position: absolute;
  top: 43%;
  left: 0;
  transform: translate(-100%, -50%);
  width: 5.46875cqw;
  border-bottom: 4px dashed #0e7abc;
}
main .company03 {
  padding-bottom: min(1.1458333333vw, 22px);
  margin-bottom: min(6.7708333333vw, 130px);
}
main .company03 .head {
  -moz-column-gap: 1.433882103%;
       column-gap: 1.433882103%;
  padding-right: 1.9270833333%;
  margin-bottom: min(3.6458333333vw, 70px);
}
main .company03 .head .eg.f_36 {
  letter-spacing: 0.0555555556em;
}
main .company03 .head h3.f_40 {
  letter-spacing: 0.05em;
}
main .company03 .company03_inner {
  flex-wrap: wrap;
  gap: min(2.7604166667vw, 53px) 5.78125%;
  container-type: inline-size;
  min-width: min(630px, 100% - 20px);
}
main .company03 .company03_inner::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 74.9369791667%;
  aspect-ratio: 1438.79/778.59;
  background: url(../img/company/philosophy-bg.webp) no-repeat center/cover;
  z-index: -1;
}
main .company03 .company03_inner .item {
  text-align: center;
  box-shadow: 10px 10px 10px rgba(19, 59, 115, 0.1);
}
main .company03 .company03_inner .item:not(.full) {
  width: 47.109375%;
  border-top-left-radius: 1.6583747927% 4.4247787611%;
  border-top-right-radius: 1.6583747927% 4.4247787611%;
  border-bottom-left-radius: 1.6583747927% 4.4247787611%;
  border-bottom-right-radius: 1.6583747927% 4.4247787611%;
  padding: min(2.734375cqw, 35px) 5.46875cqw;
}
main .company03 .company03_inner .item:not(.full) .eg {
  margin-bottom: 0.546875cqw;
}
main .company03 .company03_inner .item:not(.full) h4 {
  padding-top: 0.390625cqw;
  margin-bottom: 1.25cqw;
}
main .company03 .company03_inner .item:not(.full) .txs .tx .heading {
  padding: min(0.78125cqw, 10px);
  border-top-left-radius: 2.1598272138% 11.4942528736%;
  border-top-right-radius: 2.1598272138% 11.4942528736%;
  border-bottom-left-radius: 2.1598272138% 11.4942528736%;
  border-bottom-right-radius: 2.1598272138% 11.4942528736%;
}
main .company03 .company03_inner .item:not(.full) .txs .tx .heading .f_28.lh_12 {
  min-height: calc(clamp(16px, 1.45vw, 28px) * 1.2 * 2);
  align-content: center;
}
main .company03 .company03_inner .item.full {
  width: 100%;
  border-top-left-radius: 0.78125% 3.2786885246%;
  border-top-right-radius: 0.78125% 3.2786885246%;
  border-bottom-left-radius: 0.78125% 3.2786885246%;
  border-bottom-right-radius: 0.78125% 3.2786885246%;
  padding: min(2.734375cqw, 35px) 6.015625cqw min(3.90625cqw, 50px);
}
main .company03 .company03_inner .item.full .eg {
  margin-bottom: 0.390625cqw;
}
main .company03 .company03_inner .item.full h4 {
  padding-top: 0.859375cqw;
  margin-bottom: 1.640625cqw;
}
main .company03 .company03_inner .item.full .txs {
  flex-wrap: wrap;
  gap: 20px 3.4666666667%;
}
main .company03 .company03_inner .item.full .txs .tx {
  width: 31.0222222222%;
}
main .company03 .company03_inner .item.full .txs .tx .heading {
  padding: min(0.9375cqw, 12px);
  border-top-left-radius: 2.8653295129% 17.2413793103%;
  border-top-right-radius: 2.8653295129% 17.2413793103%;
  border-bottom-left-radius: 2.8653295129% 17.2413793103%;
  border-bottom-right-radius: 2.8653295129% 17.2413793103%;
}
main .company03 .company03_inner .item.full .txs:has(.tx .heading .f_28.lh_12) .tx .heading .f_24 {
  min-height: calc(clamp(16px, 1.45vw, 28px) * 1.2);
  align-content: center;
}
main .company03 .company03_inner .item .eg.f_19 {
  letter-spacing: 0.1052631579em;
}
main .company03 .company03_inner .item h4 {
  display: inline-block;
  border-top: 1px solid #34c4e7;
}
main .company03 .company03_inner .item .txs {
  flex-wrap: wrap;
}
main .company03 .company03_inner .item .txs .tx .text {
  margin-top: min(1.171875cqw, 15px);
}
main .company04 {
  clip-path: polygon(0 min(3.125vw, 60px), 50% min(0.5208333333vw, 10px), 100% min(3.125vw, 60px), 100% 100%, 50% calc(100% - min(3.125vw, 60px)), 0 100%);
  padding: min(10.3125vw, 198px) 0 min(10.15625vw, 195px);
  margin-bottom: min(5.7291666667vw, 110px);
}
main .company04 .head {
  -moz-column-gap: 1.8372703412%;
       column-gap: 1.8372703412%;
  padding-left: 0.78125%;
  margin-bottom: min(2.9166666667vw, 56px);
}
main .company04 .head .eg.f_36 {
  letter-spacing: 0.0555555556em;
}
main .company04 .head h3.f_40 {
  letter-spacing: 0.05em;
}
main .company04 .data {
  min-width: min(322px, 100% - 20px);
}
main .company04 .data table {
  width: 100%;
}
main .company04 .data table tr:first-child th,
main .company04 .data table tr:first-child td {
  padding-top: 0 !important;
}
main .company04 .data table tr th,
main .company04 .data table tr td {
  padding-bottom: 15px !important;
  border-bottom: 1px solid #032437;
}
main .company04 .data table tr th.tpt_16,
main .company04 .data table tr td.tpt_16 {
  padding-top: min(0.8333333333vw, 16px);
}
main .company04 .data table tr th.tpt_18,
main .company04 .data table tr td.tpt_18 {
  padding-top: min(0.9375vw, 18px);
}
main .company04 .data table tr th.tpt_20,
main .company04 .data table tr td.tpt_20 {
  padding-top: min(1.0416666667vw, 20px);
}
main .company04 .data table tr th.tpt_22,
main .company04 .data table tr td.tpt_22 {
  padding-top: min(1.1458333333vw, 22px);
}
main .company04 .data table tr th.tpt_26,
main .company04 .data table tr td.tpt_26 {
  padding-top: min(1.3541666667vw, 26px);
}
main .company04 .data table tr th.tpt_28,
main .company04 .data table tr td.tpt_28 {
  padding-top: min(1.4583333333vw, 28px);
}
main .company04 .data table tr th {
  padding: 0 min(0.7291666667vw, 14px);
}
main .company04 .data table tr th::before {
  content: "◆";
  color: #0e7abc;
  margin-right: 12px;
}
main .company04 .data table tr td {
  padding: 0 min(0.7291666667vw, 14px) 0 min(5.625vw, 108px);
}
main .company04 .data table tr td ul li::before {
  content: "・";
}
main .company05 {
  margin-bottom: min(6.4583333333vw, 124px);
}
main .company05 .head {
  -moz-column-gap: 2.8795811518%;
       column-gap: 2.8795811518%;
  padding-left: 0.5208333333%;
  margin-bottom: min(2.03125vw, 39px);
}
main .company05 .head .eg.f_36 {
  letter-spacing: 0.0555555556em;
}
main .company05 .head h3.f_40 {
  letter-spacing: 0.05em;
}
main .company05 .data {
  text-align: center;
  margin-bottom: min(3.125vw, 60px);
}
main .company05 .map {
  width: 100%;
  aspect-ratio: 1920/392;
  max-height: 392px;
  min-height: 200px;
}
main .company05 .map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main .company05 {
  /* &:has(+ .top07){
    position: relative;
    &::before{
      content: "";
      position: absolute;
      width: 100%;
      aspect-ratio: 1920/60;
      background-color: #133b73;
      top: calc(100% + min(vwCalc(184,1920),184px));
      left: 0;
      transform: translateY(calc(-100% + 1px));
      clip-path: polygon(0 0, 50% calc(100% - min(vwCalc(10,1920),10px)), 100% 0, 100% 100%, 0 100%);
    }
  } */
}
main {
  /**************************************************
  お知らせ一覧   
  **************************************************/
}
main .news01 {
  padding: 0 max((100% - 1280px) / 2, 10px);
  margin-bottom: min(12.2395833333vw, 235px);
}
main .news01 .news01_inner {
  -moz-column-gap: 12.5%;
       column-gap: 12.5%;
}
main .news01 .news01_inner .contents {
  flex: 1;
}
main .news01 .news01_inner .contents article {
  border-bottom: 1.5px solid #0e7abc;
  padding-bottom: min(1.5625vw, 30px);
}
main .news01 .news01_inner .contents article .head {
  -moz-column-gap: 2.5%;
       column-gap: 2.5%;
  margin-bottom: min(0.5729166667vw, 11px);
}
main .news01 .news01_inner .contents article .head time.f_18 {
  letter-spacing: 0.0555555556em;
}
main .news01 .news01_inner .contents article .head .cate:not(:has(a)),
main .news01 .news01_inner .contents article .head .cate a {
  padding: min(0.0520833333vw, 1px) min(0.625vw, 12px);
}
main .news01 .news01_inner .contents article .head .cate a.color_133b73:hover {
  color: #133b73;
}
main .news01 .news01_inner .contents article h3.f_32,
main .news01 .news01_inner .contents article h3 .f_32 {
  letter-spacing: 0.09375em;
}
main .news01 .news01_inner .contents article h3 a.color_333:hover {
  color: #333;
}
main .news01 .news01_inner .contents article:not(:last-child) {
  margin-bottom: min(0.9635416667vw, 18.5px);
}
main .news01 .side {
  min-width: min(25%, 320px);
}
main .news01 .side .cate .title,
main .news01 .side .arcaive .title {
  padding: min(0.4166666667vw, 8px);
  margin-bottom: min(1.0416666667vw, 20px);
}
main .news01 .side .cate ul li,
main .news01 .side .arcaive ul li {
  padding-bottom: min(0.78125vw, 15px);
  padding-right: min(0.4166666667vw, 8px);
  border-bottom: 1px solid #0d3781;
}
main .news01 .side .cate ul li a,
main .news01 .side .arcaive ul li a {
  display: flex;
  align-items: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(14px, 0.9375vw, 18px);
  letter-spacing: 0;
  color: #032437;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
main .news01 .side .cate ul li a::after,
main .news01 .side .arcaive ul li a::after {
  content: "";
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: url(../img/common/arow-white.webp) no-repeat center/60% auto #0E7ABC;
  margin-left: auto;
}
main .news01 .side .cate ul li a:hover,
main .news01 .side .arcaive ul li a:hover {
  color: #032437;
}
main .news01 .side .cate ul li:not(:last-child),
main .news01 .side .arcaive ul li:not(:last-child) {
  margin-bottom: min(1.0416666667vw, 20px);
}
main .news01 .side .cate {
  margin-bottom: min(1.875vw, 36px);
}
main .news01 {
  /* &:has(+ .top07){
    position: relative;
    &::before{
      content: "";
      position: absolute;
      width: 100%;
      aspect-ratio: 1920/60;
      background-color: #133b73;
      top: calc(100% + min(vwCalc(295,1920),295px));
      left: 0;
      transform: translateY(calc(-100% + 1px));
      clip-path: polygon(0 0, 50% calc(100% - min(vwCalc(10,1920),10px)), 100% 0, 100% 100%, 0 100%);
    }
  } */
}
main {
  /**************************************************
  お知らせ詳細   
  **************************************************/
}
main .newsdetail01 {
  padding: 0 max((100% - 1280px) / 2, 10px);
  margin-bottom: min(12.2395833333vw, 235px);
}
main .newsdetail01 .newsdetail01_inner {
  -moz-column-gap: 12.5%;
       column-gap: 12.5%;
}
main .newsdetail01 .newsdetail01_inner .contents {
  flex: 1;
}
main .newsdetail01 .newsdetail01_inner .contents .head {
  -moz-column-gap: 2.5%;
       column-gap: 2.5%;
  margin-bottom: min(0.5729166667vw, 11px);
}
main .newsdetail01 .newsdetail01_inner .contents .head time.f_18 {
  letter-spacing: 0.0555555556em;
}
main .newsdetail01 .newsdetail01_inner .contents .head .cate:not(:has(a)),
main .newsdetail01 .newsdetail01_inner .contents .head .cate a {
  padding: min(0.0520833333vw, 1px) min(0.625vw, 12px);
  text-decoration: none;
}
main .newsdetail01 .newsdetail01_inner .contents .head .cate a.color_133b73:hover {
  color: #133b73;
}
main .newsdetail01 .newsdetail01_inner .contents a {
  text-decoration: underline;
}
main .newsdetail01 .newsdetail01_inner .contents h1 {
  border-bottom: 1px solid #0E7ABC;
  padding-bottom: min(0.5208333333vw, 10px);
}
main .newsdetail01 .newsdetail01_inner .contents h1.f_32 {
  letter-spacing: 0.09375em;
}
main .newsdetail01 .newsdetail01_inner .contents h2 {
  border-left: 6px solid #0E7ABC;
  padding-left: 2.5%;
}
main .newsdetail01 .newsdetail01_inner .contents h2.f_28 {
  letter-spacing: 0.1071428571em;
}
main .newsdetail01 .newsdetail01_inner .contents h3 {
  border-bottom: 1px solid #0E7ABC;
}
main .newsdetail01 .newsdetail01_inner .contents h3.f_24 {
  letter-spacing: 0.125em;
}
main .newsdetail01 .newsdetail01_inner .contents h4 {
  padding: min(0.8333333333vw, 16px);
}
main .newsdetail01 .newsdetail01_inner .contents h4.f_20 {
  letter-spacing: 0.05em;
}
main .newsdetail01 .newsdetail01_inner .contents h5.f_18 {
  letter-spacing: 0.0555555556em;
}
main .newsdetail01 .newsdetail01_inner .contents .link a {
  text-decoration: underline;
}
main .newsdetail01 .newsdetail01_inner .contents .image img {
  width: 100%;
}
main .newsdetail01 .side {
  min-width: min(25%, 1280px);
}
main .newsdetail01 .side .cate .title,
main .newsdetail01 .side .arcaive .title {
  padding: min(0.4166666667vw, 8px);
  margin-bottom: min(1.0416666667vw, 20px);
}
main .newsdetail01 .side .cate ul li,
main .newsdetail01 .side .arcaive ul li {
  padding-bottom: min(0.78125vw, 15px);
  padding-right: min(0.4166666667vw, 8px);
  border-bottom: 1px solid #0d3781;
}
main .newsdetail01 .side .cate ul li a,
main .newsdetail01 .side .arcaive ul li a {
  display: flex;
  align-items: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(14px, 0.9375vw, 18px);
  letter-spacing: 0;
  color: #032437;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
main .newsdetail01 .side .cate ul li a::after,
main .newsdetail01 .side .arcaive ul li a::after {
  content: "";
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: url(../img/common/arow-white.webp) no-repeat center/60% auto #0E7ABC;
  margin-left: auto;
}
main .newsdetail01 .side .cate ul li a:hover,
main .newsdetail01 .side .arcaive ul li a:hover {
  color: #032437;
}
main .newsdetail01 .side .cate ul li:not(:last-child),
main .newsdetail01 .side .arcaive ul li:not(:last-child) {
  margin-bottom: min(1.0416666667vw, 20px);
}
main .newsdetail01 .side .cate {
  margin-bottom: min(1.875vw, 36px);
}
main .newsdetail01 {
  /* &:has(+ .top07){
    position: relative;
    &::before{
      content: "";
      position: absolute;
      width: 100%;
      aspect-ratio: 1920/60;
      background-color: #133b73;
      top: calc(100% + min(vwCalc(295,1920),295px));
      left: 0;
      transform: translateY(calc(-100% + 1px));
      clip-path: polygon(0 0, 50% calc(100% - min(vwCalc(10,1920),10px)), 100% 0, 100% 100%, 0 100%);
    }
  } */
}
main {
  /*----------------------------------------------------------------
  Service 事業内容
  ----------------------------------------------------------------*/
}
main .service01 {
  max-width: 1280px;
  margin-bottom: min(7.2916666667vw, 140px);
  justify-content: space-between;
}
main .service01 .txtbox {
  width: 50.0390930414%;
}
main .service01 .image {
  width: 37.5293197811%;
}
main .service02 {
  position: relative;
  background-color: #f4f4f4;
  padding: min(7.7604166667vw, 149px) 0 min(7.96875vw, 153px);
}
main .service02:after, main .service02:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: min(3.125vw, 60px);
  background-color: #fff;
}
main .service02:after {
  bottom: 0;
  clip-path: polygon(0 min(3.125vw, 60px), 50% min(0.2604166667vw, 5px), 100% min(3.125vw, 60px));
}
main .service02:before {
  top: 0;
  clip-path: polygon(100% calc(100% - min(3.125vw, 60px)), 50% calc(100% - min(0.2604166667vw, 5px)), 0 calc(100% - min(3.125vw, 60px)));
}
main .service02 .service02_inner {
  max-width: 1280px;
  align-items: flex-start;
}
main .service02 .lists {
  width: 75.0586395622%;
  border-top: 2px dashed #032437;
  border-bottom: 2px dashed #032437;
}
main .service02 .lists ul {
  display: flex;
  justify-content: space-between;
  margin: 0;
  list-style: none;
}
main .service02 .lists ul:nth-child(1) {
  border-bottom: 2px dashed #032437;
}
main .service02 .lists ul:nth-child(2) {
  width: 60%;
}
main .service02 .lists ul li {
  padding: min(1.0416666667vw, 20px) 0 !important;
  line-height: 1.2;
  letter-spacing: 0em;
  white-space: nowrap;
}
main .service03 {
  border-bottom: 2px solid;
  -o-border-image: linear-gradient(90deg, #0e7abc, #34c4e7) 1;
     border-image: linear-gradient(90deg, #0e7abc, #34c4e7) 1;
  padding: min(6.25vw, 120px) 0;
}
main .service03.noborder {
  border: none;
}
main .service03.img-right .txtbox {
  margin-left: auto;
}
main .service03.img-right .image img {
  border-radius: 20px 0 0 20px;
}
main .service03.img-left .txtbox {
  order: 1;
}
main .service03.img-left .image img {
  border-radius: 0 20px 20px 0;
}
main .service03 .service03_inner {
  gap: 8.3333333333%;
}
main .service03 .txtbox {
  width: 33.3333333333%;
}
main .service03 .txtbox .head {
  -moz-column-gap: min(1.0416666667vw, 20px);
       column-gap: min(1.0416666667vw, 20px);
}
main .service03 .txtbox .head .icon img {
  width: clamp(50px, 5.2083333333vw, 100px);
}
main .service03 .txtbox ul li {
  padding: min(0.3125vw, 6px) min(1.0416666667vw, 20px);
  background-color: #f4f4f4;
  border-radius: 30px;
}
main .service03 .image {
  width: 41.6666666667%;
}
main .service03 .image img {
  width: 100%;
}
main .service04 {
  position: relative;
  background-color: #d9f8ff;
  padding: min(9.375vw, 180px) 0 min(9.375vw, 180px);
}
main .service04:after, main .service04:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: min(3.125vw, 60px);
  background-color: #fff;
}
main .service04:after {
  bottom: 0;
  clip-path: polygon(0 min(3.125vw, 60px), 50% min(0.2604166667vw, 5px), 100% min(3.125vw, 60px));
}
main .service04:before {
  top: 0;
  clip-path: polygon(100% calc(100% - min(3.125vw, 60px)), 50% calc(100% - min(0.2604166667vw, 5px)), 0 calc(100% - min(3.125vw, 60px)));
}
main .service04 .service04_inner {
  width: 80%;
  max-width: 1120px;
}
main .service04 .headarea {
  max-width: 620px;
}
main .service04 .step-area {
  position: relative;
}
main .service04 .step-area:after {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translatex(-50%);
  border-right: dashed clamp(2px, 0.2083333333vw, 4px) #0e7abc;
}
main .service04 .step-area .step-content {
  position: relative;
  z-index: 1;
  padding: min(1.5625vw, 30px);
  background-color: #fff;
  border-radius: clamp(6px, 0.4166666667vw, 8px);
}
main .service04 .step-area .step-content > .col-5 .step {
  width: clamp(50px, 4.1666666667vw, 80px);
  height: clamp(50px, 4.1666666667vw, 80px);
  border-radius: clamp(10px, 0.5208333333vw, 10px);
  background-color: #0e7abc;
}
main .service04 .step-area .step-content > .col-5 .step p {
  text-align: center;
}
main .service04 .step-area .step-content > .col-5 .step .fz_bold.f_18 {
  letter-spacing: 0em;
}
main .service04 .step-area .step-content > .col-6 {
  padding-right: min(2.0833333333vw, 40px);
}
main .service04 .step-area .step-linkbtn a {
  padding: clamp(10px, 0.7291666667vw, 14px) clamp(15px, 1.0416666667vw, 20px);
  width: clamp(240px, 16.6666666667vw, 320px);
  background-color: #133b73;
  color: #fff;
  border-radius: 4px;
  box-shadow: 3px 3px 5px rgba(19, 59, 115, 0.6);
}
main .service04 .step-area .step-linkbtn a::after {
  content: "";
  width: clamp(15px, 1.0416666667vw, 20px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: url(../img/service/service-btn-arrow.webp) no-repeat center #fff;
  background-size: clamp(13px, 0.78125vw, 15px);
}
main .service04 .step-area .step-linkbtn a:hover {
  background-color: #fff;
  border: 1px solid #133b73;
  color: #133b73;
}
main .service04 .step-area .step-linkbtn a:hover::after {
  background: url(../img/common/arow-white.webp) no-repeat center/60% auto #133b73;
}
main .service05 {
  max-width: 1280px;
}
main .service05 .txtbox {
  width: 37.5%;
}
main .service05 .areas {
  align-items: flex-start;
  width: 50%;
}
main .service05 .areas .area01,
main .service05 .areas .area02 {
  width: 50%;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
main .service05 .areas .area01 h4,
main .service05 .areas .area02 h4 {
  width: clamp(120px, 9.8958333333vw, 190px);
  background-color: #0e7abc;
  color: #fff;
  border-radius: 20px;
}
main .service05 .areas .area01 {
  background-color: #e9e9e9;
  background-image: url(../img/service/service-area1.webp);
  background-repeat: no-repeat;
  background-size: clamp(70px, 5.8854166667vw, 113px);
  background-position: right 2.1354166667vw bottom 2.4479166667vw;
}
main .service05 .areas .area02 {
  background-color: #d9f8ff;
  background-image: url(../img/service/service-area2.webp);
  background-repeat: no-repeat;
  background-size: clamp(100px, 10.5208333333vw, 202px);
  background-position: right 1.5104166667vw bottom 4.0625vw;
}