@charset "UTF-8";

:root {
  --en: "Montserrat", sans-serif;
  --ja: "BIZ UDPGothic", sans-serif;

  /* fs */
  /* e-ttl */
  --lv1-e-ttl: 7.2rem;
  --lv2-e-ttl: 6.4rem;
  --lv3-e-ttl: 5.6rem;
  --lv4-e-ttl: 4.8rem;
  --lv5-e-ttl: 4rem;
  --lv6-e-ttl: 3.2rem;

  /* j-ttl */
  --lv1-j-ttl: 5rem;
  --lv2-j-ttl: 4.4rem;
  --lv3-j-ttl: 3.6rem;
  --lv4-j-ttl: 2.8rem;
  --lv5-j-ttl: 2.4rem;
  --lv6-j-ttl: 2rem;

  /* lead */
  --lead-l: 2.6rem;
  --lead-m: 2.4rem;
  --lead-s: 2.2rem;

  /* p */
  --p-l: 1.8rem;
  --p-m: 1.6rem;
  --p-s: 1.4rem;
  --p-ss: 1.2rem;

  --t-black: #000000;
  --t-white: #ffffff;
  --t-blue: #10386B;
  --t-blue2: #2C7BBF;
  --t-green: #006E38;
  --t-green2: #3BAA6C;

  --t-gray1: #333333;
  --t-gray2: #727272;
  --t-gray3: #CFCFCF;
  --t-gray4: #EFEFEF;

  --a-1: #6D4C91;
  --a-2: #4A4A4A;
  --a-3: #FF7A59;
  --a-4: #F2C94C;

  --t-bg: #F9FAFB;
}

/*================================================
* common
================================================*/

/* .underPage section {
  padding-bottom: 11.7rem;
} */

.p_second-bg::after {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/common/p_second_bg.svg);
  width: 100%;
  padding-bottom: 62.9%;
  height: 0;
  bottom: -31rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}




/* cnt_ttl-lv2 */
.c_ttl-lv2 {
  font-size: var(--lv4-j-ttl);
  color: var(--t-blue);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 3rem;
}

/* cnt_ttl-lv3 */
.c_ttl-lv3 {
  font-size: var(--lv4-j-ttl);
  color: var(--t-blue);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}

.c_ttl-lv3 span {
  display: inline-block;
  position: relative;
  padding-right: 11.6rem;
}

.c_ttl-lv3 span::before,
.c_ttl-lv3 span::after {
  position: absolute;
  content: "";
  width: 9.2rem;
  height: 0.2rem;
  background: var(--t-blue2);
  right: 0;
  top: 2.4rem;
}

.c_ttl-lv3 span::after {
  background: var(--t-green2);
  width: 3.2rem;
}

.c_ttl+.p_case-list {
  margin-top: 6rem;
}

.c_ttl-lv6 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--t-blue);
}

/* --wborde */
.--notborder span::before,
.--notborder span::after {
  content: none;
}

.--wborder {}

.--wborder span {
  display: inline-block;
  position: relative;
  padding-right: 11.6rem;
}

.--wborder span::before,
.--wborder span::after {
  position: absolute;
  content: "";
  width: 9.2rem;
  height: 0.2rem;
  background: var(--t-blue2);
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.--wborder span::after {
  background: var(--t-green2);
  width: 3.2rem;
}

/* c_txt */
.c_txt-l {
  font-size: var(--p-l);
  line-height: 2.1;
}

.c_txt-m {
  font-size: var(--p-m);
  line-height: 2.1;
}

.c_txt-s {
  font-size: var(--p-s);
  line-height: 1.9;
}

.c_txt-ss {
  font-size: var(--p-ss);
  line-height: 1.9;
}

.c_lead-l {
  font-size: var(--p-l);
  line-height: 1.9;
}

.c_lead-s {
  font-size: var(--p-s);
  line-height: 1.9;
}

.c_ttl-lv4 {
  font-size: var(--lv5-j-ttl);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.c_ttl-lv5 {
  font-size: var(--lv6-j-ttl);
  line-height: 1.7;
  font-weight: 700;
  letter-spacing: 0.1em;
}


.c_lead-s {
  font-size: var(--lead-s);
}





.c_card-box {
  padding: 2.4rem;
  border-radius: 2.4rem;
}

.c_clm-box.bg_wt {
  background: var(--t-white);
  color: var(--t-black);
}

.c_clm-box.wt_card {
  background: var(--t-white);
  padding: 4.8rem 4rem;
  border-radius: 2.4rem;
}

.c_clm-box.gry_card {
  background: var(--t-gray4);
  padding: 4.8rem 1rem;
  border-radius: 2.4rem;
}



/* card_nset */
.card_nset-en {
  font-family: var(--en);
  font-size: var(--lead-m);
  color: var(--t-green);
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.card_nset-ja {
  color: var(--t-blue);
  font-size: var(--p-l);
  font-weight: 700;
  line-height: 2.1;
}

.c_line-ttl {
  color: var(--t-blue);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
  font-size: var(--lv6-j-ttl);
}

.c_line-ttl span {
  display: inline-block;
  position: relative;
  padding-right: 11.6rem;
}

.c_line-ttl span::before,
.c_line-ttl span::after {
  position: absolute;
  content: "";
  width: 9.2rem;
  height: 0.2rem;
  background: var(--t-blue2);
  right: 0;
  top: 1.6rem;
}

.c_line-ttl span::after {
  background: var(--t-green2);
  width: 3.2rem;
}

.c_ttl+.p_case-list {
  margin-top: 6rem;
}

/* c_head-set */
.c_head-set {
  margin-bottom: 4rem;
}

.c_head-set .c_ttl {
  margin-bottom: 2rem;
}

/* c_img-box */
.c_img-box_inner {
  padding: 4.8rem;
  border-radius: 2.4rem;
  background: var(--t-white);
}

.c_img-box_inner img {
  width: auto;
  max-height: 600px;
  display: block;
  margin: 0 auto;
}

.c_img-cap {
  font-size: var(--p-m);
  font-weight: 700;
}

.col-2 .c_img-box {
  margin-bottom: 2rem;
}

/* c_unique-box */

.c_unique-box {
  display: flex;
  justify-content: space-between;
}

.c_unique-txt {
  width: 65%;
}



.c_unique-img {
  width: 28%;
  text-align: right;
  font-size: var(--p-s);
  font-weight: 700;
}

.c_unique-img p {
  margin-top: 2rem;
}

.c_unique-img p strong {
  font-size: var(--p-m);
}

.c_unique-img p img {
  width: 58.33%;
  display: block;
  margin-left: auto;
}




/* c_list */
.c_nlist li {
  padding-left: 0;
  margin-left: 1.5em;
}

.c_nlist li::before {
  content: none;
}


.c_list li,
.c_list li li {
  padding-left: 1em;
  position: relative;
  list-style: none;
  margin-left: 0;
  margin-top: 0.5rem;
}



.c_list li::before,
.c_nlist li li::before {
  position: absolute;
  content: "・";
  left: 0;
  top: 0;
}

/* c_olist */
.c_olist {
  margin-left: 1.5em;
}

.c_olist li {
  margin-top: 0.5rem;
}

/* c_bg-set */
.c_bg-set_inner {
  background: radial-gradient(133.64% 492.71% at 133.64% -32.72%, #3BAA6C 0%, #10386B 48.15%);
  height: 100%;
  border-radius: 2.4rem;
  padding: 6.2rem 7.2rem;
  color: var(--t-white);
}

.c_bg-light .c_bg-set_inner {
  background: radial-gradient(133.64% 492.71% at 133.64% -32.72%, #F2C94C 0%, #EFEFEF 48.15%);
}

.c_bg-set_inner .c_ttl-lv3 {
  color: var(--t-white);
  margin-bottom: 2rem;
}


.c_lowlist li {
  list-style: lower-roman;
}


/* 背景のみflex */
.c_bg-set_inner .col-4 {
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.c_bg-set_inner .col-4 .c_card-box {
  width: calc((100% - 9.6rem) / 4);
}

.c_clm-headesc {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0;
  justify-content: start;
}

.c_clm-headesc .c_clm-head {
  width: 33.2rem;
  padding-right: 3.2rem;
  margin-top: 4rem;
  display: flex;
  align-items: center;
  justify-content: start;
}

/* c_numset-ttl */
.c_numset-ttl {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 1rem 2.4rem;
}

.c_numset-ttl.vertical {
  flex-wrap: wrap;
  flex-direction: column;
}

.c_numset-ttl+div,
.c_iconset-ttl+div {
  margin-top: 2rem;
}

.c_numset-num {
  display: grid;
  place-content: center;
  width: 5rem;
  min-width: 5rem;
  height: 5rem;
  background: var(--t-blue2);
  font-size: var(--lv6-j-ttl);
  color: var(--t-white);
  border-radius: 100%;
  font-weight: 700;
}

.c_clm-headesc .c_clm-desc {
  width: calc(100% - 33.2rem);
  display: flex;
  align-items: center;
  justify-content: start;
  margin-top: 4rem;
}

.c_clm-headesc .c_clm-head:first-of-type,
.c_clm-headesc .c_clm-desc:first-of-type {
  margin-top: 2rem;
}

.c_clm-headesc .c_clm-head:not(:first-of-type),
.c_clm-headesc .c_clm-desc:not(:first-of-type) {
  padding-top: 5rem;
  border-top: 1px solid var(--t-blue2);
}


/* .c_iconset-ttl */
.c_iconset-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
  gap: 1rem 2.4rem;
}

.c_iconset-icon {
  display: block;
  width: 6rem;
}

.c_iconset-ttl .c_ttl {
  width: calc(100% - 8.4rem);
}

.c_tel {
  color: var(--t-blue);
  font-size: var(--lead-l);
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 3.2rem;
  letter-spacing: 0.05em;
  margin-top: 1rem;
}

.c_tel i {
  width: 3rem;
  height: 3rem;
}


@media screen and (max-width:1023px) {

  .p_second-bg::after {
    background-image: url(../../images/common/p_second_bg_sp.svg);
    padding-bottom: 171.1%;
  }


  /* cnt_ttl-lv2 */
  .c_ttl-lv2 {
    font-size: var(--lv5-j-ttl);
  }

  .c_ttl-lv3 {
    font-size: var(--lv5-j-ttl);
  }

  .c_ttl-lv3 span {
    padding-right: 0;
    padding-bottom: 3.2rem;
  }

  .c_ttl-lv3 span::before,
  .c_ttl-lv3 span::after {
    right: auto;
    top: auto;
    bottom: 0;
    left: 0;
  }

  .c_ttl-lv3 span::after {
    left: 6rem;
  }

  .c_ttl-lv4 {
    font-size: var(--lv6-j-ttl);
  }

  .c_txt-l {
    font-size: var(--p-m);
  }

  .c_txt-m {
    font-size: var(--p-s);
  }

  .c_clm-box.wt_card {
    padding: 4.8rem 3.2rem;
  }

  .c_line-ttl span {
    padding-right: 0;
    padding-bottom: 2rem;
  }

  .c_line-ttl span::before,
  .c_line-ttl span::after {
    right: auto;
    top: auto;
    bottom: 0;
    left: 0;
  }

  .c_line-ttl span::after {
    left: 6rem;
  }




  .c_head-set {
    margin-bottom: 3.2rem;
  }

  /* .c_img-box {
    margin-bottom: 8rem;
  } */

  .c_img-box_inner {
    padding: 2.4rem;
  }

  .col-2 .c_img-box {
    margin-bottom: 1rem;
  }

  /* c_unique-box */
  .c_unique-box {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8rem;
  }

  .c_unique-box.gap--md {
    gap: 3.2rem;
  }

  .c_unique-txt {
    width: 100%;
  }



  .c_unique-img {
    width: 78%;
    font-size: var(--p-ss);
  }

  .c_unique-img p img {
    width: 59%;
  }


  .c_bg-set_inner {
    padding: 4.8rem 3.2rem;
  }

  .c_bg-set_inner.sp_lg {
    padding: 2.4rem;
  }


  .c_bg-set_inner .col-4 {
    flex-wrap: wrap;
  }

  .c_bg-set_inner .col-4 .c_card-box {
    width: 100%;
  }


  .c_clm-headesc .c_clm-head {
    width: 100%;
    padding-right: 0;
  }

  .c_clm-headesc .c_clm-desc {
    width: 100%;
    margin-top: 2rem;
  }


  .c_clm-headesc .c_clm-desc:not(:first-of-type) {
    border-top: none;
    padding: 0;
  }

  .c_numset-ttl.vertical {
    flex-direction: unset;
  }

  .c_numset-ttl+div {
    margin-top: 2rem;
  }

  .c_card-box .c_numset-ttl+div {
    margin-top: 1rem;
  }

  .c_tel {
    gap: 1.6rem;
  }


  /* .c_iconset-ttl */
  .c_iconset-ttl {
    flex-wrap: wrap;
    gap: 1rem;
  }

  .c_iconset-icon {
    width: 4rem;
  }

  .c_iconset-ttl .c_ttl {
    width: 100%;
    text-align: center;
  }
}

/*================================================
* p_second-head / p_third-head
================================================*/
/* p_second-head */
#p_second-head {
  /* padding: 0 0 11.7rem; */
  padding: 0;
}

#p_second-head::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/common/p_second_head.svg);
  width: 100%;
  padding-bottom: 94.64%;
  height: 0;
  /* top: 4.2rem; */
  bottom: -62rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -2;
}

#p_second-head.notBg::before {
  content: none;
}

.p_head-outer {
  position: relative;
  /* padding-bottom: 16.7rem; */
}

.p_head-outer img {
  overflow: hidden;
  object-fit: cover;
  height: 65rem;
  border-radius: 0 0 11.7rem 11.7rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.p_head-inner {
  min-width: 900px;
}

#p_second-head .p_head-inner {
  /* position: absolute; */
  /* top: 40.9rem; */
  /* bottom: 0; */
  /* left: 50%;
  transform: translateX(-50%); */
  padding-top: 42rem;
  z-index: 1;
}


.p_head-ttl {
  font-size: var(--lv1-j-ttl);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.p_head-subttl {
  font-size: var(--lv6-j-ttl);
  color: var(--t-white);
  letter-spacing: 0.1em;
}

#p_second-head .p_head-ttl {
  color: var(--t-white);
}


.p_head-txt {
  width: 85.6%;
  background: var(--t-white);
  padding: 6.8rem 6.4rem;
  font-size: var(--lead-s);
  color: var(--t-blue);
  line-height: 1.9;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 700;
  margin: 8.2rem auto 0;
  border-radius: 2.4rem;
  min-width: 820px;
  min-height: 220px;
  display: grid;
  place-content: center;
}

.p_head-sup {
  font-size: var(--p-m);
  color: var(--t-black);
  margin-top: 1rem;
}

.p_head-sup a {
  text-decoration: underline;
  color: var(--t-blue);
}

/* p_third-head */
#p_third-head {
  padding: 24rem 0 5.4rem;
  border-radius: 0 0 11.7rem 11.7rem;
  background: url(../../images/common/p_third_head.svg) no-repeat right bottom/cover;
  height: 100%;
}

#p_third-head .p_head-sup {
  font-size: var(--lead-s);
  color: var(--t-green);
  margin: 0;
  font-weight: 700;
}

