html {
  font-feature-settings: 'palt';
  font-size: 62.5%;
  scroll-behavior: smooth;
}

@media screen and (max-width:1244px) {
  html {
    font-size: calc(100vw / 1244 * 10);
  }
}

@media screen and (max-width:768px) {
  html {
    font-size: calc(100vw / 375 * 10);
  }
}

body {
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: normal;
}

.font-noto {
  font-family: 'Noto Sans JP', sans-serif;
}

.font-poppins {
  font-family: 'Poppins', sans-serif;
}

.font-belanosima {
  font-family: 'Belanosima', sans-serif;
}

.font-bebas {
  font-family: 'Bebas Neue', sans-serif;
}

@media screen and (max-width: 768px) {
  body::before {
    background-size: 50rem;
  }
}

.body_container {
  opacity: 0;
  /* overflow: hidden; */
  padding-top: 9.9rem;
  transition: .6s ease;
}

.lazy .body_container {
  opacity: 1;
}

.max1000 {
  margin: 0 auto;
  max-width: 100rem;
}

.max1090 {
  margin: 0 auto;
  max-width: 109rem;
}

.max1184 {
  margin: 0 auto;
  max-width: 118.4rem;
}

img {
  height: auto;
  max-width: 100%;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .body_container {
    min-width: 100%;
    padding-top: 6.7rem;
  }
}

a {
  transition: .3s;
}

.anchor {
  display: flex;
  margin-top: -9.9rem;
  padding-top: 9.9rem;
}

@media screen and (max-width: 768px) {
  .anchor {
    margin-top: -6.7rem;
    padding-top: 6.7rem;
  }
}

strong {
  font-weight: inherit;
}

.spacer01 {
  background: #fff;
  height: 12rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .spacer01 {
    height: 6rem;
  }
}

/* ---------------------------------------------------------------------------
//  .btnA
--------------------------------------------------------------------------- */
.btn_wrap {
  display: flex;
  margin-top: 6rem;
}

.btnA {
  align-items: center;
  background: #414141;
  color: #fff;
  display: flex;
  font-size: 1.6rem;
  gap: 2rem;
  height: 6.4rem;
  justify-content: center;
  padding: 2.4rem 3rem;
  position: relative;
}

.btnA:hover {
  gap: 0;
  opacity: .7;
}

