@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;
}

main .pagetitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: clamp(300px, 20.8333333333vw, 400px);
  position: relative;
}
main .pagetitle .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
main .pagetitle .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main .breadcrumbs_wrap .breadcrumbs {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1.3;
  font-size: clamp(12px, 0.7291666667vw, 14px);
  letter-spacing: 0.0714285714em;
}
main .breadcrumbs_wrap .breadcrumbs a, main .breadcrumbs_wrap .breadcrumbs span {
  color: #333;
}
main {
  /*----------------------------------------------------------------

  法人・個人オーナーの方へ

  ----------------------------------------------------------------*/
}
main .individual01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
main .individual01 .inner .catch {
  text-align: center;
  width: 100%;
}
main .individual01 .inner .contents {
  width: 100%;
  -moz-column-gap: 4.9442896936%;
       column-gap: 4.9442896936%;
}
main .individual01 .inner .contents .textbox {
  flex: 1;
}
main .individual01 .inner .contents .textbox .text {
  max-width: 635px;
}
main .individual01 .inner .contents .image {
  width: 50.139275766%;
}
main .individual01 .inner .contents .image img {
  width: 100%;
  border-radius: 10px;
}
main .individual02 {
  clip-path: polygon(0 min(9.765625vw, 187.5px), 100% 0, 100% 100%, 0 100%);
  position: relative;
  overflow-x: clip;
}
main .individual02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f4f6f8;
  z-index: -1;
}
main .individual02::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -17.8041543027%);
  width: 131.5104166667%;
  aspect-ratio: 2525/1685;
  border-radius: 50%;
  background-color: #fff;
  z-index: -1;
}
main .individual02 .inner {
  width: clamp(720px, 75.9635416667vw, 1458.5px);
  margin-left: auto;
  margin-right: auto;
}
main .individual02 .inner .head {
  text-align: center;
  position: relative;
}
main .individual02 .inner .head > * {
  position: relative;
}
main .individual02 .inner .head::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(21.144278607%, 33.8524035206%);
  width: 27.5625642784%;
  aspect-ratio: 604/577;
  background: url(../img/individual/problem-shape.webp) no-repeat center/cover;
}
main .individual02 .inner .head .h2 {
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .individual02 .inner .head .heading {
  text-align: center;
}
main .individual02 .inner .contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 3.9583333333vw, 76px) 4.0109701748%;
  position: relative;
}
main .individual02 .inner .contents .item {
  container-type: inline-size;
}
main .individual02 .inner .contents .item .bubble {
  border-radius: 30px;
  -moz-column-gap: 4.2857142857cqw;
       column-gap: 4.2857142857cqw;
  min-height: clamp(120px, 12.2395833333vw, 235px);
  position: relative;
  border: 3px solid #001e58;
  z-index: 1;
}
main .individual02 .inner .contents .item .bubble::after {
  content: "";
  width: calc(5.3571428571% - 4.5px);
  height: 4px;
  position: absolute;
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
}
main .individual02 .inner .contents .item .bubble .shape {
  position: absolute;
  bottom: 0px;
  left: 50%;
  translate: -50% 100%;
  width: 5.3571428571%;
  aspect-ratio: 75/56;
  filter: drop-shadow(2px 0px 0px #001e58) drop-shadow(-2px 0px 0px #001e58) drop-shadow(0px 2px 0px #001e58);
  z-index: -1;
}
main .individual02 .inner .contents .item .bubble .shape span {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/individual/coment.webp);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-mask: url(../img/individual/coment.webp) no-repeat center/cover;
          mask: url(../img/individual/coment.webp) no-repeat center/cover;
}
main .individual02 .inner .contents .item .bubble .shape span::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
main .individual02 .inner .contents .item .bubble .shape {
  /* .mask{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/individual/coment.webp);
    background-clip: text;
    mask: url(../img/individual/coment.webp)no-repeat center/cover;
    span{
      display: block;
      width: 100%;
      height: 100%;
    }
    &:not(.bd){
      left: calc(50% - 1px);
      width: calc(100% - 11px);
      height: calc(100% - 5px);
    }
    &.bd{
      width: 100%;
      height: 100%;
      &::before{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: #001e58;
      }
    }
  } */
}
main .individual02 .inner .contents .item .bubble .icon {
  flex-shrink: 0;
  width: 17.1428571429cqw;
}
main .individual02 .inner .contents .item .bubble .icon img {
  width: 100%;
}
main .individual02 .inner .contents .item .bubble .text {
  flex: 1;
}
main .individual02 .inner .contents .item:nth-child(even) .shape {
  transform: rotatey(180deg);
}
main .individual03 .inner {
  width: clamp(720px, 77.0833333333vw, 1480px);
  margin-left: auto;
  margin-right: auto;
}
main .individual03 .inner .intro {
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
}
main .individual03 .inner .intro .chara {
  width: clamp(100px, 8.90625vw, 171px);
  flex-shrink: 0;
}
main .individual03 .inner .intro .chara img {
  width: 100%;
}
main .individual03 .inner .intro .catch {
  text-align: left;
}
main .individual03 .inner .contents {
  gap: clamp(30px, 5.0520833333vw, 97px) 2.7027027027%;
}
main .individual03 .inner .contents .item {
  width: 48.6486486486%;
  container-type: inline-size;
}
main .individual03 .inner .contents .item .itemhead {
  border-radius: 5px;
  -moz-column-gap: 5.5555555556cqw;
       column-gap: 5.5555555556cqw;
  min-height: clamp(56px, 3.75vw, 72px);
}
main .individual03 .inner .contents .item .itemhead .check {
  flex-shrink: 0;
  width: clamp(36px, 2.6041666667vw, 50px);
}
main .individual03 .inner .contents .item .itemhead .check img {
  width: 100%;
}
main .individual03 .inner .contents .item .text {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
main .individual04 .inner {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
}
main .individual04 .inner .head {
  text-align: center;
}
main .individual04 .inner .head .h2 {
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .individual04 .inner .head .heading {
  text-align: center;
}
main .individual04 .inner .contents {
  display: flex;
  flex-direction: column;
  row-gap: clamp(30px, 2.6041666667vw, 50px);
}
main .individual04 .inner .contents .item {
  border-radius: 10px;
}
main .individual04 .inner .contents .item .content {
  width: clamp(720px, 69.21875vw, 1329px);
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100% - 20px);
  -moz-column-gap: 6.0948081264%;
       column-gap: 6.0948081264%;
}
main .individual04 .inner .contents .item .txbox {
  flex: 1;
  align-content: center;
}
main .individual04 .inner .contents .item .image {
  width: 40.6320541761%;
}
main .individual04 .inner .contents .item .image img {
  width: 100%;
  border-radius: 5px;
}
main .individual05 .inner {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
}
main .individual05 .inner .contents {
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
  row-gap: clamp(30px, 2.0833333333vw, 40px);
  flex-wrap: wrap;
}
main .individual05 .inner .contents .item {
  width: 31.25%;
  display: block;
}
main .individual05 .inner .contents .item:is(a):hover {
  color: #fff;
}
main .individual05 .inner .contents .item:is(a):hover .image img {
  transform: scale(1.1);
}
main .individual05 .inner .contents .item .image {
  margin-bottom: clamp(20px, 1.6145833333vw, 31px);
  position: relative;
  overflow: hidden;
}
main .individual05 .inner .contents .item .image::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../img/individual/individual05-bg.webp) no-repeat center/cover;
  z-index: -1;
}
main .individual05 .inner .contents .item .image img {
  width: 100%;
}
main .individual05 .inner .contents .item .content {
  -moz-column-gap: 20px;
       column-gap: 20px;
}
main .individual05 .inner .contents .item .content .title {
  flex: 1;
}
main .individual05 .inner .contents .item .content .arowbox {
  width: 18.8%;
  aspect-ratio: 94/42;
  border-radius: 38px;
}
main .individual05 .inner .contents .item .content .arowbox .arowmask {
  width: 18.085106383%;
}
main {
  /*----------------------------------------------------------------

  産廃業者・施工業者の方へ

  ----------------------------------------------------------------*/
}
main .vendor01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
main .vendor01 .inner .catch {
  text-align: center;
  width: 100%;
}
main .vendor01 .inner .contents {
  width: 100%;
  -moz-column-gap: 4.9442896936%;
       column-gap: 4.9442896936%;
}
main .vendor01 .inner .contents .textbox {
  flex: 1;
}
main .vendor01 .inner .contents .textbox .text {
  max-width: 635px;
}
main .vendor01 .inner .contents .image {
  width: 50.139275766%;
}
main .vendor01 .inner .contents .image img {
  width: 100%;
  border-radius: 10px;
}
main .vendor02 {
  clip-path: polygon(0 min(9.765625vw, 187.5px), 100% 0, 100% 100%, 0 100%);
  position: relative;
  overflow-x: clip;
}
main .vendor02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f4f6f8;
  z-index: -1;
}
main .vendor02::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -17.8041543027%);
  width: 131.5104166667%;
  aspect-ratio: 2525/1685;
  border-radius: 50%;
  background-color: #fff;
  z-index: -1;
}
main .vendor02 .inner {
  width: clamp(720px, 75.9635416667vw, 1458.5px);
  margin-left: auto;
  margin-right: auto;
}
main .vendor02 .inner .head {
  text-align: center;
  position: relative;
}
main .vendor02 .inner .head > * {
  position: relative;
}
main .vendor02 .inner .head::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(21.144278607%, 33.8524035206%);
  width: 27.5625642784%;
  aspect-ratio: 604/577;
  background: url(../img/vendor/problem-shape.webp) no-repeat center/cover;
}
main .vendor02 .inner .head .h2 {
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .vendor02 .inner .head .heading {
  text-align: center;
}
main .vendor02 .inner .contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(30px, 3.9583333333vw, 76px) 4.0109701748%;
  position: relative;
}
main .vendor02 .inner .contents .item {
  container-type: inline-size;
}
main .vendor02 .inner .contents .item .bubble {
  border-radius: 30px;
  -moz-column-gap: 4.2857142857cqw;
       column-gap: 4.2857142857cqw;
  min-height: clamp(120px, 12.2395833333vw, 235px);
  position: relative;
  border: 3px solid #001e58;
  z-index: 1;
}
main .vendor02 .inner .contents .item .bubble::after {
  content: "";
  width: calc(5.3571428571% - 4.5px);
  height: 4px;
  position: absolute;
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
}
main .vendor02 .inner .contents .item .bubble .shape {
  position: absolute;
  bottom: 0px;
  left: 50%;
  translate: -50% 100%;
  width: 5.3571428571%;
  aspect-ratio: 75/56;
  filter: drop-shadow(2px 0px 0px #001e58) drop-shadow(-2px 0px 0px #001e58) drop-shadow(0px 2px 0px #001e58);
  z-index: -1;
}
main .vendor02 .inner .contents .item .bubble .shape span {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/individual/coment.webp);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-mask: url(../img/individual/coment.webp) no-repeat center/cover;
          mask: url(../img/individual/coment.webp) no-repeat center/cover;
}
main .vendor02 .inner .contents .item .bubble .shape span::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
main .vendor02 .inner .contents .item .bubble .shape {
  /* .mask{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(../img/individual/coment.webp);
    background-clip: text;
    mask: url(../img/individual/coment.webp)no-repeat center/cover;
    span{
      display: block;
      width: 100%;
      height: 100%;
    }
    &:not(.bd){
      left: calc(50% - 1px);
      width: calc(100% - 11px);
      height: calc(100% - 5px);
    }
    &.bd{
      width: 100%;
      height: 100%;
      &::before{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: #001e58;
      }
    }
  } */
}
main .vendor02 .inner .contents .item .bubble .icon {
  flex-shrink: 0;
  width: 17.1428571429cqw;
}
main .vendor02 .inner .contents .item .bubble .icon img {
  width: 100%;
}
main .vendor02 .inner .contents .item .bubble .text {
  flex: 1;
}
main .vendor02 .inner .contents .item:nth-child(even) .shape {
  transform: rotatey(180deg);
}
main .vendor03 .inner {
  width: clamp(720px, 77.0833333333vw, 1480px);
  margin-left: auto;
  margin-right: auto;
}
main .vendor03 .inner .intro {
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
}
main .vendor03 .inner .intro .chara {
  width: clamp(100px, 8.90625vw, 171px);
  flex-shrink: 0;
}
main .vendor03 .inner .intro .chara img {
  width: 100%;
}
main .vendor03 .inner .intro .catch {
  text-align: left;
}
main .vendor03 .inner .contents {
  gap: clamp(30px, 5.0520833333vw, 97px) 2.7027027027%;
}
main .vendor03 .inner .contents .item {
  width: 48.6486486486%;
  container-type: inline-size;
}
main .vendor03 .inner .contents .item .itemhead {
  border-radius: 5px;
  -moz-column-gap: 5.5555555556cqw;
       column-gap: 5.5555555556cqw;
  min-height: clamp(56px, 3.75vw, 72px);
}
main .vendor03 .inner .contents .item .itemhead .check {
  flex-shrink: 0;
  width: clamp(36px, 2.6041666667vw, 50px);
}
main .vendor03 .inner .contents .item .itemhead .check img {
  width: 100%;
}
main .vendor03 .inner .contents .item .text {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
main .vendor04 .inner {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
}
main .vendor04 .inner .head {
  text-align: center;
}
main .vendor04 .inner .head .h2 {
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .vendor04 .inner .head .heading {
  text-align: center;
}
main .vendor04 .inner .contents {
  display: flex;
  flex-direction: column;
  row-gap: clamp(30px, 2.6041666667vw, 50px);
}
main .vendor04 .inner .contents .item {
  border-radius: 10px;
}
main .vendor04 .inner .contents .item .content {
  width: clamp(720px, 69.21875vw, 1329px);
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100% - 20px);
  -moz-column-gap: 6.0948081264%;
       column-gap: 6.0948081264%;
}
main .vendor04 .inner .contents .item .txbox {
  flex: 1;
  align-content: center;
}
main .vendor04 .inner .contents .item .image {
  width: 40.6320541761%;
}
main .vendor04 .inner .contents .item .image img {
  width: 100%;
  border-radius: 5px;
}
main .vendor05 .inner {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
}
main .vendor05 .inner .contents {
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
  row-gap: clamp(30px, 2.0833333333vw, 40px);
  flex-wrap: wrap;
}
main .vendor05 .inner .contents .item {
  width: 31.25%;
  display: block;
}
main .vendor05 .inner .contents .item:is(a):hover {
  color: #fff;
}
main .vendor05 .inner .contents .item:is(a):hover .image img {
  transform: scale(1.1);
}
main .vendor05 .inner .contents .item .image {
  margin-bottom: clamp(20px, 1.6145833333vw, 31px);
  position: relative;
  overflow: hidden;
}
main .vendor05 .inner .contents .item .image::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../img/vendor/vendor05-bg.webp) no-repeat center/cover;
  z-index: -1;
}
main .vendor05 .inner .contents .item .image img {
  width: 100%;
}
main .vendor05 .inner .contents .item .content {
  -moz-column-gap: 20px;
       column-gap: 20px;
}
main .vendor05 .inner .contents .item .content .title {
  flex: 1;
}
main .vendor05 .inner .contents .item .content .arowbox {
  width: 18.8%;
  aspect-ratio: 94/42;
  border-radius: 38px;
}
main .vendor05 .inner .contents .item .content .arowbox .arowmask {
  width: 18.085106383%;
}
main {
  /*----------------------------------------------------------------

  産業廃棄物中間処理

  ----------------------------------------------------------------*/
}
main .disposal01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
main .disposal01 .inner .contents {
  width: 100%;
  -moz-column-gap: 4.9442896936%;
       column-gap: 4.9442896936%;
}
main .disposal01 .inner .contents .text {
  flex: 1;
}
main .disposal01 .inner .contents .image {
  width: 50.139275766%;
}
main .disposal01 .inner .contents .image img {
  width: 100%;
}
main .disposal02 .inner {
  width: clamp(720px, 80.78125vw, 1551px);
  margin-left: auto;
  margin-right: auto;
}
main .disposal02 .inner .left {
  position: sticky;
  top: 100px;
  flex: 1;
}
main .disposal02 .inner .left .h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .disposal02 .inner .contents {
  width: 66.4087685364%;
  container-type: inline-size;
}
main .disposal02 .inner .contents .item {
  border-radius: 10px;
}
main .disposal02 .inner .contents .item .head {
  -moz-column-gap: 5.2427184466cqw;
       column-gap: 5.2427184466cqw;
}
main .disposal02 .inner .contents .item .head .num {
  -webkit-text-stroke: 2px #02a11c;
}
main .disposal03 .h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .disposal03 .title {
  text-align: center;
}
main .disposal03 .data {
  width: clamp(720px, 66.6666666667vw, 1280px);
  margin-left: auto;
  margin-right: auto;
}
main .disposal03 .data table {
  width: 100%;
}
main .disposal03 .data table tr:first-child th,
main .disposal03 .data table tr:first-child td {
  border-top: 1px solid #e6e6e6;
}
main .disposal03 .data table tr th,
main .disposal03 .data table tr td {
  border-bottom: 1px solid #e6e6e6;
  vertical-align: middle;
}
main .disposal03 .data table tr th {
  text-align: center;
}
main .disposal04 .h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .disposal04 .heading {
  text-align: center;
}
main .disposal04 .contents {
  width: clamp(720px, 66.6666666667vw, 1280px);
  margin-left: auto;
  margin-right: auto;
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  row-gap: clamp(30px, 3.125vw, 60px);
}
main .disposal04 .contents .item {
  border-radius: 10px;
}
main .disposal04 .contents .item .txbox {
  flex: 1;
  -moz-column-gap: 2.578125cqw;
       column-gap: 2.578125cqw;
}
main .disposal04 .contents .item .txbox .step {
  width: clamp(40px, 4.6875vw, 90px);
  aspect-ratio: 1/1;
  border-radius: 5px;
  text-align: center;
}
main .disposal04 .contents .item .txbox .step.bg_f4f6f8 {
  border: 3px solid #001e58;
}
main .disposal04 .contents .item .txbox .title {
  flex: 1;
}
main .disposal04 .contents .item .image {
  width: 17.1875cqw;
}
main .disposal04 .contents .item .image img {
  width: 100%;
  border-radius: 10px;
}
main .disposal04 .contents .item:not(:last-child) {
  position: relative;
}
main .disposal04 .contents .item:not(:last-child)::before {
  content: "";
  position: absolute;
  width: 3.125cqw;
  aspect-ratio: 40/15;
  background-color: #001e58;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: calc(clamp(30px, 3.125vw, 60px) / 2 * -1);
  left: 50%;
  transform: translate(-50%, 50%);
}
main {
  /*----------------------------------------------------------------

  産業廃棄物収集運搬

  ----------------------------------------------------------------*/
}
main .transport01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
main .transport01 .inner .catch {
  text-align: center;
}
main .transport01 .inner .contents {
  width: 100%;
  -moz-column-gap: 4.9442896936%;
       column-gap: 4.9442896936%;
}
main .transport01 .inner .contents .text {
  flex: 1;
}
main .transport01 .inner .contents .image {
  width: 50.139275766%;
}
main .transport01 .inner .contents .image img {
  width: 100%;
}
main .transport02 .inner {
  width: clamp(720px, 80.78125vw, 1551px);
  margin-left: auto;
  margin-right: auto;
}
main .transport02 .inner .left {
  position: sticky;
  top: 100px;
  flex: 1;
}
main .transport02 .inner .left .h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .transport02 .inner .contents {
  width: 66.4087685364%;
  container-type: inline-size;
}
main .transport02 .inner .contents .item {
  border-radius: 10px;
}
main .transport02 .inner .contents .item .head {
  -moz-column-gap: 5.2427184466cqw;
       column-gap: 5.2427184466cqw;
}
main .transport02 .inner .contents .item .head .num {
  -webkit-text-stroke: 2px #02a11c;
}
main .transport03 .h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .transport03 .title {
  text-align: center;
}
main .transport03 .data {
  width: clamp(720px, 66.6666666667vw, 1280px);
  margin-left: auto;
  margin-right: auto;
}
main .transport03 .data table {
  width: 100%;
}
main .transport03 .data table tr:first-child th,
main .transport03 .data table tr:first-child td {
  border-top: 1px solid #e6e6e6;
}
main .transport03 .data table tr th,
main .transport03 .data table tr td {
  border-bottom: 1px solid #e6e6e6;
  vertical-align: middle;
}
main .transport03 .data table tr th {
  text-align: center;
}
main .transport04 .h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .transport04 .heading {
  text-align: center;
}
main .transport04 .contents {
  width: clamp(720px, 66.6666666667vw, 1280px);
  margin-left: auto;
  margin-right: auto;
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  row-gap: clamp(30px, 3.125vw, 60px);
}
main .transport04 .contents .item {
  border-radius: 10px;
}
main .transport04 .contents .item .txbox {
  flex: 1;
  -moz-column-gap: 2.578125cqw;
       column-gap: 2.578125cqw;
}
main .transport04 .contents .item .txbox .step {
  width: clamp(40px, 4.6875vw, 90px);
  aspect-ratio: 1/1;
  border-radius: 5px;
  text-align: center;
}
main .transport04 .contents .item .txbox .step.bg_f4f6f8 {
  border: 3px solid #001e58;
}
main .transport04 .contents .item .txbox .title {
  flex: 1;
}
main .transport04 .contents .item .image {
  width: 17.1875cqw;
}
main .transport04 .contents .item .image img {
  width: 100%;
  border-radius: 10px;
}
main .transport04 .contents .item:not(:last-child) {
  position: relative;
}
main .transport04 .contents .item:not(:last-child)::before {
  content: "";
  position: absolute;
  width: 3.125cqw;
  aspect-ratio: 40/15;
  background-color: #001e58;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: calc(clamp(30px, 3.125vw, 60px) / 2 * -1);
  left: 50%;
  transform: translate(-50%, 50%);
}
main {
  /*----------------------------------------------------------------

  取扱可能品目

  ----------------------------------------------------------------*/
}
main .products01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
main .products01 .inner .catch {
  text-align: center;
}
main .products01 .inner .contents {
  width: 100%;
  -moz-column-gap: 4.9442896936%;
       column-gap: 4.9442896936%;
}
main .products01 .inner .contents .text {
  flex: 1;
}
main .products01 .inner .contents .image {
  width: 50.139275766%;
}
main .products01 .inner .contents .image img {
  width: 100%;
}
main .products02 {
  clip-path: polygon(0 min(9.765625vw, 187.5px), 100% 0, 100% calc(100% - min(9.765625vw, 187.5px)), 0 100%);
}
main .products02 .inner {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
}
main .products02 .inner .head {
  text-align: center;
}
main .products02 .inner .head .h2 {
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .products02 .inner .head .heading {
  text-align: center;
}
main .products02 .inner .contents {
  display: flex;
  flex-direction: column;
  row-gap: clamp(30px, 2.6041666667vw, 50px);
}
main .products02 .inner .contents .block {
  border-radius: 10px;
}
main .products02 .inner .contents .block .content {
  width: clamp(720px, 66.6145833333vw, 1279px);
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100% - 20px);
  -moz-column-gap: 6.0948081264%;
       column-gap: 6.0948081264%;
}
main .products02 .inner .contents .block .textbox {
  flex: 1;
  align-content: center;
}
main .products02 .inner .contents .block .image {
  width: 43.7842064113%;
}
main .products02 .inner .contents .block .image img {
  width: 100%;
  border-radius: 5px;
}
main .products02 .grid_title {
  text-align: center;
  position: relative;
}
main .products02 .grid_title::before, main .products02 .grid_title::after {
  content: "";
  display: inline-block;
  width: clamp(30px, 2.65625vw, 51px);
  height: 1px;
  background-color: #001e58;
  vertical-align: middle;
  margin: 0 clamp(10px, 1.0416666667vw, 20px);
}
main .products02 .grid {
  width: clamp(720px, 76.5625vw, 1470px);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 2.6041666667vw, 50px);
}
main .products02 .grid .item {
  text-align: center;
}
main .products02 .grid .item .image img {
  width: 100%;
  border-radius: 5px;
  aspect-ratio: 330/240;
  -o-object-fit: cover;
     object-fit: cover;
}
main .products02 .grid .item .name {
  margin-top: clamp(10px, 1.0416666667vw, 20px);
}
main .products02 .classify {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
}
main .products02 .classify .classify_head {
  background-color: #001e58;
  border-radius: 10px 10px 0 0;
  text-align: center;
}
main .products02 .classify .classify_body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, 2.2916666667vw, 44px);
}
main .products02 .classify .classify_body .box {
  background-color: #fff;
  position: relative;
}
main .products02 .classify .classify_body .box .shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 6.4267352185%;
  aspect-ratio: 1/1;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