@media screen and (max-width:1023px) {
  /* #p_second-head {
    padding: 0 0 8rem;
  } */

  #p_second-head::before {
    background-image: url(../../images/common/p_second_head_sp.svg);
    padding-bottom: 241.4%;
    top: 0;
  }

  .p_head-inner {
    min-width: unset;
    width: 88.8%;
  }


  .p_head-outer img {
    height: 50rem;
    border-radius: 0 0 6.4rem 6.4rem;
  }

  #p_second-head .p_head-inner {
    padding-top: 35rem;
  }

  .p_head-ttl {
    font-size: var(--lv4-j-ttl);
    width: 86.3%;
    line-height: 1.7;
    margin: 0 auto;
  }

  .p_head-subttl {
    font-size: var(--p-m);
    width: 86.3%;
    margin: 0 auto;
    display: block;
  }

  #p_third-head .p_head-sup {
    width: 86.3%;
    margin: 0 auto;
    font-size: var(--p-l);
  }

  .p_head-txt {
    min-width: unset;
    min-height: unset;
    font-size: var(--p-m);
    padding: 3.6rem 4rem;
    margin-top: 6rem;
    width: 100%;
  }

  .p_head-sup {
    font-size: var(--p-s);
  }


  #p_third-head {
    padding: 18rem 0 5.4rem;
    border-radius: 0 0 6.4rem 6.4rem;
    background: url(../../images/common/p_third_head_sp.svg) no-repeat right bottom/cover;
  }


}

/*================================================
* c_tab
================================================*/




.tab_wrap {
  position: relative;
  overflow: hidden;
}

.tab_wrap::before {
  position: absolute;
  content: "";
  border-radius: 11.7rem 11.7rem 0 0;
  width: 100%;
  height: 100%;
  background: #FFF;
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  top: 7rem;
  left: 0;
  z-index: -1;
}

.c_tab-list {
  margin-bottom: 8.8rem;
  border-radius: 11.7rem;
  background: var(--t-white);
  box-shadow: 0 0 2rem 0 rgb(0 0 0 / 10%);
  padding: 2.4rem 3.2rem;

}


.c_tab-list-inner {
  display: flex;
  align-items: center;
  justify-content: start;
  flex-wrap: wrap;
  gap: 3.2rem;

}

.c_tab-btn4 .c_tab-list-inner {
  gap: 2.4rem;
}

.c_tab-btn5 .c_tab-list-inner {
  gap: 2.4rem;
}

.c_tab-btn6 .c_tab-list-inner {
  gap: 2.4rem;
}

.c_tab-btn {
  cursor: pointer;
  border-radius: 11.7rem;
  background: var(--t-white);
  text-align: center;
  padding: 3.2rem 0;
  position: relative;
  z-index: 1;
  font-size: var(--p-l);
  font-weight: 700;
  color: var(--t-gray2);
  letter-spacing: 0.08em;
  transition: .2s;
  width: calc((100% - 3.2rem) / 2);
}

.c_tab-btn5 .c_tab-list-inner .c_tab-btn {
  width: calc((100% - 9.6rem) / 5);
  padding: 2.2rem 0;
}