.btnA::after {
  background-image: url(../img/common/arrow_white01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.2rem;
  position: relative;
  top: .1rem;
  transition: .2s;
  width: .7rem;
}

.btnA:hover:after {
  width: 0;
}

@media screen and (max-width: 768px) {
  .btnA {
    gap: 1.6rem;
    height: 6rem;
    max-width: 100%;
    padding: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  top_fv
--------------------------------------------------------------------------- */
.main_01 {
  position: relative;
  z-index: 0;
}

.main_01 .bg {
  height: calc(100vh - 9.9rem);
  overflow: hidden;
  pointer-events: none;
  /* position: sticky;
  top: 9.9rem; */
  width: 100%;
  z-index: 0;
}

.main_01 .bg video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.top_fv {
  height: calc(100vh - 9.9rem);
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.top_fv .bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.top_fv .bg video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.top_fv .wrap {
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.top_fv .wrap .h1 {
  font-size: 6.4rem;
  font-weight: 900;
  line-height: 1.15;
}

.top_fv .wrap .p {
  font-family: Poppins;
  font-size: 2.4rem;
  font-weight: 400;
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  .main_01 .bg {
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
  }

  .top_fv {
    height: calc(100vh - 6.7rem);
  }

  .top_fv .wrap {
    padding: 0 1.5rem;
    white-space: nowrap;
  }

  .top_fv .wrap .h1 {
    font-size: 5.49rem;
    font-weight: 900;
  }

  .top_fv .wrap .p {
    font-size: 2.25rem;
  }
}

/* ---------------------------------------------------------------------------
//  to_top
--------------------------------------------------------------------------- */
.to_top {
  bottom: 2.5rem;
  display: block;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 2.5rem;
  width: 8rem;
  z-index: 10;
}

.to_top.active {
  opacity: 1;
  pointer-events: all;
}

@media screen and (max-width: 767.9px) {
  .to_top {
    bottom: 1.8rem;
    right: 1.5rem;
    width: 5rem;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec01
--------------------------------------------------------------------------- */
.main_02 {
  position: sticky;
  top: 0;
  z-index: 1;
}

.top_sec01 {
  height: 100vh;
  padding: 18rem 0;
  width: 100%;
}

/* .top_sec01.is-fixed {
  left: 0;
  position: fixed;
  top: 0;
} */
.top_sec01 .wrap {
  align-items: center;
  display: flex;
  height: 100%;
}

.top_sec01 .wrap .h2 {
  font-size: 4.6rem;
  font-weight: 900;
  line-height: 1.07;
  text-align: center;
  width: 50%;
}

.top_sec01 .wrap .p {
  font-size: 1.8rem;
  line-height: 2.66;
  text-align: justify;
  width: 50%;
}

.top_sec01-spacer {
  height: 0;
}

@media screen and (max-width: 768px) {
  .main_02 {
    position: static;
  }

  .top_sec01 {
    height: auto;
    padding: 9rem 0;
  }

  .top_sec01 .wrap {
    flex-direction: column;
    padding: 0 1.5rem;
  }

  .top_sec01 .wrap .h2 {
    font-size: 3.2rem;
    width: 100%;
  }

  .top_sec01 .wrap .p {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 3rem;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec02
--------------------------------------------------------------------------- */
.main_03 {
  position: relative;
  z-index: 2;
}

.main_03 .bg {
  height: 100vh;
  overflow: hidden;
  pointer-events: none;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 0;
}

.main_03 .bg video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.top_sec02 {
  height: 100vh;
  position: relative;
  z-index: 2;
}

/* .top_sec02 .bg.is-fixed {
  position: fixed;
  inset: 0;
} */
.top_sec02 .wrap {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  padding: 18rem 0;
  position: relative;
  text-align: center;
  z-index: 2;
}

.top_sec02 .wrap .eng {
  font-family: Poppins;
  font-size: 5.8rem;
  font-weight: 400;
  white-space: nowrap;
}

.top_sec02 .wrap .h2 {
  font-size: 3.2rem;
  font-weight: 700;
  margin-top: 3.2rem;
}

.top_sec02 .wrap .btn {
  margin-top: 5rem;
  width: 36rem;
}

@media screen and (max-width: 768px) {
  .top_sec02 .wrap {
    padding: 9rem 1.5rem;
  }

  .top_sec02 .wrap .eng {
    font-size: 3.9rem;
  }

  .top_sec02 .wrap .h2 {
    font-size: 2.4rem;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec03
--------------------------------------------------------------------------- */
.top_sec03 {
  background: #fff;
  padding: 6rem 0 0;
  position: relative;
  z-index: 2;
}

.top_sec03 .wrap .bnrs {
  display: flex;
  gap: 1rem;
}

.top_sec03 .wrap .bnrs .bnr {
  align-items: center;
  aspect-ratio: 587/265;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 2rem;
  position: relative;
  width: calc((100% - 1rem) / 2);
}

.top_sec03 .wrap .bnrs .bnr::before,
.top_sec03 .wrap .bnrs .bnr::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 1.5rem;
  content: '';
  height: 2.8rem;
  position: absolute;
  right: 2rem;
  transition: .2s;
  width: 4.3rem;
  z-index: 2;
}

.top_sec03 .wrap .bnrs .bnr::before {
  background-image: url(../img/common/arrow_white02.svg);
}

.top_sec03 .wrap .bnrs .bnr::after {
  background-image: url(../img/common/arrow_black02.svg);
  opacity: 0;
}

.top_sec03 .wrap .bnrs .bnr:hover:after {
  opacity: 1;
}

.top_sec03 .wrap .bnrs .bnr .img {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}

.top_sec03 .wrap .bnrs .bnr .img img {
  height: 100%;
  max-height: inherit;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}

.top_sec03 .wrap .bnrs .bnr:hover .img img {
  transform: scale(1.2);
}

.top_sec03 .wrap .bnrs .bnr .txts {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  text-align: center;
  z-index: 3;
}

.top_sec03 .wrap .bnrs .bnr .txts .eng {
  font-family: Poppins;
  font-size: 2rem;
  order: -1;
}

.top_sec03 .wrap .bnrs .bnr .txts .jp {
  font-size: 1.8rem;
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  .top_sec03 .wrap {
    padding: 0 1.5rem;
  }

  .top_sec03 .wrap .bnrs {
    flex-direction: column;
    gap: 2rem;
  }

  .top_sec03 .wrap .bnrs .bnr {
    justify-content: center;
    padding: 2rem 1.5rem;
    width: 100%;
  }

  .top_sec03 .wrap .bnrs .bnr::before {
    background: rgba(0, 0, 0, .3);
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: .2s;
    width: 100%;
    z-index: 2;
  }

  .top_sec03 .wrap .bnrs .bnr::after {
    bottom: 1rem;
    right: 1rem;
  }

  .top_sec03 .wrap .bnrs .bnr:hover:after {
    opacity: 0;
  }

  .top_sec03 .wrap .bnrs .bnr:hover .img img {
    transform: scale(1.2);
  }

  .top_sec03 .wrap .bnrs .bnr .txts .eng {
    font-size: 2.4rem;
  }

  .top_sec03 .wrap .bnrs .bnr .txts .jp {
    margin-top: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec04
--------------------------------------------------------------------------- */
.top_sec04 {
  background: #fff;
  height: 100vh;
  padding: 18rem 0;
  position: relative;
  z-index: 2;
}

.top_sec04 .wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  text-align: center;
}

.top_sec04 .wrap .eng {
  color: #c4c4c4;
  font-family: Poppins;
  font-size: 11.1rem;
  font-weight: 400;
}

.top_sec04 .wrap .h2 {
  color: #9f9f9f;
  font-size: 2.4rem;
  font-weight: 700;
}

.top_sec04 .wrap .p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.66;
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .top_sec04 {
    height: auto;
    padding: 9rem 0;
  }

  .top_sec04 .wrap {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 1.5rem;
  }

  .top_sec04 .wrap .eng {
    font-size: 4rem;
    line-height: 1.2;
  }

  .top_sec04 .wrap .h2 {
    font-size: 1.6rem;
    margin-top: 2rem;
  }

  .top_sec04 .wrap .p {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 3rem;
    text-align: left;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec05
--------------------------------------------------------------------------- */
.main_04 {
  background: #fff;
  position: relative;
  z-index: 3;
}

.main_04 .bg {
  height: 100vh;
  position: sticky;
  top: 0;
  width: 100%;
}

.main_04 .bg img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.top_sec05 {
  height: 100vh;
  padding: 18rem 0;
  position: relative;
  z-index: 2;
}

.top_sec05 .wrap .sec_info {
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: auto;
  max-width: 97rem;
  min-height: calc(100vh - 10rem);
  padding: 8rem 0 0 12rem;
  position: relative;
}

.top_sec05 .wrap .sec_info::after {
  background: #fff;
  content: '';
  height: 100%;
  left: 97rem;
  position: absolute;
  top: 0;
  width: calc((100vw - 118.4rem) / 2);
}

.top_sec05 .wrap .sec_info .head {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
}

.top_sec05 .wrap .sec_info .head .ttl .eng {
  font-family: Poppins;
  font-size: 6.4rem;
  font-weight: 400;
}

.top_sec05 .wrap .sec_info .head .ttl .h2 {
  font-size: 1.6rem;
  font-weight: 700;
}

.top_sec05 .wrap .sec_info .head .btn {
  background: #fff;
  border: solid 1px #cbd0d1;
  color: #000;
  width: 18.5rem;
}

.top_sec05 .wrap .sec_info .head .btn::after {
  background-image: url(../img/common/arrow_black01.svg);
}

.top_sec05 .wrap .sec_info .links {
  display: flex;
  flex-direction: column;
  margin-top: 5rem;
}

.top_sec05 .wrap .sec_info .links .link {
  align-items: center;
  border-bottom: solid 1px #cbd0d1;
  display: flex;
  padding: 3rem 0;
}

.top_sec05 .wrap .sec_info .links .link:first-of-type {
  border-top: solid 1px #cbd0d1;
}

.top_sec05 .wrap .sec_info .links .link .date {
  color: #606060;
  font-family: Poppins;
  font-size: 1.8rem;
  margin-right: 2.5rem;
  overflow: hidden;
  transition: .2s;
  white-space: nowrap;
  width: 8.7rem;
}

.top_sec05 .wrap .sec_info .links .link .cat {
  align-items: center;
  background: #e2e2e2;
  border-radius: 10rem;
  display: flex;
  font-size: 1.2rem;
  height: 2.5rem;
  justify-content: center;
  margin-right: 3.5rem;
  overflow: hidden;
  transition: .2s;
  white-space: nowrap;
  width: 10rem;
}

.top_sec05 .wrap .sec_info .links .link .ttl {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: 1.6rem;
  -webkit-line-clamp: 1;
  overflow: hidden;
  transition: .2s;
  width: calc((100% - 7.7rem - 3.5rem - 10rem - 3.5rem));
}

.top_sec05 .wrap .sec_info .links .link:hover .date {
  margin-right: 0;
  width: 0;
}

.top_sec05 .wrap .sec_info .links .link:hover .cat {
  margin-right: 0;
  width: 0;
}

.top_sec05 .wrap .sec_info .links .link:hover .ttl {
  width: 100%;
}

@media screen and (max-width:768px) {
  .main_04 .bg {
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
    width: 100%;
  }

  .top_sec05 {
    height: auto;
    padding: 9rem 1.5rem;
    position: relative;
  }

  .top_sec05 .wrap .sec_info {
    min-height: auto;
    padding: 4rem 1.5rem 0;
    position: relative;
  }

  .top_sec05 .wrap .sec_info::after {
    display: none;
  }

  .top_sec05 .wrap .sec_info .head {
    align-items: center;
    flex-direction: column;
  }

  .top_sec05 .wrap .sec_info .head .ttl .eng {
    font-size: 4rem;
  }

  .top_sec05 .wrap .sec_info .head .ttl .h2 {
    text-align: center;
  }

  .top_sec05 .wrap .sec_info .head .btn {
    height: 5rem;
    margin-top: 3rem;
  }

  .top_sec05 .wrap .sec_info .head .btn::after {
    background-image: url(../img/common/arrow_black01.svg);
  }

  .top_sec05 .wrap .sec_info .links .link {
    flex-wrap: wrap;
    padding: 2rem 0;
  }

  .top_sec05 .wrap .sec_info .links .link .date {
    margin-right: 1rem;
  }

  .top_sec05 .wrap .sec_info .links .link .cat {
    margin-right: 0;
  }

  .top_sec05 .wrap .sec_info .links .link .ttl {
    -webkit-line-clamp: 2;
    margin-top: 1rem;
    width: 100%;
  }

  .top_sec05 .wrap .sec_info .links .link:hover .date {
    margin-right: 1rem;
    width: 7.7rem;
  }

  .top_sec05 .wrap .sec_info .links .link:hover .cat {
    margin-right: 0;
    width: 10rem;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec06
--------------------------------------------------------------------------- */
.main_05 {
  background: #fff;
  padding-top: 12rem;
  position: relative;
  z-index: 4;
}

.top_sec06 {
  background: #000;
  color: #fff;
  padding: 12rem 0 6rem;
}

.top_sec06 .wrap {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 9rem;
}

.top_sec06 .wrap .txts {
  width: 82.5rem;
}

.top_sec06 .wrap .txts .ttl {
  align-items: flex-end;
  display: flex;
  gap: 2rem;
}

.top_sec06 .wrap .txts .ttl .eng {
  font-family: Poppins;
  font-size: 6.4rem;
  font-weight: 400;
  line-height: .7;
}

.top_sec06 .wrap .txts .ttl .h2 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
}

.top_sec06 .wrap .txts .p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.66;
  margin-top: 3rem;
}

.top_sec06 .wrap .btn {
  background: #fff;
  color: #000;
  width: 15.3rem;
}

.top_sec06 .wrap .btn::after {
  background-image: url(../img/common/arrow_black01.svg);
}

.products_slider {
  /* JSがPC/SPで上書き */
  --gap: 4rem;
  gap: var(--gap);
  --item-w: 56.4rem;
  overflow: auto;
  /* JSがPC/SPで上書き */
  position: relative;
}

/* 非スライド時：中央寄せ */
/* .products_slider.ps-center {
  align-items: stretch;
  display: flex;
  gap: var(--gap);
  justify-content: center;
  overflow: visible;
} */
/* スライド時：トラック */
/* .products_slider .ps-track {
  align-items: stretch;
  cursor: grab;
  display: flex;
  gap: var(--gap);
  touch-action: pan-y;
  user-select: none;
  will-change: transform;
} */
/* .products_slider .ps-track.is-dragging {
  cursor: grabbing;
} */
/* 各アイテムは固定幅 */
.products_slider .item {
  aspect-ratio: 564/425;
  display: flex;
  flex: 0 0 var(--item-w);
  position: relative;
  width: var(--item-w);
}

.products_slider .item .img {
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: 0;
}

.products_slider .item .img img {
  height: 105%;
  max-width: inherit;
  object-fit: cover;
  transition: .2s;
  width: 105%;
}

.products_slider .item:hover .img img {
  transform: scale(1.2);
}

.products_slider .item::before {
  background: rgba(0, 0, 0, .3);
  content: '';
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: .2s;
  width: 100%;
  z-index: 1;
}

.products_slider .item:hover:before {
  opacity: 1;
}

.products_slider .item::after {
  background: rgba(0, 0, 0, .4);
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: .2s;
  width: 100%;
  z-index: 2;
}

.products_slider .item:hover:after {
  opacity: 0;
}

.products_slider .item .txts {
  color: #000;
  color: #fff;
  display: flex;
  flex-direction: column;
  padding: 3rem 4rem;
  position: relative;
  transition: .2s;
  z-index: 3;
}

.products_slider .item .txts .eng {
  font-family: Poppins;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.15;
}

.products_slider .item .txts .jp {
  font-size: 2.1rem;
  margin-top: 1rem;
}

.products_slider .item .arrow {
  bottom: 3rem;
  height: 2.77rem;
  position: absolute;
  right: 4rem;
  width: 2.77rem;
  z-index: 2;
}

.products_slider .item .arrow::before,
.products_slider .item .arrow::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: .7rem;
  border-radius: .6rem;
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: .2s;
  width: 100%;
}

.products_slider .item .arrow::before {
  background-color: #606060;
  background-image: url(../img/common/arrow_white01.svg);
}

.products_slider .item .arrow::after {
  background-color: #fff;
  background-image: url(../img/common/arrow_black01.svg);
  opacity: 0;
}

.products_slider .item:hover .arrow::after {
  background-image: url(../img/common/arrow_black01.svg);
  opacity: 1;
}

/* アニメーション（1枚送り） */
.products_slider .ps-track.is-animating {
  transition: transform .5s ease;
}

@media screen and (max-width:768px) {
  .main_05 {
    padding-top: 0;
  }

  .top_sec06 {
    padding: 9rem 0 6rem;
  }

  .top_sec06 .wrap {
    flex-direction: column;
    margin-bottom: 4rem;
    padding: 1.5rem;
  }

  .top_sec06 .wrap .txts {
    width: 100%;
  }

  .top_sec06 .wrap .txts .ttl {
    display: block;
    text-align: center;
  }

  .top_sec06 .wrap .txts .ttl .eng {
    font-size: 4rem;
    line-height: normal;
  }

  .top_sec06 .wrap .txts .ttl .h2 {
    line-height: normal;
  }

  .top_sec06 .wrap .txts .p {
    font-size: 1.6rem;
    line-height: 1.75;
    text-align: center;
  }

  .top_sec06 .wrap .btn {
    height: 5rem;
    margin-top: 3rem;
  }

  .top_sec06 .wrap .btn::after {
    background-image: url(../img/common/arrow_black01.svg);
  }

  .products_slider {
    /* JSがPC/SPで上書き */
    --gap: 1rem;
    --item-w: 30rem;
  }

  .products_slider .item::before {
    opacity: 1;
  }

  .products_slider .item .txts {
    padding: 2rem 1.5rem;
  }

  .products_slider .item .txts {
    color: #fff !important;
  }

  .products_slider .item .txts .eng {
    font-family: Poppins;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.15;
  }

  .products_slider .item .txts .jp {
    font-size: 1.6rem;
    margin-top: .5rem;
  }

  .products_slider .item .arrow {
    bottom: 2rem;
    height: 2.2rem;
    right: 1.5rem;
    width: 2.2rem;
  }

  .products_slider .item .arrow::before,
  .products_slider .item .arrow::after {
    background-size: .5rem;
    border-radius: .3rem;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec07
--------------------------------------------------------------------------- */
.top_sec07 {
  background: #fff;
  padding: 12rem 0 6rem;
}

.top_sec07 .wrap {
  margin-bottom: 9rem;
}

.top_sec07 .wrap .txts {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
}

.top_sec07 .wrap .txts .ttl .eng {
  font-family: Poppins;
  font-size: 6.4rem;
  font-weight: 400;
}

.top_sec07 .wrap .txts .ttl .h2 {
  font-size: 1.6rem;
  font-weight: 700;
}

.top_sec07 .wrap .txts .p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.66;
  margin-top: 3rem;
}

.top_sec07 .bottom {
  align-items: center;
  display: flex;
  gap: 6rem;
  justify-content: center;
  margin-top: 6rem;
}

.top_sec07 .bottom .tags {
  align-items: center;
  display: flex;
  gap: 3rem;
}

.top_sec07 .bottom .tags .tag {
  border: solid 1px #cbd0d1;
  border-radius: 10rem;
  font-size: 1.4rem;
  font-weight: 400;
  padding: .8rem 3rem;
  text-align: center;
}

.top_sec07 .bottom .tags .tag:hover {
  background: #cbd0d1;
}

.top_sec07 .bottom .btn {
  width: 15.3rem;
}

.case_slider {
  display: flex;
  /* JSがPC/SPで上書き */
  --gap: 0rem;
  gap: var(--gap);
  --item-w: 37.5rem;
  overflow: auto;
  overflow: hidden;
  position: relative;
}

/* 非スライド時：中央寄せ */
/* .case_slider.cs-center {
  align-items: stretch;
  display: flex;
  gap: var(--gap);
  justify-content: center;
  overflow: visible;
} */
/* スライド時のトラック */
/* .case_slider .cs-track {
  align-items: stretch;
  cursor: grab;
  display: flex;
  gap: var(--gap);
  touch-action: pan-y;
  user-select: none;
  will-change: transform;
} */
/* .case_slider .cs-track.is-dragging {
  cursor: grabbing;
} */
/* 各アイテムは固定幅（rem） */
.case_slider .item {
  border-bottom: solid 1px #cbd0d1;
  border-left: 1px solid #cbd0d1;
  border-top: solid 1px #cbd0d1;
  display: block;
  flex: 0 0 var(--item-w);
  padding: 3rem 3rem 6rem;
  position: relative;
  width: var(--item-w);
}

.case_slider .item:hover {
  background: #6da0c2;
  color: #fff;
}

.case_slider .item:first-of-type {
  border-left: none;
}

.case_slider .item .img {
  aspect-ratio: 320/200;
  overflow: hidden;
}

.case_slider .item .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}

.case_slider .item:hover .img img {
  transform: scale(1.2);
}

.case_slider .item .ttl {
  align-items: center;
  border-bottom: solid 1px #cbd0d1;
  display: flex;
  height: 10rem;
}

.case_slider .item .ttl span {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: 1.8rem;
  font-weight: 700;
  height: 5rem;
  -webkit-line-clamp: 2;
  line-height: 1.5;
  overflow: hidden;
}

.case_slider .item .name {
  display: flex;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 1.5rem 0;
}

.case_slider .item .name dt {
  white-space: nowrap;
}

.case_slider .item .name dd {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: 1.6rem;
  height: 5rem;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.case_slider .item .tags {
  color: #8b8b8b;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.4rem;
  gap: .4rem;
}

.case_slider .item .arrow {
  bottom: 3rem;
  height: 1.8rem;
  position: absolute;
  right: 3rem;
  width: 1.8rem;
}

.case_slider .item .arrow::before {
  background-color: #6da0c2;
  background-image: url(../img/common/arrow_white01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: .4rem;
  border-radius: .4rem;
  content: '';
  height: 100%;
  position: absolute;
  width: 100%;
}

/* 1枚送りアニメーション */
.case_slider .cs-track.is-animating {
  transition: transform .5s ease;
}

@media screen and (max-width:768px) {
  .top_sec07 {
    padding: 9rem 0 6rem;
  }

  .top_sec07 .wrap {
    margin-bottom: 4rem;
    padding: 0 1.5rem;
  }

  .top_sec07 .wrap .txts {
    display: block;
    text-align: center;
  }

  .top_sec07 .wrap .txts .ttl .eng {
    font-size: 4rem;
  }

  .top_sec07 .wrap .txts .ttl .h2 {
    font-size: 1.6rem;
    font-weight: 700;
  }

  .top_sec07 .wrap .txts .p {
    font-size: 1.6rem;
    line-height: 1.75;
  }

  .top_sec07 .bottom {
    flex-direction: column;
    gap: 3rem;
    margin-top: 4rem;
    padding: 0 1.5rem;
  }

  .top_sec07 .bottom .tags {
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
    width: 100%;
  }

  .top_sec07 .bottom .tags .tag {
    border: none;
    font-size: 1.1rem;
    font-weight: 400;
    padding: 0;
    text-align: center;
    white-space: nowra;
    width: calc((100% - 1rem) / 3);
  }

  .top_sec07 .bottom .tags .tag:hover {
    background: #cbd0d1;
  }

  .case_slider {
    display: flex;
    /* JSがPC/SPで上書き */
    --gap: 0rem;
    gap: var(--gap);
    --item-w: 30rem;
    overflow: auto;
    position: relative;
  }

  .case_slider .item {
    padding: 1.5rem 1.5rem 4rem;
  }

  .case_slider .item .ttl {
    height: 7rem;
  }

  .case_slider .item .ttl span {
    font-size: 1.6rem;
    height: 4.5rem;
  }

  .case_slider .item .name {
    display: flex;
    font-size: 1.4rem;
    font-weight: 500;
    padding: 1rem 0;
  }

  .case_slider .item .name dd {
    font-size: 1.4rem;
    height: 4rem;
  }

  .case_slider .item .tags {
    font-size: 1rem;
    gap: .2rem;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec08
--------------------------------------------------------------------------- */
.main_06 {
  background: #fff;
  padding: 12rem 2rem;
  position: relative;
  z-index: 5;
}

.main_06 .bg {
  height: calc(100vh - 9.9rem);
  position: sticky;
  top: 9.9rem;
  width: 100%;
}

.main_06 .bg img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.top_sec08 .wrap {
  align-items: center;
  background: #fff;
  display: flex;
  flex-direction: column;
  margin-left: auto;
  padding: 9rem 0 9rem;
  position: relative;
  width: 50%;
}

.top_sec08 .wrap .txts {
  width: 41.2rem;
}

.top_sec08 .wrap .txts .p {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 3rem;
}

.top_sec08 .wrap .txts .btn {
  background: #57cb76;
  margin-top: 6rem;
  width: 29rem;
}

@media screen and (max-width:768px) {
  .main_06 {
    padding: 9rem 0;
  }

  .main_06 .bg {
    height: calc(100vh - 6.7rem);
    /* height: calc((100vh - 6.7rem) / 2); */
    top: 6.7rem;
  }

  .top_sec08 .wrap {
    display: flex;
    height: calc(100vh - 6.7rem);
    justify-content: center;
    padding: 6rem 1.5rem;
    width: 100%;
  }

  .top_sec08 .wrap .txts {
    align-items: center;
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .top_sec08 .wrap .txts .p {
    text-align: center;
  }

  .top_sec08 .wrap .txts .btn {
    background: #57cb76;
    margin-top: 6rem;
    width: 29rem;
  }
}

/* ---------------------------------------------------------------------------
//  無限スクロール
--------------------------------------------------------------------------- */
/* ====== マルキー共通 ====== */
.marquee {
  /* ← ここを変えるだけで全画像の幅が変わります */
  --duration: 20s;
  /* 画像幅はCSSで制御（必要に応じてメディアクエリで上書きOK） */
  --item-width: 66.1rem;
  /* JSで上書き（速度→秒） */
  --loop-width: 1000px;
  overflow: hidden;
  /* JSで上書き（1セットの実幅） */
  position: relative;
}

.marquee__track {
  align-items: center;
  display: flex;
  /* アニメは .is-animating 付与時のみ */
}

.marquee.is-animating .marquee__track {
  animation: marquee var(--duration) linear infinite;
}

@keyframes marquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(calc(-1 * var(--loop-width)), 0, 0);
  }
}

/* 画像セット（元＋クローン） */
.marquee__set {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  /* セットは内容幅にフィット */
  gap: 0;
  /* ← gapは無し（0） */
}

/* 各アイテム */
.marquee__item {
  flex: 0 0 auto;
  /* 収縮させない */
  line-height: 0;
}

.marquee__item img {
  display: block;
  /* ← 画像幅はCSSで指定 */
  height: auto;
  /* 比率維持 */
  object-fit: cover;
  width: var(--item-width);
  /* 必要に応じて */
}

/* 低速モーション設定への配慮（任意） */
@media (prefers-reduced-motion: reduce) {
  .marquee.is-animating .marquee__track {
    animation-duration: calc(var(--duration) * 2);
  }
}

/* 例: ブレークポイントで画像幅を変更したい場合 */
@media (max-width: 768px) {
  .marquee {
    --item-width: 29rem;
  }
}

/* ---------------------------------------------------------------------------
//  fv_bottom
--------------------------------------------------------------------------- */
.fv_bottom {
  border-bottom: solid 1px #cbd0d1;
  margin-top: auto;
}

.fv_bottom .group_logos {
  display: flex;
  gap: .5rem;
  mix-blend-mode: multiply;
}

.fv_bottom .group_logos .logo {
  mix-blend-mode: multiply;
  padding: 0 .5rem;
  position: relative;
}

.fv_bottom .group_logos .logo:hover {
  opacity: .7;
}

.fv_bottom .group_logos .logo::before {
  background: #cbd0d1;
  bottom: 0;
  content: '';
  height: 1.2rem;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 1px;
}

.fv_bottom .group_logos .logo:nth-of-type(1):before {
  opacity: 0;
}

.fv_bottom .links {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
  justify-content: flex-end;
  white-space: nowrap;
}

.fv_bottom .links .link {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  gap: .4rem;
}

.fv_bottom .links .link::after {
  background-image: url(../img/quick-intro/arrow_sky01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.4rem;
  width: 1.2rem;
}

.fv_bottom .links .link:hover {
  opacity: .7;
}

.fv_bottom .links .link span {
  text-decoration: underline;
}

.fv_bottom .bread_area {
  align-items: center;
  border-top: 1px solid #cbd0d1;
  display: flex;
  justify-content: space-between;
  margin-top: 3.7rem;
  padding: 2.4rem 0;
}

.fv_bottom .bread_area .eng {
  color: #606060;
  font-family: Poppins;
  font-size: 2.4rem;
  font-weight: 400;
}

.fv_bottom .bread_area ol {
  display: flex;
  gap: 1rem;
}

.fv_bottom .bread_area ol li {
  font-size: 1.3rem;
  font-weight: 400;
  max-width: 50rem;
  overflow: hidden;
  position: relative;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fv_bottom .bread_area ol li+li {
  padding-left: 1.5rem;
}

.fv_bottom .bread_area ol li+li::before {
  background-image: url(../img/common/arrow_white03.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: .9rem;
  left: 0;
  margin: auto;
  position: absolute;
  top: .2rem;
  width: .7rem;
}

.fv_bottom .bread_area ol li a:hover {
  opacity: .7;
}

.fv_bottom .bread_area ol li:last-of-type a {
  pointer-events: none;
}

@media screen and (max-width:768px) {
  .fv_bottom {
    margin-top: auto;
  }

  .fv_bottom .group_logos {
    flex-wrap: wrap;
    gap: .2rem;
  }

  .fv_bottom .group_logos .logo {
    padding: 0 .2rem;
    width: calc((100% - 1rem) / 6);
  }

  .fv_bottom .group_logos .logo:nth-of-type(1):before {
    opacity: 1;
  }

  .fv_bottom .links {
    flex-wrap: wrap;
    gap: 1.2rem;
    justify-content: flex-end;
  }

  .fv_bottom .links .link {
    font-size: 1.2rem;
    gap: .2rem;
  }

  .fv_bottom .links .link::after {
    height: 1.2rem;
  }

  .fv_bottom .bread_area {
    align-items: flex-end;
    flex-direction: column;
    margin-top: 1.4rem;
    padding: 2rem 0;
  }

  .fv_bottom .bread_area .eng {
    font-family: Poppins;
    font-size: 2rem;
    font-weight: 400;
    text-align: right;
  }

  .fv_bottom .bread_area ol {
    display: flex;
    gap: .5rem;
  }

  .fv_bottom .bread_area ol li {
    font-size: 1rem;
    max-width: 26rem;
  }

  .fv_bottom .bread_area ol li+li {
    padding-left: 1rem;
  }

  .fv_bottom .bread_area ol li+li::before {
    width: .5rem;
  }
}

/* ---------------------------------------------------------------------------
//  bottom_bnrs
--------------------------------------------------------------------------- */
.bottom_bnrs {
  background: #fff;
  position: relative;
  z-index: 100;
}

.bottom_bnrs::after {
  background: #3a5e7c;
  bottom: 0;
  content: '';
  height: 16rem;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 0;
}

.bottom_bnrs .wrap .bnrs {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
  position: relative;
  z-index: 2;
}

.bottom_bnrs .wrap .bnrs .bnr {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 2rem;
  position: relative;
}

.bottom_bnrs .wrap .bnrs01 .bnr {
  aspect-ratio: 388/265;
  width: calc((100% - 2rem) / 3);
}

.bottom_bnrs .wrap .bnrs02 .bnr {
  aspect-ratio: 288/265;
  width: calc((100% - 3rem) / 4);
}

.bottom_bnrs .wrap .bnrs .bnr::before,
.bottom_bnrs .wrap .bnrs .bnr::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 1.5rem;
  content: '';
  height: 2.8rem;
  position: absolute;
  right: 2rem;
  transition: .2s;
  width: 4.3rem;
  z-index: 2;
}

.bottom_bnrs .wrap .bnrs .bnr::before {
  background-image: url(../img/common/arrow_white04.svg);
}

.bottom_bnrs .wrap .bnrs .bnr::after {
  background-image: url(../img/common/arrow_white04_hover.svg);
  opacity: 0;
}

.bottom_bnrs .wrap .bnrs .bnr:hover:after {
  opacity: 1;
}

.bottom_bnrs .wrap .bnrs .bnr .img {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}

.bottom_bnrs .wrap .bnrs .bnr .img img {
  height: 100%;
  max-height: inherit;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}

.bottom_bnrs .wrap .bnrs .bnr:hover .img img {
  transform: scale(1.2);
}

.bottom_bnrs .wrap .bnrs .bnr .txts {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  text-align: center;
  z-index: 3;
}

.bottom_bnrs .wrap .bnrs .bnr .txts .eng {
  font-family: Poppins;
  font-size: 2rem;
  order: -1;
}

.bottom_bnrs .wrap .bnrs .bnr .txts .jp {
  font-size: 1.8rem;
  margin-top: 1.2rem;
}

.bottom_bnrs .wrap .contact_bnr {
  display: block;
  height: 30rem;
  position: relative;
  z-index: 2;
}

.bottom_bnrs .wrap .contact_bnr .bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.bottom_bnrs .wrap .contact_bnr .bg::before {
  background: linear-gradient(90deg, rgba(29, 114, 198, .40) 49.52%, rgba(29, 114, 198, .00) 100%);
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  ;
}

.bottom_bnrs .wrap .contact_bnr .bg video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.bottom_bnrs .wrap .contact_bnr .txts {
  align-items: center;
  color: #fff;
  display: flex;
  height: 30rem;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}

.bottom_bnrs .wrap .contact_bnr .txts .head .eng {
  display: block;
  font-family: Poppins;
  font-size: 5.2rem;
  font-weight: 400;
}

.bottom_bnrs .wrap .contact_bnr .txts .head .p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
}

.bottom_bnrs .wrap .contact_bnr .txts .btn {
  align-items: center;
  border: solid 1px #fff;
  border-radius: 10rem;
  display: flex;
  font-size: 2.4rem;
  font-weight: 700;
  height: 7.5rem;
  justify-content: center;
  transition: .2s;
  width: 24.4rem;
}

.bottom_bnrs .wrap .contact_bnr:hover .txts .btn {
  background: #fff;
  color: #0f5896;
}

@media screen and (max-width: 768px) {
  .bottom_bnrs .wrap {
    padding: 0 1.5rem;
  }

  .bottom_bnrs .wrap .bnrs {
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 2rem;
  }

  .bottom_bnrs .wrap .bnrs .bnr {
    aspect-ratio: 2/1 !important;
    justify-content: center;
    padding: 2rem 1.5rem;
    width: 100% !important;
  }

  .bottom_bnrs .wrap .bnrs .bnr::before,
  .bottom_bnrs .wrap .bnrs .bnr::after {
    bottom: 1rem;
    right: 1rem;
  }

  .bottom_bnrs .wrap .bnrs .bnr:hover .img img {
    transform: scale(1.2);
  }

  .bottom_bnrs .wrap .bnrs .bnr .img::before {
    background: rgba(0, 0, 0, .3);
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: .2s;
    width: 100%;
    z-index: 2;
  }

  .bottom_bnrs .wrap .bnrs .bnr .txts .eng {
    font-size: 2.4rem;
  }

  .bottom_bnrs .wrap .bnrs .bnr .txts .jp {
    margin-top: 1rem;
  }

  .bottom_bnrs .wrap .contact_bnr {
    height: auto;
  }

  .bottom_bnrs .wrap .contact_bnr .bg::before {
    background: linear-gradient(90deg, rgba(29, 114, 198, .40) 49.52%, rgba(29, 114, 198, .00) 100%);
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    ;
  }

  .bottom_bnrs .wrap .contact_bnr .txts {
    flex-direction: column;
    height: auto;
    padding: 4rem 1.5rem;
    text-align: center;
  }

  .bottom_bnrs .wrap .contact_bnr .txts .head .eng {
    font-size: 4rem;
  }

  .bottom_bnrs .wrap .contact_bnr .txts .btn {
    font-size: 2rem;
    height: 6rem;
    margin-top: 3rem;
  }
}

/* ---------------------------------------------------------------------------
//  ttlA
--------------------------------------------------------------------------- */
.ttlA {
  display: flex;
}

.ttlA .h2 {
  background: #6da0c2;
  color: #fff;
  font-size: 1.6rem;
  padding: .8rem 2rem;
  text-align: center;
}

.ttlA .txt1 {
  font-size: 2.4rem;
  line-height: 1.2;
}

.ttlA .txt1 strong {
  background: linear-gradient(90deg, #0f5896 0%, #73dbdb 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 3.6rem;
  font-weight: 700;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 768px) {
  .ttlA {
    align-items: flex-start;
    flex-direction: column;
  }

  .ttlA .h2 {
    font-size: 1.4rem;
    padding: .2rem 1.4rem;
  }

  .ttlA .txt1 {
    font-size: 1.8rem;
  }

  .ttlA .txt1 strong {
    background: linear-gradient(90deg, #0f5896 0%, #73dbdb 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 2.4rem;
    font-weight: 700;
    -webkit-text-fill-color: transparent;
  }
}

/* ---------------------------------------------------------------------------
//  スクロールスライダー
--------------------------------------------------------------------------- */
.horizontal_scroll {
  /* 高さはJSが px で入れます（スクロール中は変更しない） */
  box-sizing: border-box;
  position: relative;
}

.horizontal_scroll .sticky {
  /* top は JS が自動設定：CSSでは指定しない */
  overflow: hidden;
  position: sticky;
}

.horizontal_scroll .scroller {
  display: flex;
  /* コンテンツを横並びに */
  gap: 0;
  /* 必要なら適宜 */
  /* ネイティブの横スクロールは使わない */
  overflow: visible;
  /* sticky内なので可視のままでOK */
  transform: translate3d(0, 0, 0);
  will-change: transform;
  /* GPUヒント */
}

/* ---------------------------------------------------------------------------
//  画像モーダル
--------------------------------------------------------------------------- */
/* ========== サムネ側 ========== */
.responsive_img {
  display: inline-block;
  position: relative;
}

.responsive_img .thumb {
  background: none;
  border: 0;
  cursor: pointer;
  line-height: 0;
  padding: 0;
}

.responsive_img .thumb img {
  display: block;
  height: auto;
  max-width: 100%;
}

/* PCではクリック無効（見た目は画像のまま） */
@media screen and (min-width: 769px) {
  .responsive_img .thumb {
    cursor: default;
    pointer-events: none;
  }
}

/* ========== グローバルモーダル ========== */
.global_modal {
  display: none;
  /* data-state="closed" の時 */
  inset: 0;
  position: fixed;
  z-index: 9999;
}

.global_modal[data-state='open'] {
  display: block;
}

.global_overlay {
  background: rgba(0, 0, 0, .6);
  inset: 0;
  opacity: 0;
  position: absolute;
  transition: opacity .2s ease;
}

.global_modal[data-state='open'] .global_overlay {
  opacity: 1;
}

.global_dialog {
  display: grid;
  inset: 0;
  opacity: 0;
  padding: 8rem 1.5rem;
  place-items: center;
  position: absolute;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease;
}

.global_modal[data-state='open'] .global_dialog {
  opacity: 1;
  transform: translateY(0);
}

.global_close {
  color: #fff;
  cursor: pointer;
  font-size: 4rem;
  position: absolute;
  right: 2.4rem;
  top: 0;
}

.global_scroll {
  background: #fff;
  border-radius: .8rem;
  max-height: 100%;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.global_scroll img {
  display: block;
  height: auto;
  max-width: inherit;
  max-width: 70rem;
  width: 70rem;
}

body.modal-lock {
  overflow: hidden;
}

/* ---------------------------------------------------------------------------
//  page_fv01
--------------------------------------------------------------------------- */
.page_bg {
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 0;
}

.page_bg video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.page_fv01 .wrap {
  position: relative;
}

.page_fv01 .wrap .head {
  display: flex;
  height: 28rem;
  padding-bottom: 2.8rem;
  padding-top: 11.7rem;
}

.page_fv01 .wrap .h1 {
  font-size: 3.6rem;
  font-weight: 700;
  text-align: right;
}

.page_fv01 .wrap .h1 strong {
  background: linear-gradient(90deg, #0f5896 0%, #73dbdb 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.page_fv01 .fv_bottom .links {
  color: #606060;
}

.page_fv01 .fv_bottom .bread_area ol li+li::before {
  background-image: url(../img/common/arrow_black01.svg);
}

@media screen and (max-width: 768px) {
  .page_fv01 .wrap {
    padding: 0 1.5rem;
  }

  .page_fv01 .wrap .head {
    height: 20rem;
    justify-content: flex-end;
    padding-top: 9rem;
  }

  .page_fv01 .wrap .h1 {
    font-size: 2.4rem;
  }
}

/* ---------------------------------------------------------------------------
//  page_fv02
--------------------------------------------------------------------------- */
.page_fv02 {
  height: 41.5rem;
  position: relative;
}

.page_fv02 .img {
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
}

.page_fv02 .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  object-position: center bottom;
  width: 100%;
}

.page_fv02 .wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  padding-bottom: 7.4rem;
  position: relative;
}

.page_fv02 .wrap .sub {
  align-items: center;
  color: #fff;
  display: flex;
  gap: 1.2rem;
  margin-bottom: 1.6rem;
}

.page_fv02 .wrap .sub .label {
  border: solid 1px;
  padding: .2rem .8rem;
}

.page_fv02 .wrap .sub .txt {
  font-weight: 700;
}

.page_fv02 .wrap .h1 {
  color: #fff;
  font-size: 3.6rem;
  font-weight: 700;
}

.page_fv02 .btn_wrap {
  bottom: 12rem;
  display: flex;
  gap: 2rem;
  justify-content: flex-end;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
}

.page_fv02 .btn_wrap .btn {
  align-items: center;
  background: #414141;
  color: #fff;
  display: flex;
  gap: 3rem;
  height: 5.2rem;
  justify-content: center;
  width: 29.5rem;
}

.page_fv02 .btn_wrap .btn::after {
  background-image: url(../img/common/arrow_white01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.2rem;
  position: relative;
  top: .1rem;
  transition: .2s;
  width: .7rem;
}

.page_fv02 .btn_wrap .btn:hover {
  gap: 0;
  opacity: .7;
}

.page_fv02 .btn_wrap .btn:hover:after {
  width: 0;
}

.page_fv02 .btn_wrap .btn_pdf {
  align-items: center;
  background: #fff;
  border: solid 1px #cbd0d1;
  display: flex;
  font-size: 1.4rem;
  gap: 1rem;
  height: 5.2rem;
  justify-content: center;
  padding: 1.3rem 1.8rem;
}

.page_fv02 .btn_wrap .btn_pdf:hover {
  opacity: .7;
}

.page_fv02 .btn_wrap .btn_pdf::after {
  background-image: url(../img/common/icon_pdf_blue.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 2.4rem;
  width: 2.4rem;
}

.page_fv02 .btn_wrap .btn_pdf::after {
  background-image: url(../img/common/icon_pdf_blue.svg);
}

.page_fv02 .fv_bottom {
  background: #fff;
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 100%;
}

.page_fv02 .fv_bottom .bread_area {
  border-top: none;
  justify-content: flex-end;
  margin-top: 0;
  padding: 2.4rem 0;
}

.page_fv02 .fv_bottom .bread_area ol li+li::before {
  background-image: url(../img/common/arrow_black01.svg);
}

@media screen and (max-width: 768px) {
  .page_fv02 {
    height: auto;
  }

  .page_fv02 .wrap {
    height: 20rem;
    padding: 0 1.5rem 0;
  }

  .page_fv02 .wrap .sub {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }

  .page_fv02 .wrap .sub .label {
    border: solid 1px;
    padding: .2rem .8rem;
  }

  .page_fv02 .wrap .h1 {
    font-size: 2.4rem;
  }

  .page_fv02 .btn_wrap {
    bottom: 0;
    flex-wrap: wrap;
    gap: .5rem;
    padding: 0 1.5rem 1.5rem;
    position: relative;
    z-index: 3;
  }

  .page_fv02 .btn_wrap .btn {
    font-size: 1.4rem;
    gap: 1.4rem;
    height: 3.5rem;
    width: 100%;
  }

  .page_fv02 .btn_wrap .btn_pdf {
    height: 3.5rem;
    padding: 0 1rem;
    width: 100%;
  }

  .page_fv02 .btn_wrap .btn_pdf .sp_small {
    font-size: 1.2rem;
  }

  .product_asset .btns01 .btn {
    padding: 1rem;
    width: 100%;
  }

  .page_fv02 .fv_bottom {
    padding: 0 1.5rem;
    position: relative;
    z-index: 3;
  }
}

/* ---------------------------------------------------------------------------
//  page_intro01
--------------------------------------------------------------------------- */
.page_intro01 {
  margin-bottom: 6rem;
  padding: 0 2rem;
  position: relative;
  z-index: 1;
}

.page_intro01 .bg {
  height: calc(100vh - 9.9rem);
  overflow: hidden;
  pointer-events: none;
  position: sticky;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
}

.page_intro01 .bg img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.page_intro01 .container {
  position: relative;
}

.page_intro01 .container::before {
  background: linear-gradient(0deg, rgba(57, 121, 141, .42) 0%, rgba(57, 121, 141, .42) 100%);
  content: '';
  height: 100%;
  height: 100%;
  left: 0;
  position: relative;
  position: absolute;
  top: 0;
  width: 100%;
}

.page_intro01 .wrap {
  align-items: center;
  color: #fff;
  display: flex;
  height: 100%;
  min-height: calc(100vh - 9.9rem);
  padding: 12rem 0;
}

.page_intro01 .wrap .txts {
  margin-left: auto;
  position: relative;
  width: 50%;
}

.page_intro01 .wrap .txts .h2 {
  font-size: 2.4rem;
  margin-bottom: 4.8rem;
}

.page_intro01 .wrap .txts .p {
  font-size: 1.6rem;
  line-height: 2.25;
}

@media screen and (max-width: 768px) {
  .page_intro01 {
    padding: 0;
  }

  .page_intro01 .bg {
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
  }

  .page_intro01 .wrap {
    min-height: calc(100vh - 6.7rem);
    padding: 9rem 1.5rem;
  }

  .page_intro01 .wrap .txts {
    width: 100%;
  }

  .page_intro01 .wrap .txts .h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }

  .page_intro01 .wrap .txts .p {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  page_container
--------------------------------------------------------------------------- */
.page_container {
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 1));
  position: relative;
}

/* .contact_container::after {
  background: #3a5e7c;
  bottom: 0;
  content: '';
  height: 11.7rem;
  position: absolute;
  width: 100%;
}

.contact_wrap {
  background: linear-gradient(to top, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, 1) 11.7rem, transparent);
  position: relative;
  z-index: 1;
} */
/* ---------------------------------------------------------------------------
//  sec_pageA
--------------------------------------------------------------------------- */
.sec_pageA {
  padding-bottom: 12rem;
}

.sec_pageA .first {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 9rem;
}

.sec_pageA .right {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 9rem;
  text-align: right;
}

.sec_pageA .sec {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 9rem;
}

.sec_pageA .sec.mt_0 {
  margin-top: 0;
}

.sec_pageA .sec .ttl01 {
  border-bottom: solid 1px #cbd0d1;
  color: #0f5896;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}

.sec_pageA .sec .ttl02 {
  color: #0f5896;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
  padding-bottom: 1rem;
}

.sec_pageA .sec .ttl03 {
  font-weight: 700;
  margin-top: 1rem;
}

.sec_pageA .sec .link01 {
  color: #0f5896;
  text-decoration: underline;
}

.sec_pageA .sec .link01:hover {
  opacity: .7;
}

.sec_pageA .sec .ul01 li {
  display: flex;
}

.sec_pageA .sec .ul01 li::before {
  content: '・';
  flex-shrink: 0;
  text-align: center;
  width: 1.6rem;
}

.sec_pageA .sec .box01 {
  background: #f3f3f3;
  padding: 1.2rem;
}

.sec_pageA .sec .box01 .links {
  background: #fff;
  display: flex;
  gap: 2rem 6rem;
  padding: 3rem;
}

.sec_pageA .sec .box01 .links .link {
  align-items: center;
  border-left: solid 2px #606060;
  color: #0f5896;
  display: flex;
  font-size: 1.8rem;
  font-weight: 700;
  gap: .8rem;
  padding-left: 1.2rem;
}

.sec_pageA .sec .box01 .links .link::after {
  background-image: url(../img/common/icon_pdf02.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 2.5rem;
  width: 2.5rem;
}

@media screen and (max-width:768px) {
  .sec_pageA {
    padding-bottom: 9rem;
  }

  .sec_pageA .wrap {
    padding: 0 1.5rem;
  }

  .sec_pageA .first {
    font-size: 1.4rem;
    margin-top: 6rem;
  }

  .sec_pageA .right {
    font-size: 1.4rem;
    margin-top: 6rem;
  }

  .sec_pageA .sec {
    font-size: 1.4rem;
    margin-top: 6rem;
  }

  .sec_pageA .sec .ttl01 {
    font-size: 2rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }

  .sec_pageA .sec .ttl02 {
    font-size: 2rem;
  }

  .sec_pageA .sec .ul01 li::before {
    width: 1.4rem;
  }

  .sec_pageA .sec .box01 {
    padding: .5rem;
  }

  .sec_pageA .sec .box01 .links {
    flex-direction: column;
    gap: 2rem;
    padding: 2rem 1.5rem;
  }

  .sec_pageA .sec .box01 .links .link {
    font-size: 1.6rem;
    width: 100%;
  }

  .sec_pageA .sec .box01 .links .link::after {
    height: 2rem;
    width: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  table01
--------------------------------------------------------------------------- */
.table01 {
  width: 100%;
}

.table01 .head01 th {
  background: #6da0c2;
  border: solid 1px #cbd0d1;
  color: #fff;
  font-weight: 500;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.table01 .main01 th {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  font-weight: 500;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.table01 .main01 td {
  background: #fff;
  border: solid 1px #cbd0d1;
  padding: 1rem;
  vertical-align: middle;
}

@media screen and (max-width:768px) {
  .table01 {
    width: 100%;
  }

  .table01 .head01 th {
    white-space: normal;
    width: calc(50%);
  }

  .table01 .main01 th {
    padding: 1rem 0;
    text-align: left;
    vertical-align: top;
    writing-mode: vertical-rl;
  }

  .table01 .main01 td {
    font-size: 1.2rem;
    padding: 1rem .5rem;
  }
}

/* ---------------------------------------------------------------------------
//  has_side
--------------------------------------------------------------------------- */
.has_side {
  display: flex;
  flex-direction: row-reverse;
  padding: 9rem 0;
  position: relative;
}

.has_side .side_contents {
  border-left: 1px solid #cbd0d1;
  padding-bottom: 9rem;
  padding-left: 4.5rem;
  position: relative;
  width: 29rem;
}

.has_side .side_contents .sticky {
  position: sticky;
  top: calc(9.9rem + 4rem);
}

.has_side .side_contents .links {
  margin-top: 3.6rem;
}

.has_side .side_contents .links .link {
  align-items: center;
  background: #fff;
  border: solid 1px #cbd0d1;
  color: #606060;
  display: flex;
  gap: 2rem;
  height: 5.6rem;
  padding: 0 2rem;
  width: 100%;
}

.has_side .side_contents .links .link.active {
  background: #6da0c2;
  color: #fff;
  pointer-events: none;
}

.has_side .side_contents .links .link+.link {
  margin-top: 1rem;
}

.has_side .side_contents .links .link span {
  background: #fff;
  border: solid 1px #cbd0d1;
  border-radius: 100%;
  height: 1.3rem;
  position: relative;
  width: 1.3rem;
}

.has_side .side_contents .links .link span::before {
  background: #6da0c2;
  border-radius: 100%;
  bottom: 0;
  content: '';
  height: .7rem;
  left: 0;
  margin: auto;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: .2s;
  width: .7rem;
}

.has_side .side_contents .links .link:hover span::before,
.has_side .side_contents .links .link.active span::before {
  opacity: 1;
}

.has_side .main_contents {
  height: 100%;
  padding-right: 4.5rem;
  width: calc(100% - 29rem);
}

@media screen and (max-width: 768px) {
  .has_side {
    display: flex;
    flex-direction: column;
    padding: 6rem 1.5rem;
  }

  .has_side .side_contents {
    border-left: none;
    padding-bottom: 0;
    padding-left: 0;
    width: 100%;
  }

  .has_side .side_contents .sticky {
    position: relative;
    top: 0;
  }

  .has_side .side_contents .ttl {
    display: none;
  }

  .has_side .side_contents .links {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
    margin-top: 0;
  }

  .has_side .side_contents .links .link {
    font-size: 1.2rem;
    gap: .5rem;
    height: 3rem;
    width: calc((100% - .2rem) / 2);
    padding: 0 1.5rem;
  }

  .has_side .side_contents .links .link+.link {
    margin-top: 0;
  }

  .has_side .side_contents .links .link:first-of-type {
    width: 100%;
  }

  .has_side .main_contents {
    margin-top: 2rem;
    padding-right: 0;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  news_archive
--------------------------------------------------------------------------- */
.news_archive .news {
  border-top: solid 1px #cbd0d1;
  display: block;
  padding: 3.5rem 0;
}

.news_archive .news:first-of-type {
  border-top: none;
  padding-top: 0;
}

.news_archive .news:hover {
  opacity: .7;
}

.news_archive .news .head {
  align-items: center;
  display: flex;
  gap: 2rem;
}

.news_archive .news .head .date {
  color: #606060;
  font-family: Poppins;
}

.news_archive .news .head .cat {
  align-items: center;
  background: #fff;
  border: solid 1px #cbd0d1;
  border-radius: 10rem;
  display: flex;
  font-size: 1.2rem;
  height: 2.5rem;
  justify-content: center;
  padding: 0 1.6rem 0 2.5rem;
  position: relative;
}

.news_archive .news .head .cat::before {
  background: #0f5896;
  border-radius: 100%;
  bottom: 0;
  content: '';
  height: .3rem;
  left: 1.2rem;
  margin: auto;
  position: absolute;
  top: 0;
  width: .3rem;
}

.news_archive .news .ttl {
  line-height: 1.75;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .news_archive .news {
    font-size: 1.4rem;
    padding: 2rem 0;
  }

  .news_archive .news:first-of-type {
    padding-top: 2rem;
  }

  .news_archive .news .ttl {
    margin-top: 1.4rem;
  }
}

/* ---------------------------------------------------------------------------
//  news_single
--------------------------------------------------------------------------- */
.news_single {
  padding-bottom: 9rem;
}

.news_single .head {
  align-items: center;
  display: flex;
  gap: 2rem;
}

.news_single .head .date {
  color: #606060;
  font-family: Poppins;
}

.news_single .head .cat {
  align-items: center;
  background: #fff;
  border: solid 1px #cbd0d1;
  border-radius: 10rem;
  display: flex;
  font-size: 1.2rem;
  height: 2.5rem;
  justify-content: center;
  padding: 0 1.6rem 0 2.5rem;
  position: relative;
}

.news_single .head .cat::before {
  background: #0f5896;
  border-radius: 100%;
  bottom: 0;
  content: '';
  height: .3rem;
  left: 1.2rem;
  margin: auto;
  position: absolute;
  top: 0;
  width: .3rem;
}

.news_single .ttl {
  font-size: 2.4rem;
  margin-top: 3rem;
}

.news_single .wp_edit {
  margin-top: 4rem;
}

.news_single .wp_edit p {
  line-height: 1.75;
  margin: 2rem 0;
}

@media screen and (max-width: 768px) {
  .news_single {
    margin-top: 3rem;
    padding-bottom: 0rem;
  }

  .news_single .ttl {
    font-size: 1.6rem;
    margin-top: 2rem;
  }

  .news_single .wp_edit {
    margin-top: 4rem;
  }

  .news_single .wp_edit p {
    font-size: 1.4rem;
  }
}

/* ---------------------------------------------------------------------------
//  pagination
--------------------------------------------------------------------------- */
.pagination {
  align-items: center;
  border-top: solid 1px #cbd0d1;
  display: flex;
  justify-content: space-between;
  padding-bottom: 12rem;
  padding-top: 4rem;
}

.pagination .prev,
.pagination .next {
  align-items: center;
  color: #606060;
  display: flex;
  font-family: Poppins;
  font-size: 2rem;
  font-weight: 400;
  height: 4rem;
  margin: 0 9rem;
  padding: 0 2.5rem;
  position: relative;
  width: 10rem;
}

.pagination .prev::before,
.pagination .next::before {
  background-image: url(../img/common/arrow_black01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.2rem;
  position: absolute;
  width: .7rem;
}

.pagination .prev:hover:before,
.pagination .next:hover:before {
  opacity: 0;
}

.pagination .prev:hover {
  padding-left: 0;
}

.pagination .prev::before {
  left: 0;
  transform: rotate(180deg);
}

.pagination .next {
  justify-content: flex-end;
}

.pagination .next:hover {
  padding-right: 0;
}

.pagination .next::before {
  right: 0;
}

.pagination .archive {
  display: flex;
  font-family: Poppins;
  gap: 2.4rem;
  justify-content: center;
}

.pagination .archive a {
  align-items: center;
  border-radius: .8rem;
  color: #6da0c2;
  display: flex;
  height: 4rem;
  justify-content: center;
  width: 4rem;
}

.pagination .archive a:hover {
  opacity: .7;
}

.pagination .archive a.active {
  background: #6da0c2;
  color: #fff;
  pointer-events: none;
}

.pagination .archive a.dotted {
  pointer-events: none;
}

.pagination .btn {
  background: #fff;
  border: solid 1px #cbd0d1;
  color: #000;
  color: #606060;
  width: 25rem;
}

.pagination .btn::after {
  background-image: url(../img/common/arrow_black01.svg);
}

@media screen and (max-width: 768px) {
  .pagination {
    padding: 3rem 1.5rem 9rem;
  }

  .pagination .prev,
  .pagination .next {
    font-size: 0;
    height: 4rem;
    justify-content: center !important;
    margin: 0;
    padding: 0;
    width: 4rem;
  }

  .pagination .prev::before,
  .pagination .next::before {
    position: relative;
  }

  .pagination .prev:hover:before,
  .pagination .next:hover:before {
    opacity: 1 !important;
  }

  .pagination .prev:hover {
    padding-left: 0;
  }

  .pagination .prev::before {
    left: 0;
    transform: rotate(180deg);
  }

  .pagination .next {
    justify-content: flex-end;
  }

  .pagination .next:hover {
    padding-right: 0;
  }

  .pagination .next::before {
    right: 0;
  }

  .pagination .archive {
    gap: 1rem;
  }

  .pagination .archive a {
    border-radius: .8rem;
    font-size: 1.4rem;
    height: 3rem;
    width: 3rem;
  }

  .pagination .btn {
    width: 60%;
  }
}

/* ---------------------------------------------------------------------------
//  quick_fv
--------------------------------------------------------------------------- */
.main_quick {
  position: relative;
}

.main_quick::before {
  background-image: url(../img/quick-intro/mv.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  content: '';
  height: calc(100vh - 9.9rem);
  position: fixed;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
}

.quick_fv {
  position: relative;
  z-index: 1;
}

.quick_fv::before {
  background: linear-gradient(180deg, #0f5896 0%, rgba(15, 88, 150, .00) 100%);
  content: '';
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  opacity: .48;
  position: absolute;
  top: 0;
  width: 100%;
}

.quick_fv .wrap {
  color: #fff;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 9.9rem);
  padding-top: 7rem;
  position: relative;
  z-index: 1;
}

.quick_fv .wrap .h1 {
  border-top: solid 4px #5ea995;
  font-size: 2rem;
  padding-top: 1rem;
  position: absolute;
  right: 0;
  top: 4rem;
}

.quick_fv .wrap .p {
  font-size: 6.4rem;
  font-weight: 900;
  letter-spacing: calc((9 / 64) * 1em);
  line-height: 1.25;
  margin-bottom: 2.5rem;
  margin-right: auto;
  margin-top: auto;
  margin-top: bottom;
  padding-left: 7rem;
  text-orientation: mixed;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.quick_fv .wrap .p strong {
  color: #5ea995;
}

@media screen and (max-width:768px) {
  .main_quick {
    position: relative;
  }

  .main_quick::before {
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
  }

  .quick_fv .wrap {
    min-height: calc(100vh - 6.7rem);
    padding: 6rem 1.5rem 0;
  }

  .quick_fv .wrap .h1 {
    border-top: solid 2px #5ea995;
    font-size: 1.6rem;
    padding-top: .5rem;
    right: 1.5rem;
    top: 2rem;
  }

  .quick_fv .wrap .p {
    font-size: 4rem;
    padding-left: 2rem;
  }

  .quick_fv .wrap .p strong {
    color: #5ea995;
  }
}

/* ---------------------------------------------------------------------------
//  quick_sec01
--------------------------------------------------------------------------- */
.quick_sec01 {
  position: relative;
  z-index: 1;
}

.quick_sec01 .bg {
  height: calc(100vh - 9.9rem);
  overflow: hidden;
  pointer-events: none;
  position: sticky;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
}

.quick_sec01 .bg video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.quick_sec01 .container {
  align-items: center;
  display: flex;
  min-height: calc(100vh - 9.9rem);
  position: relative;
}

.quick_sec01 .container::before {
  background: linear-gradient(0deg, rgba(63, 205, 87, .25) 0%, rgba(63, 205, 87, .25) 100%);
  content: '';
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  width: 100%;
}

.quick_sec01 .wrap {
  color: #fff;
  padding: 2rem 0 8rem;
  position: relative;
}

.quick_sec01 .wrap .h2 {
  font-size: 1.5rem;
  margin-bottom: 1.8rem;
}

.quick_sec01 .wrap .flex {
  align-items: flex-end;
  display: flex;
  flex-direction: row-reverse;
}

.quick_sec01 .wrap .flex .head {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  width: 50%;
}

.quick_sec01 .wrap .flex .head .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.quick_sec01 .wrap .flex .head .p {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: calc((9 / 64) * 1em);
  text-orientation: mixed;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.quick_sec01 .wrap .flex .head .p strong {
  font-size: 4rem;
}

.quick_sec01 .wrap .flex .head .eng {
  font-family: Poppins;
  font-size: 2rem;
  font-weight: 400;
  margin-top: 4rem;
  text-align: center;
}

.quick_sec01 .wrap .flex .txts {
  width: 50%;
}

.quick_sec01 .wrap .flex .txts .p {
  font-size: 1.8rem;
  line-height: 2.66;
  text-align: justify;
}

@media screen and (max-width:768px) {
  .quick_sec01 .bg {
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
  }

  .quick_sec01 .container {
    min-height: calc(100vh - 6.7rem);
  }

  .quick_sec01 .container::before {
    background: linear-gradient(0deg, rgba(0, 0, 0, .25) 0%, rgba(0, 0, 0, .6) 100%);
  }

  .quick_sec01 .wrap {
    color: #fff;
    padding: 6rem 1.5rem;
    position: relative;
  }

  .quick_sec01 .wrap .h2 {
    border-bottom: solid 1px;
    font-size: 1.4rem;
    margin-bottom: 4rem;
    padding-bottom: 1rem;
    text-align: right;
  }

  .quick_sec01 .wrap .flex {
    display: block;
  }

  .quick_sec01 .wrap .flex .head {
    display: block;
    width: 100%;
  }

  .quick_sec01 .wrap .flex .head .p {
    font-size: 2rem;
    font-weight: 700;
    /* writing-mode: inherit; */
  }

  .quick_sec01 .wrap .flex .head .p strong {
    font-size: 2.5rem;
  }

  .quick_sec01 .wrap .flex .head .eng {
    display: block;
    font-size: 1.4rem;
    margin-top: 1rem;
    text-align: left;
  }

  .quick_sec01 .wrap .flex .txts {
    margin-top: 2rem;
    width: 100%;
  }

  .quick_sec01 .wrap .flex .txts .p {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  quick_sec02
--------------------------------------------------------------------------- */
.quick_sec02 {
  background: #fff;
  position: relative;
  z-index: 2;
}

.quick_sec02 .sec_head {
  border-bottom: solid 1px #cbd0d1;
  padding: 7rem 0 1rem;
  text-align: right;
}

.quick_sec02 .wrap .flex {
  display: flex;
}

.quick_sec02 .wrap .flex .head {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-right: 4rem;
  padding-top: 5.8rem;
  width: 33.6rem;
}

.quick_sec02 .wrap .flex .head .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-bottom: 4rem;
  padding-top: 1.7rem;
  position: sticky;
  top: 9.9rem;
}

.quick_sec02 .wrap .flex .head .ttl::before {
  background-color: #fff;
  background-image: url(../img/quick-intro/sec02_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 11.7rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -12rem;
  width: 11.1rem;
}

.quick_sec02 .wrap .flex .head .ttl .h3 {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: calc((9 / 64) * 1em);
  text-orientation: upright;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.quick_sec02 .wrap .flex .head .ttl .h3 strong {
  color: #5ea995;
}

.quick_sec02 .wrap .flex .head .p {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 4rem;
  text-align: justify;
}

.quick_sec02 .wrap .flex>.contents {
  border-left: 1px solid #cbd0d1;
  width: calc(100% - 33.6rem);
}

.quick_sec02 .wrap .flex>.contents .reasons .reason {
  padding: 7.5rem 4rem;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason:last-of-type {
  padding-bottom: 12rem;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason+.reason {
  border-top: solid 1px #cbd0d1;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason .img {
  aspect-ratio: 720/257;
  overflow: hidden;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason .txts {
  display: flex;
  gap: 3.4rem;
  margin-top: 3rem;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason .txts .num {
  color: #5ea995;
  font-family: Poppins;
  font-size: 1.6rem;
  font-weight: 500;
  padding-top: 1.3rem;
  white-space: nowrap;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason .txts dl dt {
  font-size: 3.2rem;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason .txts dl dd {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 3rem;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason .txts .btns {
  display: flex;
  gap: 1.2rem;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason .txts .btns .btn {
  background: #fff;
  border: solid 1px #cbd0d1;
  color: #000;
  margin-top: 3rem;
  width: 20rem;
}

.quick_sec02 .wrap .flex>.contents .reasons .reason .txts .btns .btn::after {
  background-image: url(../img/common/arrow_black01.svg);
}

@media screen and (max-width:768px) {
  .quick_sec02 .sec_head {
    padding: 6rem 1.5rem 1rem;
  }

  .quick_sec02 .wrap {
    padding: 0 1.5rem;
  }

  .quick_sec02 .wrap .flex {
    display: block;
  }

  .quick_sec02 .wrap .flex .head {
    padding-right: 0;
    padding-top: 6rem;
    width: 100%;
  }

  .quick_sec02 .wrap .flex .head .ttl {
    padding-bottom: 4rem;
    padding-top: 1.7rem;
    /* position: sticky; */
    /* margin-top: -9rem; */
  }

  .quick_sec02 .wrap .flex .head .ttl .h3 {
    font-size: 3rem;
  }

  .quick_sec02 .wrap .flex .head .p {
    line-height: 1.75;
    margin-top: 3rem;
  }

  .quick_sec02 .wrap .flex>.contents {
    border-left: 1px solid #cbd0d1;
    width: 100%;
  }

  .quick_sec02 .wrap .flex>.contents .reasons .reason {
    padding: 5rem 0 5rem 1.5rem;
    position: relative;
  }

  .quick_sec02 .wrap .flex>.contents .reasons .reason:last-of-type {
    padding-bottom: 9rem;
  }

  .quick_sec02 .wrap .flex>.contents .reasons .reason .txts {
    display: block;
    margin-top: 1.6rem;
  }

  .quick_sec02 .wrap .flex>.contents .reasons .reason .txts .num {
    left: 1.5rem;
    position: absolute;
    top: 0;
  }

  .quick_sec02 .wrap .flex>.contents .reasons .reason .txts dl dt {
    font-size: 2rem;
  }

  .quick_sec02 .wrap .flex>.contents .reasons .reason .txts dl dd {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 1rem;
  }

  .quick_sec02 .wrap .flex>.contents .reasons .reason .txts .btns {
    gap: 1rem;
  }

  .quick_sec02 .wrap .flex>.contents .reasons .reason .txts .btns .btn {
    margin-top: 2rem;
    width: calc((100% - 1rem) / 2);
  }

  .quick_sec02 .wrap .flex>.contents .reasons .reason .txts .btns .btn::after {
    background-image: url(../img/common/arrow_black01.svg);
  }
}

/* ---------------------------------------------------------------------------
//  quick_sec03
--------------------------------------------------------------------------- */
.quick_sec03 {
  background: #5ea995;
  color: #fff;
  position: relative;
  z-index: 3;
}

.quick_sec03 .sec_head {
  border-bottom: solid 1px #cbd0d1;
  padding: 7rem 0 1rem;
}

.quick_sec03 .wrap .flex {
  display: flex;
  flex-direction: row-reverse;
}

.quick_sec03 .wrap .flex .head {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-left: 4rem;
  padding-top: 15.5rem;
  width: 33.6rem;
}

.quick_sec03 .wrap .flex .head .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-bottom: 4rem;
  padding-top: 1.7rem;
  position: sticky;
  top: 9.9rem;
}

.quick_sec03 .wrap .flex .head .ttl::before {
  background-image: url(../img/quick-intro/sec03_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 15rem;
  left: 5.5rem;
  margin: auto;
  position: absolute;
  right: 0;
  top: -18rem;
  width: 17rem;
}

.quick_sec03 .wrap .flex .head .ttl .h3 {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: calc((9 / 64) * 1em);
  text-orientation: upright;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.quick_sec03 .wrap .flex .head .ttl .h3 strong {
  color: #fcff7b;
}

.quick_sec03 .wrap .flex .head .p {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 4rem;
  text-align: justify;
}

.quick_sec03 .wrap .flex>.contents {
  border-right: 1px solid #cbd0d1;
  width: calc(100% - 33.6rem);
}

.quick_sec03 .wrap .flex>.contents .needs .need {
  padding: 7.5rem 4rem;
}

.quick_sec03 .wrap .flex>.contents .needs .need:last-of-type {
  padding-bottom: 12rem;
}

.quick_sec03 .wrap .flex>.contents .needs .need+.need {
  border-top: solid 1px #cbd0d1;
}

.quick_sec03 .wrap .flex>.contents .needs .need .txts {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}

.quick_sec03 .wrap .flex>.contents .needs .need .txts .eng {
  align-items: center;
  background: #fff;
  border-radius: .8rem;
  color: #5ea995;
  display: flex;
  font-family: Poppins;
  font-size: 1.6rem;
  font-weight: 500;
  height: 2.7rem;
  justify-content: center;
  white-space: nowrap;
  width: 17.7rem;
}

.quick_sec03 .wrap .flex>.contents .needs .need .txts dl {
  margin-top: 1.3rem;
}

.quick_sec03 .wrap .flex>.contents .needs .need .txts dl dt {
  font-size: 3.2rem;
  line-height: 1.4;
}

.quick_sec03 .wrap .flex>.contents .needs .need .txts dl dd .p1 {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 3rem;
}

.quick_sec03 .wrap .flex>.contents .needs .need .txts dl dd .arrow {
  background-image: url(../img/quick-intro/arrow_line01.svg);
  background-position: center;
  background-repeat: repeat-x;
  background-size: 72rem;
  display: block;
  height: 2.8rem;
  margin-top: 3rem;
}

.quick_sec03 .wrap .flex>.contents .needs .need .txts dl dd .p2 {
  background: linear-gradient(90deg, #fcff7b 0%, #fff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.37;
  margin-top: 2rem;
  text-align: center;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width:768px) {
  .quick_sec03 .sec_head {
    padding: 6rem 1.5rem 1rem;
  }

  .quick_sec03 .wrap {
    padding: 0 1.5rem;
  }

  .quick_sec03 .wrap .flex {
    display: block;
  }

  .quick_sec03 .wrap .flex .head {
    padding-left: 0;
    padding-top: 6rem;
    width: 100%;
  }

  .quick_sec02 .wrap .flex .head .ttl {
    padding-bottom: 4rem;
    padding-top: 1.7rem;
    /* position: sticky; */
    /* margin-top: -9rem; */
  }

  .quick_sec03 .wrap .flex .head .ttl::before {
    left: 4.5rem;
    top: -13.5rem;
    width: 14rem;
  }

  .quick_sec03 .wrap .flex .head .ttl .h3 {
    font-size: 3rem;
  }

  .quick_sec03 .wrap .flex .head .p {
    line-height: 1.75;
    margin-top: 3rem;
  }

  .quick_sec03 .wrap .flex>.contents {
    width: 100%;
  }

  .quick_sec03 .wrap .flex>.contents .needs .need {
    padding: 3rem 1.5rem 5rem 0;
    position: relative;
  }

  .quick_sec03 .wrap .flex>.contents .needs .need:last-of-type {
    padding-bottom: 9rem;
  }

  .quick_sec03 .wrap .flex>.contents .needs .need:first-of-type {
    padding-top: 0;
  }

  .quick_sec03 .wrap .flex>.contents .needs .need .txts {
    display: block;
    margin-top: 1.6rem;
  }

  .quick_sec03 .wrap .flex>.contents .needs .need .txts dl dt {
    font-size: 2rem;
  }

  .quick_sec03 .wrap .flex>.contents .needs .need .txts dl dd .p1 {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 1rem;
  }

  .quick_sec03 .wrap .flex>.contents .needs .need .txts dl dd .arrow {
    margin-top: 2rem;
  }

  .quick_sec03 .wrap .flex>.contents .needs .need .txts dl dd .p2 {
    font-size: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  quick_sec04
--------------------------------------------------------------------------- */
.quick_sec04 {
  background: #fff;
  position: relative;
  z-index: 2;
}

.quick_sec04 .sec_head {
  border-bottom: solid 1px #cbd0d1;
  padding: 7rem 0 1rem;
  text-align: right;
}

.quick_sec04 .wrap .flex {
  display: flex;
}

.quick_sec04 .wrap .flex .head {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-right: 4rem;
  padding-top: 15.5rem;
  width: 33.6rem;
}

.quick_sec04 .wrap .flex .head .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-bottom: 4rem;
  padding-top: 1.7rem;
  position: sticky;
  top: 9.9rem;
}

.quick_sec04 .wrap .flex .head .ttl::before {
  background-color: #fff;
  background-image: url(../img/quick-intro/sec04_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 9.9rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -11.5rem;
  width: 11.4rem;
}

.quick_sec04 .wrap .flex .head .ttl .h3 {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: calc((9 / 64) * 1em);
  text-orientation: upright;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.quick_sec04 .wrap .flex .head .ttl .h3 strong {
  color: #5ea995;
}

.quick_sec04 .wrap .flex .head .p {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 4rem;
  text-align: justify;
}

.quick_sec04 .wrap .flex>.contents {
  border-left: 1px solid #cbd0d1;
  width: calc(100% - 33.6rem);
}

.quick_sec04 .wrap .flex>.contents .skils .skil {
  padding: 9rem 4rem;
}

.quick_sec04 .wrap .flex>.contents .skils .skil:last-of-type {
  padding-bottom: 12rem;
}

.quick_sec04 .wrap .flex>.contents .skils .skil+.skil {
  border-top: solid 1px #cbd0d1;
}

.quick_sec04 .wrap .flex>.contents .skils .skil .txts {
  display: flex;
  gap: 3.4rem;
}

.quick_sec04 .wrap .flex>.contents .skils .skil .txts dl dt {
  font-size: 3.2rem;
}

.quick_sec04 .wrap .flex>.contents .skils .skil .txts dl dt strong {
  color: #5ea995;
  font-size: 4.8rem;
  font-weight: 700;
}

.quick_sec04 .wrap .flex>.contents .skils .skil .txts dl dt span {
  color: #5ea995;
}

.quick_sec04 .wrap .flex>.contents .skils .skil .txts dl dd {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 3rem;
}

.quick_sec04 .wrap .flex>.contents .skils .skil .txts .btns {
  display: flex;
  gap: 1.2rem;
}

.quick_sec04 .wrap .flex>.contents .skils .skil .txts .btns .btn {
  background: #fff;
  border: solid 1px #cbd0d1;
  color: #000;
  margin-top: 3rem;
  width: 29.2rem;
}

.quick_sec04 .wrap .flex>.contents .skils .skil .txts .btns .btn::after {
  background-image: url(../img/common/arrow_black01.svg);
}

@media screen and (max-width:768px) {
  .quick_sec04 .sec_head {
    padding: 6rem 1.5rem 1rem;
  }

  .quick_sec04 .wrap {
    padding: 0 1.5rem;
  }

  .quick_sec04 .wrap .flex {
    display: block;
  }

  .quick_sec04 .wrap .flex .head {
    padding-right: 0;
    padding-top: 6rem;
    width: 100%;
  }

  .quick_sec04 .wrap .flex .head .ttl {
    padding-bottom: 4rem;
    padding-top: 1.7rem;
    /* position: sticky; */
    /* margin-top: -9rem; */
  }

  .quick_sec04 .wrap .flex .head .ttl::before {
    background-image: url(../img/quick-intro/sec04_icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    height: 9.9rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: -9.5rem;
    width: 11.4rem;
  }

  .quick_sec04 .wrap .flex .head .ttl .h3 {
    font-size: 3rem;
  }

  .quick_sec04 .wrap .flex .head .p {
    line-height: 1.75;
    margin-top: 3rem;
  }

  .quick_sec04 .wrap .flex>.contents {
    border-left: 1px solid #cbd0d1;
    width: 100%;
  }

  .quick_sec04 .wrap .flex>.contents .skils .skil {
    padding: 5rem 0 5rem 1.5rem;
    position: relative;
  }

  .quick_sec04 .wrap .flex>.contents .skils .skil:first-of-type {
    padding-top: 0;
  }

  .quick_sec04 .wrap .flex>.contents .skils .skil:last-of-type {
    padding-bottom: 9rem;
  }

  .quick_sec04 .wrap .flex>.contents .skils .skil .txts {
    display: block;
  }

  .quick_sec04 .wrap .flex>.contents .skils .skil .txts dl dt {
    font-size: 2rem;
  }

  .quick_sec04 .wrap .flex>.contents .skils .skil .txts dl dt strong {
    font-size: 3rem;
  }

  .quick_sec04 .wrap .flex>.contents .skils .skil .txts dl dd {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 2rem;
  }

  .quick_sec04 .wrap .flex>.contents .skils .skil .txts .btns {
    gap: 1rem;
  }

  .quick_sec04 .wrap .flex>.contents .skils .skil .txts .btns .btn {
    margin-top: 2rem;
    width: calc((100% - 1rem) / 2);
  }
}

/* ---------------------------------------------------------------------------
//  quick_sec05
--------------------------------------------------------------------------- */
.quick_sec05 {
  background: #5ea995;
  color: #fff;
  position: relative;
  z-index: 3;
}

.quick_sec05 .sec_head {
  border-bottom: solid 1px #cbd0d1;
  padding: 7rem 0 1rem;
}

.quick_sec05 .wrap .flex {
  display: flex;
  flex-direction: row-reverse;
}

.quick_sec05 .wrap .flex .head {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-left: 4rem;
  padding-top: 8rem;
  width: 33.6rem;
}

.quick_sec05 .wrap .flex .head .ttl {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-bottom: 4rem;
  padding-top: 1.7rem;
  position: sticky;
  top: 9.9rem;
}

.quick_sec05 .wrap .flex .head .ttl::before {
  background-image: url(../img/quick-intro/sec05_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 15rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -16rem;
  width: 17rem;
}

.quick_sec05 .wrap .flex .head .ttl .h3 {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: calc((9 / 64) * 1em);
  text-orientation: upright;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.quick_sec05 .wrap .flex .head .ttl .h3 strong {
  color: #fcff7b;
}

.quick_sec05 .wrap .flex .head .p {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 4rem;
  text-align: justify;
}

.quick_sec05 .wrap .flex>.contents {
  border-right: 1px solid #cbd0d1;
  width: calc(100% - 33.6rem);
}

.quick_sec05 .wrap .flex>.contents .datas .data {
  padding: 7.5rem 4rem;
}

.quick_sec05 .wrap .flex>.contents .datas .data:last-of-type {
  padding-bottom: 12rem;
}

.quick_sec05 .wrap .flex>.contents .datas .data+.data {
  border-top: solid 1px #cbd0d1;
}

.quick_sec05 .wrap .flex>.contents .datas .data .txts {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}

.quick_sec05 .wrap .flex>.contents .datas .data .txts dl {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.quick_sec05 .wrap .flex>.contents .datas .data .txts dl dt {
  font-size: 3.2rem;
  line-height: 1.4;
}

.quick_sec05 .wrap .flex>.contents .datas .data .txts dl dd {
  width: 42.7rem;
}

.quick_sec05 .wrap .flex>.contents .datas .data01 .txts dl dd .p1 {
  width: 33.9rem;
}

.quick_sec05 .wrap .flex>.contents .datas .data02 .txts dl dd .p1 {
  width: 39.5rem;
}

.quick_sec05 .wrap .flex>.contents .datas .data03 .txts dl dd .p1 {
  width: 17.9rem;
}

.quick_sec05 .wrap .flex>.contents .datas .data .txts dl dd .p2 {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 3rem;
}

.quick_sec05 .wrap .flex>.contents .datas .data .txts dl dd .box {
  align-items: center;
  display: flex;
  gap: 1.6rem;
}

.quick_sec05 .wrap .flex>.contents .datas .data .txts dl dd .box .p2 {
  margin-top: 0;
}

.quick_sec05 .wrap .flex>.contents .datas .data .txts dl dd .sup {
  display: flex;
  font-size: 1.2rem;
  font-weight: 400;
  margin-top: 3rem;
}

@media screen and (max-width:768px) {
  .quick_sec05 .sec_head {
    padding: 6rem 1.5rem 1rem;
  }

  .quick_sec05 .wrap {
    padding: 0 1.5rem;
  }

  .quick_sec05 .wrap .flex {
    display: block;
  }

  .quick_sec05 .wrap .flex .head {
    padding-left: 0;
    padding-top: 7rem;
    width: 100%;
  }

  .quick_sec05 .wrap .flex .head .ttl {
    padding-bottom: 4rem;
    padding-top: 1.7rem;
    /* position: sticky; */
    /* margin-top: -9rem; */
  }

  .quick_sec05 .wrap .flex .head .ttl::before {
    top: -12rem;
    width: 13rem;
  }

  .quick_sec05 .wrap .flex .head .ttl .h3 {
    font-size: 3rem;
  }

  .quick_sec05 .wrap .flex .head .p {
    line-height: 1.75;
    margin-top: 3rem;
  }

  .quick_sec05 .wrap .flex>.contents {
    width: 100%;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data {
    padding: 3rem 1.5rem 5rem 0;
    position: relative;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data:last-of-type {
    padding-bottom: 9rem;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data:first-of-type {
    padding-top: 0;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data .txts {
    display: block;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data .txts dl {
    display: block;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data .txts dl dt {
    font-size: 2rem;
    margin-bottom: 2rem;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data .txts dl dd {
    width: 100%;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data01 .txts dl dd .p1 {
    width: calc(33.9rem * .8);
  }

  .quick_sec05 .wrap .flex>.contents .datas .data02 .txts dl dd .p1 {
    width: calc(39.59rem * .8);
  }

  .quick_sec05 .wrap .flex>.contents .datas .data03 .txts dl dd .p1 {
    width: calc(17.9rem * .8);
  }

  .quick_sec05 .wrap .flex>.contents .datas .data .txts dl dd .p2 {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 1rem;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data .txts dl dd .box {
    gap: 0rem;
  }

  .quick_sec05 .wrap .flex>.contents .datas .data .txts dl dd .box .p2 {
    margin-top: 0;
    white-space: nowrap;
  }
}

/* ---------------------------------------------------------------------------
//  quick_sec06
--------------------------------------------------------------------------- */
.quick_sec06 {
  background: #fff;
  padding: 12rem 2rem;
  position: relative;
  z-index: 4;
}

.quick_sec06 .bg {
  background-image: url(../img/quick-intro/sec06_bg.jpg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc(100vh - 9.9rem);
  overflow: hidden;
  pointer-events: none;
  position: sticky;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
}

.quick_sec06 .container {
  position: relative;
}

.quick_sec06 .container::before {
  background: linear-gradient(0deg, rgba(0, 94, 255, .26) 0%, rgba(0, 94, 255, .26) 100%);
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.quick_sec06 .wrap {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  font-size: 3.6rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.5;
  min-height: calc(100vh - 9.9rem);
  position: relative;
  text-align: center;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .quick_sec06 {
    padding: 0 0 6rem;
  }

  .quick_sec06 .bg {
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
  }

  .quick_sec06 .wrap {
    font-size: 2.6rem;
    min-height: calc(100vh - 6.7rem);
    padding: 6rem 1.5rem;
  }
}

/* ---------------------------------------------------------------------------
//  economy_sec01
--------------------------------------------------------------------------- */
.economy_sec01 {
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 1));
  padding-bottom: 6rem;
  position: relative;
  z-index: 2;
}

.economy_sec01 .wrap {
  display: flex;
  padding: 6rem 0 12rem;
  position: relative;
}

.economy_sec01 .wrap .box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - 9.9rem);
  padding: 9rem 0;
  width: 53.6rem;
}

.economy_sec01 .wrap .box .ttlA {
  align-items: flex-start;
  flex-direction: column;
}

.economy_sec01 .wrap .box .p1 {
  font-size: 1.6rem;
  line-height: 2.25;
  margin-top: 3.6rem;
}

.economy_sec01 .bg {
  align-items: center;
  display: flex;
  height: calc(100vh - 9.9rem);
  justify-content: flex-end;
  overflow: hidden;
  padding-right: 2rem;
  pointer-events: none;
  position: sticky;
  right: 0;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
}

.economy_sec01 .bg span {
  height: calc(100% - 4rem);
  width: calc(50% - 15rem);
}

.economy_sec01 .bg img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .economy_sec01 {
    background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 1));
    margin-top: -6rem;
    padding-bottom: 6rem;
    position: relative;
    z-index: 2;
  }

  .economy_sec01 .wrap {
    background: rgba(255, 255, 255, .8);
    padding: 6rem 1.5rem;
  }

  .economy_sec01 .wrap .box .ttlA {
    gap: 1rem;
  }

  .economy_sec01 .wrap .box {
    min-height: calc(100vh - 6.7rem);
    padding: 0;
    width: 100%;
  }

  .economy_sec01 .wrap .box .p1 {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 3rem;
  }

  .economy_sec01 .bg {
    height: calc(100vh - 6.7rem);
    padding: 0;
    top: 6.7rem;
    width: 100%;
  }

  .economy_sec01 .bg span {
    height: 100%;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  economy_sec02
--------------------------------------------------------------------------- */
.economy_sec02 {
  background: #fff;
  border-top: 1px solid #cbd0d1;
  position: relative;
  z-index: 2;
}

.economy_sec02 .bg {
  background-image: url(../img/circular-economy/sec02_bg.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 118.4rem;
  content: '';
  height: 69rem;
  position: sticky;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
}

.economy_sec02 .head {
  padding: 12rem 0 2.6rem;
  /* position: relative; */
  position: sticky;
  top: 0;
  transition: .3s;
  z-index: 2;
}

.economy_sec02 .head.at-top {
  background: #fff;
}

.economy_sec02 .head .ttlA {
  align-items: flex-end;
  gap: 3rem;
}

.economy_sec02 .wrap {
  padding: 1rem 0 12rem;
  position: relative;
}

.economy_sec02 .wrap .exs .ex+.ex {
  border-top: 1px solid #cbd0d1;
  margin-top: 7rem;
}

.economy_sec02 .wrap .exs .ex dl {
  display: flex;
}

.economy_sec02 .wrap .exs .ex dl dt {
  border-right: 1px solid #cbd0d1;
  color: #606060;
  font-size: 2rem;
  padding: 6rem 0;
  width: 16.6rem;
}

.economy_sec02 .wrap .exs .ex dl dd {
  padding: 5rem 0 0 7rem;
  width: calc(100% - 16.6rem);
}

.economy_sec02 .wrap .exs .ex dl dd .p1 {
  font-size: 3.2rem;
  font-weight: 700;
}

.economy_sec02 .wrap .exs .ex dl dd .p1 strong {
  color: #0f5896;
}

.economy_sec02 .wrap .exs .ex dl dd .p2 {
  font-size: 1.6rem;
  line-height: 2.25;
  margin-top: 1rem;
}

.economy_sec02 .wrap .exs .ex dl dd .ul {
  font-size: 1.6rem;
  line-height: 2.25;
  margin-top: 1rem;
}

.economy_sec02 .wrap .exs .ex dl dd .ul li {
  display: flex;
}

.economy_sec02 .wrap .exs .ex dl dd .ul li::before {
  content: '・';
  flex-shrink: 0;
}

@media screen and (max-width:768px) {
  .economy_sec02 {
    border-top: none;
  }

  .economy_sec02 .bg {
    background-position: top 10% left 20%;
    background-size: cover;
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
  }

  .economy_sec02 .head {
    background: none;
    padding: 9rem 1.5rem 3.6rem;
    position: relative;
    top: 0;
  }

  .economy_sec02 .head .ttlA {
    align-items: flex-start;
    gap: 1rem;
  }

  .economy_sec02 .wrap {
    padding: 0 1.5rem 9rem;
  }

  .economy_sec02 .wrap .exs .ex+.ex {
    border-top: none;
    margin-top: 3rem;
  }

  .economy_sec02 .wrap .exs .ex dl {
    display: block;
  }

  .economy_sec02 .wrap .exs .ex dl dt {
    border-bottom: 1px solid #cbd0d1;
    border-right: none;
    font-size: 1.6rem;
    padding: 0 0 1rem 0;
    width: 100%;
  }

  .economy_sec02 .wrap .exs .ex dl dd {
    padding: 1rem 0 0;
    width: 100%;
  }

  .economy_sec02 .wrap .exs .ex dl dd .p1 {
    font-size: 2rem;
    font-weight: 700;
  }

  .economy_sec02 .wrap .exs .ex dl dd .p1 strong {
    color: #0f5896;
  }

  .economy_sec02 .wrap .exs .ex dl dd .p2 {
    font-size: 1.4rem;
    line-height: 1.75;
  }

  .economy_sec02 .wrap .exs .ex dl dd .ul {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  economy_sec03
--------------------------------------------------------------------------- */
.economy_sec03 {
  background: #fff;
  border-top: 1px solid #cbd0d1;
  position: relative;
  z-index: 2;
}

.economy_sec03 .bg {
  display: flex;
  height: calc(100vh - 9.9rem);
  justify-content: flex-end;
  overflow: hidden;
  pointer-events: none;
  position: sticky;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
}

.economy_sec03 .bg span {
  height: 100%;
  width: calc(100% - 20.4rem - (100vw - 109rem) / 2);
}

.economy_sec03 .bg img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.economy_sec03 .wrap {
  position: relative;
}

.economy_sec03 .wrap .flex {
  display: flex;
}

.economy_sec03 .wrap .flex .head {
  align-items: flex-start;
  display: flex;
  padding-top: 6.3rem;
  width: 20.4rem;
}

.economy_sec03 .wrap .flex .head .ttlA {
  align-items: flex-start;
  flex-direction: row-reverse;
  padding-bottom: 4rem;
  padding-top: 1.7rem;
  position: sticky;
  top: 9.9rem;
}

.economy_sec03 .wrap .flex .head .ttlA .h2 {
  margin-left: 1rem;
  padding: 2rem .4rem;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.economy_sec03 .ttlA .txt1 {
  writing-mode: vertical-rl;
}

.economy_sec03 .wrap .flex>.contents {
  padding: 7rem 0 7rem 9rem;
  width: calc(100% - 20.4rem);
}

.economy_sec03 .wrap .flex>.contents .abilitys .ability {
  border-bottom: solid 1px #cbd0d1;
  color: #fff;
  padding: 7rem 0;
}

.economy_sec03 .wrap .flex>.contents .abilitys .ability+.ability {
  border-top: solid 1px #cbd0d1;
}

.economy_sec03 .wrap .flex>.contents .abilitys .ability .txts {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}

.economy_sec03 .wrap .flex>.contents .abilitys .ability .txts dl dt {
  font-size: 3.2rem;
}

.economy_sec03 .wrap .flex>.contents .abilitys .ability .txts dl dt strong {
  color: #8ceef5;
}

.economy_sec03 .wrap .flex>.contents .abilitys .ability .txts dl dd .p1 {
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 3rem;
}

.economy_sec03 .wrap .flex>.contents .btn {
  background: #fff;
  border: solid 1px #cbd0d1;
  color: #000;
  margin: 7rem auto 0;
  width: 29.2rem;
}

.economy_sec03 .wrap .flex>.contents .btn::after {
  background-image: url(../img/common/arrow_black01.svg);
}

@media screen and (max-width:768px) {
  .economy_sec03 .bg {
    display: block;
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
    width: 100%;
    z-index: 0;
  }

  .economy_sec03 .bg span {
    height: 100%;
    width: 100%;
  }

  .economy_sec03 .wrap .flex {
    background: rgba(0, 0, 0, .25);
    display: block;
    padding: 9rem 1.5rem;
  }

  .economy_sec03 .wrap .flex .head {
    display: block;
    padding: 0;
    width: 100%;
  }

  .economy_sec03 .wrap .flex .head .ttlA {
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 0;
    padding-top: 0;
    position: static;
  }

  .economy_sec03 .wrap .flex .head .ttlA .h2 {
    font-size: 1.4rem;
    margin-left: 0;
    padding: .2rem 1.4rem;
    writing-mode: inherit;
  }

  .economy_sec03 .ttlA .txt1 {
    color: #fff;
    writing-mode: inherit;
  }

  .economy_sec03 .wrap .flex>.contents {
    margin-top: 3rem;
    padding: 0;
    width: 100%;
  }

  .economy_sec03 .wrap .flex>.contents .abilitys .ability {
    padding: 3rem 0;
    position: relative;
  }

  .economy_sec03 .wrap .flex>.contents .abilitys .ability:first-of-type {
    padding-top: 0;
  }

  .economy_sec03 .wrap .flex>.contents .abilitys .ability .txts dl dt {
    font-size: 2rem;
  }

  .economy_sec03 .wrap .flex>.contents .abilitys .ability .txts dl dd .p1 {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 1rem;
  }

  .economy_sec03 .wrap .flex>.contents .btn {
    margin: 4rem auto 0;
    width: 50%;
  }
}

/* ---------------------------------------------------------------------------
//  economy_sec04
--------------------------------------------------------------------------- */
.economy_sec04 {
  background: #fff;
  position: relative;
  z-index: 2;
}

.economy_sec04 .wrap {
  padding: 12rem 0;
  text-align: center;
}

.economy_sec04 .wrap .head {
  border-bottom: solid 1px #cbd0d1;
  padding-bottom: 2.5rem;
}

.economy_sec04 .wrap .head .ttlA {
  align-items: center;
  flex-direction: column;
  gap: 2rem;
}

.economy_sec04 .wrap .contents {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-top: 3rem;
}

.economy_sec04 .wrap .contents .img {
  max-width: 114rem;
}

.economy_sec04 .wrap .contents .sup {
  display: flex;
}

@media screen and (max-width:768px) {
  .economy_sec04 .wrap {
    padding: 9rem 1.5rem;
    text-align: center;
  }

  .economy_sec04 .wrap .head {
    padding-bottom: 2.5rem;
  }

  .economy_sec04 .wrap .head .ttlA {
    gap: 1rem;
  }

  .economy_sec04 .wrap .head .ttlA strong {
    font-size: 2rem;
    white-space: nowrap;
  }

  .economy_sec04 .wrap .contents {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin-top: 3rem;
  }

  .economy_sec04 .wrap .contents .img {
    max-width: 114rem;
  }

  .economy_sec04 .wrap .contents .sup {
    display: flex;
    font-size: 1rem;
    text-align: left;
  }

  .economy_sec04 .global_scroll img {
    border: solid;
    width: 60rem;
  }
}

/* ---------------------------------------------------------------------------
//  economy_sec05
--------------------------------------------------------------------------- */
.economy_sec05 {
  background: #fff;
  border-top: 1px solid #cbd0d1;
  padding-bottom: 12rem;
  position: relative;
  z-index: 2;
}

.economy_sec05 .bg {
  display: flex;
  height: calc(100vh - 9.9rem);
  justify-content: flex-end;
  overflow: hidden;
  pointer-events: none;
  position: sticky;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
}

.economy_sec05 .bg img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.economy_sec05 .wrap {
  align-items: center;
  display: flex;
  min-height: calc(100vh - 9.9rem);
  padding: 12rem 0;
  position: relative;
}

.economy_sec05 .wrap .box {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 7rem 0 5rem;
  position: relative;
  text-align: center;
  width: 100%;
}

.economy_sec05 .wrap .box::before {
  backdrop-filter: blur(4rem);
  background: linear-gradient(98deg, rgba(255, 255, 255, .40) 0%, rgba(255, 255, 255, .20) 100%);
  border: 1px solid rgba(255, 255, 255, .60);
  border-radius: .8rem;
  box-shadow: 0 .4rem 4rem 0 rgba(0, 0, 0, .12);
  content: '';
  height: 100%;
  left: 0;
  opacity: .74;
  position: absolute;
  top: 0;
  width: 100%;
}

.economy_sec05 .wrap .box .h2 {
  font-size: 3.2rem;
  font-weight: 700;
  position: relative;
}

.economy_sec05 .wrap .box .h2 strong {
  background: linear-gradient(90deg, #0f5896 0%, #73dbdb 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.economy_sec05 .wrap .box .p {
  font-size: 1.6rem;
  margin-bottom: 6rem;
  margin-top: 3rem;
  position: relative;
}

.economy_sec05 .wrap .box .btnA {
  background: #0f5896;
  border-radius: 1.2rem;
  color: #fff;
  height: 11rem;
  width: 44.2rem;
}

@media screen and (max-width:768px) {
  .economy_sec05 {
    padding-bottom: 9rem;
  }

  .economy_sec05 .bg {
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
  }

  .economy_sec05 .wrap {
    min-height: calc(100vh - 6.7rem);
    padding: 9rem 1.5rem;
  }

  .economy_sec05 .wrap .box {
    padding: 6rem 1.5rem 4rem;
  }

  .economy_sec05 .wrap .box .h2 {
    font-size: 2rem;
  }

  .economy_sec05 .wrap .box .p {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 4rem;
    margin-top: 2rem;
  }

  .economy_sec05 .wrap .box .btnA {
    background: #0f5896;
    border-radius: 1.2rem;
    color: #fff;
    font-size: 1.2rem;
    height: 7rem;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  service_sec01
--------------------------------------------------------------------------- */
.service_sec01 {
  background: linear-gradient(to bottom, transparent 0%, rgba(255, 255, 255, 1)50%, rgba(255, 255, 255, 1) 100%);
  position: relative;
  z-index: 2;
}

.service_sec01 .wrap {
  padding: 0 0 12rem;
}

.service_sec01 .wrap .cards {
  border-bottom: solid 1px #cbd0d1;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 4rem;
}

.service_sec01 .wrap .cards .card {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 32.5rem;
  justify-content: center;
  width: calc(100% / 3);
}

.service_sec01 .wrap .cards .card01,
.service_sec01 .wrap .cards .card02,
.service_sec01 .wrap .cards .card03 {
  border-bottom: solid 1px #cbd0d1;
}

.service_sec01 .wrap .cards .card02,
.service_sec01 .wrap .cards .card05 {
  border-left: solid 1px #cbd0d1;
  border-right: solid 1px #cbd0d1;
}

.service_sec01 .wrap .cards .card .pict {
  align-items: center;
  display: flex;
  height: 16.4rem;
  justify-content: center;
  mix-blend-mode: multiply;
  position: relative;
}

.service_sec01 .wrap .cards .card .txt {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2rem;
  height: 8rem;
  justify-content: center;
  line-height: 1.75;
  text-align: center;
}

.service_sec01 .wrap .cards .card .txt small {
  font-size: 1.6rem;
}

.service_sec01 .wrap .sups {
  display: flex;
  gap: 1.6rem;
  justify-content: center;
  margin-top: 3rem;
}

@media screen and (max-width:768px) {
  .service_sec01 .wrap {
    padding: 0 1.5rem 9rem;
  }

  .service_sec01 .wrap .cards {
    border-bottom: solid 1px #cbd0d1;
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 0;
  }

  .service_sec01 .wrap .cards .card {
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    height: auto;
    padding: 2rem 0;
    width: 100%;
  }

  .service_sec01 .wrap .cards .card+.card {
    border-top: solid 1px #cbd0d1;
  }

  .service_sec01 .wrap .cards .card .pict {
    height: auto;
  }

  .service_sec01 .wrap .cards .card .txt {
    font-size: 1.6rem;
    height: auto;
    margin-top: 1.6rem;
  }

  .service_sec01 .wrap .cards .card .txt small {
    font-size: 1.4rem;
  }

  .service_sec01 .wrap .sups {
    display: block;
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  service_sec02
--------------------------------------------------------------------------- */
.service_sec02 {
  background: #fff;
  border-top: 1px solid #cbd0d1;
  position: relative;
  z-index: 2;
}

.service_sec02 .head {
  background: rgba(255, 255, 255, .74);
  padding: 12rem 0 3rem;
  position: relative;
  position: sticky;
  top: 0;
  transition: .3s;
  z-index: 2;
}

.service_sec02 .head.at-top {
  background: #fff;
}

.service_sec02 .head .ttlA {
  align-items: center;
  gap: 3rem;
}

.service_sec02 .bg {
  background-image: url(../img/installation-service/sec02_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc(100vh - 9.9rem);
  pointer-events: none;
  position: sticky;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
  z-index: 0;
}

.service_sec02 .contents {
  align-items: center;
  background: rgba(255, 255, 255, .74);
  display: flex;
  min-height: calc(100vh - 9.9rem);
  position: relative;
}

.service_sec02 .wrap {
  padding: 0 0 12rem;
  position: relative;
}

.service_sec02 .wrap .exs .ex+.ex {
  border-top: 1px solid #fff;
  margin-top: 7rem;
}

.service_sec02 .wrap .exs .ex dl {
  display: flex;
}

.service_sec02 .wrap .exs .ex dl dt {
  border-right: 1px solid #fff;
  color: #606060;
  font-family: Poppins;
  font-size: 3.2rem;
  padding: 5rem 0;
  width: 16.6rem;
}

.service_sec02 .wrap .exs .ex dl dd {
  padding: 5rem 0 0 7rem;
  width: calc(100% - 16.6rem);
}

.service_sec02 .wrap .exs .ex dl dd .p1 {
  font-size: 3.2rem;
  font-weight: 700;
}

.service_sec02 .wrap .exs .ex dl dd .p1 strong {
  color: #0f5896;
}

.service_sec02 .wrap .exs .ex dl dd .p2 {
  font-size: 1.6rem;
  line-height: 2.25;
  margin-top: 1rem;
}

.service_sec02 .wrap .exs .ex dl dd .ul {
  font-size: 1.6rem;
  line-height: 2.25;
  margin-top: 1rem;
}

.service_sec02 .wrap .exs .ex dl dd .ul li {
  display: flex;
}

.service_sec02 .wrap .exs .ex dl dd .ul li::before {
  content: '・';
  flex-shrink: 0;
}

@media screen and (max-width:768px) {
  .service_sec02 {
    border-top: none;
  }

  .service_sec02 .head {
    padding: 9rem 1.5rem 3.6rem;
    position: relative;
    top: 0;
  }

  .service_sec02 .head .ttlA {
    align-items: flex-start;
    gap: 1rem;
  }

  .service_sec02 .bg {
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
  }

  .service_sec02 .contents {
    background: rgba(255, 255, 255, .74);
    min-height: calc(100vh - 6.7rem);
  }

  .service_sec02 .wrap {
    padding: 9rem 1.5rem 9rem;
  }

  .service_sec02 .wrap .exs .ex+.ex {
    border-top: none;
    margin-top: 3rem;
  }

  .service_sec02 .wrap .exs .ex dl {
    display: block;
  }

  .service_sec02 .wrap .exs .ex dl dt {
    border-bottom: 1px solid #fff;
    border-right: none;
    font-size: 2rem;
    padding: 0 0 1rem 0;
    width: 100%;
  }

  .service_sec02 .wrap .exs .ex dl dd {
    padding: 1rem 0 0;
    width: 100%;
  }

  .service_sec02 .wrap .exs .ex dl dd .p1 {
    font-size: 2rem;
    font-weight: 700;
  }

  .service_sec02 .wrap .exs .ex dl dd .p1 strong {
    color: #0f5896;
  }

  .service_sec02 .wrap .exs .ex dl dd .p2 {
    font-size: 1.4rem;
    line-height: 1.75;
  }

  .service_sec02 .wrap .exs .ex dl dd .ul {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  service_sec03
--------------------------------------------------------------------------- */
.service_sec03 {
  background: #fff;
  border-top: 1px solid #cbd0d1;
  padding-bottom: 12rem;
  position: relative;
  z-index: 2;
}

.service_sec03 .head {
  padding: 12rem 0 4rem;
  position: relative;
  position: sticky;
  top: 9rem;
}

.service_sec03 .head .ttlA {
  align-items: center;
  flex-direction: column;
  gap: 3rem;
}

.flow_slider {
  --gap: 2rem;
  gap: var(--gap);
  --item-w: 38.6rem;
  overflow: auto;
  position: relative;
}

.flow_slider .item {
  background: #fff;
  flex: 0 0 var(--item-w);
  padding: 0 1rem 1rem;
  position: relative;
  width: var(--item-w);
}

.flow_slider .item.w {
  flex: 0 0 calc(var(--item-w) * 2);
  width: calc(var(--item-w) * 2);
}

.flow_slider .item .img {
  height: 28.1rem;
  overflow: hidden;
  width: 100%;
  z-index: 0;
}

.flow_slider .item .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.flow_slider .item .txts {
  display: flex;
  gap: 2rem;
  margin-top: 1rem;
}

.flow_slider .item .txts .num {
  align-items: center;
  background: #5ea995;
  color: #fff;
  display: flex;
  font-family: Poppins;
  height: 3.2rem;
  justify-content: center;
  padding: 0 .8rem;
}

.flow_slider .item .txts .jp {
  font-size: 2rem;
}

@media screen and (max-width:768px) {
  .service_sec03 .head {
    padding: 9rem 1.5rem 3.6rem;
    position: relative;
    top: 0;
  }

  .service_sec03 .head .ttlA {
    align-items: center;
    flex-direction: column;
    gap: 1rem;
  }

  .flow_slider {
    --item-w: 30rem;
  }

  .flow_slider .item .img {
    height: 21.8rem;
  }

  .flow_slider .item .txts {
    gap: 1.6rem;
  }

  .flow_slider .item .txts .num {
    font-size: 1.4rem;
    height: 2.5rem;
  }

  .flow_slider .item .txts .jp {
    font-size: 1.6rem;
  }
}

/* ---------------------------------------------------------------------------
//  service_sec05
--------------------------------------------------------------------------- */
.service_sec05 {
  background: #fff;
  padding: 0 2rem 12rem;
  position: relative;
  z-index: 2;
}

.service_sec05 .bg {
  background-image: url(../img/installation-service/sec05_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc(100vh - 9.9rem);
  pointer-events: none;
  position: sticky;
  top: 9.9rem;
  width: 100%;
  z-index: 0;
}

.service_sec05 .container {
  align-items: center;
  background: rgba(0, 0, 0, .4);
  color: #fff;
  display: flex;
  height: calc(100vh - 9.9rem);
  justify-content: center;
  position: relative;
}

.service_sec05 .container .copy {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
}

@media screen and (max-width:768px) {
  .service_sec05 {
    padding: 0 0 9rem;
  }

  .service_sec05 .bg {
    height: calc(100vh - 6.7rem);
    top: 6.7rem;
  }

  .service_sec05 .container {
    height: calc(100vh - 6.7rem);
  }

  .service_sec05 .container .copy {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.75;
    text-align: center;
  }
}

/* ---------------------------------------------------------------------------
//  aboutus_sec01
--------------------------------------------------------------------------- */
.aboutus_sec01 {
  background: #3a5e7c;
  position: relative;
  z-index: 2;
}

.aboutus_sec01 .wrap {
  padding: 12rem 0 0;
  position: relative;
}

.aboutus_sec01 .wrap>.flex {
  display: flex;
}

.aboutus_sec01 .wrap .flex .head {
  align-items: flex-start;
  border-top: 1px solid #cbd0d1;
  display: flex;
  /* width: calc(20.4rem + ((100vw - 109rem) / 2)); */
  margin-left: calc((100vw - 109rem) / 2);
  padding-top: 6.3rem;
  width: 20.4rem;
}

.aboutus_sec01 .wrap .flex .head .ttlA {
  align-items: flex-start;
  color: #fff;
  flex-direction: row-reverse;
  padding-bottom: 4rem;
  padding-top: 1.7rem;
  position: sticky;
  top: 9.9rem;
}

.aboutus_sec01 .wrap .flex .head .ttlA .h2 {
  margin-left: 1rem;
  padding: 2rem .4rem;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.aboutus_sec01 .ttlA .txt1 {
  writing-mode: vertical-rl;
}

.aboutus_sec01 .wrap .flex>.contents {
  border-left: 1px solid #cbd0d1;
  border-top: 1px solid #cbd0d1;
  color: #fff;
  overflow: hidden;
  padding: 7rem 0 9rem 9rem;
  padding-right: calc((100vw - 109rem) / 2);
  width: calc(100% - (20.4rem + ((100vw - 109rem) / 2)));
}

.aboutus_sec01 .wrap .flex>.contents .greeting .p {
  font-size: 1.6rem;
  line-height: 2.25;
}

.aboutus_sec01 .wrap .flex>.contents .greeting .prof {
  margin-top: 9rem;
  text-align: right;
}

.aboutus_sec01 .wrap .flex>.contents .greeting .prof dt {
  font-size: 1.6rem;
  font-weight: 400;
}

.aboutus_sec01 .wrap .flex>.contents .greeting .prof dd {
  font-size: 2.4rem;
  font-weight: 400;
}

.aboutus_sec01 .wrap .flex>.contents .greeting .box+.box {
  margin-top: 3.2rem;
}

.aboutus_sec01 .wrap .flex>.contents .greeting .box.flex {
  display: flex;
  justify-content: space-between;
}

.aboutus_sec01 .wrap .flex>.contents .greeting .box.flex .txts {
  width: 48.6rem;
}

.aboutus_sec01 .wrap .flex>.contents .greeting .box.flex .img {
  position: relative;
  width: calc(100% - 7.6rem - 48.6rem);
}

.aboutus_sec01 .wrap .flex>.contents .greeting .box.flex .img img {
  bottom: -9rem;
  left: 0;
  max-width: inherit;
  position: absolute;
  width: 35.9rem;
}

@media screen and (max-width:768px) {
  .aboutus_sec01 .wrap {
    padding: 0;
  }

  .aboutus_sec01 .wrap>.flex {
    display: block;
    overflow: hidden;
    padding: 9rem 1.5rem 0;
  }

  .aboutus_sec01 .wrap .flex .head {
    border-top: none;
    display: block;
    margin-left: 0;
    padding: 0;
    width: 100%;
  }

  .aboutus_sec01 .wrap .flex .head .ttlA {
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 0;
    padding-top: 0;
    position: static;
  }

  .aboutus_sec01 .wrap .flex .head .ttlA .h2 {
    font-size: 1.4rem;
    margin-left: 0;
    padding: .2rem 1.4rem;
    writing-mode: inherit;
  }

  .aboutus_sec01 .ttlA .txt1 {
    writing-mode: inherit;
  }

  .aboutus_sec01 .wrap .flex>.contents {
    border: none;
    margin-top: 3rem;
    overflow: visible;
    padding: 0;
    width: 100%;
  }

  .aboutus_sec01 .wrap .flex>.contents .greeting .p {
    font-size: 1.4rem;
    line-height: 1.75;
  }

  .aboutus_sec01 .wrap .flex>.contents .greeting .prof {
    margin-top: 4rem;
    text-align: right;
  }

  .aboutus_sec01 .wrap .flex>.contents .greeting .prof dt {
    font-size: 1.4rem;
  }

  .aboutus_sec01 .wrap .flex>.contents .greeting .prof dd {
    font-size: 2rem;
  }

  .aboutus_sec01 .wrap .flex>.contents .greeting .box+.box {
    margin-top: 2.8rem;
  }

  .aboutus_sec01 .wrap .flex>.contents .greeting .box.flex {
    display: block;
    padding-bottom: 20rem;
    position: relative;
  }

  .aboutus_sec01 .wrap .flex>.contents .greeting .box.flex .txts {
    width: 100%;
  }

  .aboutus_sec01 .wrap .flex>.contents .greeting .box.flex .img {
    bottom: 0;
    left: -4rem;
    position: absolute;
    width: 20rem;
  }

  .aboutus_sec01 .wrap .flex>.contents .greeting .box.flex .img img {
    position: static;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  aboutus_sec02
--------------------------------------------------------------------------- */
.aboutus_view01 {
  background-attachment: fixed;
  background-image: url(../img/aboutus/view01.jpg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  position: relative;
  z-index: 2;
}

.aboutus_sec02 {
  background: #fff;
  position: relative;
  z-index: 2;
}

.aboutus_sec02 .wrap {
  padding: 12rem 0 0;
  position: relative;
}

.aboutus_sec02 .wrap>.flex {
  display: flex;
}

.aboutus_sec02 .wrap .flex .head {
  align-items: flex-start;
  border-top: 1px solid #cbd0d1;
  display: flex;
  /* width: calc(20.4rem + ((100vw - 109rem) / 2)); */
  margin-left: calc((100vw - 109rem) / 2);
  padding-top: 6.3rem;
  width: 20.4rem;
}

.aboutus_sec02 .wrap .flex .head .ttlA {
  align-items: flex-start;
  flex-direction: row-reverse;
  padding-bottom: 4rem;
  padding-top: 1.7rem;
  position: sticky;
  top: 9.9rem;
}

.aboutus_sec02 .wrap .flex .head .ttlA .h2 {
  margin-left: 1rem;
  padding: 2rem .4rem;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.aboutus_sec02 .ttlA .txt1 {
  writing-mode: vertical-rl;
}

.aboutus_sec02 .wrap .flex>.contents {
  border-left: 1px solid #cbd0d1;
  border-top: 1px solid #cbd0d1;
  padding: 7rem 0 9rem 9rem;
  padding-right: calc((100vw - 109rem) / 2);
  width: calc(100% - (20.4rem + ((100vw - 109rem) / 2)));
}

.aboutus_sec02 .wrap .flex>.contents .dls {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
}

.aboutus_sec02 .wrap .flex>.contents .dls dl {
  border-bottom: 1px solid #cbd0d1;
  display: flex;
  padding: 2.4rem 0;
}

.aboutus_sec02 .wrap .flex>.contents .dls dl:first-of-type {
  border-top: 1px solid #cbd0d1;
}

.aboutus_sec02 .wrap .flex>.contents .dls dl dt {
  width: 20rem;
}

.aboutus_sec02 .wrap .flex>.contents .dls dl dd {
  width: calc(100% - 20rem);
}

@media screen and (max-width:768px) {
  .aboutus_sec02 .wrap {
    padding: 0;
  }

  .aboutus_sec02 .wrap>.flex {
    display: block;
    padding: 9rem 1.5rem 0;
  }

  .aboutus_sec02 .wrap .flex .head {
    border-top: none;
    display: block;
    margin-left: 0;
    padding: 0;
    width: 100%;
  }

  .aboutus_sec02 .wrap .flex .head .ttlA {
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 0;
    padding-top: 0;
    position: static;
  }

  .aboutus_sec02 .wrap .flex .head .ttlA .h2 {
    font-size: 1.4rem;
    margin-left: 0;
    padding: .2rem 1.4rem;
    writing-mode: inherit;
  }

  .aboutus_sec02 .ttlA .txt1 {
    writing-mode: inherit;
  }

  .aboutus_sec02 .wrap .flex>.contents {
    border: none;
    margin-top: 3rem;
    overflow: visible;
    padding: 0;
    width: 100%;
  }

  .aboutus_sec02 .wrap .flex>.contents .dls {
    font-size: 1.4rem;
  }

  .aboutus_sec02 .wrap .flex>.contents .dls dl {
    display: block;
    padding: 2rem 0;
  }

  .aboutus_sec02 .wrap .flex>.contents .dls dl:first-of-type {
    border-top: 1px solid #cbd0d1;
  }

  .aboutus_sec02 .wrap .flex>.contents .dls dl dt {
    font-size: 1.6rem;
    font-weight: 700;
    width: 100%;
  }

  .aboutus_sec02 .wrap .flex>.contents .dls dl dd {
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  aboutus_sec03
--------------------------------------------------------------------------- */
.aboutus_sec03 {
  background: #fff;
  padding-bottom: 12rem;
  position: relative;
  z-index: 2;
}

.aboutus_sec03 .wrap {
  padding: 12rem 0 0;
  position: relative;
}

.aboutus_sec03 .wrap>.flex {
  display: flex;
}

.aboutus_sec03 .wrap .flex .head {
  align-items: flex-start;
  border-top: 1px solid #cbd0d1;
  display: flex;
  /* width: calc(20.4rem + ((100vw - 109rem) / 2)); */
  margin-left: calc((100vw - 109rem) / 2);
  padding-top: 6.3rem;
  width: 20.4rem;
}

.aboutus_sec03 .wrap .flex .head .ttlA {
  align-items: flex-start;
  flex-direction: row-reverse;
  padding-bottom: 4rem;
  padding-top: 1.7rem;
  position: sticky;
  top: 9.9rem;
}

.aboutus_sec03 .wrap .flex .head .ttlA .h2 {
  margin-left: 1rem;
  padding: 2rem .4rem;
  white-space: nowrap;
  writing-mode: vertical-rl;
}

.aboutus_sec03 .ttlA .txt1 {
  writing-mode: vertical-rl;
}

.aboutus_sec03 .wrap .flex>.contents {
  border-left: 1px solid #cbd0d1;
  border-top: 1px solid #cbd0d1;
  padding: 7rem 0 9rem 9rem;
  padding-right: calc((100vw - 109rem) / 2);
  width: calc(100% - (20.4rem + ((100vw - 109rem) / 2)));
}

.aboutus_sec03 .spots .spot {
  display: flex;
  gap: 3rem;
  justify-content: space-between;
  padding: 3rem 0;
}

.aboutus_sec03 .spots .spot:first-of-type {
  padding-top: 0;
}

.aboutus_sec03 .spots .spot+.spot {
  border-top: 1px solid #cbd0d1;
}

.aboutus_sec03 .spots .spot dl dt {
  font-size: 2rem;
  font-weight: 700;
}

.aboutus_sec03 .spots .spot dl dd {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  margin-top: 1rem;
}

.aboutus_sec03 .spots .spot dl dd .m_link {
  align-items: center;
  display: flex;
  gap: .7rem;
  margin-top: 1rem;
}

.aboutus_sec03 .spots .spot dl dd .m_link:hover {
  opacity: .7;
}

.aboutus_sec03 .spots .spot dl dd .m_link span {
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: underline;
}

.aboutus_sec03 .spots .spot dl dd .m_link::after {
  background-image: url(../img/aboutus/icon_pin.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 2.4rem;
  width: 2.4rem;
}

.aboutus_sec03 .spots .spot .img {
  width: 26.4rem;
}

@media screen and (max-width:768px) {
  .aboutus_sec03 {
    padding-bottom: 9rem;
  }

  .aboutus_sec03 .wrap {
    padding: 0;
  }

  .aboutus_sec03 .wrap>.flex {
    display: block;
    padding: 9rem 1.5rem 0;
  }

  .aboutus_sec03 .wrap .flex .head {
    border-top: none;
    display: block;
    margin-left: 0;
    padding: 0;
    width: 100%;
  }

  .aboutus_sec03 .wrap .flex .head .ttlA {
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 0;
    padding-top: 0;
    position: static;
  }

  .aboutus_sec03 .wrap .flex .head .ttlA .h2 {
    font-size: 1.4rem;
    margin-left: 0;
    padding: .2rem 1.4rem;
    writing-mode: inherit;
  }

  .aboutus_sec03 .ttlA .txt1 {
    writing-mode: inherit;
  }

  .aboutus_sec03 .wrap .flex>.contents {
    border: none;
    margin-top: 3rem;
    overflow: visible;
    padding: 0;
    width: 100%;
  }

  .aboutus_sec03 .spots .spot {
    display: block;
    padding: 2rem 0;
  }

  .aboutus_sec03 .spots .spot dl dt {
    font-size: 1.6rem;
  }

  .aboutus_sec03 .spots .spot dl dd {
    font-size: 1.4rem;
  }

  .aboutus_sec03 .spots .spot dl dd .m_link {
    align-items: center;
    display: flex;
    gap: .7rem;
    margin-top: .5rem;
  }

  .aboutus_sec03 .spots .spot .img {
    margin-top: 1.5rem;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  group_sec01
--------------------------------------------------------------------------- */
.group_sec01 {
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 1));
  mix-blend-mode: multiply;
  padding-bottom: 6rem;
  position: relative;
  z-index: 2;
}

.group_sec01 .wrap {
  padding: 6rem 0 12rem;
  position: relative;
}

.group_sec01 .wrap .companys .company {
  border-top: solid 1px #cbd0d1;
  display: flex;
}

.group_sec01 .wrap .companys .company+.company {
  margin-top: 6rem;
}

.group_sec01 .wrap .companys .company .logo {
  width: 32rem;
}

.group_sec01 .wrap .companys .company dl {
  border-left: solid 1px #cbd0d1;
  padding: 4rem 0 0 4rem;
  width: calc(100% - 32rem);
}

.group_sec01 .wrap .companys .company dl dt {
  color: #0f5896;
  font-size: 2.4rem;
  font-weight: 700;
}

.group_sec01 .wrap .companys .company dl dd {
  margin-top: 1.6rem;
}

.group_sec01 .wrap .companys .company dl dd .btns {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.group_sec01 .wrap .companys .company dl dd .btns .btn {
  align-items: center;
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  display: flex;
  font-size: 1.4rem;
  font-weight: 700;
  gap: .8rem;
  height: 3.6rem;
  justify-content: center;
  padding: 0 1.6rem;
}

.group_sec01 .wrap .companys .company dl dd .btns .link {
  background: #606060;
  color: #fff;
}

.group_sec01 .wrap .companys .company dl dd .btns .link:hover {
  opacity: .7;
}

.group_sec01 .wrap .companys .company dl dd .btns .link::after {
  background-image: url(../img/common/icon_out.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.4rem;
  width: 1.4rem;
}

.group_sec01 .wrap .companys .company dl dd p {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-top: 1.4rem;
}

@media screen and (max-width:768px) {
  .group_sec01 .wrap {
    padding: 0 1.5rem 9rem;
  }

  .group_sec01 .wrap .companys .company {
    align-items: center;
    flex-direction: column;
  }

  .group_sec01 .wrap .companys .company+.company {
    margin-top: 6rem;
  }

  .group_sec01 .wrap .companys .company .logo {
    width: 20rem;
  }

  .group_sec01 .wrap .companys .company dl {
    border-left: none;
    padding: 0;
    width: 100%;
    ;
  }

  .group_sec01 .wrap .companys .company dl dt {
    font-size: 2rem;
    text-align: center;
  }

  .group_sec01 .wrap .companys .company dl dd {
    margin-top: 1.6rem;
  }

  .group_sec01 .wrap .companys .company dl dd .btns {
    justify-content: center;
  }

  .group_sec01 .wrap .companys .company dl dd .btns .btn {
    font-size: 1.2rem;
    gap: .4rem;
    padding: 0 1rem;
    ;
  }

  .group_sec01 .wrap .companys .company dl dd .btns .link::after {
    height: 1.2rem;
    width: 1.2rem;
  }

  .group_sec01 .wrap .companys .company dl dd p {
    font-size: 1.4rem;
  }

  .group_sec01 .wrap .companys .company dl dd .p1 {
    text-align: center;
  }
}

/* ---------------------------------------------------------------------------
//  history_sec01
--------------------------------------------------------------------------- */
.history_sec01 {
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 1));
  padding-bottom: 12rem;
  position: relative;
  z-index: 2;
}

.history_sec01 .wrap .historys {
  font-size: 1.6rem;
  position: relative;
}

.history_sec01 .wrap .historys::before {
  border-left: 1px dotted #cbd0d1;
  content: '';
  height: 100%;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  z-index: 0;
}

.history_sec01 .wrap .historys .head {
  background: #fff;
  display: flex;
  position: sticky;
  top: 9.9rem;
  z-index: 2;
}

.history_sec01 .wrap .historys .head::before {
  border-left: 1px dotted #cbd0d1;
  content: '';
  height: 100%;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  z-index: 0;
}

.history_sec01 .wrap .historys .head .tab {
  border-bottom: 1px solid #cbd0d1;
  border-top: 1px solid #cbd0d1;
  color: #606060;
  font-weight: 700;
  padding: 2rem;
  text-align: center;
  width: 50%;
}

.history_sec01 .wrap .historys .contents {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding-top: 12rem;
}

.history_sec01 .wrap .historys .contents .history {
  align-items: center;
  display: flex;
  justify-content: space-between;
  position: relative;
  white-space: nowrap;
  z-index: 1;
}

.history_sec01 .wrap .historys .contents .history.active {
  color: #0f5896;
}

.history_sec01 .wrap .historys .contents .history .left,
.history_sec01 .wrap .contents .history .right {
  display: flex;
  width: calc((100% - 14rem) / 2);
}

.history_sec01 .wrap .historys .contents .history .left {
  justify-content: flex-end;
}

.history_sec01 .wrap .historys .contents .history .year {
  align-items: center;
  background: #606060;
  border-radius: 100%;
  color: #fff;
  display: flex;
  font-family: 'Bebas Neue';
  font-size: 3.2rem;
  height: 8rem;
  justify-content: center;
  text-align: center;
  transition: .6s;
  width: 8rem;
}

.history_sec01 .wrap .historys .contents .history.active .year {
  background: #0f5896;
  transform: scale(1.2);
}

@media screen and (max-width:768px) {
  .history_sec01 {
    padding-bottom: 9rem;
  }

  .history_sec01 .wrap .historys .head {
    top: 6.7rem;
  }

  .history_sec01 .wrap .historys .head .tab {
    padding: .5rem;
  }

  .history_sec01 .wrap .historys .contents {
    display: flex;
    flex-direction: column;
    gap: 8rem;
    padding: 12rem 0 0;
  }

  .history_sec01 .wrap .historys .contents .history {
    padding-bottom: 2rem;
  }

  .history_sec01 .wrap .historys .contents .history .left,
  .history_sec01 .wrap .contents .history .right {
    font-size: 1.2rem;
    padding: 0 1.5rem;
    width: 50%;
  }

  .history_sec01 .wrap .historys .contents .history .year {
    font-size: 2rem;
    height: 5rem;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: -6rem;
    width: 5rem;
  }
}

/* ---------------------------------------------------------------------------
//  quality_sec00
--------------------------------------------------------------------------- */
.quality_sec00 {
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 1));
  position: relative;
  z-index: 3;
}

.quality_sec00 .quality_imgs {
  display: flex;
  gap: 5rem;
}

.quality_sec00 .quality_imgs .img {
  width: calc((100% - 5rem) / 2);
}

@media screen and (max-width:768px) {
  .quality_sec00 {
    padding: 0 1.5rem;
  }

  .quality_sec00 .quality_imgs {
    gap: .5rem;
  }

  .quality_sec00 .quality_imgs .img {
    width: calc((100% - .5rem) / 2);
  }
}

/* ---------------------------------------------------------------------------
//  quality_sec01
--------------------------------------------------------------------------- */
.quality_sec01 {
  background: #fff;
  padding-bottom: 12rem;
  position: relative;
  z-index: 2;
}

.quality_sec01 .wrap {
  padding-top: 12rem;
}

.quality_sec01 .wrap .head {
  border-bottom: solid 1px #cbd0d1;
  color: #0f5896;
  font-size: 2.4rem;
  font-weight: 700;
  padding-bottom: 2rem;
}

.quality_sec01 .wrap .contents {
  font-size: 1.6rem;
  line-height: 1.5;
}

.quality_sec01 .wrap .contents .flex {
  align-items: center;
  display: flex;
}

.quality_sec01 .wrap .contents .flex .left {
  border-right: solid 1px #cbd0d1;
  width: 32rem;
}

.quality_sec01 .wrap .contents .flex .right {
  padding: 4rem;
  width: calc(100% - 32rem);
}

.quality_sec01 .wrap .contents .flex ul+ul {
  border-top: solid 1px #cbd0d1;
  margin-top: 2rem;
  padding-top: 2rem;
}

.quality_sec01 .wrap .contents .flex ul li {
  display: flex;
  gap: .2rem;
}

.quality_sec01 .wrap .contents .flex ul li::before {
  content: '・';
  flex-shrink: 0;
}

.quality_sec01 .wrap .contents .flex .license {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 4rem;
  width: 50%;
}

.quality_sec01 .wrap .contents .flex .license+.license {
  border-left: solid 1px #cbd0d1;
}

.quality_sec01 .wrap .contents .flex .license .btn {
  align-items: center;
  border: solid 1px #cbd0d1;
  display: flex;
  gap: 1rem;
  height: 6.4rem;
  justify-content: center;
  margin-top: 2rem;
  padding: 0 1.8rem;
}

.quality_sec01 .wrap .contents .flex .license .btn:hover {
  opacity: .7;
}

.quality_sec01 .wrap .contents .flex .license .btn::after {
  background-image: url(../img/common/icon_pdf.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 2.4rem;
  width: 2.5rem;
}

@media screen and (max-width:768px) {
  .quality_sec01 {
    padding-bottom: 9rem;
  }

  .quality_sec01 .wrap {
    padding: 9rem 1.5rem 0;
    padding-top: 9rem;
  }

  .quality_sec01 .wrap .head {
    font-size: 2rem;
    padding-bottom: 1rem;
  }

  .quality_sec01 .wrap .contents {
    font-size: 1.4rem;
  }

  .quality_sec01 .wrap .contents .flex {
    flex-direction: column;
  }

  .quality_sec01 .wrap .contents .flex .left {
    border-bottom: solid 1px #cbd0d1;
    border-right: none;
    width: 100%;
  }

  .quality_sec01 .wrap .contents .flex .right {
    padding: 3rem 0 0;
    width: 100%;
  }

  .quality_sec01 .wrap .contents .flex ul li {
    flex-direction: column;
  }

  .quality_sec01 .wrap .contents .flex ul li+li {
    margin-top: 1rem;
  }

  .quality_sec01 .wrap .contents .flex ul li span:first-of-type {
    font-weight: 700;
  }

  .quality_sec01 .wrap .contents .flex ul li::before {
    display: none;
  }

  .quality_sec01 .wrap .contents .flex .license {
    flex-direction: column;
    padding: 3rem;
    width: 100%;
  }

  .quality_sec01 .wrap .contents .flex .license+.license {
    border-left: none;
    border-top: solid 1px #cbd0d1;
  }

  .quality_sec01 .wrap .contents .flex .license dt {
    font-size: 1.2rem;
  }

  .quality_sec01 .wrap .contents .flex .license .btn {
    height: 5rem;
    padding: 0 1.5rem;
  }
}

/* ---------------------------------------------------------------------------
//  contact_sec00
--------------------------------------------------------------------------- */
.contact_sec00 {
  position: relative;
}

.contact_sec00 .wrap {
  padding: 12rem 0 5rem;
}

.contact_sec00 .wrap .p {
  font-size: 2.4rem;
  line-height: 1.75;
  text-align: center;
}

@media screen and (max-width:768px) {
  .contact_sec00 .wrap {
    padding: 9rem 1.5rem 4rem;
  }

  .contact_sec00 .wrap .p {
    font-size: 1.9rem;
    white-space: nowrap;
  }
}

/* ---------------------------------------------------------------------------
//  contact_sec01
--------------------------------------------------------------------------- */
.contact_sec01 {
  position: relative;
}

.contact_sec01 .container {
  padding-bottom: 12rem;
  position: relative;
}

.contact_sec01 .wrap {
  padding-top: 9rem;
}

.contact_sec01 .wrap .head .h2 {
  border-bottom: solid 1px #cbd0d1;
  color: #0f5896;
  font-size: 2.4rem;
  font-weight: 700;
  padding-bottom: 2rem;
}

.contact_sec01 .wrap .contents {
  font-size: 1.6rem;
  line-height: 1.75;
}

.contact_sec01 .wrap .contents .ul {
  margin-top: 2.4rem;
}

.contact_sec01 .wrap .contents .ul li {
  display: flex;
}

.contact_sec01 .wrap .contents .ul li::before {
  content: '・';
  flex-shrink: 0;
}

.contact_sec01 .wrap .contents .tels {
  background: #f3f3f3;
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  padding: 1.2rem;
}

.contact_sec01 .wrap .contents .tels .tel {
  background: #fff;
  padding: 3rem;
  width: calc((100% - 1px) / 2);
}

.contact_sec01 .wrap .contents .tels .tel>dt {
  border-left: 2px solid #606060;
  color: #0f5896;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  padding-bottom: .2rem;
  padding-left: 1.2rem;
}

.contact_sec01 .wrap .contents .tels .tel>dd>dl {
  display: flex;
  gap: 2.8rem;
  margin-top: 2rem;
}

.contact_sec01 .wrap .contents .tels .tel>dd>dl>dt {
  align-items: center;
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  display: flex;
  font-size: 1.4rem;
  font-weight: 700;
  height: 3.6rem;
  justify-content: center;
  padding: 0 1rem;
  white-space: nowrap;
}

.contact_sec01 .wrap .contents .tels .tel>dd>dl>dd {
  /* font-family: Poppins; */
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.33;
  padding-top: .3rem;
}

.contact_sec01 .wrap .contents .tels .tel>dd>dl>dd .num {
  align-items: center;
  display: flex;
  gap: .53rem;
  white-space: nowrap;
}

.contact_sec01 .wrap .contents .tels .tel>dd>dl>dd .num span:first-of-type {
  width: 4.5rem;
}

.contact_sec01 .wrap .contents .contact_form .intro {
  line-height: 1.75;
  padding: 2rem;
}

@media screen and (max-width:768px) {
  .contact_sec01 {
    position: relative;
  }

  .contact_sec01 .container {
    padding-bottom: 9rem;
    position: relative;
  }

  .contact_sec01 .wrap {
    padding: 6rem 1.5rem 0;
  }

  .contact_sec01 .wrap .head .h2 {
    font-size: 1.8rem;
    padding-bottom: 1.4rem;
  }

  .contact_sec01 .wrap .contents {
    font-size: 1.4rem;
  }

  .contact_sec01 .wrap .contents .ul {
    margin-top: 1rem;
  }

  .contact_sec01 .wrap .contents .tels {
    gap: 1px;
    padding: .5rem;
  }

  .contact_sec01 .wrap .contents .tels .tel {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 3rem 1.5rem;
    width: 100%;
  }

  .contact_sec01 .wrap .contents .tels .tel>dt {
    border: none;
    font-size: 1.6rem;
    line-height: normal;
    padding-left: 0;
    text-align: center;
    width: 100%;
  }

  .contact_sec01 .wrap .contents .tels .tel>dd>dl {
    display: block;
  }
}

/* ---------------------------------------------------------------------------
//  form
--------------------------------------------------------------------------- */
.form_area {
  margin: 0 auto;
  max-width: 86.3rem;
}

.form_area .form_item {
  border-bottom: solid 1px #cbd0d1;
  display: flex;
  gap: 1.5rem;
}

.form_area .form_item:first-of-type {
  border-top: solid 1px #cbd0d1;
}

.form_area .form_item>dt {
  align-items: center;
  display: flex;
  height: 4.8rem;
  justify-content: space-between;
  line-height: 1.3;
  margin: 2.1rem 0;
  width: 21rem;
}

.form_area .form_item>dt .required {
  align-items: center;
  background: #0f5896;
  color: #fff;
  display: flex;
  font-size: 1.2rem;
  height: 2.2rem;
  justify-content: center;
  width: 4.4rem;
}

.form_area .form_item>dd {
  padding: 2rem 0;
  width: calc(100% - 21rem);
}

.form_area .form_item>dd input[type=text] {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .4rem;
  padding: 1rem 1.6rem;
  width: 100%;
}

.form_area .form_item>dd input[type=email] {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .4rem;
  padding: 1rem 1.6rem;
  width: 100%;
}

.form_area .form_item>dd input[type=tel] {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .4rem;
  padding: 1rem 1.6rem;
  width: 100%;
}

.form_area .form_item>dd input[type=number] {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .4rem;
  padding: 1rem 1.6rem;
  width: 100%;
}

/*.form_area .form_item>dd select {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .4rem;
  padding: 1rem 1.6rem;
  width: 100%;
}*/
.form_area .form_item>dd select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #f3f3f3;
  background-image: url('/cms/wp-content/themes/alpha2025/assets/img/common/arrow-down.svg');
  background-position: right .2rem center;
  background-repeat: no-repeat;
  background-size: 3rem;
  border: 1px solid #cbd0d1;
  border-radius: .4rem;
  cursor: pointer;
  padding: 1rem 1.6rem;
  width: 100%;
}

/* hover時の反応 */
.form_area .form_item>dd select:hover {
  background-color: #eaeaea;
}

.form_area .form_item>dd textarea {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .4rem;
  height: 28.7rem;
  padding: 1rem 1.6rem;
  resize: none;
  width: 100%;
}

.form_area .agree {
  padding: 6rem 0;
  text-align: center;
}

.form_area .agree .h3 {
  color: #57cb76;
  font-size: 2.4rem;
  margin-bottom: 5rem;
}

.form_area .agree .p {
  color: #606060;
  font-size: 1.4rem;
  line-height: 1.75;
}

.form_area .agree .p a {
  color: #0f5896;
  text-decoration: underline;
}

.form_area .agree .p a:hover {
  opacity: .7;
}

.form_area .agree .form_item {
  border: none;
  justify-content: center;
}

.form_area .agree .form_item dt {
  width: auto;
}

.form_area .agree .form_item dd {
  width: auto;
}

.form_area .agree .required {
  position: relative;
  top: -.3rem;
}

.form_area .btns {
  display: flex;
  gap: 2rem;
  justify-content: center;
}

.form_area .btns input {
  align-items: center;
  display: flex;
  font-size: 2rem;
  height: 6rem;
  justify-content: center;
  position: relative;
  text-align: center;
  transition: .2s;
}

.form_area .btns input:hover {
  opacity: .7;
}

.form_area .btns .btn_submit {
  background: #414141;
  background-image: url(../img/common/arrow_white01.svg);
  background-position: center right 2rem;
  background-repeat: no-repeat;
  background-size: .7rem;
  color: #fff;
  width: 21.2rem;
}

.sec_entry01 .form_area .btns .btn_submit {
  background: #57cb76;
}

.form_area .btns .btn_reset {
  background: #fff;
  background-image: url(../img/common/arrow_white01.svg);
  background-position: center right 2rem;
  background-repeat: no-repeat;
  background-size: .7rem;
  border: solid 1px #cbd0d1;
  color: #606060;
  width: 21.2rem;
}

.form_area .recaptcha {
  display: flex;
  font-family: 'Poppins';
  justify-content: center;
  margin-top: 3rem;
}

.form_area .design {
  margin-top: .5rem;
}

/* .wpcf7-list-item+.wpcf7-list-item {
  margin-left: 1.6rem;
} */
.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.design input {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px !important;
}

.design input+span {
  cursor: pointer;
  display: inline-block;
  font-weight: 500;
  padding: 0 0 0 3rem;
  position: relative;
}

.agree.design input+span {
  padding-left: 5.3rem;
}

.design input:checked+span::after {
  opacity: 1 !important;
}

/* ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ */
.design input[type=checkbox]+span:before {
  background: #f3f3f3;
  border: 1px solid #cbd0d1;
  border-radius: .2rem;
  content: '';
  display: block;
  height: 2.6rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.6rem;
}

.design input[type=checkbox]+span::after {
  border-bottom: .3rem solid #0f5896;
  border-right: .3rem solid #0f5896;
  content: '';
  display: block;
  height: 2.4rem;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(35deg) skewY(16deg) translateY(-50%);
  transform-origin: center right;
  width: 1rem;
}

.design input[type=radio]+span::before {
  background: #f3f3f3;
  border: 1px solid #cbd0d1;
  border-radius: 50%;
  content: '';
  display: block;
  height: 2.6rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.6rem;
}

.design input[type=radio]+span::after {
  background-color: #0f5896;
  border-radius: 50%;
  content: '';
  display: block;
  height: 1.6rem;
  left: .5rem;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
}

@media screen and (max-width:768px) {
  .form_area .form_item {
    flex-direction: column;
    gap: 1rem;
  }

  .form_area .form_item>dt {
    align-items: center;
    display: flex;
    height: auto;
    justify-content: space-between;
    line-height: 1.3;
    margin: 0;
    padding: 3rem 0 1rem;
    width: 100%;
  }

  .form_area .form_item>dd {
    padding: 0 0 3rem;
    width: 100%;
  }

  .form_area .form_item>dd input[type=text] {
    padding: 1rem;
  }

  .form_area .form_item>dd input[type=email] {
    padding: 1rem;
  }

  .form_area .form_item>dd input[type=tel] {
    padding: 1rem;
  }

  .form_area .form_item>dd input[type=number] {
    padding: 1rem;
  }

  .form_area .form_item>dd select {
    padding: 1rem;
  }

  .form_area .form_item>dd textarea {
    padding: 1rem;
  }

  .form_area .agree {
    padding: 4rem 0;
  }

  .form_area .agree .h3 {
    font-size: 2rem;
    margin-bottom: 3rem;
  }

  .form_area .agree .form_item {
    flex-direction: row;
    margin-top: 2rem;
  }

  .form_area .agree .form_item dt {
    padding: 0;
  }

  .form_area .agree .form_item dd {
    padding: 0;
  }

  .form_area .agree .required {
    top: 0;
  }

  .form_area .btns {
    gap: 1rem;
  }

  .form_area .btns input {
    font-size: 1.8rem;
    height: 5rem;
  }

  .form_area .recaptcha {
    font-size: 1.2rem;
  }

  .form_area .design {
    margin-top: 0;
  }
}

/* ---------------------------------------------------------------------------
//  faq_sec01
--------------------------------------------------------------------------- */
.faq_sec01 .wrap {
  padding: 10rem 0 12rem;
}

.faq_sec01 .wrap .p1 {
  line-height: 1.75;
  margin-bottom: 10rem;
}

.faq_sec01 .wrap .group+.group {
  margin-top: 9rem;
}

.faq_sec01 .wrap .group .h2 {
  border-bottom: solid 1px #cbd0d1;
  color: #0f5896;
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 2.8rem;
  padding-bottom: 2rem;
}

.faq_sec01 .wrap .group .faqs .faq {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
}

.faq_sec01 .wrap .group .faqs .faq+.faq {
  margin-top: 2.8rem;
}

.faq_sec01 .wrap .group .faqs .faq dt {
  cursor: pointer;
  display: flex;
  font-size: 1.8rem;
  padding: 2.8rem 2.8rem 2rem 2.8rem;
  position: relative;
}

.faq_sec01 .wrap .group .faqs .faq dt::before,
.faq_sec01 .wrap .group .faqs .faq dt::after {
  background: #000;
  bottom: 0;
  content: '';
  height: 1px;
  margin: auto;
  position: absolute;
  right: 2.8rem;
  top: 0;
  transition: .1s;
  width: 1.7rem;
}

.faq_sec01 .wrap .group .faqs .faq dt::before {
  transform: rotate(90deg);
}

.faq_sec01 .wrap .group .faqs .faq.open dt::before {
  transform: rotate(0);
}

.faq_sec01 .wrap .group .faqs .faq dt .q {
  font-family: Poppins;
  font-size: 2.4rem;
  position: relative;
  top: -.5rem;
  width: 4.5rem;
}

.faq_sec01 .wrap .group .faqs .faq dt span {
  width: calc(100% - 4.5rem);
}

.faq_sec01 .wrap .group .faqs .faq dd {
  border-top: 1px dashed #aeafb0;
  display: none;
  line-height: 1.75;
  padding: 2.8rem;
}

@media screen and (max-width:768px) {
  .faq_sec01 .wrap {
    padding: 6rem 1.5rem 9rem;
  }

  .faq_sec01 .wrap .p1 {
    margin-bottom: 6rem;
  }

  .faq_sec01 .wrap .group+.group {
    margin-top: 6rem;
  }

  .faq_sec01 .wrap .group .h2 {
    font-size: 2rem;
  }

  .faq_sec01 .wrap .group .faqs .faq {
    border-radius: .4rem;
  }

  .faq_sec01 .wrap .group .faqs .faq dt {
    font-size: 1.6rem;
    padding: 2rem 3rem 2rem 1rem;
  }

  .faq_sec01 .wrap .group .faqs .faq dt::before,
  .faq_sec01 .wrap .group .faqs .faq dt::after {
    right: 1.3rem;
    width: 1.5rem;
  }

  .faq_sec01 .wrap .group .faqs .faq dt .q {
    font-size: 1.8rem;
    top: -.2rem;
    width: 2.6rem;
  }

  .faq_sec01 .wrap .group .faqs .faq dt span {
    width: calc(100% - 2.6rem);
  }

  .faq_sec01 .wrap .group .faqs .faq dd {
    font-size: 1.4rem;
    padding: 2rem 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  recruit_fv
--------------------------------------------------------------------------- */
.recruit_fv .fv_bottom {
  background: rgba(255, 255, 255, .60);
}

.recruit_fv .fv_bottom .bread_area {
  border-top: none;
  margin-top: 0;
}

.recruit_fv .fv_bottom .links {
  color: #606060;
}

.recruit_fv .fv_bottom .bread_area ol li+li::before {
  background-image: url(../img/common/arrow_black01.svg);
}

@media screen and (max-width:768px) {
  .recruit_fv .fv_bottom .bread_area {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* ---------------------------------------------------------------------------
//  sec_recruit_top00
--------------------------------------------------------------------------- */
.sec_recruit_top00 {
  min-height: calc(100vh - 9.9rem - 8.5rem);
}

/* .sec_recruit_top00::before{
  content: "";
  background: #000;
  width: 1px;
  position: absolute;
  height: 100%;
  left: 0;
  right: 0;
  margin: auto;
} */
.sec_recruit_top00 {
  height: 100vh;
  position: relative;
}

.sec_recruit_top00 .fix {
  align-items: center;
  display: flex;
  filter: none;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - 9.9rem - 8.5rem);
  opacity: 1;
  position: fixed;
  top: calc(9.9rem + 8.5rem);
  width: 100%;
  will-change: auto;
  /* 初期負荷を下げる */
  z-index: 0;
}

.sec_recruit_top00 .fix.fx-active {
  filter: blur(var(--fx-blur, 0px));
  opacity: var(--fx-opacity, 1);
  will-change: opacity, filter;
}

.sec_recruit_top00 .copy {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 81.4rem;
}

.sec_recruit_top00 .copy img {
  position: relative;
  right: -2.8rem;
  width: 57.296rem;
}

.sec_recruit_top00 .btn {
  align-items: center;
  background: #fff;
  border: solid 1px #cbd0d1;
  border-radius: 10rem;
  display: flex;
  gap: 3rem;
  height: 6.4rem;
  justify-content: center;
  margin-top: 2.5rem;
  width: 15.3rem;
}

.sec_recruit_top00 .btn:hover {
  gap: 0;
  opacity: .7;
}

.sec_recruit_top00 .btn::after {
  background-image: url(../img/common/arrow_black01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.2rem;
  position: relative;
  top: .1rem;
  transition: .2s;
  width: .7rem;
}

.sec_recruit_top00 .btn:hover:after {
  width: 0;
}

.sec_recruit_top00 .bg {
  align-items: center;
  display: flex;
  height: calc(100vh - 9.9rem);
  justify-content: space-between;
  padding: 1.2rem 1.2rem;
  pointer-events: none;
  position: fixed;
  top: 0;
  top: calc(9.9rem);
  width: 100%;
  z-index: -1;
}

.sec_recruit_top00 .bg .imgs {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  height: 100%;
  overflow: hidden;
  position: relative;
  /* width: calc((100% - 81.4rem) / 2); */
}

.sec_recruit_top00 .bg .imgs .img {
  aspect-ratio: 220/300;
  border-radius: .8rem;
  height: calc((100% - 3.6rem) / 4);
  overflow: hidden;
  position: relative;
}

.sec_recruit_top00 .bg .imgs .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  position: absolute;
  /* 追加：重ねてクロスフェード */
  transition: opacity .8s ease;
  width: 100%;
}

.sec_recruit_top00 .bg .imgs .img img.next {
  opacity: 0;
  pointer-events: none;
}

@media screen and (max-width:768px) {
  .sec_recruit_top00 {
    height: auto;
  }

  .sec_recruit_top00 .fix {
    height: calc(100vh - 6.7rem - 8.5rem);
    padding: 4rem 0;
    top: calc(6.7rem + 8.5rem);
    z-index: 3;
  }

  .sec_recruit_top00 .copy {
    width: 30rem;
  }

  .sec_recruit_top00 .copy img {
    right: -2.2rem;
  }

  .sec_recruit_top00 .btn {
    gap: 2rem;
    height: 5rem;
  }

  .sec_recruit_top00 .bg {
    flex-direction: column;
    height: calc(100vh - 6.7rem - 8.5rem);
    padding: 0;
    padding-top: calc(100vh - 6.7rem - 8.5rem);
    position: static;
    z-index: 2;
  }

  .sec_recruit_top00 .bg .imgs {
    flex-direction: row;
    gap: 0;
    height: 50%;
    position: absolute;
    width: 100%;
  }

  .sec_recruit_top00 .bg .imgs:first-of-type {
    top: 0;
  }

  .sec_recruit_top00 .bg .imgs:last-of-type {
    bottom: 0;
  }

  .sec_recruit_top00 .bg .imgs .img {
    border-radius: 0;
    height: auto;
    width: 50%;
  }

  .sec_recruit_top00 .bg .imgs .img:last-of-type,
  .sec_recruit_top00 .bg .imgs .img:first-of-type {
    display: none;
  }
}

/* ---------------------------------------------------------------------------
//  sec_recruit_top01
--------------------------------------------------------------------------- */
.sec_recruit_top01 {
  padding: 50vh 0 0;
  position: relative;
  text-align: center;
  z-index: 4;
}

.sec_recruit_top01 .h2 {
  color: #57cb76;
  font-size: 4rem;
  font-weight: 700;
}

.sec_recruit_top01 .p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 3;
  margin-top: 7rem;
}

.sec_recruit_top01 .bg {
  aspect-ratio: 1280/538;
  background-attachment: fixed;
  background-image: url(../img/recruit/top/sec01_img01.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 28rem;
}

@media screen and (max-width:768px) {
  .sec_recruit_top01 {}

  .sec_recruit_top01 .h2 {
    font-size: 2.4rem;
    white-space: nowrap;
  }

  .sec_recruit_top01 .p {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 5rem;
  }

  .sec_recruit_top01 .bg {
    aspect-ratio: 3/2.5;
    background-attachment: inherit;
    margin-top: 10rem;
  }
}

/* ---------------------------------------------------------------------------
//  sec_recruit_top02
--------------------------------------------------------------------------- */
.sec_recruit_top02 {
  background: #fff;
  position: relative;
  z-index: 4;
}

.sec_recruit_top02 .wrap {
  padding: 15rem 0 20rem;
  position: relative;
}

.sec_recruit_top02 .wrap .h2 {
  margin: 0 auto;
  width: 44.135rem;
}

.sec_recruit_top02 .wrap .group {
  margin-top: 15rem;
}

.sec_recruit_top02 .wrap .group .h3 {
  border-bottom: solid 1px #cbd0d1;
  color: #606060;
  font-size: 2.4rem;
  margin-bottom: 13rem;
  padding-bottom: 1.6rem;
  position: relative;
}

.sec_recruit_top02 .wrap .group .h3 .eng img {
  left: -3rem;
  position: absolute;
  top: 2.5rem;
  width: auto;
}

.sec_recruit_top02 .wrap .group .flex01 {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.sec_recruit_top02 .wrap .group .flex01 .left {
  width: 57rem;
}

.sec_recruit_top02 .wrap .group .flex01 .left .h4 {
  font-size: 3.2rem;
  font-weight: 700;
  margin-bottom: 3.8rem;
}

.sec_recruit_top02 .wrap .group .flex01 .left .p {
  font-weight: 400;
  line-height: 2.25;
}

.sec_recruit_top02 .wrap .group .flex01 .right {
  width: 31.4rem;
}

.sec_recruit_top02 .wrap .group .flex01 .right .img {
  border-radius: .8rem;
  overflow: hidden;
}

.sec_recruit_top02 .wrap .group .flex01 .right .p {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 3rem;
}

.sec_recruit_top02 .wrap .group .flex01 .right .p small {
  font-size: 1.6rem;
}

.sec_recruit_top02 .wrap .group .flex02 {
  display: flex;
  justify-content: space-between;
}

.sec_recruit_top02 .wrap .group .flex02 .card {
  background: #57cb76;
  border-radius: .8rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  padding: 4.5rem;
  width: 47.7rem;
}

.sec_recruit_top02 .wrap .group .flex02 .card .h4 {
  font-size: 2.4rem;
  font-weight: 700;
}

.sec_recruit_top02 .wrap .group .flex02 .card .p {
  font-weight: 400;
  line-height: 2.25;
  margin-top: 2rem;
}

.sec_recruit_top02 .wrap .group .flex02 .card .name {
  font-weight: 400;
  line-height: 2.25;
  margin-top: 2rem;
  text-align: right;
}

.sec_recruit_top02 .wrap .group .flex03 {
  display: flex;
  gap: 2.7rem;
}

.sec_recruit_top02 .wrap .group .flex03 .card {
  background: #57cb76;
  border-radius: .8rem;
  color: #fff;
  width: calc((100% - 5.4rem) / 3);
}

.sec_recruit_top02 .wrap .group .flex03 .card .img {
  aspect-ratio: 315/223;
  border-radius: .8rem;
  overflow: hidden;
}

.sec_recruit_top02 .wrap .group .flex03 .card .img img {
  height: 100%;
  max-width: inherit;
  width: 100%;
}

.sec_recruit_top02 .wrap .group .flex03 .card .txts {
  display: flex;
  flex-direction: column;
  padding: 3.5rem 2rem 6.6rem;
  position: relative;
}

.sec_recruit_top02 .wrap .group .flex03 .card .h4 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 3rem;
}

.sec_recruit_top02 .wrap .group .flex03 .card .p1 {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.85;
  padding-bottom: 1.5rem;
}

.sec_recruit_top02 .wrap .group .flex03 .card .p2 {
  align-items: center;
  border-top: solid 1px;
  display: flex;
  font-weight: 400;
  justify-content: space-between;
  padding-top: 1.4rem;
}

.sec_recruit_top02 .wrap .group .flex03 .card .p2 strong {
  font-family: Poppins;
  font-size: 2rem;
  font-weight: 400;
}

.sec_recruit_top02 .wrap .group .flex03 .card .btn {
  align-items: center;
  background: #fff;
  border: solid 1px #cbd0d1;
  border-radius: 10rem;
  bottom: -3.2rem;
  color: #606060;
  display: flex;
  gap: 3rem;
  height: 6.4rem;
  justify-content: center;
  left: 0;
  margin: auto;
  margin-top: 2.5rem;
  position: absolute;
  right: 0;
  width: 20rem;
}

.sec_recruit_top02 .wrap .group .flex03 .card .btn:hover {
  gap: 0;
  opacity: .7;
}

.sec_recruit_top02 .wrap .group .flex03 .card .btn:after {
  background-image: url(../img/common/arrow_black01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.2rem;
  position: relative;
  top: .1rem;
  transition: .2s;
  width: .7rem;
}

.sec_recruit_top02 .wrap .group .flex03 .card .btn:hover:after {
  width: 0;
}

@media screen and (max-width:768px) {
  .sec_recruit_top02 .wrap {
    padding: 9rem 1.5rem;
  }

  .sec_recruit_top02 .wrap .h2 {
    width: calc(44.135rem * .6);
  }

  .sec_recruit_top02 .wrap .group {
    margin-top: 9rem;
  }

  .sec_recruit_top02 .wrap .group .h3 {
    font-size: 2rem;
    margin-bottom: 9rem;
  }

  .sec_recruit_top02 .wrap .group .h3 .eng img {
    left: -1rem;
  }

  .sec_recruit_top02 .wrap .group .flex01 {
    flex-direction: column;
  }

  .sec_recruit_top02 .wrap .group .flex01 .left {
    width: 100%;
  }

  .sec_recruit_top02 .wrap .group .flex01 .left .h4 {
    font-size: 1.8rem;
    margin-bottom: 1.8rem;
  }

  .sec_recruit_top02 .wrap .group .flex01 .left .p {
    line-height: 1.75;
  }

  .sec_recruit_top02 .wrap .group .flex01 .right {
    margin-top: 3rem;
    text-align: center;
    width: 25rem;
  }

  .sec_recruit_top02 .wrap .group .flex01 .right .img {
    border-radius: .4rem;
  }

  .sec_recruit_top02 .wrap .group .flex01 .right .p {
    font-size: 2rem;
    margin-top: .5rem;
  }

  .sec_recruit_top02 .wrap .group .flex01 .right .p small {
    font-size: 1.4rem;
  }

  .sec_recruit_top02 .wrap .group .flex02 {
    flex-direction: column;
    gap: 3rem;
  }

  .sec_recruit_top02 .wrap .group .flex02 .card {
    border-radius: .4rem;
    padding: 3rem 1.5rem;
    width: 100%;
  }

  .sec_recruit_top02 .wrap .group .flex02 .card .h4 {
    font-size: 2rem;
  }

  .sec_recruit_top02 .wrap .group .flex02 .card .p {
    line-height: 1.75;
  }

  .sec_recruit_top02 .wrap .group .flex02 .card .name {
    line-height: 1.75;
  }

  .sec_recruit_top02 .wrap .group .flex03 {
    flex-direction: column;
    gap: 7rem;
  }

  .sec_recruit_top02 .wrap .group .flex03 .card {
    border-radius: .4rem;
    width: 100%;
  }

  .sec_recruit_top02 .wrap .group .flex03 .card .img {
    border-radius: .4rem;
  }

  .sec_recruit_top02 .wrap .group .flex03 .card .txts {
    padding: 3rem 1.5rem 5rem;
  }

  .sec_recruit_top02 .wrap .group .flex03 .card .h4 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }

  .sec_recruit_top02 .wrap .group .flex03 .card .p1 {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  sec_recruit_top03
--------------------------------------------------------------------------- */
.sec_recruit_top03 {
  background: #fff;
  padding: 0 0 15rem;
  position: relative;
  z-index: 4;
}

.sec_recruit_top03::after {
  background: linear-gradient(180deg, rgba(87, 203, 118, .00) 0%, #fff 84.73%);
  content: '';
  height: 61.9rem;
  left: 0;
  position: absolute;
  top: 31rem;
  width: 100%;
  z-index: 1;
}

.sec_recruit_top03 .bg {
  height: 83rem;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.sec_recruit_top03 .bg video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.sec_recruit_top03 .h2 {
  padding: 11rem 0 9rem;
  position: relative;
  z-index: 2;
}

.sec_recruit_top03 .h2 img {
  width: 41.598rem;
}

.sec_recruit_top03 .h2 span {
  color: #fff;
  display: block;
  font-size: 2.4rem;
}

.sec_recruit_top03 .container {
  background: #fff;
  padding-top: 10rem;
  position: relative;
  z-index: 2;
}

.sec_recruit_top03 .wrap .usabilitys .usability {
  border-bottom: solid 1px #cbd0d1;
  display: flex;
  justify-content: space-between;
  padding: 6rem 0;
}

.sec_recruit_top03 .wrap .usabilitys .usability:first-of-type {
  border-top: solid 1px #cbd0d1;
}

.sec_recruit_top03 .wrap .usabilitys .usability .illust {
  align-items: center;
  display: flex;
  justify-content: center;
  width: calc(100% - 70rem);
}

.sec_recruit_top03 .wrap .usabilitys .usability01 .illust img {
  width: 21.9rem;
}

.sec_recruit_top03 .wrap .usabilitys .usability02 .illust img {
  width: 22.6rem;
}

.sec_recruit_top03 .wrap .usabilitys .usability03 .illust img {
  width: 25rem;
}

.sec_recruit_top03 .wrap .usabilitys .usability04 .illust img {
  width: 19rem;
}

.sec_recruit_top03 .wrap .usabilitys .usability05 .illust img {
  width: 24.8rem;
}

.sec_recruit_top03 .wrap .usabilitys .usability .txts {
  width: 70rem;
}

.sec_recruit_top03 .wrap .usabilitys .usability .txts .h3 {
  color: #57cb76;
  font-size: 3.2rem;
  font-weight: 400;
}

.sec_recruit_top03 .wrap .usabilitys .usability .txts .p1 {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.25;
  margin-top: 1.6rem;
}

.sec_recruit_top03 .wrap .usabilitys .usability .txts .p2 {
  color: #606060;
  font-weight: 400;
  line-height: 2.25;
  margin-top: 1.6rem;
}

@media screen and (max-width:768px) {
  .sec_recruit_top03 {
    padding: 0 1.5rem 9rem;
  }

  .sec_recruit_top03 .h2 {
    padding: 9rem 1.5rem 6rem;
  }

  .sec_recruit_top03 .h2 img {
    width: calc(41.598rem * .6);
  }

  .sec_recruit_top03 .h2 span {
    font-size: 2rem;
  }

  .sec_recruit_top03 .container {
    background: #fff;
    padding: 0 1.5rem;
    position: relative;
    z-index: 2;
  }

  .sec_recruit_top03 .wrap .usabilitys .usability {
    flex-direction: column;
    padding: 4rem 0;
  }

  .sec_recruit_top03 .wrap .usabilitys .usability:first-of-type {
    border-top: none;
  }

  .sec_recruit_top03 .wrap .usabilitys .usability .illust {
    width: 100%;
  }

  .sec_recruit_top03 .wrap .usabilitys .usability01 .illust img {
    width: calc(21.9rem * .8);
  }

  .sec_recruit_top03 .wrap .usabilitys .usability02 .illust img {
    width: calc(22.6rem * .8);
  }

  .sec_recruit_top03 .wrap .usabilitys .usability03 .illust img {
    width: calc(25rem * .8);
  }

  .sec_recruit_top03 .wrap .usabilitys .usability04 .illust img {
    width: calc(19rem * .8);
  }

  .sec_recruit_top03 .wrap .usabilitys .usability05 .illust img {
    width: calc(24.8rem * .8);
  }

  .sec_recruit_top03 .wrap .usabilitys .usability .txts {
    margin-top: 2rem;
    width: 100%;
  }

  .sec_recruit_top03 .wrap .usabilitys .usability .txts .h3 {
    font-size: 2rem;
  }

  .sec_recruit_top03 .wrap .usabilitys .usability .txts .p1 {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 1rem;
  }

  .sec_recruit_top03 .wrap .usabilitys .usability .txts .p2 {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  sec_entry
--------------------------------------------------------------------------- */
.sec_entry {
  background-attachment: fixed;
  background-image: url(../img/recruit/top/bg_entry.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 16rem 0;
  position: relative;
}

.sec_entry .blur {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 10rem 0 8rem;
  position: relative;
}

.sec_entry .blur::before {
  backdrop-filter: blur(4rem);
  background: linear-gradient(98deg, rgba(255, 255, 255, .40) 0%, rgba(255, 255, 255, .20) 100%);
  border: 1px solid rgba(255, 255, 255, .60);
  border-radius: .8rem;
  box-shadow: 0 .4rem 4rem 0 rgba(0, 0, 0, .12);
  content: '';
  height: 100%;
  left: 0;
  opacity: .74;
  position: absolute;
  top: 0;
  width: 100%;
}

.sec_entry .blur .eng {
  left: 0;
  margin: auto;
  position: relative;
  position: absolute;
  right: 0;
  top: -7.5rem;
  width: 35.4rem;
}

.sec_entry .blur .h2 {
  font-size: 3.2rem;
  font-weight: 700;
  position: relative;
}

.sec_entry .blur .p {
  font-size: 1.5rem;
  margin-top: 2rem;
  position: relative;
}

.sec_entry .blur .btn {
  align-items: center;
  background: #57cb76;
  color: #fff;
  display: flex;
  font-size: 1.6rem;
  gap: 2rem;
  height: 11rem;
  justify-content: center;
  margin-top: 6rem;
  position: relative;
  width: 44.2rem;
}

.sec_entry .blur .btn:hover {
  gap: 0;
  opacity: .7;
}

.sec_entry .blur .btn::after {
  background-image: url(../img/common/arrow_white01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.2rem;
  position: relative;
  top: .1rem;
  transition: .2s;
  width: .7rem;
}

.sec_entry .blur .btn:hover:after {
  width: 0;
}

@media screen and (max-width:768px) {
  .sec_entry {
    background-attachment: inherit;
    padding: 9rem 1.5rem;
  }

  .sec_entry .blur {
    padding: 9rem 1.5rem 6rem;
  }

  .sec_entry .blur .eng {
    top: -5rem;
    width: calc(35.4rem * .7);
  }

  .sec_entry .blur .h2 {
    font-size: 2.4rem;
  }

  .sec_entry .blur .p {
    font-size: 1.6rem;
    line-height: 1.75;
    text-align: center;
  }

  .sec_entry .blur .btn {
    height: 6rem;
    margin-top: 4rem;
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  interview
--------------------------------------------------------------------------- */
.main_interview .bg {
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
}

.main_interview .bg video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* ---------------------------------------------------------------------------
//  interview_fv
--------------------------------------------------------------------------- */
.interview_fv {
  position: relative;
  z-index: 2;
}

.interview_fv .fv_bottom {
  background: #fff;
}

.interview_fv .fv_bottom .bread_area {
  border-top: none;
  margin-top: 0;
}

.interview_fv .fv_bottom .links {
  color: #606060;
}

.interview_fv .fv_bottom .bread_area ol li+li::before {
  background-image: url(../img/common/arrow_black01.svg);
}

.interview_fv .h1 {
  align-items: center;
  display: flex;
  height: 47.6rem;
  justify-content: center;
  position: relative;
}

/* .interview_fv .h1::after{
  content: "";
  width: 1px;
  background: #000;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
} */
.interview_fv .h1 img {
  position: relative;
  right: -4rem;
  width: 43.6rem;
}

.interview_fv .ttl {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 47.6rem;
  padding-top: 10.6rem;
}

.interview_fv .ttl .jp {
  font-size: 3.6rem;
  font-weight: 700;
}

.interview_fv .ttl .eng {
  font-family: Poppins;
  font-size: 1.4rem;
  font-weight: 700;
}

@media screen and (max-width:768px) {
  .interview_fv .fv_bottom .bread_area {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .interview_fv .fv_bottom .bread_area .eng {
    font-size: 1.4rem;
  }

  .interview_fv .h1 {
    height: 30rem;
  }

  .interview_fv .h1 img {
    right: -2.6rem;
    width: calc(43.6rem * .7);
  }

  .interview_fv .ttl {
    height: 30rem;
    padding-top: 8rem;
  }

  .interview_fv .ttl .jp {
    font-size: 3rem;
  }

  .interview_fv .ttl .eng {
    font-size: 1.2rem;
  }
}

/* ---------------------------------------------------------------------------
//  sec_intervew01
--------------------------------------------------------------------------- */
.sec_intervew01 {
  background: linear-gradient(180deg, rgba(255, 255, 255, .00) 0%, #fff 23.8rem, #fff 100%);
  margin-top: -19.4rem;
  padding-top: 19.4rem;
  position: relative;
  z-index: 1;
}

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

.sec_intervew01 .wrap .flex .left {
  width: 51.3rem;
}

.sec_intervew01 .wrap .flex .left .h2 {
  color: #606060;
  font-family: Poppins;
  font-size: 2rem;
}

.sec_intervew01 .wrap .flex .left .p1 {
  background: linear-gradient(20deg, #57cb76 0%, #2cae6b 50%, #333 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 5.2rem;
  font-weight: 700;
  line-height: 1.23;
  margin-top: 3rem;
  -webkit-text-fill-color: transparent;
}

.sec_intervew01 .wrap .flex .left .p2 {
  font-size: 2rem;
  font-weight: 400;
  margin-top: 4rem;
}

.sec_intervew01 .wrap .flex .left .p2 small {
  font-size: 1.6rem;
  font-weight: 400;
}

.sec_intervew01 .wrap .flex .left .p3 {
  font-family: Poppins;
  font-size: 2.4rem;
  letter-spacing: calc(1em * (12 / 24));
  margin-top: 1rem;
}

.sec_intervew01 .wrap .flex .left .p4 {
  border-top: 1px solid #cbd0d1;
  color: #606060;
  font-weight: 400;
  margin-top: 1rem;
  padding-top: 1rem;
}

.sec_intervew01 .wrap .flex .right {
  width: calc(100% - 58rem);
}

.sec_intervew01 .wrap .flex .right .img {
  height: 61.6rem;
  position: relative;
}

.sec_intervew01 .wrap .flex .right .img img {
  border-radius: .8rem;
  left: 0;
  max-width: inherit;
  position: absolute;
  width: 56rem;
}

@media screen and (max-width:768px) {
  .sec_intervew01 {
    background: linear-gradient(180deg, rgba(255, 255, 255, .00) 0%, #fff 12rem, #fff 100%);
    margin-top: -12rem;
    padding-top: 14rem;
  }

  .sec_intervew01 .wrap {
    padding: 0 1.5rem;
  }

  .sec_intervew01 .wrap .flex {
    flex-direction: column;
  }

  .sec_intervew01 .wrap .flex .left {
    width: 100%;
  }

  .sec_intervew01 .wrap .flex .left .h2 {
    font-size: 1.6rem;
  }

  .sec_intervew01 .wrap .flex .left .p1 {
    font-size: 3rem;
    margin-top: 2rem;
  }

  .sec_intervew01 .wrap .flex .left .p2 {
    font-size: 1.6rem;
    margin-top: 2rem;
  }

  .sec_intervew01 .wrap .flex .left .p2 small {
    font-size: 1.2rem;
  }

  .sec_intervew01 .wrap .flex .left .p3 {
    font-size: 2rem;
  }

  .sec_intervew01 .wrap .flex .left .p4 {
    font-size: 1.4rem;
  }

  .sec_intervew01 .wrap .flex .right {
    margin-top: 2rem;
    width: 100%;
  }

  .sec_intervew01 .wrap .flex .right .img {
    height: auto;
  }

  .sec_intervew01 .wrap .flex .right .img img {
    border-radius: .4rem 0 0 .4rem;
    left: 3rem;
    position: relative;
    width: calc(100% - 1.5rem);
  }
}

/* ---------------------------------------------------------------------------
//  sec_intervew02
--------------------------------------------------------------------------- */
.sec_intervew02 {
  background: #fff;
  padding: 12rem 0 14rem;
  position: relative;
  z-index: 1;
}

.sec_intervew02 .wrap .h3 {
  font-size: 3.6rem;
}

.sec_intervew02 .wrap .p1 {
  font-weight: 400;
  line-height: 2.25;
  margin-top: 3rem;
}

.sec_intervew02 .wrap .img {
  aspect-ratio: 1000/390;
  border-radius: .8rem;
  margin-top: 7rem;
  overflow: hidden;
}

.sec_intervew02 .wrap .img img {
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  width: 100%;
}

.sec_intervew02 .wrap .qa+.qa {
  margin-top: 4rem;
}

.sec_intervew02 .wrap .qa {
  margin-top: 7rem;
}

.sec_intervew02 .wrap .qa dt {
  color: #57cb76;
  font-size: 3.2rem;
  font-weight: 400;
}

.sec_intervew02 .wrap .qa dd {
  font-weight: 400;
  line-height: 2.25;
  margin-top: 1rem;
}

@media screen and (max-width:768px) {
  .sec_intervew02 {
    padding: 6rem 1.5rem;
  }

  .sec_intervew02 .wrap .h3 {
    font-size: 2rem;
  }

  .sec_intervew02 .wrap .p1 {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 2rem;
  }

  .sec_intervew02 .wrap .img {
    aspect-ratio: 3/2;
    border-radius: .4rem;
    margin-top: 4rem;
  }

  .sec_intervew02 .wrap .qa+.qa {
    margin-top: 2rem;
  }

  .sec_intervew02 .wrap .qa {
    margin-top: 4rem;
  }

  .sec_intervew02 .wrap .qa dt {
    color: #57cb76;
    font-size: 1.6rem;
    font-weight: 400;
  }

  .sec_intervew02 .wrap .qa dd {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  sec_intervew03
--------------------------------------------------------------------------- */
.sec_intervew03 {
  background: #fff;
  position: relative;
  z-index: 1;
}

.sec_intervew03 .wrap .flex {
  border-bottom: solid 1px #cbd0d1;
  border-top: solid 1px #cbd0d1;
  display: flex;
}

.sec_intervew03 .wrap .flex .item {
  padding: 6rem 4rem;
  width: 50%;
}

.sec_intervew03 .wrap .flex .item01 {
  padding-left: 0;
}

.sec_intervew03 .wrap .flex .item02 {
  border-left: solid 1px #cbd0d1;
  padding-right: 0;
}

.sec_intervew03 .wrap .flex .item .h3 {
  display: flex;
  flex-direction: column;
}

.sec_intervew03 .wrap .flex .item .h3 .eng {
  height: 7rem;
}

.sec_intervew03 .wrap .flex .item01 .h3 .eng {
  width: 16.3rem;
}

.sec_intervew03 .wrap .flex .item02 .h3 .eng {
  width: 25.8rem;
}

.sec_intervew03 .wrap .flex .item .h3 .jp {
  color: #606060;
  font-size: 2.4rem;
  margin-top: -1rem;
}

.sec_intervew03 .wrap .flex .item .img {
  aspect-ratio: 460/310;
  border-radius: .8rem;
  margin-top: 2rem;
  overflow: hidden;
}

.sec_intervew03 .wrap .flex .item .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.sec_intervew03 .wrap .flex .item .p1 {
  font-weight: 400;
  line-height: 2.25;
  margin-top: 2rem;
}

.sec_intervew03 .wrap .flex .item .btn {
  align-items: center;
  background: #fff;
  border: solid 1px #cbd0d1;
  border-radius: 10rem;
  display: flex;
  gap: 3rem;
  height: 6.4rem;
  justify-content: center;
  margin: 2rem auto 0;
  width: 18.5rem;
}

.sec_intervew03 .wrap .flex .item .btn:hover {
  gap: 0;
  opacity: .7;
}

.sec_intervew03 .wrap .flex .item .btn::after {
  background-image: url(../img/common/arrow_black01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.2rem;
  position: relative;
  top: .1rem;
  transition: .2s;
  width: .7rem;
}

.sec_intervew03 .wrap .flex .item .btn:hover:after {
  width: 0;
}

@media screen and (max-width:768px) {
  .sec_intervew03 .wrap {
    padding: 0 1.5rem;
  }

  .sec_intervew03 .wrap .flex {
    flex-direction: column;
  }

  .sec_intervew03 .wrap .flex .item {
    padding: 4rem 0;
    width: 100%;
  }

  .sec_intervew03 .wrap .flex .item02 {
    border-left: none;
    border-top: solid 1px #cbd0d1;
  }

  .sec_intervew03 .wrap .flex .item .h3 .eng {
    height: 5rem;
  }

  .sec_intervew03 .wrap .flex .item01 .h3 .eng {
    width: calc(16.3rem * .7);
  }

  .sec_intervew03 .wrap .flex .item02 .h3 .eng {
    width: calc(25.8rem * .7);
  }

  .sec_intervew03 .wrap .flex .item .h3 .jp {
    font-size: 1.6rem;
    margin-top: -.5rem;
  }

  .sec_intervew03 .wrap .flex .item .img {
    border-radius: .4rem;
    margin-top: 1.5rem;
  }

  .sec_intervew03 .wrap .flex .item .p1 {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 1rem;
  }

  .sec_intervew03 .wrap .flex .item .btn {
    gap: 1.6rem;
    height: 6rem;
    max-width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  sec_intervew04
--------------------------------------------------------------------------- */
.sec_intervew04 {
  background: #fff;
  padding: 12rem 0 20rem;
  position: relative;
  z-index: 1;
}

.sec_intervew04 .wrap .flex {
  display: flex;
  justify-content: space-between;
}

.sec_intervew04 .wrap .flex .left {
  padding-top: 4.5rem;
  width: 46rem;
}

.sec_intervew04 .wrap .flex .left .h3 {
  display: flex;
  flex-direction: column;
}

.sec_intervew04 .wrap .flex .left .h3 .eng {
  width: 25.69rem;
}

.sec_intervew04 .wrap .flex .left .h3 .jp {
  color: #606060;
  font-size: 2.4rem;
  margin-top: 1rem;
}

.sec_intervew04 .wrap .flex .left .p1 {
  font-size: 3.2rem;
  font-weight: 700;
  margin-top: 6rem;
}

.sec_intervew04 .wrap .flex .left .p2 {
  font-weight: 400;
  line-height: 2.25;
  margin-top: 2rem;
}

.sec_intervew04 .wrap .flex .right {
  height: 62rem;
  width: calc(100% - 58rem);
}

.sec_intervew04 .wrap .flex .right .img {
  height: 100%;
  position: relative;
}

.sec_intervew04 .wrap .flex .right .img img {
  border-radius: .8rem;
  left: 0;
  max-width: inherit;
  position: absolute;
  width: 55.8rem;
}

@media screen and (max-width:768px) {
  .sec_intervew04 {
    padding: 6rem 1.5rem;
  }

  .sec_intervew04 .wrap .flex {
    flex-direction: column;
  }

  .sec_intervew04 .wrap .flex .left {
    padding-top: 0;
    width: 100%;
  }

  .sec_intervew04 .wrap .flex .left .h3 .eng {
    width: calc(25.69rem * .7);
  }

  .sec_intervew04 .wrap .flex .left .h3 .jp {
    font-size: 2rem;
  }

  .sec_intervew04 .wrap .flex .left .p1 {
    font-size: 2.4rem;
    margin-top: 4rem;
  }

  .sec_intervew04 .wrap .flex .left .p2 {
    font-size: 1.4rem;
    line-height: 1.75;
    margin-top: 2rem;
  }

  .sec_intervew04 .wrap .flex .right {
    height: auto;
    margin-top: 4rem;
    width: 100%;
  }

  .sec_intervew04 .wrap .flex .right .img {
    height: 100%;
    position: relative;
  }

  .sec_intervew04 .wrap .flex .right .img img {
    border-radius: .4rem 0 0 .4rem;
    left: 3rem;
    position: relative;
    width: calc(100% - 1.5rem);
  }
}

/* ---------------------------------------------------------------------------
// page_recruit
--------------------------------------------------------------------------- */
.page_recruit {
  background: linear-gradient(180deg, rgba(255, 255, 255, .00) 0%, #fff 23.8rem, #fff 100%);
  margin-top: -19.4rem;
  padding-bottom: 16rem;
  padding-top: 19.4rem;
  position: relative;
  z-index: 1;
}

.page_recruit .page_recruit_container {
  margin-top: -19rem;
  min-height: 54.6rem;
  position: relative;
}

.page_recruit .page_recruit_container::before {
  backdrop-filter: blur(4rem);
  background: linear-gradient(98deg, rgba(255, 255, 255, .40) 0%, rgba(255, 255, 255, .20) 100%);
  border: 1px solid rgba(255, 255, 255, .60);
  border-radius: .8rem .8rem 0 0;
  box-shadow: 0 -3rem 4rem 0 rgba(0, 0, 0, .12);
  content: '';
  height: 54.6rem;
  left: 0;
  opacity: .74;
  position: absolute;
  top: 0;
  width: 100%;
}

@media screen and (max-width:768px) {
  .page_recruit {
    margin-top: 0;
    padding: 6rem 1.5rem 9rem;
  }

  .page_recruit .page_recruit_container {
    margin-top: -15rem;
  }

  .page_recruit .page_recruit_container::before {
    background: linear-gradient(98deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, .4) 100%);
    opacity: 1;
  }
}

/* ---------------------------------------------------------------------------
// sec_app00
--------------------------------------------------------------------------- */
.sec_app00 .wrap {
  padding: 10rem 0;
  position: relative;
  text-align: center;
}

@media screen and (max-width:768px) {
  .sec_app01 .wrap {
    padding: 6rem .75rem;
  }
}

/* ---------------------------------------------------------------------------
// sec_app01
--------------------------------------------------------------------------- */
.app_ttl01 {
  color: #57cb76;
  font-size: 3.6rem;
  font-weight: 700;
  margin-bottom: 6rem;
  text-align: center;
}

.app_ttl02 .tags {
  display: flex;
  gap: .4rem;
}

.app_ttl02 .tags .tag {
  align-items: center;
  border-radius: .8rem;
  color: #fff;
  display: flex;
  font-size: 1.4rem;
  font-weight: 700;
  height: 2.8rem;
  justify-content: center;
  width: 4.8rem;
}

.app_ttl02 .tags .tag01 {
  background: #57cb76;
}

.app_ttl02 .tags .tag02 {
  background: #0f5896;
}

.app_ttl02 .txt {
  font-size: 2.4rem;
  font-weight: 700;
  margin-top: 1rem;
}

.sec_app01 .wrap {
  padding: 10rem 0;
  position: relative;
}

.sec_app01 .wrap .links .link {
  background: #fff;
  border: 1.2rem solid #f3f3f3;
  border-radius: .8rem;
  display: block;
  padding: 2rem 4rem;
  position: relative;
}

.sec_app01 .wrap .links .link:hover {
  opacity: .7;
}

.sec_app01 .wrap .links .link+.link {
  margin-top: 3rem;
}

.sec_app01 .wrap .links .link::after {
  background-image: url(../img/common/arrow_btn01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: '';
  height: 2.8rem;
  margin: auto;
  position: absolute;
  right: 4rem;
  top: 0;
  width: 2.8rem;
}

.sec_app01 .wrap .links .link>dl {
  align-items: center;
  display: flex;
}

.sec_app01 .wrap .links .link>dl>dt {
  width: 30rem;
}

.sec_app01 .wrap .links .link>dl>dd {
  border-left: 2px solid #cbd0d1;
  padding-left: 4.5rem;
  padding-right: 5rem;
  width: calc(100% - 30rem);
}

.sec_app01 .wrap .links .link>dl>dd>dl {
  display: flex;
  line-height: 1.75;
}

@media screen and (max-width:768px) {
  .app_ttl01 {
    font-size: 2rem;
    margin-bottom: 4rem;
  }

  .app_ttl02 .txt {
    font-size: 1.6rem;
  }

  .sec_app01 .wrap {
    padding: 6rem .75rem;
  }

  .sec_app01 .wrap .links .link {
    border: .4rem solid #f3f3f3;
    border-radius: .4rem;
    padding: 2rem .751rem 5rem;
  }

  .sec_app01 .wrap .links .link+.link {
    margin-top: 2rem;
  }

  .sec_app01 .wrap .links .link::after {
    bottom: 2rem;
    bottom: 1rem;
    left: 0;
    right: 0;
    top: auto;
  }

  .sec_app01 .wrap .links .link>dl {
    display: block;
  }

  .sec_app01 .wrap .links .link>dl>dt {
    width: 100%;
  }

  .sec_app01 .wrap .links .link>dl>dd {
    border-left: none;
    border-top: 1px solid #cbd0d1;
    margin-top: 1rem;
    padding-left: 0;
    padding-right: 0;
    padding-top: 1rem;
    width: 100%;
  }

  .sec_app01 .wrap .links .link>dl>dd>dl {
    font-size: 1.4rem;
  }
}

/* ---------------------------------------------------------------------------
// sec_app02
--------------------------------------------------------------------------- */
.sec_app02 {
  position: relative;
}

.sec_app02 .wrap .flex {
  border-top: 1px solid #cbd0d1;
  display: flex;
}

.sec_app02 .wrap .flex+.flex {
  margin-top: 12rem;
}

.sec_app02 .wrap .flex .head {
  width: 25rem;
}

.sec_app02 .wrap .flex .head .app_ttl02 {
  padding-bottom: 4rem;
  padding-top: 4rem;
  position: sticky;
  top: 9.9rem;
}

.sec_app02 .wrap .flex>.contents {
  border-left: 1px solid #cbd0d1;
  padding: 4rem 4rem 0;
  width: calc(100% - 25rem);
}

.sec_app02 .wrap .flex>.contents .reqs .req:first-of-type {
  padding-top: 0;
}

.sec_app02 .wrap .flex>.contents .reqs .req {
  border-bottom: 1px solid #cbd0d1;
  padding: 4rem 0;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl {
  display: flex;
  font-size: 1.6rem;
  font-weight: 400;
  justify-content: space-between;
  line-height: 1.75;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dt {
  width: 12rem;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd {
  width: calc(100% - 14rem);
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd ul li {
  display: flex;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd ul li::before {
  content: '・';
  flex-shrink: 0;
  text-align: center;
  width: 1.6rem;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd strong,
.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd b {
  font-weight: 700;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd .case {
  display: flex;
  gap: 1rem;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd .case .tag {
  align-items: center;
  border-radius: .8rem;
  color: #fff;
  display: flex;
  font-size: 1.4rem;
  font-weight: 700;
  height: 2.8rem;
  justify-content: center;
  width: 4.8rem;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd .case .tag.tag01 {
  background: #57cb76;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd .case .tag.tag02 {
  background: #0f5896;
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd .case .txt {
  width: calc(100% - 5.8rem);
}

.sec_app02 .wrap .flex>.contents .reqs .req>dl>dd>div+div {
  margin-top: 1rem;
}

.sec_app02 .wrap .flex>.contents .btn {
  align-items: center;
  background: #57cb76;
  border-radius: 1.2rem;
  color: #fff;
  display: flex;
  gap: 3rem;
  height: 11rem;
  justify-content: center;
  margin: 4rem auto 0;
  width: 44.2rem;
}

.sec_app02 .wrap .flex>.contents .btn:hover {
  gap: 0;
  opacity: .7;
}

.sec_app02 .wrap .flex>.contents .btn::after {
  background-image: url(../img/common/arrow_white01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.2rem;
  position: relative;
  top: .1rem;
  transition: .2s;
  width: .7rem;
}

.sec_app02 .wrap .flex>.contents .btn:hover:after {
  width: 0;
}

@media screen and (max-width:768px) {
  .sec_app02 {
    position: relative;
  }

  .sec_app02 .wrap .flex {
    border-top: 1px solid #cbd0d1;
    display: block;
  }

  .sec_app02 .wrap .flex+.flex {
    margin-top: 9rem;
  }

  .sec_app02 .wrap .flex .head {
    width: 100%;
  }

  .sec_app02 .wrap .flex .head .app_ttl02 {
    padding-bottom: 2rem;
    padding-top: 4rem;
    position: static;
  }

  .sec_app02 .wrap .flex>.contents {
    padding: 0;
    width: 100%;
  }

  .sec_app02 .wrap .flex>.contents .reqs .req:first-of-type {
    padding-top: 0;
  }

  .sec_app02 .wrap .flex>.contents .reqs .req {
    border-bottom: 1px solid #cbd0d1;
    padding: 2rem 0 2rem 2rem;
  }

  .sec_app02 .wrap .flex>.contents .reqs .req>dl {
    display: block;
  }

  .sec_app02 .wrap .flex>.contents .reqs .req>dl>dt {
    font-weight: 700;
    width: 100%;
  }

  .sec_app02 .wrap .flex>.contents .reqs .req>dl>dd {
    font-size: 1.4rem;
    width: 100%;
  }

  .sec_app02 .wrap .flex>.contents .btn {
    height: 5rem;
    margin: 2rem 2rem 0;
    width: calc((100% - 4rem));
  }
}

/* ---------------------------------------------------------------------------
//  sec_entry01
--------------------------------------------------------------------------- */
.sec_entry01 {
  position: relative;
}

.sec_entry01 .wrap {
  padding: 10rem 0 0;
}

.sec_entry01 .wrap .h2 {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 8rem;
  text-align: center;
}

@media screen and (max-width:768px) {
  .sec_entry01 {
    position: relative;
  }

  .sec_entry01 .wrap {
    padding: 6rem 1.5rem 0;
  }

  .sec_entry01 .wrap .h2 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 4rem;
    text-align: center;
  }
}

/* ---------------------------------------------------------------------------
//  product_container
--------------------------------------------------------------------------- */
.product_container {
  background: #fff;
  padding: 0 0 12rem;
  position: relative;
}

@media screen and (max-width:768px) {
  .product_container {
    padding: 0 0 9rem;
  }
}

/* ---------------------------------------------------------------------------
//  product_asset00
--------------------------------------------------------------------------- */
.product_asset00 .wrap {
  border-bottom: solid 1px #cbd0d1;
  padding: 4rem 0 8rem;
}

@media screen and (max-width:768px) {
  .product_asset00 .wrap {
    padding: 4rem 1.5rem 6rem;
  }
}

/* ---------------------------------------------------------------------------
//  product_asset01
--------------------------------------------------------------------------- */
.product_asset01 .wrap .sec {
  padding-top: 10rem;
}

.product_asset01 .wrap .sec>.ttl {
  color: #0f5896;
  font-size: 3.6rem;
  padding-left: 2rem;
  position: relative;
}

.product_asset01 .wrap .sec>.ttl::before {
  background: linear-gradient(to bottom, rgba(147, 194, 223, 1), rgba(29, 114, 198, 1));
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: .6rem;
}

.product_asset01 .wrap .sec .groups .group {
  margin-top: 7rem;
}

.product_asset01 .wrap .sec .groups .group>.ttl {
  font-size: 2.4rem;
  margin-bottom: 2.4rem;
}

.product_asset01 .wrap .sec .groups .group .items {
  display: flex;
  flex-wrap: wrap;
  gap: 6rem 0;
}

.product_asset01 .wrap .sec .groups .group .items .item {
  align-items: flex-start;
  border-top: solid 1px #cbd0d1;
  display: flex;
  gap: 2rem;
  width: 50%;
}

.product_asset01 .wrap .sec .groups .group .items .item:nth-of-type(even) {
  padding: 3rem 0 3rem 3rem;
}

.product_asset01 .wrap .sec .groups .group .items .item:nth-of-type(odd) {
  border-right: solid 1px #cbd0d1;
  padding: 3rem 3rem 3rem 0;
}

.product_asset01 .wrap .sec .groups .group .items .item .img {
  aspect-ratio: 1/1;
  border-radius: .8rem;
  overflow: hidden;
  width: 20rem;
}

.product_asset01 .wrap .sec .groups .group .items .item .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.product_asset01 .wrap .sec .groups .group .items .item .txt {
  width: calc(100% - 22rem);
}

.product_asset01 .wrap .sec .groups .group .items .item .txt .link {
  align-items: center;
  border-left: 2px solid #606060;
  color: #0f5896;
  display: flex;
  font-weight: 700;
  gap: 1.2rem;
  margin-bottom: 2rem;
  padding-left: 1.2rem;
  text-decoration: underline;
  white-space: nowrap;
}

.product_asset01 .wrap .sec .groups .group .items .item .txt .link::after {
  background-image: url(../img/common/arrow_sky01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.8rem;
  width: 1.8rem;
}

.product_asset01 .wrap .sec .groups .group .items .item .txt .link span {
  position: relative;
  top: -.2rem;
}

.product_asset01 .wrap .sec .groups .group .items .item .txt .link:hover {
  opacity: .7;
}

.product_asset01 .wrap .sec .groups .group .items .item .txt .desc {
  line-height: 1.75;
}

@media screen and (max-width:768px) {
  .product_asset01 .wrap {
    padding: 0 1.5rem;
  }

  .product_asset01 .wrap .sec {
    padding-top: 6rem;
  }

  .product_asset01 .wrap .sec>.ttl {
    font-size: 2rem;
    padding-left: 1.5rem;
  }

  .product_asset01 .wrap .sec>.ttl::before {
    width: .4rem;
  }

  .product_asset01 .wrap .sec .groups .group {
    margin-top: 4rem;
  }

  .product_asset01 .wrap .sec .groups .group>.ttl {
    font-size: 1.8rem;
    margin-bottom: 1.8rem;
  }

  .product_asset01 .wrap .sec .groups .group .items {
    gap: 0;
  }

  .product_asset01 .wrap .sec .groups .group .items .item {
    gap: 1.5rem;
    width: 100%;
  }

  .product_asset01 .wrap .sec .groups .group .items .item:nth-of-type(even) {
    padding: 1.5rem 0;
  }

  .product_asset01 .wrap .sec .groups .group .items .item:nth-of-type(odd) {
    border-right: none;
    padding: 1.5rem 0;
  }

  .product_asset01 .wrap .sec .groups .group .items .item .img {
    border-radius: .4rem;
    width: 10rem;
  }

  .product_asset01 .wrap .sec .groups .group .items .item .txt {
    width: 100%;
  }

  .product_asset01 .wrap .sec .groups .group .items .item .txt .link {
    gap: 1rem;
    margin-bottom: 1rem;
    padding-left: 1rem;
  }

  .product_asset01 .wrap .sec .groups .group .items .item .txt .desc {
    font-size: 1.4rem;
  }
}

/* ---------------------------------------------------------------------------
//  product_asset共通
--------------------------------------------------------------------------- */
/*  */
.product_asset .box {
  margin-bottom: 8rem;
  margin-top: 8rem;
}

@media screen and (max-width:768px) {
  .product_asset .box {
    font-size: 1.4rem;
    margin-bottom: 6rem;
    margin-top: 6rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/*  */
.product_asset .line {
  background: #6da0c2;
  height: 1px;
  margin: 8rem auto;
}

@media screen and (max-width:768px) {
  .product_asset .line {
    margin: 6rem auto;
  }
}

/*  */
.product_asset .margin {
  margin: 2rem 0;
}

.product_asset .margin_t {
  margin: 2rem 0 0;
}

.product_asset .margin_b {
  margin: 0 0 2rem;
}

@media screen and (max-width:768px) {
  .product_asset .margin {
    margin: 1rem 0;
  }

  .product_asset .margin_t {
    margin: 1rem 0 0;
  }

  .product_asset .margin_b {
    margin: 0 0 1rem;
  }
}

/*  */
.product_asset .head01 {
  align-items: center;
  border-bottom: solid 1px #cbd0d1;
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  justify-content: space-between;
  padding-bottom: 4rem;
}

@media screen and (max-width:768px) {
  .product_asset .head01 {
    align-items: stretch;
    flex-direction: column;
    gap: 2rem;
    justify-content: stretch;
    padding-bottom: 2rem;
  }
}

/*  */
.product_asset .ttl00 {
  color: #0f5896;
  font-size: 3.6rem;
  padding-left: 2rem;
  position: relative;
}

.product_asset .ttl00::before {
  background: linear-gradient(to bottom, rgba(147, 194, 223, 1), rgba(29, 114, 198, 1));
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: .6rem;
}

.product_asset .ttl00 small {
  color: #606060;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

@media screen and (max-width:768px) {
  .product_asset .ttl00 {
    font-size: 2rem;
    padding-left: 1.5rem;
  }

  .product_asset .ttl00::before {
    width: .4rem;
  }

  .product_asset .ttl00 small {
    font-size: 1.4rem;
    margin-bottom: .7rem;
  }
}

/*  */
.product_asset .ttl01 {
  font-size: 3.6rem;
  margin-bottom: 2rem;
}

@media screen and (max-width:768px) {
  .product_asset .ttl01 {
    font-size: 2rem;
  }
}

/*  */
.product_asset .ttl02 {
  border-bottom: solid 1px #cbd0d1;
}

.product_asset .ttl02 span {
  border-bottom: solid 1px #6da0c2;
  display: inline-block;
  font-size: 2.4rem;
  padding-bottom: 2rem;
}

@media screen and (max-width:768px) {
  .product_asset .ttl02 span {
    display: inline-block;
    font-size: 1.8rem;
    padding-bottom: 1rem;
  }
}

/*  */
.product_asset .ttl03 {
  border-left: solid 2px #0f5896;
  font-size: 2rem;
  font-weight: 700;
  padding-left: 1.2rem;
}

@media screen and (max-width:768px) {
  .product_asset .ttl03 {
    font-size: 1.6rem;
    padding-left: 1rem;
  }
}

/*  */
.product_asset .ttl04 {
  font-size: 1.8rem;
}

@media screen and (max-width:768px) {
  .product_asset .ttl04 {
    font-size: 1.6rem;
  }
}

/*  */
.product_asset .desc01 {
  line-height: 1.75;
}

/*  */
.product_asset .desc02 {
  font-size: 1.2rem;
  font-weight: 400;
}

/*  */
.product_asset .ul01 li {
  display: flex;
  font-size: 1.6rem;
  line-height: 1.75;
}

.product_asset .ul01 li::before {
  content: '・';
  flex-shrink: 0;
  text-align: center;
  width: 1.6rem;
}

@media screen and (max-width:768px) {
  .product_asset .ul01 li {
    font-size: 1.4rem;
  }

  .product_asset .ul01 li::before {
    width: 1.4rem;
  }
}

/*  */
.product_asset .txt_box {
  background: #fff;
  border-radius: .4rem;
  padding: 3rem;
}

@media screen and (max-width:768px) {
  .product_asset .txt_box {
    border-radius: .2rem;
    padding: 2rem 1rem;
  }
}

/*  */
.product_asset .big_img {
  aspect-ratio: 1089/480;
  border-radius: .8rem;
  overflow: hidden;
}

.product_asset .big_img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

@media screen and (max-width:768px) {
  .product_asset .big_img {
    border-radius: .4rem;
  }
}

/*  */
.product_asset .mid_imgs {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.product_asset .mid_imgs .mid_img {
  aspect-ratio: 1/1;
  border-radius: .8rem;
  overflow: hidden;
  width: calc((100% - 1rem) / 2);
}

.product_asset .mid_imgs img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

@media screen and (max-width:768px) {
  .product_asset .mid_imgs {
    gap: 2rem;
  }

  .product_asset .mid_imgs .mid_img {
    border-radius: .4rem;
    width: 100%;
  }
}

/*  */
.product_asset .center_img {
  margin: 6rem auto 0;
  max-width: 62.3rem;
}

.product_asset .big_img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

/* ページアンカー１ */
.product_asset .links01 {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
  white-space: nowrap;
}

.product_asset .links01 .link {
  align-items: center;
  border: solid 1px #cbd0d1;
  border-radius: 10rem;
  color: #606060;
  display: flex;
  font-size: 1.4rem;
  gap: .4rem;
  padding: .5rem 1.6rem;
}

.product_asset .links01 .link::after {
  background-image: url(../img/quick-intro/arrow_sky01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.4rem;
  width: 1.2rem;
}

.product_asset .links01 .link:hover {
  opacity: .7;
}

@media screen and (max-width:768px) {
  .product_asset .links01 {
    flex-wrap: wrap;
    gap: 1.2rem;
  }

  .product_asset .links01 .link {
    font-size: 1.2rem;
    gap: .2rem;
    justify-content: center;
    /* width: calc((100% - 1.2rem) / 2); */
    padding: .3rem 1rem;
  }

  /* .product_asset .links .link.sp_small span{
       font-size: .8rem;
    } */
  .product_asset .links01 .link::after {
    height: 1.2rem;
  }
}

/* ページアンカー２ */
.product_asset .links02 {
  display: flex;
  flex-wrap: wrap;
}

.product_asset .links02 .link {
  border-bottom: solid 1px #cbd0d1;
  padding: 0 3rem 6rem;
  width: calc((100% - 12rem) / 3 + 3rem);
}

.product_asset .links02 .link:nth-of-type(1),
.product_asset .links02 .link:nth-of-type(4),
.product_asset .links02 .link:nth-of-type(7) {
  padding-left: 0;
}

.product_asset .links02 .link:nth-of-type(3),
.product_asset .links02 .link:nth-of-type(6),
.product_asset .links02 .link:nth-of-type(9) {
  padding-right: 0;
}

.product_asset .links02 .link:nth-of-type(2),
.product_asset .links02 .link:nth-of-type(5),
.product_asset .links02 .link:nth-of-type(8) {
  border-left: solid 1px #cbd0d1;
  border-right: solid 1px #cbd0d1;
  width: calc((100% - 12rem) / 3 + 6rem);
}

.product_asset .links02 .link .img {
  aspect-ratio: 324/220;
  border-radius: .8rem;
  overflow: hidden;
}

.product_asset .links02 .link .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  transition: .2s;
  width: 100%;
}

.product_asset .links02 .link:hover .img img {
  transform: scale(1.1);
}

.product_asset .links02 .link .txt {
  align-items: center;
  display: flex;
  font-size: 2rem;
  gap: 1.2rem;
  margin-top: 2rem;
  text-decoration: underline;
  white-space: nowrap;
}

.product_asset .links02 .link .txt::after {
  background-image: url(../img/common/arrow_sky01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.8rem;
  width: 1.8rem;
}

.product_asset .links02 .link .txt span {
  position: relative;
  top: -.2rem;
}

.product_asset .links02 .link:hover .txt {
  opacity: .7;
}

@media screen and (max-width:768px) {
  .product_asset .links02 {
    gap: 2rem;
  }

  .product_asset .links02 .link {
    padding: 0 0 2rem !important;
    width: 100%;
  }

  .product_asset .links02 .link:nth-of-type(1),
  .product_asset .links02 .link:nth-of-type(4),
  .product_asset .links02 .link:nth-of-type(7) {
    padding-left: 0;
  }

  .product_asset .links02 .link:nth-of-type(3),
  .product_asset .links02 .link:nth-of-type(6),
  .product_asset .links02 .link:nth-of-type(9) {
    padding-right: 0;
  }

  .product_asset .links02 .link:nth-of-type(2),
  .product_asset .links02 .link:nth-of-type(5),
  .product_asset .links02 .link:nth-of-type(8) {
    border-left: none;
    border-right: none;
    width: 100%;
  }

  .product_asset .links02 .link .img {
    border-radius: .4rem;
  }

  .product_asset .links02 .link .txt span {
    position: relative;
    top: -.2rem;
  }

  .product_asset .links02 .link:hover .txt {
    opacity: .7;
  }
}

/* 特徴 */
.product_asset .features {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem;
  margin-top: 2.4rem;
  padding: 1rem;
}

.product_asset .features .feature {
  background: #fff;
  border-radius: .4rem;
  padding: 3rem;
  width: calc((100% - .2rem) / 2);
}

.product_asset .features .feature.full {
  width: 100%;
}

.product_asset .features .feature.flex {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
}

.product_asset .features .feature .ttl {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.6rem;
}

.product_asset .features .feature.flex .ttl {
  width: calc(100% - 68.5rem);
}

.product_asset .features .feature .ttl .num {
  align-items: center;
  background: #6da0c2;
  border-radius: .4rem;
  color: #fff;
  display: flex;
  font-family: Poppins;
  font-size: 1.4rem;
  height: 1.8rem;
  justify-content: center;
  position: relative;
  top: .5rem;
  width: 3rem;
}

.product_asset .features .feature .ttl .bar {
  border-left: 2px solid #606060;
}

.product_asset .features .feature .ttl .txt {
  color: #0f5896;
  font-size: 1.8rem;
  font-weight: 700;
}

.product_asset .features .feature.flex .js-scrollable .img {
  width: 67.5rem;
}

@media screen and (max-width:768px) {
  .product_asset .features {
    border-radius: .4rem;
    margin-top: 1rem;
    padding: 1rem;
  }

  .product_asset .features .feature {
    border-radius: .2rem;
    padding: 2rem 1rem;
    width: 100%;
  }

  .product_asset .features .feature.flex {
    align-items: stretch;
    flex-direction: column;
    gap: 1rem;
  }

  .product_asset .features .feature .ttl {
    gap: .4rem;
    margin-bottom: 1rem;
    width: 100% !important;
  }

  .product_asset .features .feature .ttl .num {
    top: .4rem;
  }

  .product_asset .features .feature .ttl .txt {
    font-size: 1.6rem;
  }
}

/* グレーボックス */
.product_asset .gray_box {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
}

.product_asset .gray_box:has(.txt_box) {
  padding: 1rem;
}

.product_asset .gray_box .ttl02 span {
  padding: 2rem;
}

.product_asset .gray_box .contents {
  padding: 4rem 2rem;
}

.product_asset .gray_box .contents.scroll {
  overflow: auto;
}

.product_asset .gray_box .contents img {
  display: block;
  margin: auto;
}

@media screen and (max-width:768px) {
  .product_asset .gray_box {
    border-radius: .4rem;
  }

  .product_asset .gray_box .ttl02 span {
    padding: 1rem;
  }

  .product_asset .gray_box .contents {
    padding: 2rem 1rem;
  }

  .product_asset .gray_box .contents img {
    max-width: inherit;
  }
}

/* 製品に関するお問い合わせ */
.product_asset .contacts {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  margin-top: 2.4rem;
  padding: 1rem;
}

.product_asset .contacts .contact {
  align-items: center;
  background: #fff;
  border-radius: .4rem;
  display: flex;
  gap: 6rem;
  padding: 1rem;
}

.product_asset .contacts .contact .img {
  aspect-ratio: 262/168;
  border-radius: .8rem;
  overflow: hidden;
  width: 26.2rem;
}

.product_asset .contacts .contact .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.product_asset .contacts .contact .txts {
  width: calc(100% - 32.2rem);
}

.product_asset .contacts .contact .txts dl {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  margin-top: 2.4rem;
}

.product_asset .contacts .contact .txts dl dt {
  border: solid 1px #cbd0d1;
  margin-bottom: 1.2rem;
  padding: .3rem .8rem;
}

.product_asset .contacts .contact .txts dl dd {
  font-family: Poppins;
  font-size: 2.8rem;
}

@media screen and (max-width:768px) {
  .product_asset .contacts {
    border-radius: .4rem;
    margin-top: 1rem;
  }

  .product_asset .contacts .contact {
    border-radius: .2rem;
    display: block;
    padding: 1rem;
  }

  .product_asset .contacts .contact .img {
    border-radius: .2rem;
    width: 100%;
  }

  .product_asset .contacts .contact .txts {
    margin-top: 1rem;
    text-align: center;
    width: 100%;
  }

  .product_asset .contacts .contact .txts dl {
    align-items: center;
    margin-top: 1rem;
  }

  .product_asset .contacts .contact .txts dl dt {
    margin-bottom: 1rem;
    padding: .3rem .8rem;
  }

  .product_asset .contacts .contact .txts dl dd {
    font-family: inherit;
    font-size: 2rem;
  }
}

/* 用途 */
.product_asset .purposes {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem;
  padding: 1rem;
}

.product_asset .purposes .purpose {
  align-items: center;
  background: #fff;
  border-radius: .4rem;
  display: flex;
  /* padding: 3rem; */
  font-size: 1.8rem;
  height: 7.7rem;
  justify-content: center;
  text-align: center;
  width: calc((100% - .2rem) / 2);
}

@media screen and (max-width:768px) {
  .product_asset .purposes {
    border-radius: .4rem;
  }

  .product_asset .purposes .purpose {
    border-radius: .2rem;
    /* padding: 3rem; */
    font-size: 1.6rem;
    height: auto;
    padding: 2rem 1rem;
    width: 100%;
  }
}

/* テーブル１ */
.product_asset .table_ttl {
  align-items: center;
  background: #6da0c2;
  border-radius: .8rem .8rem 0 0;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  justify-content: center;
  padding: 1rem;
  text-align: center;
}

.product_asset .table01 {
  font-size: 1.4rem;
  font-weight: 400;
  width: 100%;
}

.js-scrollable .table01 {
  white-space: nowrap;
}

.product_asset .table01 .left {
  text-align: left;
}

.product_asset .table01 th {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  font-weight: 400;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
}

.product_asset .table01 .head02 th {
  background: #eaf0f2;
  border: solid 1px #cbd0d1;
  font-weight: 400;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
}

.product_asset .table01 td {
  border: solid 1px #cbd0d1;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
}

.product_asset .table01 .pdf {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.product_asset .table01 .pdf.no_pdf {
  pointer-events: none;
}

.product_asset .table01 .pdf::after {
  background-image: url(../img/common/icon_pdf_sky.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 2.4rem;
  width: 2.4rem;
}

.product_asset .table01 .pdf.no_pdf::after {
  opacity: 0;
}

.product_asset .table01 .pdf:hover {
  opacity: .7;
}

@media screen and (max-width:768px) {
  .product_asset .table01 {
    font-size: 1.2rem;
  }

  .product_asset .table01 .pdf {
    font-size: 0;
    gap: 0;
  }

  .product_asset .table01 .pdf::after {
    height: 1.6rem;
    width: 1.6rem;
  }
}

/* 画像並び１ */
.product_asset .flex_imgs {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.product_asset .flex_imgs .img {
  border-radius: .8rem;
  overflow: hidden;
}

.product_asset .flex_imgs .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.product_asset .flex_imgs.col3 .img {
  width: calc((100% - 4rem) / 3);
}

@media screen and (max-width:768px) {
  .product_asset .flex_imgs .img {
    border-radius: .4rem;
  }

  .product_asset .flex_imgs.col3 .img {
    width: 100%;
  }
}

/* カード並び１ */
.product_asset .cards01 {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.product_asset .cards01 .card {
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  overflow: hidden;
  width: calc((100% - 4rem) / 3);
}

.product_asset .cards01 .card .img {
  aspect-ratio: 322/186;
  overflow: hidden;
}

.product_asset .cards01 .card .img img {
  height: 100%;
  max-width: inherit;
  object-fit: cover;
  width: 100%;
}

.product_asset .cards01 .card .ttl {
  background: #f3f3f3;
  display: flex;
  gap: 1rem;
  padding: 1.6rem;
}

.product_asset .cards01 .card .ttl .num {
  align-items: center;
  background: #6da0c2;
  border-radius: .4rem;
  color: #fff;
  display: flex;
  font-family: Poppins;
  font-size: 1.4rem;
  height: 1.8rem;
  justify-content: center;
  position: relative;
  top: .3rem;
  width: 3rem;
}

.product_asset .cards01 .card .ttl .txt {
  font-weight: 700;
}

@media screen and (max-width:768px) {
  .product_asset .cards01 {
    gap: 1rem;
  }

  .product_asset .cards01 .card {
    border-radius: .4rem;
    width: 100%;
  }

  .product_asset .cards01 .card .ttl {
    gap: .4rem;
    padding: 1rem;
  }

  .product_asset .cards01 .card .ttl .num {
    top: .2rem;
  }
}

/* ボタン１ */
.product_asset .btns01 {
  display: flex;
  gap: 1rem;
}

.product_asset .btns01 .btn {
  align-items: center;
  border: solid 1px #cbd0d1;
  display: flex;
  font-size: 1.4rem;
  gap: 1rem;
  justify-content: center;
  padding: 1.3rem 1.8rem;
}

.product_asset .btns01 .btn:hover {
  opacity: .7;
}

.product_asset .btns01 .btn::after {
  background-image: url(../img/common/icon_pdf_blue.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 2.4rem;
  width: 2.4rem;
}

.product_asset .btns01 .btn.blue::after {
  background-image: url(../img/common/icon_pdf_blue.svg);
}

.product_asset .btns01 .btn.green::after {
  background-image: url(../img/common/icon_pdf_green.svg);
}

@media screen and (max-width:768px) {
  .product_asset .btns01 {
    flex-wrap: wrap;
  }

  .product_asset .btns01 .btn {
    padding: 1rem;
    width: 100%;
  }
}

/*  ラインナップ*/
.product_asset .lineup_box {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding: 1rem;
}

.product_asset .white_box {
  background: #fff;
  border-radius: .4rem;
  overflow: hidden;
  padding: 3rem 0 0;
}

.product_asset .white_box .ttl03 {
  margin-left: 3rem;
  margin-right: 3rem;
}

.product_asset .white_box .desc01 {
  font-size: 1.4rem;
  line-height: 1.75;
  padding: 0 3rem 3rem;
}

.product_asset .lineups01 {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 0;
  position: relative;
}

.product_asset .lineups01::after {
  background: #fff;
  bottom: 0;
  content: '';
  height: 2px;
  position: absolute;
  width: 100%;
}

.product_asset .lineups01 .lineup {
  align-items: center;
  border-bottom: solid 2px #f3f3f3;
  display: flex;
  flex-direction: column;
  padding: 3rem;
  text-align: center;
  width: calc(100% / 4);
}

.product_asset .lineups01 .lineup .txt {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2rem;
  height: 4.6rem;
  padding-top: .6rem;
}

.product_asset .lineups01 .lineup .txt small {
  font-size: 1.3rem;
  font-weight: 400;
}

.product_asset .lineups02 {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 0;
  position: relative;
}

.product_asset .lineups02::after {
  background: #fff;
  bottom: 0;
  content: '';
  height: 2px;
  position: absolute;
  width: 100%;
}

.product_asset .lineups02 .lineup {
  align-items: center;
  border-bottom: solid 2px #f3f3f3;
  display: flex;
  flex-direction: column;
  padding: 3rem;
  text-align: center;
  width: calc(100% / 2);
}

.product_asset .lineups02 .lineup .txt {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 2rem;
  height: 4.6rem;
  padding-top: .6rem;
}

.product_asset .lineups02 .lineup .txt small {
  font-size: 1.3rem;
  font-weight: 400;
}

.product_asset .lineups03 {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 1rem;
  padding: 3rem;
  position: relative;
}

.product_asset .lineups03::after {
  background: #fff;
  bottom: 0;
  content: '';
  height: 2px;
  position: absolute;
  width: 100%;
}

.product_asset .lineups03 .lineup {
  width: calc((100% - 4rem) / 5);
}

@media screen and (max-width:768px) {
  .product_asset .lineup_box {
    border-radius: .4rem;
  }

  .product_asset .white_box {
    border-radius: .2rem;
  }

  .product_asset .white_box .ttl03 {
    margin-left: 1rem;
    margin-right: 1rem;
  }

  .product_asset .white_box .desc01 {
    font-size: 1.2rem;
    line-height: 1.75;
    padding: 0 1rem 2rem;
  }

  .product_asset .lineups01 {
    gap: 1rem 0;
  }

  .product_asset .lineups01 .lineup {
    padding: 2rem 1rem;
    width: calc(100% / 2);
  }

  .product_asset .lineups01 .lineup .txt {
    font-size: 1.6rem;
    height: auto;
    padding-top: .4rem;
  }

  .product_asset .lineups01 .lineup .txt small {
    font-size: 1.2rem;
  }

  .product_asset .lineups02 {
    gap: 1rem 0;
  }

  .product_asset .lineups02 .lineup {
    padding: 2rem 1rem;
    width: 100%;
  }

  .product_asset .lineups02 .lineup .txt {
    font-size: 1.6rem;
    height: auto;
    padding-top: .4rem;
  }

  .product_asset .lineups02 .lineup .txt small {
    font-size: 1.2rem;
  }

  .product_asset .lineups03 {
    gap: 1rem;
    padding: 2rem 1rem;
  }

  .product_asset .lineups03 .lineup {
    width: calc((100% - 1rem) / 2);
  }
}

/*  エコマーク*/
.eco_box {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  padding: 1rem;
}

.eco_box .eco {
  background: #fff;
  border-radius: .4rem;
  display: flex;
}

.eco_box .eco .mark {
  align-items: center;
  border-right: solid 1px #cbd0d1;
  display: flex;
  justify-content: center;
  padding: 1rem;
  width: 16rem;
}

.eco_box .eco .mark img {
  width: 7rem;
}

.eco_box .eco dl {
  align-items: center;
  display: flex;
  gap: 4rem;
  padding: 3rem;
  width: calc(100% - 16rem);
}

.eco_box .eco dl dt {
  border-left: 2px solid #606060;
  color: #0f5896;
  font-size: 1.8rem;
  font-weight: 700;
  padding-left: 1.2rem;
}

@media screen and (max-width:768px) {
  .eco_box {
    border-radius: .4rem;
  }

  .eco_box .eco {
    border-radius: .2rem;
  }

  .eco_box .eco .mark {
    width: 9rem;
  }

  .eco_box .eco .mark img {
    width: 7rem;
  }

  .eco_box .eco dl {
    align-items: stretch;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
    width: 100%;
  }

  .eco_box .eco dl dt {
    font-size: 1.6rem;
  }
}

/*  タイプ*/
.product_asset .type_box {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  padding: 2rem;
}

.product_asset .type_box .types {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2rem;
}

.product_asset .type_box .types .type {
  border-radius: .4rem;
  overflow: hidden;
  width: calc((100% - 2rem) / 2);
}

.product_asset .type_box .types .type .txt {
  align-items: center;
  background: #fff;
  display: flex;
  font-size: 1.8rem;
  gap: 1rem;
  padding: 2rem;
}

.product_asset .type_box .types .type .txt small {
  font-size: 1.3rem;
  font-weight: 400;
}

@media screen and (max-width:768px) {
  .product_asset .type_box {
    border-radius: .4rem;
    padding: 1rem;
  }

  .product_asset .type_box .types {
    flex-direction: column;
    gap: 1rem;
  }

  .product_asset .type_box .types .type {
    border-radius: .2rem;
    width: 100%;
  }

  .product_asset .type_box .types .type .txt {
    font-size: 1.6rem;
    padding: 1rem;
  }

  .product_asset .type_box .types .type .txt small {
    font-size: 1.2rem;
  }
}

/*  形状(スーパーガード)*/
.product_asset .shape_box {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  padding: 1rem;
}

.product_asset .shape_box .shapes {
  border-radius: .4rem;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem;
}

.product_asset .shape_box .shapes .shape {
  background: #fff;
  padding: 3rem;
}

.product_asset .shape_box .shapes .shape.big {
  flex-grow: 2;
}

.product_asset .shape_box .shapes .shape.min {
  flex-grow: 0;
}

@media screen and (max-width:768px) {
  .product_asset .shape_box {
    border-radius: .4rem;
  }

  .product_asset .shape_box .shapes {
    border-radius: .2rem;
  }

  .product_asset .shape_box .shapes .shape {
    padding: 1rem;
    text-align: center;
    width: 100%;
  }

  .product_asset .shape_box .shapes .shape img {
    max-width: inherit;
  }

  .product_asset .shape_box .shapes .shape.big {
    flex-grow: 2;
  }

  .product_asset .shape_box .shapes .shape.min {
    flex-grow: 0;
  }
}

/*  フロー*/
.product_asset .flow_box {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  padding: 1rem;
}

.product_asset .flow_box .flows {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.product_asset .flow_box .flows .flow {
  background: #fff;
  border-radius: .4rem;
  display: flex;
  gap: .8rem;
  overflow: hidden;
  padding: 3rem;
}

.product_asset .flow_box .flows .flow .num {
  color: #0f5896;
  font-family: Poppins;
  font-size: 2rem;
  font-weight: 400;
  position: relative;
  top: -.1rem;
}

.product_asset .flow_box .flows .flow .txt strong {
  color: #0f5896;
  font-size: 1.8rem;
  font-weight: 700;
}

.product_asset .flow_box .flows .flow .txt span {
  display: block;
}

.product_asset .flow_box .bottom {
  padding: 3rem;
}

@media screen and (max-width:768px) {
  .product_asset .flow_box .flows .flow {
    border-radius: .2rem;
    gap: .5rem;
    padding: 1rem;
  }

  .product_asset .flow_box .flows .flow .num {
    font-size: 1.6rem;
  }

  .product_asset .flow_box .flows .flow .txt strong {
    font-size: 1.4rem;
  }

  .product_asset .flow_box .flows .flow .txt span {
    display: block;
    font-size: 1.2rem;
  }

  .product_asset .flow_box .bottom {
    padding: 1rem 0;
  }
}

/*  メッセージ*/
.messe_box {
  background: #f3f3f3;
  border: solid 1px #cbd0d1;
  border-radius: .8rem;
  padding: 1rem;
}

.messe_box .messe {
  background: #fff;
  border-radius: .4rem;
  padding: 3rem;
}

.messe_box .messe .sup {
  color: #5ea995;
  display: flex;
  font-size: 1.8rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.75;
  text-align: center;
}

@media screen and (max-width:768px) {
  .messe_box {
    border-radius: .4rem;
  }

  .messe_box .messe {
    border-radius: .2rem;
    padding: 2rem 1rem;
  }

  .messe_box .messe .sup {
    font-size: 1.4rem;
    justify-content: stretch;
    text-align: left;
  }
}

/* ---------------------------------------------------------------------------
//  product_asset02
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
//  PC/SP
--------------------------------------------------------------------------- */
.forSP {
  display: none;
}

@media screen and (max-width:768px) {
  .forSP {
    display: block;
  }

  .forPC {
    display: none;
  }
}