@charset "UTF-8";
/* CSS Document */
.under-contents {
  margin-top: min(9rem, 15vw);
}

.breadcrumbs {
  background: #fafafa;
  padding-top: 10px;
  padding-bottom: 10px;
}
.breadcrumbs_inner {
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
  font-size: min(12px, 3.25vw);
}
.breadcrumbs_inner > *:not(:first-child) {
  padding-left: 15px;
}
.breadcrumbs_inner > *:not(:first-child)::before {
  content: "";
  width: 5px;
  aspect-ratio: 1/1;
  border: 1px solid;
  border-color: var(--fc-base) var(--fc-base) transparent transparent;
  position: absolute;
  left: 0;
  top: 0;
  rotate: 45deg;
  translate: 0 40%;
}

/*under #hero
=============================================================================================*/

.hero-under {
  height: 15rem;
  background: url("../images/wall/uhder-hero.png") no-repeat center/cover;
  display: grid;
  place-content: center;
}
.under-title {
  display: grid;
  place-content: center;
  place-items: center;
  gap: min(1rem, 2.5vw);
}
.under-title .main {
  font-size: var(--head1);
  font-weight: 500;
  text-align: center;
}
.under-title .en {
  font-size: min(2rem, calc(100vw / 24));
  font-family: var(--fnt-cap);
  color: var(--clr-navy);
  text-transform: uppercase;
}
.under-title .en.cap {
  text-transform: capitalize;
}
.att-list > li {
  font-size: min(1.4rem, 3.4vw);
  line-height: calc(28 / 16);
  padding-left: 1em;
}
.att-list > li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.ccl-num-list {
  counter-reset: count 0;
}
.ccl-num-list > li {
  padding-left: 1.25em;
  line-height: calc(28 / 16);
}
.ccl-num-list > li::before {
  counter-increment: count 1;
  content: counter(count) "";
  position: absolute;
  left: 0;
  top: 0.7em;
  font-family: sans-serif;
  font-size: 0.7em;
  width: 1.25em;
  aspect-ratio: 1/1;
  line-height: 1;
  border: 1px solid currentColor;
  border-radius: 100vmax;
  display: grid;
  place-content: center;
}
/*under contents
=============================================================================================*/

/* サービス内容　page/service　++++++++++++++++++++++++*/
.service-link-list {
  display: grid;
  gap: min(3rem, 4vw);
  grid-template-columns: repeat(5, 1fr);
}
.service-link-list li {
  background: var(--clr-wblue);
  color: #fff;
  border-radius: 5px;
  display: grid;
  grid-template-rows: subgrid; /* ここでSubgridを使用 */
  grid-row: span 2; /* 4行分のスペースを占めるように調整 */
  place-content: center;
  place-items: center;
  gap: 1rem;
  padding: min(2rem, 5vw) 1rem;
}
.service-link-list li p {
  font-weight: 600;
  font-size: min(1.8rem, 3.6vw);
}
.service-link-list li figure {
  width: 67%;
}