.c_tab-btn4 .c_tab-list-inner .c_tab-btn {
  width: calc((100% - 7.2rem) / 4);
  padding: 2.2rem 0;
}


.c_tab-btn:hover {
  background: var(--t-gray4);
  color: var(--t-blue2);
}

.c_tab-btn::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scaleX(.32);
  transition-duration: .2s;
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(.2, 0, 0, 1);
  border-radius: 11.7rem;
  background: linear-gradient(90deg, rgba(16, 56, 107, 1) 0%, rgba(44, 123, 191, 1) 100%);
  top: 0;
  left: 0;
  z-index: -1;
}

.c_tab-btn.is-active::before {
  opacity: 1;
  transform: scaleX(1);
}

.c_tab-btn.is-active {
  color: var(--t-white);
}

.c_tab-panel {
  position: relative;
  transition: height .4s;
  min-height: 430px;
}

.c_tab-cnt {
  opacity: 0;
  pointer-events: none;
  transition: .4s;
}

.c_tab-cnt.is-active {
  opacity: 1;
  pointer-events: all;
}

.c_tab-ex {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

@media screen and (max-width:1023px) {
  .c_tab-list {
    margin-bottom: 4.8rem;
    border-radius: 4.8rem;
    padding: 1.6rem;
  }

  .c_tab-btn4 .c_tab-list-inner {
    gap: 0.8rem;
    min-width: 480px;
  }

  .c_tab-btn5 .c_tab-list-inner {
    gap: 0.8rem;
    min-width: 630px;
  }



  .c_tab-btn {
    padding: 2rem 1rem;
    font-size: var(--p-s);
  }



  .c_tab-btn5 .c_tab-list-inner .c_tab-btn {
    padding: 1.6rem 0;
    width: calc((100% - 3.2rem) / 5);
  }

  #csr .c_tab-btn4 .c_tab-list-inner {
    min-width: 750px;
  }

  #csr .c_tab-btn4 .c_tab-list-inner .c_tab-btn {
    line-height: 1.7;
  }

  /* sp_scroll */
  .sp_scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .sp_scroll::-webkit-scrollbar {
    display: none;
  }

  .custom-scrollbar {
    position: relative;
    height: 2px;
    margin-top: 8px;
    user-select: none;
    touch-action: none;
    width: 78.6%;
    margin: 0 auto;
    top: 10px;
  }

  .custom-scrollbar__track {
    position: absolute;
    inset: 0;
    background: var(--t-gray3, #e5e7eb);
    border-radius: 999px;
    overflow: hidden;
  }

  .custom-scrollbar__thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 60px;

    background: var(--t-blue2, #3b82f6);
    border-radius: 999px;
    cursor: grab;
    transition: background .2s;
  }

  .custom-scrollbar__thumb:active {
    cursor: grabbing;
  }

  .custom-scroll-wrap {
    width: 100%;
  }
}

/*================================================
* c_card-list
================================================*/

.c_clm {
  display: grid;
  gap: 4.8rem 3.2rem;
}

.c_clm.center {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
}

.c_ttl+.c_clm {
  margin-top: 5rem;
}

.c_clm.col-2 {
  grid-template-columns: repeat(2, 1fr);
}

.c_clm.col-3 {
  grid-template-columns: repeat(3, 1fr);
}

.c_clm.col-3.clm_md {
  gap: 2.4rem 4.8rem;
}

.c_clm.col-2.clm_md-lg {
  gap: 3.2rem;
}

.c_clm.col-2.clm_lg,
.c_clm.col-3.clm_lg {
  gap: 4.8rem;
}

.c_clm.col-4 {
  grid-template-columns: repeat(4, 1fr);
}

.c_clm.center.col-4 .c_clm-box {
  width: calc((100% - 9.6rem) / 4);
}

.c_clm.col-2 .c_btn,
.c_clm.col-3 .c_btn {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.bkParts .c_clm.col-2 .c_btn,
.bkParts .c_clm.col-3 .c_btn {
  justify-content: start;
  gap: 0;
}

.bkParts .c_clm.col-2 .c_btn i,
.bkParts .c_clm.col-3 .c_btn i {
  margin-left: auto;
}

.c_clm.clm_link {
  gap: 0;
}

.c_clm p+p {
  margin-top: 1em;
}

.c_clm-img {
  border-radius: 2.4rem;
  overflow: hidden;
}

.c_clm.col-4.--center {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3.2rem;
}

.c_clm.col-4.--center .c_clm-box {
  width: calc((100% - 9.6rem)/4);
  min-width: 19rem;
}



.card-link {
  border-radius: 2.4rem;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}

.c_card-ttl {
  padding: 3rem 2rem 2.6rem;
  transition: .4s;
  background: var(--t-blue);
  word-break: break-word;
}

.c_card-ttl .en {
  font-size: 1.8rem;
  color: var(--t-blue2);
  font-weight: 400;
  letter-spacing: 0.02em;
  margin-bottom: 1rem;
}

.c_card-ttl .ja {
  display: block;
  font-weight: 700;
  line-height: 1.6;
  color: var(--t-white);
  font-size: var(--lv5-j-ttl);
}


.c_card-txt {
  font-size: var(--p-m);
  padding: 2rem 2.4rem;
  line-height: 2.1;
  flex-grow: 1;
  background: var(--t-gray4);
}

.c_card-img {
  transition: .4s;
  width: 100%;
  overflow: hidden;
  object-fit: cover;
  /* aspect-ratio: 518 / 190; */
  aspect-ratio: 523 / 280;
  position: relative;
  display: block;
  z-index: -1;
}

.c_card-img img {
  overflow: hidden;
  object-fit: cover;
  object-position: top;
  height: 100%;
  transition: .4s;
}

a:hover .c_card-img img {
  transform: scale(1.15);
}

.card-link .c_btn-arrow {
  position: absolute;
  bottom: 0.8rem;
  right: 0.8rem;
  width: 4rem;
  height: 4rem;
}




/* c_txt-link */
.c_txt-link {
  color: var(--t-blue);
  font-weight: 700;
  display: inline-block;
}

.c_txt-link i {
  margin-left: 1.6rem;
  width: 3.5rem;
  height: 3.5rem;
}


/* c_link-box */


.c_box-link {
  padding-left: 4.8rem;
  padding-bottom: 1.2rem;
  margin-top: 4rem;
  position: relative;
}

.c_box-link::before {
  position: absolute;
  content: "";
  left: 0;
  top: 6px;
  bottom: 0;
  border-left: 1px solid var(--t-green2);
}

.c_box-link li {
  margin-bottom: 2rem;
}

.c_link-box+.c_link-box {
  margin-top: 6rem;
}

.c_box-link li a:hover {
  color: var(--t-blue2);
}

@media screen and (max-width:1023px) {
  .tab_wrap::before {
    border-radius: 6.4rem 6.4rem 0 0;
    top: 5.2rem;
  }

  .c_clm.col-2,
  .c_clm.col-3,
  .c_clm.col-4 {
    grid-template-columns: repeat(1, 1fr);
  }

  .c_clm.col-2 {
    gap: 3.2rem;
  }

  .c_clm.col-3 {
    gap: 3.2rem;
  }

  .c_clm.col-2.clm_lg,
  .c_clm.col-3.clm_lg {
    gap: 3.2rem;
  }

  .c_clm.col-4 {
    gap: 2.4rem;
  }

  .c_clm.center.col-4 .c_clm-box {
    width: 100%;
  }



  .c_clm.col-4.--center .c_clm-box {
    width: 100%;
    min-width: unset;
  }

  .c_card-ttl {
    padding: 3.5rem 2.4rem 1.7rem;
  }

  .c_card-ttl .ja {
    font-size: var(--lv6-j-ttl);
  }

  .c_card-ttl .en {
    font-size: 1.6rem;
  }

  /* .c_card-img {
    aspect-ratio: 382 / 190;
  } */

  .c_card-txt {
    font-size: var(--p-s);
  }

  .c_link-box+.c_link-box {
    margin-top: 3.2rem;
  }

  .c_box-link {
    padding-left: 1.6rem;
    padding-bottom: 2.2rem;
    margin-top: 2rem;
  }

  .c_box-link li {
    margin-bottom: 1rem;
  }

  .c_box-link li a {
    font-size: var(--p-s);
  }
}

/*================================================
* c_border-list
================================================*/
.c_ttl+.c_border-list {
  margin-top: 5rem;
}

.c_bd-box {
  padding: 4rem 4.8rem;
  border: 1px solid var(--t-gray3);
  border-radius: 2.4rem;
}

.c_bd-box:not(:first-child) {
  margin-top: 2.4rem;
}

.c_bd-ttl {
  font-size: var(--lv6-j-ttl);
  font-weight: 700;
  padding-bottom: 3.2rem;
  margin-bottom: 3rem;
  position: relative;

  background-image: repeating-linear-gradient(90deg, #CFCFCF, #CFCFCF 2px, transparent 2px, transparent 4px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 1px;
}

.c_qa-ttl {
  padding-left: 9.1rem;
}

.c_qa-ttl::before {
  position: absolute;
  content: "Q";
  top: calc(50% - 1.6rem);
  left: 0;
  transform: translateY(-50%);
  font-family: var(--en);
  font-size: var(--lv6-e-ttl);
  color: var(--t-green2);
  font-weight: 700;
  line-height: 1;
}

.c_bd-txt {
  line-height: 2.1;
  font-weight: var(--p-l);
}

.c_qa-txt {
  font-weight: var(--p-m);
}

@media screen and (max-width:1023px) {
  .c_bd-ttl {
    font-size: var(--p-l);
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }

  .c_qa-ttl {
    padding-left: 6rem;
  }

  .c_bd-txt {
    font-size: var(--p-s);
  }
}

/*================================================
* ACFブロック
================================================*/
.hd-imgset-2clm:has(> .c_clm-box:only-child) {
  grid-template-columns: repeat(1, 1fr);
}

@media screen and (max-width:1023px) {}

/*================================================
* 
================================================*/

@media screen and (max-width:1023px) {}

/*================================================
* 
================================================*/


@media screen and (max-width:1023px) {}

/*================================================
* 
================================================*/

@media screen and (max-width:1023px) {}

/*================================================
* 
================================================*/


@media screen and (max-width:1023px) {}

/*===============================================================================
* page_business
================================================*/
#p_second-head.business::before {
  background-image: url(../../images/business/p_second_head.svg);
  padding-bottom: 101.72%;
  bottom: -150rem;
}

@media screen and (max-width:1023px) {
  #p_second-head.business::before {
    background-image: url(../../images/business/p_second_head_sp.svg);
    padding-bottom: 336.98%;
    bottom: auto;
    top: 0;
  }
}