main .products02 .classify .classify_body .box .box_head {
  border-bottom: 1px solid #000817;
  text-align: center;
}
main .products02 .classify .classify_body .box .box_text {
  padding: clamp(20px, 1.8229166667vw, 35px) clamp(20px, 4.84375vw, 93px);
}
main .products02 .classify .classify_body .box .note {
  padding: 0 clamp(20px, 4.84375vw, 93px) clamp(20px, 1.8229166667vw, 35px);
}
main .products03 {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
  border-radius: 10px;
}
main .products03 .section_head {
  text-align: center;
}
main .products03 .section_head .h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
  justify-content: center;
}
main .products03 .section_head .title {
  text-align: center;
}
main .products03 .contents {
  width: clamp(720px, 66.6666666667vw, 1280px);
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100% - 20px);
  -moz-column-gap: 7.96875%;
       column-gap: 7.96875%;
}
main .products03 .contents .textbox {
  flex: 1;
}
main .products03 .contents .image {
  width: 43.75%;
}
main .products03 .contents .image img {
  width: 100%;
  border-radius: 5px;
}
main .products04 {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
}
main .products04 .list_head {
  background-color: #001e58;
  border-radius: 10px 10px 0 0;
  text-align: center;
}
main .products04 .grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 2.6041666667vw, 50px);
}
main .products04 .grid .item {
  background-color: #fff;
  text-align: center;
}
main .products04 .grid .item .image img {
  width: 100%;
  aspect-ratio: 330/200;
  -o-object-fit: cover;
     object-fit: cover;
}
main .products04 .grid .item .name {
  padding: clamp(8px, 0.5208333333vw, 10px) 0;
}
main .products04 .grid .item .desc {
  text-align: left;
  padding: 0 clamp(8px, 0.625vw, 12px) clamp(12px, 0.8333333333vw, 16px);
}
main .products04 .grid .divider {
  grid-column: 1/-1;
  height: 1px;
  background-color: #e6e6e6;
}
main {
  /*----------------------------------------------------------------

  RDF燃料の製造・販売

  ----------------------------------------------------------------*/
}
main .prf01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
main .prf01 .inner .catch {
  text-align: center;
}
main .prf01 .inner .contents {
  width: 100%;
  -moz-column-gap: 5.0139275766%;
       column-gap: 5.0139275766%;
}
main .prf01 .inner .contents .text {
  flex: 1;
}
main .prf01 .inner .contents .image {
  width: 50.139275766%;
}
main .prf01 .inner .contents .image img {
  width: 100%;
}
main .prf02 {
  clip-path: polygon(0 min(9.7916666667vw, 188px), 100% 0, 100% calc(100% - min(9.7916666667vw, 188px)), 0 100%);
}
main .prf02 .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .prf02 .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .prf02 .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .prf02 h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .prf02 .title {
  text-align: center;
}
main .prf02 .contents {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
}
main .prf02 .contents .item {
  border-radius: 10px;
}
main .prf02 .contents .item .card {
  flex-direction: unset;
  -moz-column-gap: 5.3125%;
       column-gap: 5.3125%;
  border: unset;
  border-radius: unset;
}
main .prf02 .contents .item .textbox {
  flex: 1;
}
main .prf02 .contents .item .textbox .title {
  text-align: left;
}
main .prf02 .contents .item .image {
  width: 35%;
}
main .prf02 .contents .item .image img {
  width: 100%;
  border-radius: 5px;
}
main .prf03 .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .prf03 .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .prf03 .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .prf03 h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .prf03 .title {
  text-align: center;
}
main .prf03 .contents {
  width: clamp(720px, 66.40625vw, 1275px);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 2.9803921569%;
       column-gap: 2.9803921569%;
}
main .prf03 .contents .item .image img {
  width: 100%;
  aspect-ratio: 400/240;
  -o-object-fit: cover;
     object-fit: cover;
}
main .prf03 .contents .item .text {
  text-align: center;
}
main .prf03 .contents .item .name {
  text-align: center;
}
main .prf04 {
  position: relative;
  z-index: 0;
}
main .prf04::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: url(../img/rpf/cta-bg2.webp);
}
main .prf04 .bg {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: 10px;
  overflow: hidden;
  width: calc(100% - 80px);
  height: calc(100% - 80px);
  left: 40px;
  top: 40px;
}
main .prf04 .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main .prf04 .bg::after {
  content: "";
  position: absolute;
  inset: 0;
}
main .prf04 .inner {
  position: relative;
  z-index: 2;
  width: clamp(720px, 57.8125vw, 1110px);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: unset;
}
main .prf04 .inner .chara {
  margin-top: -2vw;
  width: 11.7117117117%;
  margin-left: auto;
  margin-right: auto;
}
main .prf04 .inner .chara img {
  width: 100%;
}
main .prf04 .inner .catch {
  text-align: center;
}
main .prf04 .inner .lead {
  text-align: center;
}
main .prf04 .inner .contents {
  display: flex;
  justify-content: center;
  -moz-column-gap: 0.9009009009%;
       column-gap: 0.9009009009%;
}
main .prf04 .inner .contents .item {
  width: 49.5495495495%;
}
main .prf04 .inner .contents .item.tel a {
  position: relative;
  background-color: #fff;
}
main .prf04 .inner .contents .item.tel a:hover::after {
  background-color: #02a11c;
}
main .prf04 .inner .contents .item.tel a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: #02a11c;
  clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
}
main .prf04 .inner .contents .item.tel a::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  background: #fff;
  transition: all 0.5s;
  clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
}
main .prf04 .inner .contents .item.mail a {
  position: relative;
  background-color: #fff;
}
main .prf04 .inner .contents .item.mail a:hover::after {
  background-color: #ff5a00;
}
main .prf04 .inner .contents .item.mail a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: #ff5a00;
  clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
}
main .prf04 .inner .contents .item.mail a::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  background: #fff;
  transition: all 0.5s;
  clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
}
main .prf04 .inner .contents .item a {
  display: block;
  width: 100%;
  height: 100%;
  align-content: center;
}
main .prf04 .inner .contents .item .title {
  text-align: center;
}
main .prf04 .inner .contents .item .content {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 1.8181818182%;
       column-gap: 1.8181818182%;
}
main .prf04 .inner .contents .item .content .iconbox {
  width: 8.5454545455%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
main {
  /*----------------------------------------------------------------

  遺品整理

  ----------------------------------------------------------------*/
}
main .ihin01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
main .ihin01 .inner .catch {
  text-align: center;
}
main .ihin01 .inner .contents {
  width: 100%;
  -moz-column-gap: 5.0139275766%;
       column-gap: 5.0139275766%;
}
main .ihin01 .inner .contents .text {
  flex: 1;
}
main .ihin01 .inner .contents .image {
  width: 50.139275766%;
}
main .ihin01 .inner .contents .image img {
  width: 100%;
  border-radius: 5px;
}
main .ihin02 {
  clip-path: polygon(0 min(9.7916666667vw, 188px), 100% 0, 100% calc(100% - min(9.7916666667vw, 188px)), 0 100%);
  position: relative;
  overflow: hidden;
}
main .ihin02 .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .ihin02 .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .ihin02 .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .ihin02::before {
  content: "";
  background-image: url(../img/remeins/problem-shape.webp);
  aspect-ratio: 402/384;
  background-size: cover;
  background-repeat: no-repeat;
  width: 400px;
  position: absolute;
  right: 16vw;
  top: 12%;
}
main .ihin02 .inner {
  position: relative;
  z-index: 1;
}
main .ihin02 h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .ihin02 .title {
  text-align: center;
}
main .ihin02 .contents {
  width: clamp(720px, 74.8958333333vw, 1438px);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 3.0598052851%;
       column-gap: 3.0598052851%;
}
main .ihin02 .contents .item {
  border-radius: 10px;
  text-align: center;
}
main .ihin02 .contents .item .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 140px;
}
main .ihin02 .contents .item .icon img {
  max-width: 100%;
  max-height: 140px;
}
main .ihin03 .head {
  width: clamp(720px, 74.7395833333vw, 1435px);
  margin-left: auto;
  margin-right: auto;
  -moz-column-gap: 2.787456446%;
       column-gap: 2.787456446%;
}
main .ihin03 .head .chara {
  width: 10.4529616725%;
}
main .ihin03 .head .chara img {
  width: 100%;
}
main .ihin03 .contents {
  width: clamp(720px, 74.7395833333vw, 1435px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
}
main .ihin03 .contents .item {
  -moz-column-gap: 4.8083623693%;
       column-gap: 4.8083623693%;
}
main .ihin03 .contents .item .textbox {
  flex: 1;
}
main .ihin03 .contents .item .image {
  width: 45.2961672474%;
}
main .ihin03 .contents .item .image img {
  width: 100%;
  border-radius: 5px;
}
main .ihin04 .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .ihin04 .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .ihin04 .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .ihin04 h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .ihin04 .title {
  text-align: center;
}
main .ihin04 .data {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
}
main .ihin04 .data table {
  width: 100%;
  border-collapse: collapse;
}
main .ihin04 .data table th,
main .ihin04 .data table td {
  border: 1px solid #bfbfbf;
  text-align: center;
  vertical-align: middle;
}
main .ihin04 .data table thead th {
  background-color: #001e58;
  color: #fff;
}
main .ihin04 .data table thead th:first-child {
  border-left: unset;
}
main .ihin04 .data table thead th:last-child {
  border-right: unset;
}
main .ihin04 .data table tbody td {
  background-color: #fff;
}
main .ihin04 .data table tbody td:first-child {
  border-left: unset;
}
main .ihin04 .data table tbody td:last-child {
  border-right: unset;
}
main .ihin04 .note {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
}
main {
  /*----------------------------------------------------------------

  よくある質問

  ----------------------------------------------------------------*/
}
main .faq01 {
  clip-path: unset !important;
}
main .faq01 .inner {
  width: clamp(720px, 66.6666666667vw, 1280px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  row-gap: clamp(70px, 7.2916666667vw, 140px);
}
main .faq01 .inner .cat_head .shape {
  width: clamp(10px, 2.0833333333vw, 40px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
          mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .faq01 .inner .cat_head .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .faq01 .inner .cat_head h2 {
  flex: 1;
}
main .faq01 .inner .category .cat_head {
  -moz-column-gap: 20px;
       column-gap: 20px;
  margin-bottom: 40px;
}
main .faq01 .inner .category .cat_head .icon {
  width: 40px;
  flex-shrink: 0;
}
main .faq01 .inner .category .cat_head .icon img {
  width: 100%;
}
main .faq_wrap {
  width: 100% !important;
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}
main .faq_wrap .item {
  border: 1px solid #d2d2d2;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
}
main .faq_wrap .item .q {
  border-bottom: 1px solid #d2d2d2;
  -moz-column-gap: 31px;
       column-gap: 31px;
}
main .faq_wrap .item .q .mark {
  width: 70px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #001e58;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  font-size: clamp(18px, 1.3541666667vw, 26px);
  color: #fff;
}
main .faq_wrap .item .q .title {
  flex: 1;
}
main .faq_wrap .item .q .q-a-btn {
  width: 40px;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  background: url(../img/top/do_not_disturb_on_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg) no-repeat center/cover;
}
main .faq_wrap .item .q .q-a-btn.close {
  background-image: url(../img/top/add_circle_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg);
}
main .faq_wrap .item .a .content {
  -moz-column-gap: 31px;
       column-gap: 31px;
}
main .faq_wrap .item .a .content::before {
  content: "";
  width: 70px;
  aspect-ratio: 110/96;
  flex-shrink: 0;
  background: url(../img/top/anserchara.webp) no-repeat center/cover;
}
main .faq_wrap .item .a .content .text {
  flex: 1;
}
main .faq_wrap .item.close .a {
  display: none;
}
main .faq_wrap .item.close .q {
  border-bottom: none;
}
main {
  /*----------------------------------------------------------------

  お問い合わせの流れ

  ----------------------------------------------------------------*/
}
main .flow01 .inner {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
}
main .flow01 .inner .heading {
  text-align: center;
}
main .flow01 .inner .contents {
  display: flex;
  flex-direction: column;
  row-gap: clamp(30px, 4.1666666667vw, 80px);
}
main .flow01 .inner .contents .item {
  padding: clamp(30px, 2.6041666667vw, 50px) clamp(40px, 3.6458333333vw, 70px);
  -moz-column-gap: clamp(40px, 5.5729166667vw, 107px);
       column-gap: clamp(40px, 5.5729166667vw, 107px);
  position: relative;
}
main .flow01 .inner .contents .item:not(:last-child)::after {
  content: "";
  position: absolute;
  width: clamp(40px, 4.1666666667vw, 80px);
  aspect-ratio: 80/40;
  background-color: #001e58;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: calc(clamp(30px, 4.1666666667vw, 80px) / 2 * -1);
  left: 50%;
  transform: translate(-50%, 50%);
  z-index: 1;
}
main .flow01 .inner .contents .item .txbox {
  flex: 1;
}
main .flow01 .inner .contents .item .txbox .head {
  -moz-column-gap: clamp(20px, 1.5625vw, 30px);
       column-gap: clamp(20px, 1.5625vw, 30px);
  align-items: flex-start;
}
main .flow01 .inner .contents .item .txbox .head .step {
  width: clamp(70px, 4.6875vw, 90px);
  aspect-ratio: 1/1;
  border-radius: 5px;
  text-align: center;
  flex-shrink: 0;
}
main .flow01 .inner .contents .item .txbox .head .step.bg_f4f6f8 {
  border: 3px solid #001e58;
  background-color: #fff;
}
main .flow01 .inner .contents .item .txbox .head .body {
  flex: 1;
}
main .flow01 .inner .contents .item .txbox .listbox {
  border-radius: 5px;
  overflow: hidden;
}
main .flow01 .inner .contents .item .txbox .listbox .listhead {
  padding: 9px clamp(20px, 2.8645833333vw, 55px);
  background-color: #e6e6e6;
}
main .flow01 .inner .contents .item .txbox .listbox ul {
  background-color: #fff;
  padding: clamp(15px, 1.0416666667vw, 20px) clamp(30px, 3.125vw, 60px) !important;
}
main .flow01 .inner .contents .item .txbox .listbox ul li {
  position: relative;
  padding-left: 16px;
}
main .flow01 .inner .contents .item .txbox .listbox ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #001e58;
}
main .flow01 .inner .contents .item .txbox .listbox ul li:not(:last-child) {
  margin-bottom: 5px;
}
main .flow01 .inner .contents .item .txbox .highlightbox {
  border-radius: 5px;
  padding: clamp(15px, 1.0416666667vw, 20px) clamp(30px, 3.125vw, 60px);
}
main .flow01 .inner .contents .item .txbox .highlightbox .highlight {
  position: relative;
  padding-left: 16px;
}
main .flow01 .inner .contents .item .txbox .highlightbox .highlight:not(:last-child) {
  margin-bottom: 10px;
}
main .flow01 .inner .contents .item .txbox .highlightbox .highlight::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 6px;
  height: 6px;
  background-color: #001e58;
  border-radius: 10px;
}
main .flow01 .inner .contents .item .txbox .btnblock a {
  min-height: 70px;
  padding: 0 clamp(20px, 2.0833333333vw, 40px);
  border-radius: 5px;
  -moz-column-gap: 20px;
       column-gap: 20px;
  max-width: unset !important;
}
main .flow01 .inner .contents .item .image {
  width: clamp(200px, 30%, 480px);
  flex-shrink: 0;
}
main .flow01 .inner .contents .item .image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main .flow01 .btnblock a {
  width: clamp(200px, 65%, 580px) !important;
  min-height: clamp(40px, 3.6458333333vw, 70px);
  -moz-column-gap: 11.8483412322%;
       column-gap: 11.8483412322%;
  margin-left: auto;
  padding: 0 clamp(12px, 1.5vw, 40px) !important;
}
main .flow01 .btnblock a:hover .arowbox {
  background-color: #001e58 !important;
  border: #fff 1px solid !important;
}
main .flow01 .btnblock a:hover .arowbox .arow {
  background-color: #fff !important;
}
main .flow01 .btnblock a .arowbox {
  width: 14.2180094787%;
  aspect-ratio: 60/32;
  border-radius: 27.75px;
  background-color: #fff;
  border: #001e58 1px solid !important;
  margin-left: auto;
}
main .flow01 .btnblock a .arowbox .arow {
  background-color: #001e58 !important;
}
main .flow01 .btnblock a .arowbox .arowmask {
  width: 26.6666666667%;
}
main {
  /*----------------------------------------------------------------

  マニフェスト・委託契約について

  ----------------------------------------------------------------*/
}
main .manifesto01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
}
main .manifesto01 .inner .heading {
  text-align: center;
}
main .manifesto01 .inner .contents {
  -moz-column-gap: 4.9442896936%;
       column-gap: 4.9442896936%;
}
main .manifesto01 .inner .contents .textbox {
  flex: 1;
}
main .manifesto01 .inner .contents .image {
  width: 50.139275766%;
}
main .manifesto01 .inner .contents .image img {
  width: 100%;
  border-radius: 10px;
}
main .manifesto02 {
  clip-path: polygon(0 min(9.7916666667vw, 188px), 100% 0, 100% calc(100% - min(9.7916666667vw, 188px)), 0 100%);
}
main .manifesto02 .inner {
  width: clamp(720px, 74.8958333333vw, 1438px);
  margin-left: auto;
  margin-right: auto;
}
main .manifesto02 .inner .head {
  text-align: center;
}
main .manifesto02 .inner .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .manifesto02 .inner .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .manifesto02 .inner .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .manifesto02 .inner .head h2 {
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .manifesto02 .inner .intro {
  max-width: 830px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}
main .manifesto02 .inner .sublead {
  text-align: center;
}
main .manifesto02 .inner .cards {
  -moz-column-gap: clamp(20px, 2.2916666667vw, 44px);
       column-gap: clamp(20px, 2.2916666667vw, 44px);
}
main .manifesto02 .inner .cards .card {
  flex: 1;
  border-radius: 10px;
  padding: clamp(30px, 2.0833333333vw, 40px) clamp(10px, 1.5625vw, 30px);
  text-align: center;
  border: unset;
}
main .manifesto02 .inner .cards .card .icon {
  height: clamp(80px, 7.2916666667vw, 140px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: clamp(20px, 1.5625vw, 30px);
}
main .manifesto02 .inner .cards .card .icon img {
  max-height: 100%;
  max-width: 204px;
}
main .manifesto02 .inner .note {
  -moz-column-gap: clamp(15px, 1.5625vw, 30px);
       column-gap: clamp(15px, 1.5625vw, 30px);
}
main .manifesto02 .inner .note .chara {
  width: clamp(80px, 6.25vw, 120px);
  flex-shrink: 0;
}
main .manifesto02 .inner .note .chara img {
  width: 100%;
}
main .manifesto02 .inner .note .bubble {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 10px;
  padding: clamp(20px, 1.3020833333vw, 25px) clamp(25px, 2.7083333333vw, 52px);
  position: relative;
  border: #001e58 solid 2px;
}
main .manifesto02 .inner .note .bubble::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-100%, -50%);
  aspect-ratio: 48/34;
  width: 20px;
  background-image: url(../img/manifesto/what-bubble.png);
  background-size: contain;
  background-repeat: no-repeat;
}
main .manifesto03 .inner {
  width: clamp(720px, 55.8333333333vw, 1072px);
  margin-left: auto;
  margin-right: auto;
}
main .manifesto03 .inner .head {
  text-align: center;
}
main .manifesto03 .inner .head h2 {
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .manifesto03 .inner .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .manifesto03 .inner .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .manifesto03 .inner .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .manifesto03 .inner .contents {
  display: flex;
  flex-direction: column;
  row-gap: clamp(20px, 3.125vw, 60px);
}
main .manifesto03 .inner .contents .item {
  border: 1px solid #001e58;
  border-radius: 10px;
  padding: clamp(20px, 1.5625vw, 30px) clamp(25px, 2.0833333333vw, 40px);
  -moz-column-gap: clamp(20px, 1.6145833333vw, 31px);
       column-gap: clamp(20px, 1.6145833333vw, 31px);
  align-items: flex-start;
  position: relative;
}
main .manifesto03 .inner .contents .item:not(:last-child)::after {
  content: "";
  position: absolute;
  width: clamp(30px, 2.0833333333vw, 40px);
  aspect-ratio: 40/20;
  background-color: #001e58;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: calc(clamp(20px, 3.125vw, 60px) / 2 * -1);
  left: 50%;
  transform: translate(-50%, 50%);
}
main .manifesto03 .inner .contents .item .step {
  width: clamp(70px, 4.6875vw, 90px);
  aspect-ratio: 1/1;
  border-radius: 5px;
  text-align: center;
  flex-shrink: 0;
}
main .manifesto03 .inner .contents .item .step.bg_f4f6f8 {
  border: 2px solid #001e58;
}
main .manifesto03 .inner .contents .item .txbox {
  flex: 1;
}
main .manifesto03 .inner .contents .item .txbox .title {
  border-bottom: 1px solid #d2d2d2;
  padding-bottom: clamp(10px, 1.0416666667vw, 20px);
}
main .manifesto04 {
  clip-path: polygon(0 min(9.7916666667vw, 188px), 100% 0, 100% 100%, 0 100%);
}
main .manifesto04 .inner {
  width: clamp(720px, 68.75vw, 1320px);
  margin-left: auto;
  margin-right: auto;
}
main .manifesto04 .inner .head {
  text-align: center;
}
main .manifesto04 .inner .head h2 {
  justify-content: center;
}
main .manifesto04 .inner .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .manifesto04 .inner .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .manifesto04 .inner .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .manifesto04 .inner .compare {
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
  margin-top: clamp(30px, 3.125vw, 60px);
}
main .manifesto04 .inner .compare .col {
  flex: 1;
  border-radius: 10px;
  overflow: hidden;
}
main .manifesto04 .inner .compare .col .colhead {
  text-align: center;
  padding: clamp(7px, 0.5208333333vw, 20px);
}
main .manifesto04 .inner .compare .col .colbody {
  padding: clamp(20px, 1.5625vw, 30px) clamp(25px, 2.0833333333vw, 40px);
}
main .manifesto04 .inner .compare .col .colbody .image {
  margin-bottom: clamp(20px, 1.5625vw, 30px);
}
main .manifesto04 .inner .compare .col .colbody .image img {
  width: 100%;
  border-radius: 5px;
}
main .manifesto04 .inner .compare .col .colbody .block:not(:last-child) {
  margin-bottom: clamp(15px, 1.5625vw, 30px);
}
main .manifesto04 .inner .compare .col .colbody .block .label {
  text-align: center;
  padding: 3px 8px;
  margin-bottom: 10px;
}
main {
  /*----------------------------------------------------------------

  会社情報

  ----------------------------------------------------------------*/
}
main .company01 .headband {
  position: relative;
  height: clamp(120px, 10.4166666667vw, 200px);
  overflow: hidden;
  margin-bottom: clamp(40px, 4.1666666667vw, 80px);
}
main .company01 .headband::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../img/company/greeting-bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
main .company01 .headband .watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(60px, 7.2916666667vw, 140px);
  opacity: 0.15;
  white-space: nowrap;
  pointer-events: none;
  color: transparent;
  -webkit-text-stroke: 2px #cacaca;
}
main .company01 .headband .headtitle {
  position: relative;
  z-index: 1;
  height: 100%;
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
}
main .company01 .headband .headtitle .shape {
  margin-right: 10px;
}
main .company01 .headband .headtitle h2 {
  margin-bottom: 0;
}
main .company01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
  padding-bottom: clamp(60px, 6.25vw, 120px);
}
main .company01 .inner .contents {
  -moz-column-gap: 4.9442896936%;
       column-gap: 4.9442896936%;
  align-items: flex-start;
}
main .company01 .inner .contents .textbox {
  flex: 1;
}
main .company01 .inner .contents .image {
  width: 50.139275766%;
}
main .company01 .inner .contents .image img {
  width: 100%;
  border-radius: 10px;
}
main .company01 .inner .contents .sign {
  -moz-column-gap: 26px;
       column-gap: 26px;
}
main .company02 .inner {
  width: clamp(720px, 66.6666666667vw, 1280px);
  margin-left: auto;
  margin-right: auto;
}
main .company02 .inner .head {
  text-align: center;
}
main .company02 .inner .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .company02 .inner .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .company02 .inner .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .company02 .inner .head h2 {
  justify-content: center;
}
main .company02 .inner .data .row {
  display: grid;
  grid-template-columns: clamp(120px, 14.5833333333vw, 280px) 1fr;
  padding: clamp(15px, 1.0416666667vw, 20px) clamp(10px, 1.0416666667vw, 20px);
}
main .company02 .inner .data .row:last-child {
  border-bottom-color: #d2d2d2;
}
main .company02 .inner .data .row dt {
  padding: 15px 15px;
  border-bottom: 1px solid #080e5e;
}
main .company02 .inner .data .row dd {
  padding: 15px 10%;
  border-bottom: 1px solid rgba(51, 51, 51, 0.27);
  margin-top: auto;
  margin-bottom: unset !important;
}
main .company02 .inner .data .row dd ol {
  padding-left: 2em !important;
}
main .company02 .inner .data .row dd ol li {
  list-style: decimal;
}
main .company02 .inner .data .row dd ol li:not(:last-child) {
  margin-bottom: 4px;
}
main .company03 .inner {
  width: clamp(720px, 66.6666666667vw, 1280px);
  margin-left: auto;
  margin-right: auto;
}
main .company03 .inner .head {
  text-align: center;
}
main .company03 .inner .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .company03 .inner .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .company03 .inner .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .company03 .inner .head h2 {
  justify-content: center;
}
main .company03 .inner .offices {
  display: flex;
  flex-direction: column;
  row-gap: clamp(50px, 4.1666666667vw, 80px);
}
main .company03 .inner .offices .office .photo {
  margin-bottom: clamp(20px, 1.7708333333vw, 34px);
}
main .company03 .inner .offices .office .photo img {
  width: 100%;
  border-radius: 5px;
}
main .company03 .inner .offices .office .info {
  -moz-column-gap: clamp(20px, 2.0833333333vw, 40px);
       column-gap: clamp(20px, 2.0833333333vw, 40px);
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
main .company03 .inner .offices .office .info .name {
  flex-shrink: 0;
  position: relative;
}
main .company03 .inner .offices .office .info .addr {
  padding-left: clamp(20px, 2.0833333333vw, 40px);
  position: relative;
}
main .company03 .inner .offices .office .info .addr::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #001e58;
}
main .company04 .inner {
  width: clamp(720px, 82.1875vw, 1578px);
  margin-left: auto;
  margin-right: auto;
}
main .company04 .inner .head {
  text-align: center;
}
main .company04 .inner .head h2 {
  justify-content: center;
}
main .company04 .inner .head .en {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .company04 .inner .head .en .shape {
  width: clamp(10px, 2.0833333333vw, 30px);
  aspect-ratio: 45/38;
  background: url(../img/common/headingshape1.webp);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
  mask: url(../img/common/headingshape1.webp) no-repeat center/cover;
}
main .company04 .inner .head .en .shape span {
  display: block;
  width: 100%;
  height: 100%;
}
main .company04 .inner .areas {
  -moz-column-gap: clamp(20px, 1.5625vw, 30px);
       column-gap: clamp(20px, 1.5625vw, 30px);
}
main .company04 .inner .areas .area {
  flex: 1;
  border-radius: 20px;
  padding: clamp(30px, 3.125vw, 60px) clamp(40px, 4.1666666667vw, 80px);
}
main .company04 .inner .areas .area .areatitle {
  text-align: center;
  margin-bottom: clamp(15px, 1.0416666667vw, 20px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
main .company04 .inner .areas .area .areatitle img {
  width: clamp(20px, 2.2vw, 30px);
  margin-right: 10px;
}
main .company04 .inner .areas .area .map {
  margin-bottom: clamp(15px, 1.0416666667vw, 20px);
}
main .company04 .inner .areas .area .map img {
  width: 100%;
}
main .company04 .inner .areas .area .arealist {
  -moz-column-gap: clamp(15px, 2.2916666667vw, 44px);
       column-gap: clamp(15px, 2.2916666667vw, 44px);
}
main .company04 .inner .areas .area .arealist .tag {
  flex-shrink: 0;
  padding: 8px 11px;
  border-radius: 5px;
}
main {
  /*----------------------------------------------------------------

  SDGs

  ----------------------------------------------------------------*/
}
main .sdgs01 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
}
main .sdgs01 .inner .contents {
  -moz-column-gap: clamp(40px, 5.2083333333vw, 100px);
       column-gap: clamp(40px, 5.2083333333vw, 100px);
  align-items: flex-start;
}
main .sdgs01 .inner .contents .heading {
  flex-shrink: 0;
  width: 45.2646239554%;
}
main .sdgs01 .inner .contents .text {
  flex: 1;
}
main .sdgs02 .inner,
main .sdgs03 .inner,
main .sdgs04 .inner,
main .sdgs05 .inner {
  width: clamp(720px, 74.7916666667vw, 1436px);
  margin-left: auto;
  margin-right: auto;
}
main .sdgs02 .block,
main .sdgs03 .block,
main .sdgs04 .block,
main .sdgs05 .block {
  background-color: #f4f6f8;
  border-radius: 5px;
  padding: clamp(24px, 2.0833333333vw, 40px) clamp(24px, 4.1666666667vw, 80px);
}
main .sdgs02 .block_inner,
main .sdgs03 .block_inner,
main .sdgs04 .block_inner,
main .sdgs05 .block_inner {
  -moz-column-gap: clamp(30px, 3.0729166667vw, 59px);
       column-gap: clamp(30px, 3.0729166667vw, 59px);
  align-items: flex-end;
}
main .sdgs02 .textbox,
main .sdgs03 .textbox,
main .sdgs04 .textbox,
main .sdgs05 .textbox {
  flex: 1;
  max-width: 877px;
  display: flex;
  flex-direction: column;
}
main .sdgs02 .badge,
main .sdgs03 .badge,
main .sdgs04 .badge,
main .sdgs05 .badge {
  flex-shrink: 0;
  width: clamp(180px, 17.7083333333vw, 340px);
}
main .sdgs02 .badge img,
main .sdgs03 .badge img,
main .sdgs04 .badge img,
main .sdgs05 .badge img {
  width: 100%;
}
main .sdgs02 .list,
main .sdgs03 .list,
main .sdgs04 .list,
main .sdgs05 .list {
  background-color: #fff;
  border-radius: 5px;
  padding: clamp(20px, 1.25vw, 24px) clamp(24px, 3.125vw, 60px);
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
main .sdgs02 .list .item,
main .sdgs03 .list .item,
main .sdgs04 .list .item,
main .sdgs05 .list .item {
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: flex-start;
}
main .sdgs02 .list .item::before,
main .sdgs03 .list .item::before,
main .sdgs04 .list .item::before,
main .sdgs05 .list .item::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #001e58;
  border-radius: 10px;
  flex-shrink: 0;
  margin-top: 0.5em;
}
main .sdgs02 .list .item .item_title,
main .sdgs03 .list .item .item_title,
main .sdgs04 .list .item .item_title,
main .sdgs05 .list .item .item_title {
  margin-bottom: 5px;
}
main {
  /*----------------------------------------------------------------

  採用情報

  ----------------------------------------------------------------*/
}
main .recruit01 .inner {
  width: clamp(720px, 77.9166666667vw, 1496px);
  margin-left: auto;
  margin-right: auto;
  container-type: inline-size;
}
main .recruit01 .inner .contents {
  -moz-column-gap: 7.6203208556%;
       column-gap: 7.6203208556%;
}
main .recruit01 .inner .textbox {
  flex: 1;
}
main .recruit01 .inner .photo {
  width: 42.7807486631%;
}
main .recruit01 .inner .photo img {
  width: 100%;
  border-radius: 5px;
}
main .recruit01 .inner .point {
  border-bottom: 1px dashed #001e58;
  -moz-column-gap: 1.0695187166cqw;
       column-gap: 1.0695187166cqw;
  padding-bottom: 15px;
  padding-left: 6px;
}
main .recruit01 .inner .point .icon {
  width: 2.6737967914cqw;
  flex-shrink: 0;
}
main .recruit01 .inner .point .icon img {
  width: 100%;
}
main .recruit02 {
  clip-path: polygon(0 min(9.765625vw, 187.5px), 100% 0, 100% calc(100% - min(9.765625vw, 187.5px)), 0 100%);
}
main .recruit02 .inner {
  width: clamp(720px, 83.3333333333vw, 1600px);
  margin-left: auto;
  margin-right: auto;
}
main .recruit02 .inner .head {
  text-align: center;
}
main .recruit02 .inner .head .h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .recruit02 .inner .lead {
  text-align: center;
  border-top: 1px solid #001e58;
  border-bottom: 1px solid #001e58;
}
main .recruit02 .inner .item:not(:last-child) {
  border-bottom: 1px solid #001e58;
}
main .recruit02 .inner .item > * {
  width: clamp(720px, 66.6666666667vw, 1280px);
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100% - 20px);
}
main .recruit02 .inner .item .item_head {
  -moz-column-gap: clamp(30px, 4.0104166667vw, 77px);
       column-gap: clamp(30px, 4.0104166667vw, 77px);
  margin-bottom: clamp(30px, 2.6041666667vw, 50px);
}
main .recruit02 .inner .item .item_head .num {
  color: #f4f6f8;
  -webkit-text-stroke: 1.51px #001e58;
  line-height: 1;
  text-align: center;
}
main .recruit02 .inner .item .item_head .num .small {
  font-size: clamp(22px, 1.71875vw, 33px);
  letter-spacing: 0.0503030303em;
  margin-bottom: 8px;
}
main .recruit02 .inner .item .item_head .num .large {
  font-size: clamp(48px, 4.3229166667vw, 83px);
}
main .recruit02 .inner .item .item_body {
  -moz-column-gap: 6.25%;
       column-gap: 6.25%;
  align-items: flex-start;
}
main .recruit02 .inner .item .item_body .image {
  width: 43.75%;
}
main .recruit02 .inner .item .item_body .image img {
  width: 100%;
  border-radius: 5px;
}
main .recruit02 .inner .item .item_body .detail {
  flex: 1;
}
main .recruit02 .inner .item .duty_list li {
  padding-left: 1em;
  text-indent: -1em;
}
main .recruit02 .inner .item .duty_list li::before {
  content: "● ";
  color: #001e58;
}
main .recruit02 .inner .item .points .point_item:not(:last-child) {
  margin-bottom: clamp(15px, 1.3541666667vw, 26px);
}
main .recruit03 .inner {
  width: clamp(720px, 79.5833333333vw, 1528px);
  margin-left: auto;
  margin-right: auto;
}
main .recruit03 .inner .head {
  text-align: center;
}
main .recruit03 .inner .head .h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .recruit03 .inner .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 2.1354166667vw, 41px);
}
main .recruit03 .inner .grid .card {
  border: 2px solid #e6e6e6;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 4px 4px 2px rgba(161, 161, 161, 0.15);
  padding: clamp(24px, 2.0833333333vw, 40px) clamp(20px, 2.03125vw, 39px);
  text-align: center;
}
main .recruit03 .inner .grid .card .card_title {
  margin-bottom: clamp(10px, 1.5625vw, 30px);
}
main .recruit03 .inner .grid .card .line {
  width: min(200px, 80%);
  height: 3px;
  margin: 0 auto clamp(10px, 1.5625vw, 30px);
}
main .recruit03 .inner .grid .card .text {
  text-align: left;
}
main .recruit04 {
  clip-path: polygon(0 min(9.765625vw, 187.5px), 100% 0, 100% 100%, 0 100%);
}
main .recruit04 .inner {
  width: clamp(720px, 72.9166666667vw, 1400px);
  margin-left: auto;
  margin-right: auto;
}
main .recruit04 .inner .head {
  text-align: center;
}
main .recruit04 .inner .head h2 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}
main .recruit04 .inner .table_block {
  border-radius: 5px;
}
main .recruit04 .inner .table_block > * {
  width: clamp(720px, 63.75vw, 1224px);
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100% - 20px);
}
main .recruit04 .inner .table_block .table_title {
  text-align: center;
}
main .recruit04 .inner .table_block table tr th {
  border-bottom: 1px solid #080e5e;
}
main .recruit04 .inner .table_block table tr td {
  border-bottom: 1px solid #bfbfbf;
}
main .recruit04 .inner .btnblock a {
  width: 65.1428571429%;
  min-height: clamp(50px, 5.6770833333vw, 109px);
  -moz-column-gap: 10.7456140351%;
       column-gap: 10.7456140351%;
}
main .recruit04 .inner .btnblock a .arowbox {
  width: 10.3070175439%;
  aspect-ratio: 94/50;
  border-radius: 43.04px;
}
main .recruit04 .inner .btnblock a .arowbox .arowmask {
  width: 25.5319148936%;
}
main {
  /*----------------------------------------------------------------

  お問い合わせ

  ----------------------------------------------------------------*/
}
main .contact01 .inner {
  width: clamp(720px, 50vw, 960px);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
main .contact01 .inner .intro {
  margin-bottom: clamp(30px, 2.6041666667vw, 50px);
}
main .contact01 .inner .tel_cta {
  display: block;
  background-color: #ff5a00;
  border: 3px solid #ff8441;
  border-radius: 10px;
  width: clamp(720px, 33.3333333333vw, 640px);
  margin-left: auto;
  margin-right: auto;
  max-width: min(640px, 100% - 20px);
}
main .contact01 .inner .tel_cta .tel_num {
  -moz-column-gap: 15px;
       column-gap: 15px;
}
main .contact01 .inner .tel_cta .tel_num .icon {
  width: 5.3125%;
  flex-shrink: 0;
}
main .contact02 .inner {
  width: clamp(720px, 66.5104166667vw, 1277px);
  margin-left: auto;
  margin-right: auto;
  border-radius: 20px;
}
main .contact02 .form_wrap {
  width: clamp(720px, 50vw, 960px);
  margin-left: auto;
  margin-right: auto;
  max-width: calc(100% - 50px);
}
main .contact02 .form_head {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-bottom: clamp(30px, 2.6041666667vw, 50px);
}
main .contact02 .form_head .iconbox {
  width: 5.2083333333%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .contact02 .form_head .iconbox .icon {
  width: 60%;
  aspect-ratio: 36/29;
  background: url(../img/common/mail-icon.webp);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-mask: url(../img/common/mail-icon.webp) no-repeat center/cover;
          mask: url(../img/common/mail-icon.webp) no-repeat center/cover;
}
main .contact02 .form_head .iconbox .icon span {
  display: block;
  width: 100%;
  height: 100%;
}
main .contact02 .form_head {
  -moz-column-gap: 10px;
       column-gap: 10px;
  justify-content: center;
  margin-bottom: 20px;
}
main .contact02 .form_note_text {
  text-align: center;
  margin-bottom: clamp(30px, 2.6041666667vw, 50px);
}
main .contact02 .form_box {
  background-color: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 20px;
  box-shadow: 0 4px 2px rgba(168, 168, 168, 0.25);
}
main .contact02 .form_inner {
  width: clamp(720px, 33.3333333333vw, 640px);
  margin-left: auto;
  margin-right: auto;
  max-width: min(100% - 20px, 640px);
}
main .contact02 .form_inner .form_contents {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
main .contact02 .field {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
main .contact02 .field .label_row {
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
}
main .contact02 .field .label_row .label {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(14px, 0.8333333333vw, 16px);
  letter-spacing: 0.125em;
  color: #000;
}
main .contact02 .field .sublabel {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(14px, 0.8333333333vw, 16px);
  letter-spacing: 0.125em;
  color: #000;
}
main .contact02 .field .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  min-width: 40px;
  padding: 0 10px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 700;
}
main .contact02 .field .badge.required {
  background-color: #e53935;
  color: #fff;
}
main .contact02 .field .badge.optional {
  background-color: #f5f5f5;
  color: #bdbdbd;
}
main .contact02 .field input[type=text],
main .contact02 .field input[type=email],
main .contact02 .field input[type=tel],
main .contact02 .field select,
main .contact02 .field textarea {
  width: 100%;
  height: 40px;
  border: 1px solid #b8b8b8;
  border-radius: 5px;
  padding: 8px 12px;
  font-size: 16px;
  background-color: #fff;
}
main .contact02 .field textarea {
  height: 160px;
  resize: vertical;
}
main .contact02 .field .postcode {
  -moz-column-gap: 10px;
       column-gap: 10px;
  align-items: center;
}
main .contact02 .field .postcode input {
  width: 87px;
}
main .contact02 .field .pref_select {
  max-width: 207px;
}
main .contact02 .radio_grid .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 3.125%;
}
main .contact02 .radio_grid .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
  margin: 0;
  width: 48.4375%;
}
main .contact02 .radio_grid .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-radio .wpcf7-list-item label {
  display: flex;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  height: 40px;
  border: 1px solid #b8b8b8;
  border-radius: 5px;
  padding: 8px 12px;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(10px, 0.8333333333vw, 16px);
  letter-spacing: 0.125em;
  color: #000;
}
main .contact02 .radio_grid .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-radio .wpcf7-list-item label input {
  width: 7.7419354839%;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}
main .contact02 .radio_grid {
  /* display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 20px;
  label {
    display: flex;
    align-items: center;
    column-gap: 16px;
    height: 40px;
    border: 1px solid #b8b8b8;
    border-radius: 5px;
    padding: 8px 12px;
    cursor: pointer;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: clamp(10px,vwCalc(16,1920),16px);
    letter-spacing: calc(2/16*1em);
    color: #000;
    input {
      width: 24px;
      height: 24px;
      flex-shrink: 0;
    }
  } */
}
main .contact02 .privacy_row label {
  display: flex;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  height: 40px;
  border: 1px solid #b8b8b8;
  border-radius: 5px;
  padding: 8px 12px;
  cursor: pointer;
}
main .contact02 .privacy_row label input {
  width: 25px;
  flex-shrink: 0;
}
main .contact02 .privacy_row .privacy_link {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(10px, 0.8333333333vw, 16px);
  letter-spacing: 0.125em;
  color: #7e7e7e;
  margin-bottom: 10px;
}
main .contact02 .privacy_row .privacy_link a {
  color: #1e88e5;
}
main .contact02 .submit_btn {
  width: 100%;
  height: 60px;
  background-color: #1e88e5;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
}
main .contact02 .submit_btn.none {
  opacity: 0.5;
  cursor: unset;
}
main .contact02 #wpcf7cpcnf {
  width: clamp(720px, 33.3333333333vw, 640px);
  margin-left: auto;
  margin-right: auto;
  max-width: min(100% - 20px, 640px);
}
main .contact02 #wpcf7cpcnf table {
  width: 100%;
}
main .contact02 #wpcf7cpcnf table tr th,
main .contact02 #wpcf7cpcnf table tr td {
  border-bottom: 1px solid #001e58;
  padding: 10px;
}
main .contact02 #wpcf7cpcnf .wpcf7cp-btns {
  display: flex;
  justify-content: center;
}
main .contact02 #wpcf7cpcnf .wpcf7cp-btns button.wpcf7cp-cfm-edit-btn,
main .contact02 #wpcf7cpcnf .wpcf7cp-btns button.wpcf7cp-cfm-submit-btn {
  margin: 20px 10px 0px 10px;
  cursor: pointer;
  text-decoration: none;
  width: 100%;
  max-width: 200px;
  height: 50px;
  font-weight: bold;
  border-radius: 8px;
  color: #fff;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .contact02 #wpcf7cpcnf .wpcf7cp-btns button.wpcf7cp-cfm-edit-btn {
  background-color: #001e58;
}
main .contact02 #wpcf7cpcnf .wpcf7cp-btns button.wpcf7cp-cfm-submit-btn {
  background-color: #001e58;
}
main {
  /*----------------------------------------------------------------

  おしらせ

  ----------------------------------------------------------------*/
}
main .news_layout .inner {
  width: clamp(720px, 74.9479166667vw, 1439px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 11.0493398193%;
       column-gap: 11.0493398193%;
}
main .news_layout .news_main {
  flex: 1;
}
main .news_sidebar {
  width: clamp(260px, 22.2376650452%, 320px);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  row-gap: 40px;
  width: 30%;
  max-width:320px;
}
main .news_sidebar .sidebar_box .box_title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  border: 1px solid #001e58;
  border-radius: 5px;
  color: #001e58;
  margin-bottom: 20px;
}
main .news_sidebar .sidebar_box .box_list li {
  margin-bottom: 4px;
}
main .news_sidebar .sidebar_box .box_list li > *:not(ul) {
  border-bottom: 1px solid #d2d2d2;
  padding-bottom: 5px;
}
main .news_sidebar .sidebar_box .box_list li:last-child {
  margin-bottom: 0;
}
main .news_sidebar .sidebar_box .box_list li:hover, main .news_sidebar .sidebar_box .box_list li *:hover {
  color: #02a11c !important;
}
main .news_sidebar .sidebar_box .box_list li a,
main .news_sidebar .sidebar_box .box_list li .year_label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  color: #333;
  line-height: 1.6;
}
main .news_sidebar .sidebar_box .box_list li .arrow {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  position: relative;
}
main .news_sidebar .sidebar_box .box_list li .arrow::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(45deg);
}
main .news_sidebar .sidebar_box .box_list li .arrow.arrow-down::after {
  transform: rotate(135deg);
  margin-top: 4px;
}
main .news_sidebar .sidebar_box .box_list li .arrow.arrow-up::after {
  transform: rotate(-45deg);
  margin-bottom: 4px;
}
main .news_sidebar .sidebar_box .box_list .month_list {
  padding-left: 0;
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  row-gap: 4px;
}
main .news_sidebar .sidebar_box .box_list .year.is-collapsed .month_list {
  display: none;
}
main {
  /*----------------------------------------------------------------

  おしらせ一覧

  ----------------------------------------------------------------*/
}
main .news_layout .news_main:has(.news_list) {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 90%;
}
main .news_layout .news_main:has(.news_list) .news_list {
  width: 100%;
}
main .news_list {
  display: flex;
  flex-direction: column;
  row-gap: clamp(30px, 2.0833333333vw, 40px);
  margin-bottom: clamp(50px, 3.125vw, 60px);
}
main .news_list .item {
  border-bottom: 1px solid #d2d2d2;
  padding-bottom: clamp(16px, 1.0416666667vw, 20px);
}
main .news_list .item a {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  -moz-column-gap: 20px;
       column-gap: 20px;
  text-decoration: none;
  color: inherit;
}
main .news_list .item a:hover {
  opacity: 0.85;
}
main .news_list .item .meta {
  display: flex;
  align-items: center;
  -moz-column-gap: 25px;
       column-gap: 25px;
  margin-bottom: 11px;
}
main .news_list .item .meta .date {
  flex-shrink: 0;
}
main .news_list .item .meta .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 22px;
  border-radius: 5px;
  background-color: #001e58;
  color: #fff;
  flex-shrink: 0;
}
main .news_list .item .post_title {
  line-height: 1.3;
}
main .news_list .item .arowbox {
  width: 8.8541666667%;
  aspect-ratio: 85/32;
  border-radius: 30px;
}
main .news_list .item .arowbox .arowmask {
  width: 17.6470588235%;
}
main {
  /*----------------------------------------------------------------

  おしらせ詳細

  ----------------------------------------------------------------*/
}
main .news_article .article_head {
  border-bottom: 1px solid #001e58;
  padding-bottom: clamp(10px, 1.0416666667vw, 20px);
  margin-bottom: 30px;
}
main .news_article .article_head .meta {
  display: flex;
  align-items: center;
  -moz-column-gap: 25px;
       column-gap: 25px;
  margin-bottom: 15px;
}
main .news_article .article_head .meta .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 22px;
  border-radius: 5px;
  background-color: #001e58;
  color: #fff;
}
main .news_article .article_head .article_title {
  line-height: 1.4;
}
main .news_article .featured_image {
  margin-bottom: 30px;
}
main .news_article .featured_image img {
  width: 100%;
}
main .news_article .article_body {
  margin-bottom: clamp(50px, 4.1666666667vw, 80px);
}
main .news_article .article_body p {
  line-height: 1.4;
  margin-bottom: 5px;
}
main .news_article .article_body p:last-child {
  margin-bottom: 0;
}
main .news_article .article_body h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  background-color: #f4f6f8;
  border-left: 6px solid #001e58;
  padding: clamp(7px, 0.6770833333vw, 13px) clamp(10px, 1.4583333333vw, 28px);
  margin: clamp(20px, 2.0833333333vw, 40px) 0 clamp(15px, 1.5625vw, 30px);
  color: #1d385d;
  line-height: 1.4;
  font-size: clamp(14px, 1.3541666667vw, 26px);
  letter-spacing: 0.0769230769em;
}
main .news_article .article_body h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  border-left: 3px solid #001e58;
  padding-left: clamp(10px, 1.4583333333vw, 28px);
  color: #1d385d;
  line-height: 1.4;
  margin: clamp(15px, 1.5625vw, 30px) 0 clamp(10px, 1.0416666667vw, 20px);
  padding-bottom: clamp(7px, 0.625vw, 12px);
  border-bottom: 1px solid #d2d2d2;
  font-size: clamp(12px, 1.1458333333vw, 22px);
  letter-spacing: 0.0909090909em;
}
main .news_article .article_body h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin: clamp(10px, 1.25vw, 24px) 0 clamp(10px, 0.8333333333vw, 16px);
  color: #1d385d;
  font-size: clamp(10px, 0.9375vw, 18px);
  letter-spacing: 0.1111111111em;
}
main .news_article .article_body h4::before {
  content: "";
  width: clamp(10px, 1.4583333333%, 14px);
  aspect-ratio: 1/1;
  background-color: #0e337b;
  transform: rotate(45deg);
  flex-shrink: 0;
}
main {
  /*----------------------------------------------------------------

  プライバシーポリシー

  ----------------------------------------------------------------*/
}
main .privacy01 .inner {
  width: clamp(720px, 58.4895833333vw, 1123px);
  margin-left: auto;
  margin-right: auto;
  max-width: max(530px, 58.4895833333vw);
}
main .privacy01 .content_intro {
  margin-bottom: clamp(40px, 3.125vw, 60px);
}
main .privacy01 .content_intro .intro_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: clamp(10px, 1.1979166667vw, 23px);
  margin-bottom: clamp(10px, 1.1979166667vw, 23px);
}
main .privacy01 .content_intro .intro_title::after {
  content: "";
  width: clamp(70px, 5.2083333333vw, 100px);
  border-bottom: 4px solid #02a11c;
}
main .privacy01 .policy_section {
  padding: clamp(24px, 2.0833333333vw, 40px) 0;
  border-bottom: 1px solid #d2d2d2;
}
main .privacy01 .policy_section:first-of-type {
  padding-top: 0;
}
main .privacy01 .policy_section:last-of-type {
  border-bottom: none;
}
main .privacy01 .policy_section h3 {
  margin-bottom: clamp(10px, 0.7291666667vw, 14px);
}
main .privacy01 .contact_block {
  margin-top: clamp(40px, 2.6041666667vw, 50px);
}
main .privacy01 .contact_block .company_bar {
  background-color: #f4f6f8;
  padding: 6px 22px;
  margin-bottom: 20px;
}
main .privacy01 .contact_block .company_bar .company_name {
  color: #001e58;
  line-height: 1.7;
}
main .privacy01 .contact_block .office_row {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: clamp(40px, 7.03125vw, 135px);
       column-gap: clamp(40px, 7.03125vw, 135px);
  row-gap: 24px;
}
main .privacy01 .contact_block .office_row .office_item .office_title {
  color: #001e58;
  margin-bottom: 12px;
  line-height: 1.2;
}
main .privacy01 .contact_block .office_row .office_item .office_text {
  line-height: 1.7;
}/*# sourceMappingURL=sub.css.map */