.service-panel-wrap {
  margin-top: min(5rem, 10vw);
}
.service-item:not(:first-child) {
  margin-top: min(10rem, 15vw);
}
.service-detail {
  margin-top: min(5rem, 10vw);
}
.service-detail > * + * {
  margin-top: min(3rem, 6vw);
}
.service-detail .btm-comment {
  margin-top: min(5rem, 8vw);
}
.service-detail .btm-comment::before {
  content: "";
  width: calc(100% + 6px);
  height: calc(100% + 6px);
  background: var(--gra-navy);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.service-detail .btm-comment > p {
  padding: min(1.5vw, 5vw) min(2.5rem, 4vw);
  background: #fff;
}
.bdr-title,
.service-title {
  background: var(--gra-lblue);
  font-size: min(1.8rem, 4vw);
  font-weight: 500;
  padding: min(1.5rem, 3vw) min(4rem, 10vw);
  letter-spacing: 0.025em;
}
.bdr-title::before,
.service-title::before {
  content: "";
  width: 1.5rem;
  height: 100%;
  position: absolute;
  left: 5px;
  top: 0;
  background: linear-gradient(
    90deg,
    #fff 5px,
    #d6eff8 5px,
    #d6eff8 10px,
    #fff 10px
  );
}
.service-flow-item {
  display: grid;
  grid-template-columns: min(10rem, 10%) min(27rem, 30%) auto;
  gap: min(3rem, 4vw);
}
.service-flow-item:not(:first-child) {
  margin-top: min(3rem, 5vw);
}
.service-flow-item .tag {
  padding-bottom: 2rem;
}

/* リニューアル（2025/12）
.service-flow-item .tag p {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  padding: 0.5rem;
  background: linear-gradient(#e6e6e6, #cecece);
} */
.service-flow-item .tag img {
  object-fit: cover;
  height: 100%;
  object-position: center;
}
.service-flow-item:not(:last-child) .tag::after {
  content: "";
  width: 1.2rem;
  aspect-ratio: 1/1;
  border: 3px solid;
  border-color: transparent var(--bdr-gry) var(--bdr-gry) transparent;
  position: absolute;
  bottom: 0;
  left: calc(50% - 1.5px);
  rotate: 45deg;
  translate: -50% 0;
}
.service-flow-item .comment .in-title {
  font-size: var(--head3);
  font-weight: 600;
  color: var(--clr-navy);
  line-height: calc(20 / 16);
}
.service-flow-item .comment .in-text {
  margin-top: 5px;
}
.service-insp-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3rem, 5vw);
}
.service-insp-list > div {
  font-size: min(1.5rem, 3.6vw);
  border: 1px solid var(--bdr-gry);
}
.service-insp-list dt {
  background: var(--clr-blue);
  color: #fff;
  padding: 1rem;
  text-align: center;
}
.service-insp-list dd {
  padding: min(2rem, 4vw) min(4rem, 4vw);
}
.service-detail .list-wrap .att-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}
.insp-thumb-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3rem, 4vw);
}
.insp-thumb-list figcaption {
  font-size: min(1.4rem, 3.4vw);
  text-align: center;
  margin-top: 1rem;
}

.service-delivery-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(3rem, 4vw);
  -ms-align-items: flex-start;
  align-items: flex-start;
}
.service-delivery-item .thumb {
  border: 1px solid var(--bdr-gry);
  border-radius: 1rem;
  overflow: hidden;
  isolation: isolate;
}
.service-delivery-flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: min(4rem, 8vw) min(4rem, 4vw);
  border: 1px solid var(--bdr-gry);
  border-radius: 1rem;
  gap: min(9.5rem, 5vw);
}
.service-delivery-flow > div {
  display: grid;
  place-items: center;
  gap: min(3rem, 4vw);
}