/*================================================
* bizintro
================================================*/
.bizintro_ttl {
  font-size: var(--lv2-j-ttl);
  line-height: 1.8;
  font-weight: 700;
}

.bizintro_ttl .blue {
  color: var(--t-blue2);
}

.bizintro_ttl .green {
  color: var(--t-green2);
}

@media screen and (max-width:1023px) {
  #bizintro {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .bizintro_ttl {
    font-size: var(--lv3-j-ttl);
  }

  #bizintro .u-mt-ss {
    margin-top: 4rem;
  }
}


/*================================================
* 
================================================*/
#approach {
  overflow: hidden;
}

.approach_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.approach_txt {
  min-width: 42.8rem;
  width: 40%;
}

.approach_img {
  width: 60%;
  max-width: 64rem;
  position: relative;
  z-index: 1;
}

.approach_img::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/business/approach_bg.svg);
  width: 105.1rem;
  height: 97.3rem;
  top: 4rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.approach_img img {
  filter: drop-shadow(0 0 2rem rgba(0, 0, 0, 0.25));
}


.approach_list {
  background: var(--t-white);
  border-radius: 2.4rem;
  box-shadow: 0 0 2rem 0 rgb(0 0 0 / 10%);
  padding: 4rem 5.6rem;
  margin-top: 8rem;
  margin-bottom: 8rem;

  display: grid;
  gap: 8rem;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
  z-index: 1;
}

.approach_list-item {
  position: relative;
}

.approach_list-item:not(:last-of-type)::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  background: var(--t-gray4);
  right: -4rem;
  top: 0;
}

.approach_list-item h3 {
  color: var(--t-blue);
  font-size: var(--p-l);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 1.6rem;
}

.approach_list-item p {
  font-size: var(--p-s);
  line-height: 1.9;
  margin: 2.4rem 0 3.2rem;
}

.approach_list-item ul li {
  position: relative;
  margin-top: 1.6rem;
  font-size: var(--p-s);
  padding-left: 3.4rem;
  font-weight: 700;
  line-height: 1.4;
}

.approach_list-item ul li::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/business/icon_check.png);
  width: 1.8rem;
  height: 1.8rem;
  top: 0;
  left: 0;
}

.approach_link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}

.approach_link .guidebook {
  width: fit-content;
}

.icon_mainte {
  background-image: url(../../images/business/icon_mainte.png);
  width: 4rem;
  height: 4rem;
}

.icon_eng {
  background-image: url(../../images/business/icon_eng.png);
  width: 4rem;
  height: 4rem;
}

.icon_sol {
  background-image: url(../../images/business/icon_sol.png);
  width: 4rem;
  height: 4rem;
}

@media screen and (max-width:1023px) {
  .approach_box {
    flex-wrap: wrap;
    gap: 8rem;
  }


  .approach_txt {
    min-width: unset;
    width: 100%;
  }

  .approach_img {
    width: 100%;
  }

  .approach_img::before {
    background-image: url(../../images/business/approach_bg_sp.svg);
    width: 100vw;
    height: 2226.2vw;
    top: 7.5rem;
  }

  .approach_list {
    padding: 4rem 5.6rem;
    gap: 8rem;
    grid-template-columns: repeat(1, 1fr);
  }

  .approach_list-item:not(:last-of-type)::before {
    width: 100%;
    height: 1px;
    right: auto;
    top: auto;
    left: 0;
    bottom: -4rem;
  }

  .approach_link {
    flex-wrap: wrap;
  }
}



/*================================================
* num
================================================*/

.p_num-box {
  position: relative;
  background: var(--t-white);
  border-radius: 2.4rem;
  box-shadow: 0 0 2rem 0 rgb(0 0 0 / 10%);
  padding: 2.4rem 0.5rem;
}

.p_num-ttl {
  font-size: var(--p-l);
  font-weight: 700;
  color: var(--t-blue);
  text-align: center;
  background: var(--t-gray4);
  border-radius: 1.6rem;
  padding: 1.4rem 0;
  letter-spacing: 0.08em;
  margin: 0 auto 1rem;
  width: 75.75%;
  letter-spacing: 0.1em;
}

.p_num-ttl.blue {
  background: var(--t-blue);
  color: var(--t-white);
}

.p_num-en,
.p_num-ja,
.p_num-note {
  display: block;
  text-align: center;
  font-weight: 700;
}

.p_num-en {
  color: var(--t-green2);
  font-family: var(--en);
  font-size: var(--lv5-e-ttl);
  line-height: 1.4;
  letter-spacing: 0.02em;
}

.p_num-ja {
  color: var(--t-blue);
  font-size: var(--lv6-j-ttl);
  line-height: 1.6;
  margin-top: 0.4rem;
  letter-spacing: 0.1em;
}

.p_num-note {
  font-size: var(--p-m);
  color: var(--t-blue2);
  margin-top: 0;
}

.p_num-img {
  /* width: 48%; */
  width: fit-content;
  margin: 0 auto;
  /* width: 120px; */
  /* max-width: 120px; */
  /* min-width: 120px; */

  height: 12rem;
}

.p_num-img img {
  width: auto;
  height: 100%;
  max-width: unset;
  margin: 0 auto;
}

.p_num-box:has(.p_num-ttl.lg) {
  padding: 4.8rem 0.5rem 4rem;
}

.p_num-ttl.lg {
  position: absolute;
  width: 89%;
  left: 50%;
  transform: translateX(-50%);
  top: -3rem;
  max-width: 400px;
}

.numbers_num-list .p_num-ttl {
  font-size: var(--lv5-j-ttl);
  padding: 1rem 0 0.9rem;
}

.numbers_num-list .p_num-box:has(.p_num-ttl.lg) {
  padding-top: 6.4rem;
}

@media screen and (max-width:1023px) {
  .c_clm.col-4.biznum_num-list {
    gap: 5.6rem 0;
  }

  .p_num-img {
    /* width: 72%; */
  }

  .p_num-ttl {
    width: 81.2%;
  }

  .p_num-ttl.lg {
    max-width: 222px;
  }
}

/*================================================
* biznum
================================================*/

.biznum_num-list {
  margin-top: 5rem;
  margin-bottom: 8rem;
}


@media screen and (max-width:1023px) {}


/*================================================
* bizsustainer
================================================*/
#bizsustainer {
  border-radius: 11.7rem 11.7rem 0 0;
}

#bizsustainer::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: url(../../images/business/bizsustainer_bg.webp) no-repeat center top/cover;
  top: 0;
  left: 0;
  z-index: -2;
  border-radius: 11.7rem 11.7rem 0 0;
}

#bizsustainer::after {
  position: absolute;
  content: "";
  border-radius: 11.7rem 11.7rem 0 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #FFFFFF 19.48%, rgba(255, 255, 255, 0) 82.37%);
  top: 0;
  left: 0;
  z-index: -1;
}


.bizsustainer_list {
  padding: 4.8rem;
  border-radius: 2.4rem;
  display: grid;
  gap: 4.8rem;
  grid-template-columns: repeat(3, 1fr);
  background: rgb(255 255 255 / 50%);
  backdrop-filter: blur(30px);
  margin-top: 6rem;
  margin-bottom: 8rem;
}

.bizsustainer_item {
  position: relative;
  text-align: center;
}

.bizsustainer_item:not(:last-of-type)::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  background: var(--t-white);
  right: -2.4rem;
  top: 0;
}

.bizsustainer_item h3 {
  color: var(--t-blue);
  font-size: var(--p-l);
  font-weight: 700;
  margin-bottom: 1rem;
}

.bizsustainer_item p {
  font-size: var(--p-s);
  font-weight: 700;
  line-height: 1.9;
}

@media screen and (max-width:1023px) {
  #bizsustainer {
    border-radius: 6.4rem 6.4rem 0 0;
  }

  #bizsustainer::before {
    background: url(../../images/business/bizsustainer_bg_sp.webp) no-repeat center top/cover;
    border-radius: 6.4rem 6.4rem 0 0;
  }

  #bizsustainer::after {
    border-radius: 6.4rem 6.4rem 0 0;
  }

  #bizsustainer h2 {
    width: 88.84%;
    margin: 0 auto;
  }

  .bizsustainer_list {
    gap: 8rem 0;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 4rem;
    margin-bottom: 5.6rem;
  }

  .bizsustainer_item:not(:last-of-type)::before {
    width: 100%;
    height: 1px;
    right: auto;
    top: auto;
    left: 0;
    bottom: -4rem;
  }
}

/*==================================================================================
* page_feature
================================================*/
/*================================================
* numbers
================================================*/
.numbers_note {
  font-size: var(--p-ss);
  margin-bottom: 7.2rem;
}

.numbers_num-list {
  gap: 7.2rem 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.numbers_num-list.col-2 {
  margin-bottom: 7.2rem;
}

.numbers_num-list.col-2 .p_num-box {
  width: calc((100% - 4rem) / 2);
}

.numbers_num-list.col-3 .p_num-box {
  width: calc((100% - 8rem) / 3);
}

.numbers_num-list.col-4 .p_num-box {
  width: calc((100% - 7.2rem) / 4);
}

.p_num-box-col2 {
  display: grid;
  /* gap: 3.2rem; */
  grid-template-columns: repeat(2, 1fr);
  padding-left: 4rem;
  padding-right: 4rem;
  position: relative;
}

.p_num-box-col2.small {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.p_num-box-col2 .p_num-clm {
  position: relative;
}

.p_num-box-col2::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 10rem;

  background-image: repeating-linear-gradient(180deg, #CFCFCF, #CFCFCF 2px, transparent 2px, transparent 4px);
  background-position: right top;
  background-repeat: repeat-y;
  background-size: 1px 100%;

  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.numbers_num-list.col-3 .p_num-box-col2 {
  padding-left: 0;
  padding-right: 0;
}


.numbers_num-list.col-3 .p_num-box-col2::before {
  height: 5rem;
}

.numbers_num-list.col-3 .p_num-box-col2 .p_num-en {
  font-size: var(--lv6-e-ttl);
}



.qual_box {
  width: 65.5%;
  background: var(--t-white);
  border-radius: 2.4rem;
  padding: 4rem;
  margin: 7.2rem auto 0;
}

.qual_list {
  display: flex;
  align-items: stretch;
  justify-content: start;
  flex-wrap: wrap;
}


.qual_list dt {
  width: 71.5%;
}

.qual_list dd {
  width: calc(100% - 71.5%);
  text-align: center;
}

.qual_list .label {
  display: block;
  background: var(--t-blue);
  color: var(--t-white);
  font-size: var(--p-m);
  font-weight: 700;
  padding: 2rem 4rem;
  border-radius: 1.6rem;
}

.qual_list dt .label {
  margin-right: 4.3rem;
}

.qual_list dd .label {
  background: var(--t-gray4);
  color: var(--t-blue);
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.qual_list dt:not(:has(.label)) {
  padding: 2.4rem 0 2.4rem 4rem;
  font-size: var(--p-s);
  font-weight: 700;
  color: var(--t-blue2);
  border-bottom: 1px solid var(--t-gray4);
}


.qual_list dd:not(:has(.label)) {
  padding: 2.4rem 4rem;
  font-size: var(--p-s);
  font-weight: 700;
  border-bottom: 1px solid var(--t-gray4);
}

.qual_list dt:last-of-type,
.qual_list dd:last-of-type {
  border-bottom: none;
}


@media screen and (max-width:1023px) {
  #numbers {
    padding-top: 6rem;
    padding-bottom: 8rem;
  }

  .c_clm.col-2.numbers_num-list {
    gap: 7.2rem;
    margin-bottom: 4rem;
  }

  .c_clm.col-2.numbers_num-list .p_num-ttl.lg {
    width: 93vw;
    max-width: unset;
  }

  .p_num-box-col2 {
    padding-left: 0;
    padding-right: 0;
  }


  .numbers_num-list.col-2 .p_num-box,
  .numbers_num-list.col-3 .p_num-box,
  .numbers_num-list.col-4 .p_num-box {
    width: 100%;
  }


  .qual_box {
    width: 100%;
    padding: 2.4rem;
    margin: 4rem auto 0;
  }

  .qual_list dt {
    width: 67%;
  }

  .qual_list dd {
    width: calc(100% - 67%);

  }


  .qual_list dt:not(:has(.label)) {
    padding: 1.6rem 0 1.6rem 2.4rem;
    font-size: var(--p-ss);
  }


  .qual_list dd:not(:has(.label)) {
    padding: 1.6rem 2.4rem;
    font-size: var(--p-ss);
  }


  .qual_list .label {
    font-size: var(--p-ss);
    padding: 1.6rem 2.4rem;
  }

  .qual_list dt .label {
    margin-right: 1.4rem;
  }
}





/*===============================================================================
* page_company
================================================*/
/*================================================
* mission
================================================*/
#mission::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/company/message/mission_bg.svg);
  width: 96.05%;
  padding-bottom: 56.7%;
  height: 0;
  top: -1.8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: -2;
}

.mission_box {
  display: flex;
}

.mission_ttl {
  width: 30%;
  max-width: 320px;
}

.mission_txt {
  font-size: var(--lv2-j-ttl);
  font-weight: bold;
}

@media screen and (max-width:1023px) {
  #mission::before {
    background-image: url(../../images/company/message/mission_bg_sp.svg);
    width: 100%;
    padding-bottom: 135.4%;
    top: 19.2rem;
  }

  .mission_box {
    flex-wrap: wrap;
  }

  .mission_ttl {
    width: 100%;
    max-width: unset;
  }

  .mission_txt {
    font-size: var(--lv3-j-ttl);

  }
}

/*================================================
* message
================================================*/

.message_box-under p {
  font-size: var(--p-l);
  line-height: 2.1;
}

.message_box-under.border {
  border-top: 1px solid var(--t-gray3);
  padding-top: 7.2rem;
}

.message_box-under.en .c_ttl-lv3 {
  font-family: var(--en);
  font-size: 2.4rem;
  line-height: 1.4;
}

.message_box-under.en .c_ttl-lv3 span {
  letter-spacing: 0.02em;
}

.message_box-under.en p {
  font-size: var(--p-s);
  line-height: 1.9;
}

@media screen and (max-width:1023px) {
  #message {
    padding-bottom: 8rem;
  }


  .message_box-under.border {
    margin-top: 7.2rem;
  }
}

/*================================================
* company
================================================*/
.company_list {
  display: flex;
  align-items: stretch;
  justify-content: start;
  flex-wrap: wrap;
}

.company_list+.c_ttl {
  margin-top: 11.7rem;
}

.company_list dt {
  width: 25%;
  color: var(--t-blue2);
  font-size: var(--lv6-j-ttl);
  min-width: 18rem;
  font-weight: 700;
  padding-top: 6.4rem;
  padding-bottom: 6.4rem;
  padding-right: 2.4rem;
  border-bottom: 1px solid var(--t-gray3);
}

.company_list.history dt {
  /* padding-right: 13.4rem; */
  text-align: right;
  font-size: var(--p-m);
}

.company_list dd {
  width: calc(100% - 25%);
  font-size: var(--p-m);
  line-height: 2.1;
  padding-top: 6.4rem;
  padding-bottom: 6.4rem;
  border-bottom: 1px solid var(--t-gray3);
}

.company_list dt:first-of-type,
.company_list dd:first-of-type {
  padding-top: 0;
}


.company_list .notboder {
  border-bottom: none;
  padding-bottom: 0;
}

.notboder .onboder {
  border-bottom: 1px solid var(--t-gray3);
}

.company_list .c_txt-link {
  margin-top: 3.2rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.company_list a:not(.c_txt-link) {
  color: var(--t-blue);
  text-decoration: underline;
}

#outline .c_img-box_inner {
  padding: 4.8rem 0rem;
}

#outline .c_img-box_inner img {
  max-height: unset;
}

@media screen and (max-width:1023px) {
  .company_list dt {
    width: 100%;
    padding-right: 0;
    min-width: unset;
    padding-bottom: 0;
    border-bottom: none;
  }

  .company_list.history dt {
    padding-right: 0;
    text-align: left;
  }



  .company_list dd:first-of-type,
  .company_list dd {
    width: 100%;
    padding-top: 2rem;
    border-bottom: 1px solid var(--t-gray3);
  }

  .company_list .c_txt-link {
    margin-left: auto;
  }

  #outline .c_img-box {
    margin-top: 4rem;
  }

  #outline .c_img-box_inner {
    padding: 4.8rem 0;
    overflow-x: auto;
  }

  #outline .c_img-box_inner img {
    min-width: 1240px;
  }
}

/*==================================================================================
* パーツ
================================================*/

/*================================================
* p_case-list
================================================*/

.p_case-list {
  display: grid;
  gap: 1.9rem;
}