.service-delivery-flow dt {
  background: var(--clr-navy);
  color: #fff;
  font-size: min(1.5rem, 3.6vw);
  padding: 4px 1em;
  border-radius: 100vmax;
}
.service-delivery-flow dd {
  width: 100%;
}
.service-delivery-flow > div:not(:last-child) dd::after {
  content: "";
  width: min(4.5rem, 3vw);
  aspect-ratio: 1/0.8571;
  background: url("../images/service/icon_arrow.svg") no-repeat center/cover;
  position: absolute;
  left: calc(100% + min(4.25rem, 2.5vw));
  top: 50%;
  translate: -50% -50%;
}
.service-delivery-flow dd .thumb {
  width: 100%;
  aspect-ratio: 1/0.5;
}
.service-delivery-flow dd .thumb img {
  object-fit: contain;
  object-position: center;
  height: 100%;
}
.service-store-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3rem, 4vw) min(1.8rem, 2vw);
  border: 1px solid var(--bdr-gry);
  padding: min(5rem, 8vw) min(3rem, 4vw);
  border-radius: 1rem;
}
.service-store-list li:nth-child(1) {
  grid-area: 1 / 1 / 2 / 2;
}
.service-store-list li:nth-child(2) {
  grid-area: 1 / 2 / 2 / 3;
}
.service-store-list li:nth-child(3) {
  grid-area: 2 / 1 / 3 / 3;
}
.service-store-list li {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  gap: min(2em, 4vw);
}
.service-store-list li .thumb {
  margin-top: auto;
  width: 100%;
  aspect-ratio: 1/0.5556;
}
.service-store-list li .thumb img {
  object-fit: contain;
  height: 100%;
  object-position: bottom;
}
.service-store-list li .in-title {
  padding-bottom: 2rem;
  font-size: min(1.8rem, 4vw);
  font-weight: 600;
}
.service-store-list li .in-title::after {
  content: "";
  width: 0.5em;
  aspect-ratio: 1/1;
  border: 3px solid;
  border-radius: 3px;
  border-color: transparent #5aaa3d #5aaa3d transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  rotate: 45deg;
}
.service-store-list li.comment p {
  background: var(--gra-navy);
  font-size: min(2.1rem, calc(100vw / 15));
  font-weight: 500;
  color: #fff;
  border-radius: 100vmax;
  padding: 1rem 2em;
  line-height: calc(24 / 16);
}
/* デバンニング　page/devanning　++++++++++++++++++++++++*/
.page-devanning-intro .thumb-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(3rem, 4vw);
}
.page-devanning-intro .thumb-list::after {
  content: "";
  width: min(4.5rem, 10vw);
  background: url("../images/service/icon_arrow.svg") no-repeat center/cover;
  aspect-ratio: 1/0.8571;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.page-devanning-intro .in-text {
  margin-top: min(3rem, 5vw);
}
.page-devanning-feature {
  margin-top: min(10rem, 10vw);
}
.page-devanning-feature .sec-intro-box .comment .in-title {
  font-weight: 600;
  font-size: min(3rem, calc(100vw / 18));
  color: var(--clr-red);
  line-height: calc(40 / 30);
}
.page-devanning-feature .sec-intro-box .comment .in-text {
  margin-top: min(1.5rem, 3vw);
}
.thumb-inv .service-flow-item {
  grid-template-columns: min(10rem, 10%) auto min(27rem, 30%);
}
.page-devanning-feature .service-detail {
  margin-top: min(10rem, 10vw);
}

/* 流通加工・ワンストップサービス　page/distribution　++++++++++++++++++++++++*/

.page-distr-intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: min(3rem, 5vw);
}
.distr-intro-title {
  font-size: min(3.5rem, calc(100vw / 18));
  font-weight: 500;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  line-height: calc(60 / 45);
  text-align: center;
  gap: min(1rem, 1.5vw);
}
.distr-intro-title span.wid {
  font-size: 1.2857em;
}
.distr-intro-title span.mid {
  color: var(--clr-blue);
}
.distr-intro-title span {
  word-break: keep-all;
}
.distr-intro-box {
  background: var(--wall-wblue);
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  padding: min(3rem, 6vw) min(3rem, 3vw);
  border-radius: 1rem;
}
.distr-intro-item {
  width: min(78rem, 100%);
}
.distr-intro-item > div:not(:first-child) {
  margin-top: min(4rem, 10vw);
}
.distr-intro-item dt {
  background: #fff;
  border: 1px solid #707070;
}
.distr-intro-item dt p {
  text-align: center;
  font-weight: 500;
  padding: min(0.7rem, 2vw);
  font-size: min(1.8rem, 4vw);
}
.distr-multi-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3rem, 4vw);
  margin-top: min(3rem, 5vw);
}
.distr-multi-list > li {
  background: #fff;
  padding: min(3rem, 5vw) min(2rem, 3vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: min(1rem, 2vw);
  box-shadow: var(--box-sdw);
}
.distr-multi-list > li::before {
  content: "";
  width: 11%;
  aspect-ratio: 1/1.2195;
  background: url("../images/service/distribution/arrow-vert.svg") no-repeat
    center/cover;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -70%;
}
.distr-multi-list > li .in-title {
  font-size: min(1.8rem, 4vw);
  color: var(--clr-navy);
  font-weight: 600;
}
.distr-multi-list > li .icon {
  width: min(10rem, 100%);
  aspect-ratio: 1/0.8;
}
.distr-multi-list > li .icon img {
  object-fit: contain;
  object-position: center;
  height: 100%;
}
.distr-multi-list > li .text {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 5px;
  line-height: calc(28 / 16);
}
.distr-multi-list > li .text span {
  padding-left: 0.85em;
}
.distr-multi-list > li .text span::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--clr-blue);
}
.distr-intro-item dd .result {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  margin-top: min(3.7rem, 5vw);
}
.distr-intro-item dd .result p {
  font-size: min(2rem, calc(100vw / 24));
  font-weight: 500;
  padding-left: 2em;
  line-height: calc(24 / 16);
}
.distr-intro-item dd .result p::before {
  content: "";
  width: 1.75em;
  aspect-ratio: 1/1;
  position: absolute;
  left: 0;
  top: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  translate: 0 -50%;
}
.distr-intro-item dd .result p.cross::before {
  background-image: url("../images/service/distribution/icon_cross.svg");
}
.distr-intro-item dd .result p.ccl {
  color: var(--clr-red);
}
.distr-intro-item dd .result p.ccl::before {
  background-image: url("../images/service/distribution/icon_circle.svg");
}
.distr-onestop-item {
  margin-top: min(3rem, 5vw);
  background: #fff;
  box-shadow: var(--box-sdw);
  padding-bottom: min(3rem, 4vw);
}
.distr-onestop-item::before {
  content: "";
  width: min(2.8rem, 5%);
  aspect-ratio: 1/1.2195;
  background: url("../images/service/distribution/arrow-vert.svg") no-repeat
    center/cover;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -70%;
}
.distr-onestop-item ul {
  padding: min(3rem, 4vw) min(3rem, 4vw) min(2rem, 3vw);
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: min(2.4rem, 2vw);
}
.distr-onestop-item ul > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-area: span 2;
  place-items: center;
  gap: min(1rem, 1.5vw);
}
.distr-onestop-item ul > li .in-title {
  font-weight: 600;
  color: var(--clr-navy);
  font-size: min(1.8rem, 4vw);
}
.distr-onestop-item ul > li .icon {
  width: min(10rem, 100%);
  aspect-ratio: 1/0.8;
}
.distr-onestop-item ul > li:not(:last-child) .icon::after {
  content: "";
  height: 1.4rem;
  aspect-ratio: 1/1.5833;
  background: url("../images/service/distribution/arrow-gry.svg") no-repeat
    center/cover;
  position: absolute;
  right: max(-1.2rem, -1vw);
  top: 50%;
  translate: 50% -50%;
}
.distr-onestop-item ul > li .icon img {
  object-fit: contain;
  object-position: center;
  height: 100%;
}
.distr-onestop-item > .text {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}
.distr-onestop-item > .text p {
  color: #fff;
  background: var(--gra-navy);
  border-radius: 100vmax;
  font-size: min(2.1rem, calc(100vw / 24));
  font-weight: 500;
  padding: min(1rem, 2.5vw) 1.2em;
  line-height: calc(20 / 16);
  text-align: center;
}

.page-distr-detail {
  margin-top: min(10rem, 10vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: min(3rem, 5vw);
}
.distr-detail-box {
  background: var(--wall-gry);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  padding: min(3rem, 5vw) min(3rem, 3vw);
  gap: min(4rem, 8vw);
}
.distr-detail-box .logo {
  width: min(23rem, 100%);
}
.distr-detail__list {
  width: min(78rem, 100%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3rem, 4vw) min(3rem, 3vw);
}
.distr-detail__list dt {
  background: var(--gra-navy);
}
.distr-detail__list dt h4 {
  color: #fff;
  text-align: center;
  padding: min(1rem, 2vw);
  font-size: min(1.8rem, 4vw);
  font-weight: 600;
}
.distr-detail__list dd {
  margin-top: min(1rem, 2vw);
}
/* 会社案内　page/company　++++++++++++++++++++++++*/

.page-company-overview {
  margin-top: min(10rem, 15vw);
}
.company-overview-list {
  margin-top: min(3rem, 8vw);
  border-top: 1px solid var(--bdr-gry);
}
.company-overview-list > div {
  border-bottom: 1px solid var(--bdr-gry);
  display: grid;
  grid-template-columns: min(20rem, 25%) auto;
}
.company-overview-list dt,
.company-overview-list dd {
  padding: min(3rem, 4vw) min(2rem, 3vw);
}
.company-overview-list dt {
  background: var(--wall-gry);
  display: grid;
  -ms-align-items: center;
  align-items: center;
  line-height: calc(20 / 16);
}
.company-overview-list dd {
  line-height: calc(28 / 16);
}
.page-company-access {
  display: grid;
  grid-template-columns: 1fr;
  gap: min(3rem, 5vw);
  margin-top: min(10rem, 15vw);
}
.company-access_map {
  width: 100%;
  aspect-ratio: 1/0.5946;
}
.company-access_map iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.company-access_root > div:not(:first-child) {
  margin-top: min(2rem, 4vw);
}
.company-access_root h4 {
  color: var(--clr-navy);
  font-size: var(--head3);
  font-weight: 500;
}
.company-access_root dd {
  margin-top: 5px;
}

/* 設備　page/facility　++++++++++++++++++++++++*/
.facility-list {
  margin-top: min(3rem, 5vw);
}
.facility-list > div:not(:first-child) {
  margin-top: min(5rem, 8vw);
}
.facility-list dd {
  display: grid;
  grid-template-columns: 1fr;
  gap: min(3rem, 4vw);
  margin-top: min(3rem, 4vw);
}
.facility-list .thumb-box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(3rem, 4vw);
}
.facility-list .thumb-box.clm2 {
  --base-w: calc((100% - min(3rem, 4vw)) / 3);
  grid-template-columns: var(--base-w) calc(var(--base-w) * 1.2946);
}