.p_case-list.col-2 {
  grid-template-columns: repeat(2, 1fr);
}

.p_case-list.col-3 {
  grid-template-columns: repeat(3, 1fr);
}

.p_case-list .case_card a {
  height: 100%;
  display: block;
  background: var(--t-white);
  box-shadow: 0 0 2rem 0 rgb(0 0 0 / 10%);
  border-radius: 2.4rem;
  overflow: hidden;
}

.p_case-list .case_card a:hover {
  background: var(--t-blue);
}

.p_case-list .case_card.bl a {
  background: var(--t-blue);
  color: var(--t-white);
}




.p_case-list .space a {
  padding: 2.4rem;
}

.p_case-list .case_card .thumbnail {
  aspect-ratio: 343 / 193;
  overflow: hidden;
}

.p_case-list .space a .thumbnail {
  border-radius: 2.4rem;
  aspect-ratio: unset;
}


.p_case-list .case_card .thumbnail img {
  overflow: hidden;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  transition: .4s;
}

.p_case-list.h_img .case_card .thumbnail {
  padding-top: 3rem;
}

.p_case-list.h_img .case_card .thumbnail img {
  overflow: hidden;
  object-fit: cover;
  width: auto;
  max-height: 70%;
  margin: 0 auto;
}

.p_case-list .case_card a:hover .thumbnail img {
  transform: scale(1.15);
}

.p_case-list .case_card .meta {
  padding: 0 2.4rem 3.5rem;
  background: var(--t-white);
  transition: .4s;
  /* 上要素 */
  display: flex;
  flex-direction: column;
}

.p_case-list.group a {
  position: relative;
}

.p_case-list.group .c_btn-arrow {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
}

.p_case-list.group .case_card .thumbnail img {
  width: 90%;
  height: 90%;
  margin: 0 auto;
}

.p_case-list .case_card a:hover {
  background: var(--t-white);
  /* color: var(--t-white); */
}



.p_case-list .case_card .ttl {
  font-size: 2.4rem;
  color: var(--t-blue);
  line-height: 1.7;
  font-weight: 700;
  margin: 2rem 0 0rem;
  transition: .4s;
  letter-spacing: 0.1em;
  min-height: 8rem;
}

.p_case-list .case_card:not(:has(.txt)) .ttl {
  min-height: unset;
}

.p_case-list .case_card a:hover .ttl {
  color: var(--t-white);
}


.downloadList .case_card a:hover .ttl {
  color: var(--t-blue);
}

.p_case-list .case_card .txt {
  min-height: unset;
  line-height: 1.9;
  margin-top: 2rem;
  font-size: var(--p-s);
}

.p_case-list .case_card .tag {
  display: flex;
  align-items: center;
  justify-content: start;
  flex-wrap: wrap;
  gap: 1rem 1.2rem;
  padding-top: 1.8rem;
  margin-top: 1.6rem;
  border-top: 1px solid var(--t-gray3);
  margin-bottom: 4rem;
}

.p_case-list .case_card .tag span {
  position: relative;
  display: inline-block;
  padding-left: 1.6rem;
  font-size: var(--p-ss);
  font-weight: 700;
}

.p_case-list .case_card .tag span::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/icon_tag.png);
  width: 1rem;
  height: 1rem;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}


.p_case-list .case_card a .c_btn:hover {
  background: var(--t-blue);
  color: var(--t-white);
}

.p_case-list .case_card a:hover .c_btn {
  background: var(--t-white);
  color: var(--t-blue);
}


.p_case-list .case_card a:hover .c_btn-arrow.dl {
  background-image: url(../../images/icon_dl_w.png);
}

@media screen and (max-width:1023px) {


  .p_case-list.col-2 {
    grid-template-columns: repeat(1, 1fr);
  }

  .p_case-list.col-3 {
    grid-template-columns: repeat(1, 1fr);
  }

  .p_case-list .case_card .ttl {
    min-height: unset;
  }

  .p_case-list .case_card .meta {
    padding: 0 2.6rem 3rem;
  }

  .p_case-list .case_card .thumbnail {
    aspect-ratio: 382 / 272;
  }
}

@media screen and (max-width:1023px) {}

/*================================================
* c_prod
================================================*/
#c_prod {
  /* padding-bottom: 14.9rem; */
  padding-bottom: 0;
}

#s_pickup {
  padding-bottom: 17.7rem;
}

#s_psearch .c_ttl-lv5 {
  margin-bottom: 4rem;
}

.c_prod-list {
  display: grid;
  gap: 4rem 3.2rem;
  grid-template-columns: repeat(3, 1fr);
}

.c_ttl+.c_prod-list {
  margin-top: 6rem;
}

.prod_list .prod_card a {
  height: 100%;
  display: block;
  background: var(--t-blue);
  box-shadow: 0 0 2rem 0 rgb(0 0 0 / 10%);
  border-radius: 1.6rem;
  overflow: hidden;
  position: relative;
}

.prod_list .prod_card a:hover {
  background: var(--t-white);
}

.prod_list .prod_card .thumbnail {
  aspect-ratio: 334/280;
  overflow: hidden;
}

.prod_list .prod_card .thumbnail img {
  overflow: hidden;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  transition: .4s;
}

.prod_list .prod_card a:hover .thumbnail img {
  transform: scale(1.15);
}



.prod_list .prod_card .meta {
  padding: 3.2rem 2.4rem 6.4rem;
  background: var(--t-blue);
  color: var(--t-white);
  transition: .4s;
}

.prod_list .prod_card a:hover .meta {
  background: var(--t-white);
  color: var(--t-blue);
}

.prod_list .prod_card .sup {
  color: var(--t-green2);
  font-size: var(--p-s);
}

.prod_list .prod_card .ttl {
  font-size: 2.4rem;
  line-height: 1.7;
  font-weight: 700;
  margin: 1rem 0 1rem;
  transition: .4s;
  border-bottom: 1px solid var(--t-gray3);
  padding-bottom: 1rem;
}

.prod_list .prod_card .tag {
  display: flex;
  align-items: center;
  justify-content: start;
  flex-wrap: wrap;
  gap: 1rem 1.2rem;
  /* padding-top: 1.8rem; */
  margin-top: 1.6rem;
  /* border-top: 1px solid var(--t-gray3); */
}

.prod_list .prod_card .tag span {
  position: relative;
  display: inline-block;
  padding-left: 1.6rem;
  font-size: var(--p-ss);
  font-weight: 700;
}

.prod_list .prod_card .tag span::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/icon_tag.png);
  width: 1rem;
  height: 1rem;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.prod_list .prod_card .txt {
  min-height: 5.7em;
  line-height: 2.1;
  padding-top: 1.6rem;
}

.prod_list .prod_card i {
  width: 4rem;
  height: 4rem;
  display: block;
  position: absolute;
  bottom: 0.8rem;
  right: 0.8rem;
}


.prod_list.prod_list-slide {
  min-width: 840px;
  position: relative;
}

.prod_pickup-swiper .swiper-wrapper {
  align-items: stretch;
}

.prod_pickup-swiper .swiper-wrapper .swiper-slide {
  height: auto;
}

.swiper-button-next.prod-next,
.swiper-button-prev.prod-prev {
  width: 5rem;
  height: 5rem;
  background-size: cover;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/common/slide_arrow.png);
  position: absolute;
  transition: .4s;
}

.swiper-button-next.prod-next {
  right: -8rem;
}

.swiper-button-prev.prod-prev {
  left: -8rem;
  transform: rotate(180deg);
}

.swiper-button-next.prod-next:hover,
.swiper-button-prev.prod-prev:hover {
  background-image: url(../../images/common/slide_arrow-g.png);
}

.swiper-button-next.prod-next::after,
.swiper-button-prev.prod-prev::after {
  content: none;
}

.prod_list.prod_list-slide .prod_pagination {
  display: none;
}

@media screen and (max-width:1023px) {
  #c_prod {
    padding-bottom: 8rem;
    padding-top: 8rem;
  }

  #s_pickup {
    padding-bottom: 8rem;
  }

  .c_prod-list {
    grid-template-columns: repeat(1, 1fr);
  }

  .prod_list .prod_card .thumbnail {
    aspect-ratio: 382/280;
  }

  .prod_list .prod_card .txt {
    min-height: unset;
    height: auto;
    overflow: hidden;
    position: relative;
  }

  .prod_list .prod_card .meta {
    padding: 3.2rem 2.6rem 6.4rem;
  }

  .prod_list.prod_list-slide {
    min-width: unset;
    width: 100%;
    padding-bottom: 4rem;
  }

  .swiper-button-next.prod-next {
    right: 2.2rem;
  }

  .swiper-button-prev.prod-prev {
    left: 2.2rem;
  }

  .prod_list.prod_list-slide .prod_pagination {
    display: block;
  }

  .prod_list .swiper-pagination.prod_pagination {
    bottom: 0;
  }

  .prod_list .swiper-pagination.prod_pagination .swiper-pagination-bullet {
    width: 1rem;
    height: 1rem;
  }

  .prod_list .swiper-pagination.prod_pagination .swiper-pagination-bullet-active {
    background: var(--t-blue2);
  }
}