.facility-list .thumb-box figcaption {
  font-size: min(1.4rem, 3.2vw);
  text-align: center;
  margin-top: min(1rem, 2.5vw);
}

/* お問い合わせ　page/contact　++++++++++++++++++++++++*/
.page-contact-blc {
  display: grid;
  grid-template-columns: 1fr;
  gap: min(3rem, 8vw);
}
.page-contact-blc .top-text {
  text-align: center;
}
.page-contact-box {
  background: var(--wall-gry);
  padding: min(5rem, 8vw) min(5rem, 4vw);
  border-radius: 2rem;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
}
.contact-form-wrap {
  width: min(70rem, 100%);
}

.form-list > div:not(:first-child) {
  margin-top: min(3rem, 5vw);
}
.form-list dt p {
  font-size: min(1.5rem, 3.6vw);
  padding-left: 3.5em;
}
.form-list dt p::before {
  content: "";
  font-size: min(1.2rem, 3vw);
  background: var(--bk-clr);
  color: var(--txt-clr);
  border: 1px solid var(--bdr-clr);
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  padding: 3px 0.5em;
  border-radius: 3px;
}
.form-list dt p.must::before {
  content: "必須";
  --bk-clr: var(--clr-red);
  --txt-clr: #fff;
  border: none;
}
.form-list dt p.any::before {
  content: "任意";
  --bk-clr: #fff;
  --bdr-clr: #bababa;
  --txt-clr: var(--fc-base);
}
.form-list dd {
  margin-top: min(1rem, 2vw);
}

.form-list input[type="text"],
.form-list input[type="email"],
.form-list input[type="tel"],
.form-list textarea {
  padding: min(1.3rem, 3vw) min(2rem, 4vw);
  border-radius: 7px;
  font-size: 16px;
}
/*check box*/
.wpcf7-list-item {
  margin-left: 0;
}
.form-list dd.checkbox {
  margin-top: min(2rem, 3vw);
}
.form-list dd.checkbox .wpcf7-checkbox {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: min(2rem, 3vw) min(4rem, 4vw);
}
.form-list dd.checkbox label {
  cursor: pointer;
}
.form-list dd.checkbox label span {
  padding-left: 1.5em;
}
.form-list dd.checkbox label span::before,
.form-list dd.checkbox label span::after {
  content: "";
  position: absolute;
  aspect-ratio: 1/1;
  left: 0;
  top: 50%;
}
.form-list dd.checkbox label span::before {
  width: 1em;
  background: #fff;
  border: 1px solid var(--bdr-gry);
  border-radius: 3px;
  translate: 0 -50%;
}
.form-list dd.checkbox label span::after {
  width: calc(1em - 3px);
  clip-path: polygon(80% 0, 100% 0, 100% 100%, 50% 100%, 50% 80%, 80% 80%);
  background: var(--gra-navy);
  rotate: 45deg;
  translate: 0 calc(-50% - 3px);
  opacity: 0;
}
.form-list dd.checkbox label input:checked + span::after {
  opacity: 1;
}
.form-list textarea {
  min-height: min(30rem, 40vw);
  font-size: 16px;
}
::placeholder {
  color: var(--clr-gry);
  font-size: min(1.6rem, 3.6vw);
}

.privacy-item {
  width: 100%;
  height: min(24rem, 40vw);
  overflow-y: scroll;
  border-radius: 5px;
  border: 1px solid #bababa;
  padding: 2px;
  background: #fff;
  margin-top: min(4rem, 5vw);
}
.privacy-item .comment {
  padding: min(3rem, 4vw) min(3rem, 2vw);
  font-size: min(1.3rem, 3.4vw);
}

.form-btn-wrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: min(2rem, 4vw);
  margin-top: min(4rem, 5vw);
}
.form-btn-wrap p.att {
  font-size: min(1.5rem, 3vw);
  text-align: center;
}
.form-btn-wrap .submit-btn {
  height: 6.5rem;
  width: min(40rem, 100%);
  background: var(--clr-navy);
  color: #fff;
  font-weight: 600;
  border-radius: 1rem;
}
.form-att-list {
  margin-top: min(5rem, 8vw);
}

/*送信確認*/
.wpcf7-spinner {
  display: none;
}
.wpcf7 form .wpcf7-response-output {
  padding: 0;
  margin-top: min(2rem, 4vw);
  text-align: center;
  border: none;
  color: var(--clr-red);
  font-size: min(1.3rem, 3.2vw);
  margin-bottom: 0;
}
.wpcf7-not-valid-tip {
  font-size: min(1.3rem, 3.2vw);
  color: var(--clr-red);
  margin-top: 0.8rem;
}

/*送信完了*/
.page-thanks-blc {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: min(8rem, 10vw);
  text-align: center;
}

/* リクルート　page/recruit　++++++++++++++++++++++++*/