/*================================================
* c_contact
================================================*/
#c_contact {
  padding-bottom: 12.9rem;
}

.c_contact-link {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2.4rem;
  overflow: hidden;
  position: relative;
  gap: 4rem;
  padding: 4.6rem 5.6rem 3.8rem;
  background: radial-gradient(224.77% 434.24% at 100% 100%, #3BAA6C 0%, #2C7BBF 100%);
  z-index: 1;
}

.c_contact-link::before,
.c_contact-link::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: .4s;
  top: 0;
  left: 0;
  z-index: -1;
}

.c_contact-link::before {
  background: radial-gradient(199.91% 386.21% at 199.91% 227.57%, #2C7BBF 0%, #3BAA6C 100%);
  opacity: 0;
}

.c_contact-link:hover::before {
  opacity: 1;
}

.c_contact-link::after {
  background-blend-mode: multiply;
  background: linear-gradient(180deg, rgba(51, 51, 51, 0) 0%, rgba(51, 51, 51, 0.5) 100%);
}

.c_contact-link .hd {
  position: relative;
  margin: 0;
  white-space: nowrap;
  z-index: 1;
}


.c_contact-link .hd .ja {
  font-size: var(--lv4-j-ttl);
  color: var(--t-white);
}

.c_contact-link .hd .en {
  font-size: 2.8rem;
  color: var(--t-white);
  font-weight: 400;
  line-height: 1;
}

.c_contact-lead {
  font-size: var(--p-m);
  font-weight: 700;
  color: var(--t-white);
  letter-spacing: 0.08em;
  margin-top: 2rem;
  /* min-width: 43%; */
  white-space: nowrap;
  z-index: 1;
  position: relative;
}


.c_contact-link .icon_c-contact {
  background-image: url(../../images/common/icon_c-mail.png);
  width: 9rem;
  height: 9rem;
  display: block;
  margin-left: auto;
  transition: .4s;
}

.c_contact-link:hover .icon_c-contact {
  background-image: url(../../images/common/icon_c-arrow.png);
}

@media screen and (max-width:1023px) {
  #c_contact {
    padding-bottom: 11.7rem;
  }

  #c_contact.section {
    padding-top: 8rem;
  }

  .c_contact-link {
    flex-wrap: wrap;
    padding: 3.2rem 3.2rem;
    gap: 0;
  }

  .c_contact-link .hd {
    text-align: center;
    white-space: normal;
  }

  .c_contact-link .hd .en {
    font-size: 2.4rem;
    margin-bottom: 1rem;

  }

  .c_contact-lead {
    text-align: center;
    white-space: normal;
    font-size: var(--p-ss);
  }

  .c_contact-link .hd .ja {
    font-size: var(--lv6-j-ttl);
  }

  .c_contact-link .icon_c-contact {
    width: 7.5rem;
    height: 7.5rem;
    margin-right: auto;
    margin-top: 2.8rem;
  }
}


/*================================================
* 
================================================*/

.formlist {
  display: flex;
  align-items: stretch;
  justify-content: start;
  flex-wrap: wrap;
  max-width: 90rem;
  margin: 0 auto;
}

.formlist dt {
  width: 27.7rem;

  color: var(--t-blue2);
  font-size: var(--p-m);
  font-weight: 700;
  padding-bottom: 4.8rem;
  border-bottom: 1px solid var(--t-gray4);
  margin-bottom: 4.8rem;
}

.formlist dt p {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 1.6rem;
}

.formarea dt sup,
.formcheck_wrap sup {
  font-size: var(--p-ss);
  font-weight: 700;
  color: var(--t-white);
  background: var(--a-3);
  display: block;
  line-height: 1;
  padding: 0.6rem 1.6rem;
  border-radius: 0.8rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 6rem;
}

.formlist dd {
  width: calc(100% - 27.7rem);
  padding-bottom: 4.8rem;
  border-bottom: 1px solid var(--t-gray4);
  margin-bottom: 4.8rem;
}

.form_clm2,
.form_checkbox .wpcf7-checkbox {
  display: grid;
  gap: 3.2rem;
  grid-template-columns: repeat(2, 1fr);
}

.form_clm2 .clm {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  white-space: nowrap;
}

.form_clm2 .clm p {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 0.5em;
}

.formlist dd textarea,
.formlist dd input {
  outline: none;
}

.formlist dd select,
.formlist dd input,
.formlist dd textarea,
.confirm dd .cwrap {
  display: block;
  width: 100%;
  padding: 1.6rem;
  max-height: 4.4rem;
  border: 1px solid var(--t-gray3);
  transition: .4s;
  background: var(--t-white);
  border-radius: 1.6rem;
  font-size: var(--p-m);
  font-family: var(--ja);
}

.formlist dd select {
  padding: 1rem 1.6rem;
  max-height: unset;
  cursor: pointer;
}

.formlist dd:has(select) .wpcf7-form-control-wrap {
  position: relative;
  display: block;
}

.formlist dd:has(select) .wpcf7-form-control-wrap::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/ico_select.svg);
  width: 3rem;
  height: 3rem;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  pointer-events: none;
}

.formlist dd textarea {
  min-height: 20rem;
}


.confirm .textarea .cwrap {
  max-height: unset;
  padding: 1.6rem;
}

.confirm dd .cwrap {
  max-height: 4.4rem;
  min-height: 4.4rem;
  padding: 0 1.6rem;
  display: flex;
  align-items: center;
  justify-content: start;
}


.confirm dd .cwrap {
  max-height: 4.4rem;
  min-height: 4.4rem;
  padding: 0 1.6rem;
  display: flex;
  align-items: center;
  justify-content: start;
  background: var(--t-gray4);
  color: var(--t-blue);
  border: 1px solid transparent;
}

.confirm .form_clm2 .clm p {
  width: 100%;
}

/* .confirm dd .cwrap:has(p) {
  background: var(--t-gray4);
  color: var(--t-blue);
  border: 1px solid transparent;
} */

.formlist dd label {
  cursor: pointer;
}


.formlist dd label:has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 1.6rem;
}


.formlist dd input[type="checkbox"] {
  width: 3rem;
  height: 3rem;
  opacity: 0;
}

.formlist .checkbox:has(input[type="checkbox"]) {
  display: block;

  width: 3rem;
  height: 3rem;
  border: 1px solid var(--t-gray3);
  border-radius: 0.8rem;
  position: relative;
}

.formlist .checkbox::before {
  position: absolute;
  content: "";
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/icon_fcheck.png);
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: .2s;
}

.formlist .checkbox.is-checked::before {

  opacity: 1;

}

.formlist dd select:hover,
.formlist dd textarea:hover,
.formlist dd input:hover {
  border: 1px solid var(--t-blue2);
}

.formlist dd select:focus,
.formlist dd textarea:focus,
.formlist dd input:focus {
  border: 1px solid transparent;
  background: var(--t-gray4);
}


.formlist dd .is-filled {
  border: 1px solid transparent;
  background: var(--t-gray4);
  color: var(--t-blue);
}



.formlist dd .note {
  font-size: var(--p-ss);
  margin-top: 1.6rem;
  display: block;
}

/* エラー */
.formarea .i_wrap {
  position: relative;
  transition: .4s;
}

.formarea .i_wrap.is-error,
.formarea .i_wrap:has(.wpcf7-not-valid) {
  margin-bottom: 4rem;
}

.formarea dd:has(.wpcf7-not-valid) .note,
.formlist dd:has(.is-error) .note {
  margin-top: 4rem;
}


.formarea .i_wrap::before {
  position: absolute;
  content: "未記入です。";
  opacity: 0;
  font-size: var(--p-s);
  color: var(--a-3);
  position: absolute;
  top: 5.5rem;
  left: 0;
  transition: .4s;
  transition-delay: .2s;
  white-space: nowrap;
}


.formarea .i_wrap.is-error::before,
.formarea .i_wrap:has(.wpcf7-not-valid)::before {
  opacity: 1;
}


/* formpolicy */
.formpolicy {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;


  flex-wrap: wrap;
  gap: 0 1.6rem;
  margin: 0 auto;
}

.formcheck_wrap,
.formpolicy label {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 2rem;
  cursor: pointer;
}

.formlabel p {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  font-size: var(--p-ss);
}

.formpolicy .lead {
  font-size: var(--p-ss);
  margin-top: 2.2rem;
}

.formpolicy .i_wrap::before {
  top: 6rem;
}

.formpolicy:has(.is-error) .lead {
  margin-top: 4.2rem;
}

.formpolicy .lead a {
  color: var(--t-blue);
  text-decoration: underline;
}





/* formcheck */
.formcheck {
  width: 4.5rem;
  height: 4.5rem;
  border: 1px solid var(--t-gray3);
  border-radius: 0.8rem;
  position: relative;
  cursor: pointer;
}

.formcheck::before {
  position: absolute;
  content: "";
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../../images/icon_fcheck.png);
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: .2s;
}

.confirm .formcheck::before,
.formcheck.is-checked::before {
  opacity: 1;
}

.formcheck input {
  width: 4.5rem;
  height: 4.5rem;
  display: block;
  opacity: 0;
  cursor: pointer;
}



/* formBtn */

.formBtnwrap {
  margin: 8rem auto 0;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: linear-gradient(180deg, rgba(44, 123, 191, 1) 0%, rgba(16, 56, 107, 1) 100%);
  box-shadow: 0 0 0.8rem 0 rgb(16 56 107 / 30%);
  border-radius: 2.4rem;

}

.formBtnwrap::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 2.4rem;
  opacity: 0;
  transition: .4s;
  top: 0;
  left: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(44, 123, 191, 1) 0%, rgba(16, 56, 107, 1) 100%);
}

.formBtnwrap:hover::before {
  opacity: 1;
}

.formBtnwrap::after {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: top;
  display: inline-block;
  background-image: url(../../images/icon_farrow.png);
  width: 4rem;
  height: 4rem;
  top: 50%;
  transform: translateY(-50%);
  right: 1.6rem;
  z-index: 2;
}

.confirm .formBtnwrap::after {
  background-image: url(../../images/icon_dl.png);
}

.notdl.confirm .formBtnwrap::after {
  background-image: url(../../images/icon_farrow.png);
}

.formBtn {
  line-height: 1.6;
  display: flex;
  align-items: center;
  height: 7.2rem;
  width: 30rem;
  color: var(--t-white);
  font-weight: 700;
  border-radius: 2.4rem;
  position: relative;
  border: 1px solid var(--t-white);
  padding-right: 1.6rem;
  padding-left: 2.4rem;
  z-index: 1;
  text-align: left;
  z-index: 3;
  font-size: var(--p-s);
}


.confirm .formcheck::before,
.confirm .formcheck.is-checked::before {
  opacity: 1;
}


/* backLink */
.backLink {
  text-align: center;
  font-size: var(--p-m);
  font-weight: 700;
  margin: 8rem;
}

#backButton {
  cursor: pointer;
}

.wpcf7-list-item {
  margin: 0 !important;
}

.wpcf7-spinner,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: transparent !important;
  text-align: center;
}

@media screen and (max-width:1023px) {
  .formlist dt {
    width: 100%;
    padding-bottom: 0;
    border-bottom: unset;
    margin-bottom: 1.6rem;
  }

  .formlist dd {
    width: 100%;
    padding-bottom: 4.8rem;
    border-bottom: 1px solid var(--t-gray4);
    margin-bottom: 4.8rem;
  }

  .form_clm2,
  .form_checkbox .wpcf7-checkbox {
    gap: 1.6rem;
    grid-template-columns: repeat(1, 1fr);
  }

  .formarea .i_wrap:has(.wpcf7-not-valid),
  .formarea .i_wrap.is-error {
    margin-bottom: 2rem;
  }


  .formarea .i_wrap:has(.wpcf7-not-valid):has(.form_clm2)::before,
  .formarea .i_wrap.is-error:has(.form_clm2)::before {
    top: 11.5rem;
  }

  .formarea .i_wrap:has(.form_checkbox)::before,
  .formarea dd .i_wrap.is-error:has(input[type="checkbox"])::before {
    top: 8.5rem;
  }

}

/*================================================
* util
================================================*/
.wrap--office h2.lv2--office {
  font-size: var(--lv3-j-ttl);
  color: var(--t-blue);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}

.wrap--office h2.lv2--office span {
  font-size: var(--lv5-j-ttl);
}



.office_list {
  display: flex;
  flex-wrap: wrap;
}


.office_list dt {
  width: 28rem;
}

.office_list dd {
  width: calc(100% - 29.8rem);
  padding-bottom: 3.2rem;
  margin-bottom: 4.2rem;
  border-bottom: 1px solid var(--t-gray3);
}

.office_list dd:last-of-type {
  margin-bottom: 0;
}

.office_list .hd_office {
  width: 100%;
}

.wrap--office .col_ofiice {
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0 1.6rem
}

.lv3--office {
  margin-top: 8rem;
}

.wrap--office .col_ofiice+.col_ofiice {
  margin-top: 4rem;
}

.wrap--office .lv3--office+.col_ofiice {
  padding-bottom: 3.2rem;
  margin-bottom: 4.2rem;
  border-bottom: 1px solid var(--t-gray3);
}

.col_ofiice-txt {
  width: calc(100% - 19rem);
}

.wrap--office .lv3--office {
  position: relative;
}

.wrap--office .lv3--office::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.2rem;
  background: var(--t-blue2);
  right: 0;
  top: 2.4rem;
}

.wrap--office .lv3--office span {
  background: var(--t-bg);
  padding-right: 4rem;
}

.wrap--office .lv3--office span::before,
.wrap--office .lv3--office span::after {
  content: none;
}

.office_list .lv4--office {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--t-blue);
  position: relative;
  padding-left: 5.6rem;
  margin-bottom: 2rem;
}


.office_list .lv4--office::before {
  position: absolute;
  content: "";
  width: 3.2rem;
  height: 2px;
  background: var(--t-green2);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.office_list .hie_third .v5--office {
  width: 100%;
}


.office_list .lv5--office {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--t-blue);
}



@media screen and (max-width:1023px) {
  .wrap--office h2.lv2--office {
    font-size: var(--lv5-j-ttl);
  }

  .wrap--office h2.lv2--office span {
    font-size: var(--p-l);
  }

  .wrap--office .col_ofiice .c_txt-link {
    margin-left: auto;
    margin-top: 2rem;
  }

  .office_list dt,
  .office_list dd {
    width: 89.5%;
    margin-left: auto;
  }

  .col_ofiice-txt {
    width: 100%;

  }

  .office_list dd .col_ofiice-txt {
    font-size: var(--p-s);
  }

  .lv3--office {
    margin-top: 4rem;
    font-size: var(--lv6-j-ttl);
  }

  .wrap--office .lv3--office span {
    padding-bottom: 0;
  }

  .office_list .lv4--office {
    font-size: 1.6rem;
  }
}


/*================================================
* util
================================================*/
#detailPages #c_prod {
  padding-bottom: 0;
}

#detailPages {
  padding-bottom: 0;
}

#detailPages .bkParts {
  margin-top: 14rem;
}

#detailPages .wp-block-group {
  padding-top: 11.7rem;
  padding-bottom: 11.7rem;
  background: var(--t-white);
  border-radius: 0 11.7rem 0 11.7rem;
  margin-top: 11.7rem;
  margin-bottom: 11.7rem;
}

#detailPages .wp-block-group .bkParts:first-of-type {
  margin-top: 0;
}

#detailPages .wp-block-group:has(+ .u-pt-lg) {
  margin-bottom: 0;
}

.detailCnt>p {
  width: 70.63%;
  margin-left: auto;
  margin-right: auto;
  min-width: 1000px;
  margin-top: 1em;
}


@media screen and (max-width:1023px) {

  #detailPages .bkParts {
    margin-top: 8rem;
  }

  #detailPages .wp-block-group {
    padding-top: 8rem;
    padding-bottom: 8rem;
    border-radius: 0 6.4rem 0 6.4rem;
    margin-top: 8rem;
    margin-bottom: 8rem;
  }

  .detailCnt>p {
    width: 88.84%;
    max-width: unset;
    min-width: unset;
  }
}

/*================================================
* util
================================================*/

.u-ptb-md {
  padding-top: 11.7rem;
  padding-bottom: 11.7rem;
}

.u-ptb-sm {
  padding-top: 8.8rem;
  padding-bottom: 8.8rem;
}


/* u-pb */
.u-pb-lg {
  padding-bottom: 14.9rem;
}

.u-pb-md {
  padding-bottom: 11.7rem;
}

.u-pb-sm {
  padding-bottom: 8.8rem;
}

/* u-pt */

.u-pt-lg {
  padding-top: 14.9rem;
}

.u-pt-md {
  padding-top: 11.7rem;
}

.u-pt-sm {
  padding-top: 8.8rem;
}

/* u-mt*/
.u-mt-lg {
  margin-top: 14.9rem;
}

.u-mt-md {
  margin-top: 11.7rem;
}

.u-mt-sm {
  margin-top: 8.8rem;
}


.u-mt-ss {
  margin-top: 7.2rem;
}

.u-mt-xxs {
  margin-top: 4.8rem;
}

.u-mt-xxxs {
  margin-top: 2.4rem;
}

.u-mt-lg .c_ttl {
  margin-bottom: 6rem;
}

/* u-mb */
.u-mb-xxxs {
  margin-bottom: 2.4rem;
}

.u-mb-lg {
  margin-bottom: 14.9rem;
}

@media screen and (max-width:1023px) {

  .u-ptb-md,
  .u-ptb-sm {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }



  .u-pb-lg {
    padding-bottom: 8rem;
  }

  .u-pt-lg {
    padding-top: 8rem;
  }

  .u-pt-md {
    padding-top: 8rem;
  }

  .u-pb-md {
    padding-bottom: 8rem;
  }

  .u-mt-lg {
    margin-top: 8rem;
  }

  .u-mt-md {
    margin-top: 8rem;
  }

  .u-mt-sm {
    margin-top: 6.4rem;
  }

  .u-mt-ss {
    margin-top: 6.4rem;
  }

  .u-mt-xxs {
    margin-top: 3.2rem;
  }

  .u-mt-lg .c_ttl {
    margin-bottom: 4rem;
  }


  .u-mb-lg {
    margin-bottom: 8rem;
  }



}