.page-recruit-detail {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: min(3rem, 5vw);
}
.recruit-detail-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
}
.recruit-detail-title .text::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  aspect-ratio: 1/1.049;
  height: 120%;
  background: url("../images/recruit/beginner.png") no-repeat center/cover;
  translate: calc(100% + min(5rem, 2vw)) 0;
}
.recruit-detail-title .text {
  font-size: min(4.5rem, calc(100vw / 27));
  line-height: calc(60 / 45);
  color: var(--clr-blue);
  font-weight: 500;
}
.recruit-list {
  border: 1px solid var(--bdr-gry);
}
.recruit-list > div {
  display: grid;
  grid-template-columns: min(20rem, 25%) auto;
  line-height: calc(24 / 16);
}
.recruit-list > div:not(:last-child) {
  border-bottom: 1px solid var(--bdr-gry);
}
.recruit-list dt {
  background: var(--wall-gry);
  display: grid;
}
.recruit-list dt p {
  align-self: center;
}
.recruit-list dt p,
.recruit-list dd p {
  padding: min(1.8rem, 3vw) min(2rem, 3vw);
}
.recruit-list dd {
  border-left: 1px solid var(--bdr-gry);
}
.recruit-detail__inquiry .in-title {
  color: var(--clr-red);
  font-size: min(3rem, 4vw);
  font-weight: 500;
}
.recruit-detail__inquiry dl {
  margin-top: min(1rem, 3vw);
}
.recruit-detail__inquiry dl > div {
  display: grid;
  grid-template-columns: 5em auto;
  -ms-align-items: center;
  align-items: center;
  gap: min(1rem, 2vw);
}
.recruit-detail__inquiry dl > div:not(:first-child) {
  margin-top: 5px;
}
.recruit-detail__inquiry dl dt p {
  text-align: center;
  background: var(--gra-navy);
  color: #fff;
  font-weight: 500;
  border-radius: 3px;
  padding: 5px 0.5em;
}
.recruit-detail__inquiry dl dd {
  font-size: min(4rem, 6vw);
}
.recruit-detail__inquiry .in-text {
  margin-top: min(2rem, 4vw);
}
/*merit +++++++++++++*/
.page-recruit-merit {
  margin-top: min(10rem, 10vw);
}
.recruit-merit__list {
  margin-top: min(3rem, 5vw);
}
.recruit-merit__list > li {
  display: grid;
  grid-template-columns: 30% auto;
  gap: min(3rem, 3vw);
}
.recruit-merit__list > li:not(:first-child) {
  margin-top: min(3rem, 5vw);
}
.recruit-merit__list > li .thumb .tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: var(--gra-navy);
  color: #fff;
  width: 1.6667em;
  aspect-ratio: 1/1;
  display: grid;
  place-content: center;
  font-family: var(--fnt-cap);
  font-size: min(3rem, 5vw);
}
.recruit-merit__list > li .comment {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: flex-start;
  align-items: flex-start;
  gap: 5px;
}
.recruit-merit__list > li .comment .in-title {
  color: var(--clr-navy);
  font-weight: 600;
  font-size: min(2.1rem, 4vw);
}
/*福利厚生　++++++++*/
.page-recruit-bens {
  margin-top: min(10rem, 10vw);
}
.recruit-bens-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(5rem, 5vw) min(3rem, 3vw);
  margin-top: min(3rem, 5vw);
}
.recruit-bens-list > li .thumb figure {
  padding: min(1rem, 2.5vw);
  background: var(--wall-wblue);
}
.recruit-bens-list > li.full {
  grid-area: 3 / 1 / 4 / 3;
}
.recruit-bens-list > li.full .thumb {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(3rem, 3vw);
}
.recruit-bens-list > li .comment {
  margin-top: min(1.5rem, 2vw);
}
.recruit-bens-list > li .comment .in-title {
  font-size: min(1.8rem, 4vw);
  font-weight: 600;
  color: var(--clr-navy);
}
.recruit-bens-list > li .comment .in-text {
  margin-top: 5px;
}
/*流れ　++++++++++++++++*/
.page-recruit-flow {
  margin-top: min(12rem, 10vw);
}
.recruit-flow-list {
  margin-top: min(3rem, 5vw);
}
/* プライバシーポリシー　page/privacy-policy　++++++++++++++++++++++++*/
.legal-item {
  line-height: calc(28 / 16);
}
.legal-item:not(:first-child) {
  margin-top: min(10rem, 10vw);
}

.legal-item .in-title {
  font-weight: 500;
  font-size: min(2rem, 4vw);
}
.legal-item .comment {
  margin-top: min(3rem, 4vw);
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  gap: min(2rem, 2.5vw);
}
.legal__inquiry {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: flex-end;
  align-items: flex-end;
  gap: min(2rem, 4vw);
  text-align: right;
}
.legal__inquiry .inquiry_cat {
  background: #f4f4f4;
  padding: min(3rem, 3vw);
  border-radius: 1rem;
  text-align: left;
  font-size: min(1.5rem, 3.4vw);
}
.legal__inquiry .inquiry_cat span {
  font-weight: 500;
}
.num-list {
  counter-reset: count 0;
}
.num-list > li {
  padding-left: 1.17em;
}
.num-list > li::before {
  counter-increment: count 1;
  content: counter(count) ".";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 600;
}
.num-list > li ul > li::before {
  font-weight: 400;
}
.num-list > li ul {
  margin-top: 5px;
}
.legal-item .num-list > li > p {
  padding-left: 1em;
}
