@charset "UTF-8";
/* CSS Document */
/*---------------------------------

  見出し

---------------------------------*/
section {
  padding: 10rem 0;
}
figure img {
  max-width: 100%;
  vertical-align: bottom;
}
.title {
  margin-bottom: 7rem;
}
.title ._en {
  color: var(--col-sub);
  font: var(--en);
  letter-spacing: 4px;
  text-transform: uppercase;
}
.title h2 {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1em;
  font-weight: 800;
  letter-spacing: 3px;
  max-width: fit-content;
  max-height: fit-content;
}
.title h2::before {
  content: '';
  background: #ccc;
  flex: 0 0 auto;
  width: 8rem;
  height: 1px;
}
.title._flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  section {
    padding: 6rem 0;
  }
  .title {
    margin-bottom: 4.5rem;
  }
  .title ._en {
    font-size: 7.5rem;
  }
  .title h2::before {
    width: 4rem;
  }
}
@media screen and (max-width: 480px) {
  section {
    padding: 4rem 0;
  }
  .title {
    margin-bottom: 3.5rem;
  }
  .title ._en {
    font-size: 5.5rem;
  }
  .title h2::before {
    width: 3rem;
  }
  .title._flex {
    display: block;
  }
}
/*---------------------------------

  Services

---------------------------------*/
.ServicesBlock {
  background: var(--bg-01);
  color: var(--col-main);
  padding-top: 0;
  overflow: hidden;
}
.ServicesBlock .wrap {
  margin-right: calc(50% - 50vw);
  display: flex;
}
.ServicesBlock .wrap .txtBox {
  flex: 0 0 35%;
  margin-right: 5%;
  padding-top: 20rem;
}
.ServicesBlock .wrap .txtBox .txt h3 {
  font-family: "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  font-size: 3rem;
  font-weight: normal;
  margin-bottom: 2rem;
  text-align: right;
}
.ServicesBlock .wrap .txtBox .txt > p + p {
  margin-top: 1em;
}
.ServicesBlock .wrap .txtBox .txt dl {
  font-size: 1.5rem;
  margin: 1.5rem 0;
}
.ServicesBlock .wrap .txtBox .txt dl dt {}
.ServicesBlock .wrap .txtBox .txt dl dd {}
.ServicesBlock .wrap .txtBox .txt dl dd p {}
.ServicesBlock .wrap .txtBox .txt dl dd p::before {
  content: '-';
  margin-right: .5em;
}
.ServicesBlock .wrap .imgBox {
  flex: 1 1 50rem;
}
@media screen and (max-width: 1024px) {
  .ServicesBlock .l-inner {
    width: 100%;
  }
  .ServicesBlock .wrap {
    display: block;
    margin: 0;
    position: relative;
    padding-bottom: 45rem;
  }
  .ServicesBlock .wrap .txtBox {
    margin: 0;
    max-width: 65rem;
    padding: 0;
    position: absolute;
    left: 5%;
    bottom: 0;
    width: 100%;
  }
  .ServicesBlock .wrap .imgBox {
    max-width: 70rem;
    margin-left: auto;
  }
}
@media screen and (max-width: 896px) {
  .ServicesBlock .wrap {
    display: flex;
    flex-direction: column;
    position: relative;
    padding: 0;
  }
  .ServicesBlock .wrap .txtBox {
    margin: -4.5rem auto 0;
    max-width: none;
    padding: 0 10% 0 0;
    position: inherit;
    left: 0;
    order: 1;
    width: 90%;
    flex: none;
  }
  .ServicesBlock .wrap .imgBox {
    flex: none;
  }
}
@media screen and (max-width: 480px) {
  .ServicesBlock .wrap .txtBox {
    margin: -3rem auto 0;
    padding: 0;
  }
  .ServicesBlock .wrap .txtBox .txt h3 {
    font-size: 2.3rem;
    margin-bottom: 1.5rem;
  }
}
/*---------------------------------

  Product

---------------------------------*/
.ProcessBlock {
  background: var(--bg-02);
  color: var(--col-main);
}
.ProcessBlock .wrap {
  display: flex;
  justify-content: space-between;
}
.ProcessBlock .flowListBox {
  margin: auto;
  width: 90%;
}
.ProcessBlock .flowListBox ol {
  gap: 2rem;
  list-style: none;
}
.ProcessBlock .flowListBox ol li {
  border: 1px solid;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-basis: calc(100%/5 - 2rem);
  padding: 2rem;
  position: relative;
}
.ProcessBlock .flowListBox ol li:not(:last-child)::after {
  content: '';
  background: #333;
  clip-path: polygon(2rem 50%, 0% 0%, 0% 2rem);
  width: 2rem;
  height: 2rem;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -2rem;
}
.ProcessBlock .flowListBox ol li .__ttl {
  font-weight: 600;
  font-size: 1.2em;
  margin-bottom: 1rem;
}
.ProcessBlock .flowListBox ol li .__txt {
  margin-bottom: 3rem;
}
.ProcessBlock .flowListBox ol li figure img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.ProcessBlock .flowListBox ol li:nth-of-type(2) figure {
  margin: auto;
}
@media screen and (max-width: 1024px) {
  .ProcessBlock .wrap {
    flex-wrap: wrap;
  }
  .ProcessBlock .title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-basis: 100%;
    margin-bottom: 2rem;
  }
  .ProcessBlock .flowListBox {
    margin-top: 5rem;
  }
  .ProcessBlock .flowListBox ol {
    justify-content: flex-start;
  }
  .ProcessBlock .flowListBox ol li {
    flex-basis: calc(100%/3 - 2rem);
  }
}
@media screen and (max-width: 896px) {
  .ProcessBlock .flowListBox ol {
    padding-right: 2rem;
  }
  .ProcessBlock .flowListBox ol li {
    flex-direction: row;
    gap: 3rem;
    flex-basis: calc(100%/1);
  }
  .ProcessBlock .flowListBox ol li:not(:last-child)::after {
    clip-path: polygon(50% 2rem, 0% 0%, 2rem 0%);
    top: auto;
    bottom: -2rem;
    right: 0;
    left: 0;
  }
  .ProcessBlock .flowListBox ol li dl {
    flex: 1 1 70%;
  }
  .ProcessBlock .flowListBox ol li .__ttl {}
  .ProcessBlock .flowListBox ol li .__txt {
    margin-bottom: 0;
  }
  .ProcessBlock .flowListBox ol li figure {
    flex-basis: 20rem;
  }
  .ProcessBlock .flowListBox ol li:nth-of-type(2) figure {
    margin: 0;
  }
}
@media screen and (max-width: 480px) {
  .ProcessBlock .title {
    display: block;
    margin-bottom: 1.6rem;
  }
  .ProcessBlock .flowListBox ol {
    padding: 0;
  }
  .ProcessBlock .flowListBox ol li {
    gap: 2rem;
    padding: 1.2rem;
  }
}
/*---------------------------------

  Order

---------------------------------*/
.OrderBlock {
  background: url("../images/bg_order.jpg") no-repeat center/cover;
}
.OrderBlock .b_outer {
  background: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(20px); /* ぼかしエフェクト */
  backdrop-filter: blur(20px);
  border: 1px solid #fff;
  margin: auto;
  width: 90%;
  overflow: hidden;
}
.OrderBlock .l-inner {
  padding: 10rem 0;
}
.OrderBlock .title {
  display: block;
  position: relative;
}
.OrderBlock .title ._en {
  color: #fff;
  text-align: center;
  margin: auto;
}
.OrderBlock .title h2 {
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
}
#Order-slider {}
#Order-slider .splide-wrapper {
  max-width: 50rem;
  margin: auto;
  position: relative;
}
#Order-slider .splide__track {
  overflow: visible;
}
#Order-slider .splide__slide {
  background: #e6e6e6;
  border-radius: 5px;
  color: var(--col-main);
  padding: 7rem 2rem;
}
#Order-slider .splide__slide p.__ttl {
  font-size: 2.7rem;
  font-weight: 800;
  text-align: center;
}
#Order-slider .splide__slide p.__ttl span {
  border-bottom: 2px solid;
}
#Order-slider .splide__slide figure {
  margin: 3rem auto 0;
  width: 100%;
  height: 84px;
}
#Order-slider .splide__slide figure img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
/*---  ページネーション */
#Order-slider .splide__pagination-main {
  display: flex;
  padding-bottom: 6.4rem;
  margin: auto;
  max-width: 70rem;
}
#Order-slider .splide__pagination-main > li {
  flex: 1;
  text-align: center;
  position: relative;
}
#Order-slider .splide__pagination-main .splide__pagination__page {
  background-color: transparent;
  border: none;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1;
  position: relative;
  padding-bottom: 2.4rem;
  cursor: pointer;
  -webkit-transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
  transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
  color: #fff;
}
#Order-slider .splide__pagination-main .splide__pagination__page::before, #Order-slider .splide__pagination-main > li::after {
  position: absolute;
  content: "";
  -webkit-transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
  transition: 0.8s cubic-bezier(0.2, 1, 0.2, 1);
  background-color: var(--col-sub);
}
#Order-slider .splide__pagination-main .splide__pagination__page::before {
  z-index: 1;
  right: 0;
  bottom: -6px;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  margin: auto;
  border-radius: 100px;
  -webkit-box-shadow: 0 0 0 5px #868b8e;
  box-shadow: 0 0 0 5px #868b8e;
}
#Order-slider .splide__pagination-main > li::after {
  right: 50%;
  bottom: 0;
  width: 100%;
  height: 3px;
}
#Order-slider .splide__pagination-main > li:first-child::after {
  display: none;
}
#Order-slider .splide__pagination-main .splide__pagination__page .step {
  font-size: 1.6rem;
}
#Order-slider .splide__pagination-main .splide__pagination__page.is-active {
  color: var(--col-sub);
}
#Order-slider .splide__pagination-main .splide__pagination__page.is-active::before {
  -webkit-box-shadow: 0 0 0 4px #868b8e, 0 0 0 7px var(--col-sub);
  box-shadow: 0 0 0 4px #868b8e, 0 0 0 7px var(--col-sub);
}
/*--- 矢印 */
#Order-slider .splide__arrow--prev, #Order-slider .splide__arrow--next {
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
  cursor: pointer;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6rem;
  height: 6rem;
}
#Order-slider .splide__arrow--prev {
  background-image: url("../images/arr_sl_prev.svg");
  left: 0;
}
#Order-slider .splide__arrow--next {
  background-image: url("../images/arr_sl_next.svg");
  right: 0;
}
#Order-slider .splide__arrows svg {
  display: none;
}
/*---- テキスト */
.OrderBlock .txtBox {
  margin: 7rem 0 0;
  text-align: center;
}
.OrderBlock .txtBox ._txt {
  border-bottom: 1px solid;
  font-size: 1.1em;
  display: inline;
  margin: auto;
  max-width: fit-content;
}
.OrderBlock .txtBox ._txt br {
  display: none;
}
.OrderBlock .txtBox ._address {
  line-height: 2;
  letter-spacing: 0.11em;
  margin-top: 3rem;
}
@media screen and (max-width: 1024px) {
  .OrderBlock .l-inner {
    padding: 7rem 0;
  }
}
@media screen and (max-width: 896px) {
  .OrderBlock .l-inner {
    padding: 5rem 0;
  }
  .OrderBlock .title ._en {
    text-align: left;
  }
  #Order-slider .splide-wrapper {
    max-width: 38rem;
  }
  #Order-slider .splide__slide {
    padding: 5rem 2rem;
  }
  #Order-slider .splide__arrow--prev, #Order-slider .splide__arrow--next {
    width: 5rem;
    height: 5rem;
  }
  #Order-slider .splide__pagination-main {
    max-width: 45rem;
  }
  #Order-slider .splide__pagination-main .splide__pagination__page {
    font-size: 2.2rem;
  }
  #Order-slider .splide__pagination-main .splide__pagination__page .step {
    font-size: 1.4rem;
  }
  .OrderBlock .txtBox {
    margin: 5.5rem 0 0;
  }
  .OrderBlock .txtBox ._txt br {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .OrderBlock .title {
    display: block;
    position: relative;
  }
  .OrderBlock .title h2 {
    margin: 0;
    position: inherit;
    top: auto;
    right: auto;
    bottom: auto;
  }
  #Order-slider .splide__pagination-main {
    padding-bottom: 4.4rem;
  }
  #Order-slider .splide__pagination-main .splide__pagination__page {
    font-size: 1.6rem;
  }
  #Order-slider .splide__pagination-main .splide__pagination__page .step {
    font-size: 1rem;
  }
  .OrderBlock .txtBox {
    margin: 4rem 0 0;
  }
}
@media screen and (max-width: 360px) {
  #Order-slider .splide__arrow--prev, #Order-slider .splide__arrow--next {
    width: 4rem;
    height: 4rem;
  }
  #Order-slider .splide__pagination-main .splide__pagination__page {
    font-size: 1.5rem;
  }
  #Order-slider .splide__pagination-main .splide__pagination__page .step {
    font-size: .8rem;
  }
}
/*---------------------------------

  Product

---------------------------------*/
.ProductBlock {
  background: var(--bg-01);
  color: var(--col-main);
  overflow: hidden;
  padding-bottom: 0;
}
.ProductBlock .pro_main {
  display: flex;
  justify-content: space-between;
  gap: 7rem;
  margin-bottom: 7rem;
}
.ProductBlock .pro_main figure {
  flex-basis: 50%;
}
.ProductBlock .pro_main ._txtBox {
  flex-basis: 45%;
}
.ProductBlock .pro_main ._txtBox p.__ttl {
  font-size: 2.3rem;
  font-weight: 800;
  letter-spacing: 2px;
  margin: 0 0 1.5rem;
}
.ProductBlock .pro_main .__list {
  border-top: 1px solid #ccc;
}
.ProductBlock .pro_main .__list div {
  border-bottom: 1px solid #ccc;
  display: flex;
  gap: 5rem;
  padding: 3rem 0;
}
.ProductBlock .pro_main .__list div dt {
  flex: 0 0 3.5em;
  font-weight: 700;
}
.ProductBlock .pro_main .__list div dd {}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  .ProductBlock .pro_main {
    display: block;
    margin-bottom: 5rem;
  }
  .ProductBlock .pro_main figure {
    flex-basis: auto;
  }
  .ProductBlock .pro_main ._txtBox {
    background: #fff;
    flex-basis: auto;
    max-width: 45rem;
    margin-top: -5rem;
    padding: 3rem;
    position: relative;
    transform: translateX(-5%);
    z-index: 1;
  }
}
@media screen and (max-width: 480px) {}
/*---------------------------------
  slider
---------------------------------*/
.overflow-right__sliderWrap {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
}
#works-slider .splide__slide figure {
  height: 35rem;
}
#works-slider .splide__slide figure img {
  height: 100%;
}
#works-slider .splide__slide ._ttl {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 2.3rem;
  font-weight: 800;
  letter-spacing: 2px;
  margin: 1rem 0 .5rem;
}
#works-slider .splide__slide ._ttl span {
  background: var(--col-main);
  border-radius: .5rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 2px;
  padding: .3rem 1rem;
}
#works-slider .splide__slide ._txt {
  font-size: 1.6rem;
}
#works-slider .splide__arrows {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 5rem;
  max-width: 120rem;
  width: 90%;
}
#works-slider .splide__arrows .pagination {
  font: var(--en);
  font-size: 2rem;
  margin-right: 4rem;
}
#works-slider .splide__arrow--prev, #works-slider .splide__arrow--next {
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
  cursor: pointer;
  z-index: 1;
  width: 6rem;
  height: 6rem;
}
#works-slider .splide__arrow--prev {
  background-image: url("../images/arr_sl_prev.svg");
}
#works-slider .splide__arrow--next {
  background-image: url("../images/arr_sl_next.svg");
}
#works-slider .splide__arrows svg {
  display: none;
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {}
@media screen and (max-width: 480px) {
  #works-slider .splide__slide figure {
    height: 25rem;
  }
}
/*---------------------------------
  movie
---------------------------------*/
.movieBlock {
  margin-top: 12rem;
  padding: 0 5% 10rem;
  position: relative;
}
.movieBlock::after {
  background: var(--bg-02);
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 60%;
  width: 100%;
}
.movieBlock .youtube {
  background: #000;
  margin: auto;
  max-width: 79rem;
  width: 100%;
  aspect-ratio: 16 / 9;
  position: relative;
  z-index: 2;
}
.movieBlock .youtube iframe {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  .movieBlock {
    margin-top: 10rem;
    padding: 0px 5% 7rem;
  }
}
@media screen and (max-width: 480px) {
  .movieBlock {
    margin-top: 6rem;
    padding: 0px 5% 5rem;
  }
}
/*---------------------------------

  FAQ

---------------------------------*/
.FaqBlock {
  background: url("../images/bg_faq.jpg") no-repeat center top/cover;
}
.FaqBlock .wrap {}
.FaqBlock .wrap .ItemBox {
  background: #fff;
  color: var(--col-main);
  margin-bottom: 2rem;
}
.FaqBlock .wrap .ItemBox dt._question {
  cursor: pointer;
  font-size: 2.1rem;
  font-weight: 700;
  padding: 3rem 6.5rem;
  padding-right: 8rem;
  position: relative;
}
.FaqBlock .wrap .ItemBox dt._question p {
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.FaqBlock .wrap .ItemBox dt._question::before {
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  right: 3rem;
  bottom: 0;
  width: 25px;
  height: 1px;
  border-radius: 10px;
  background: var(--col-main);
}
.FaqBlock .wrap .ItemBox dt._question::after {
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  right: 4.2rem;
  bottom: 0;
  width: 1px;
  height: 25px;
  border-radius: 10px;
  background: var(--col-main);
  transition: all 0.3s;
}
.FaqBlock .wrap .ItemBox dt._question.open::before {
  transform: rotate(180deg);
}
.FaqBlock .wrap .ItemBox dt._question.open::after {
  transform: rotate(270deg);
}
.FaqBlock .wrap .ItemBox dd._answer {
  display: none;
  background: #f2f2f2;
  padding: 4rem 6.5rem;
  position: relative;
}
.FaqBlock .wrap .ItemBox dd._answer .__inner {}
.FaqBlock .wrap .ItemBox dd._answer .__inner p {
  line-height: 1.6;
}
.FaqBlock .wrap .ItemBox dd._answer .__inner p + p {
  margin-top: 1rem;
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  .FaqBlock .wrap .ItemBox dt._question {
    font-size: 1.9rem;
    padding: 3rem 3rem;
    padding-right: 8rem;
  }
  .FaqBlock .wrap .ItemBox dd._answer {
    padding: 4rem 3rem;
  }
}
@media screen and (max-width: 480px) {
  .FaqBlock .title {
    margin-bottom: 3rem;
  }
  .FaqBlock .wrap .ItemBox dt._question {
    font-size: 1.6rem;
    padding: 1.5rem;
    padding-right: 3rem;
  }
  .FaqBlock .wrap .ItemBox dt._question::before {
    right: 1.5rem;
    width: 15px;
    height: 2px;
  }
  .FaqBlock .wrap .ItemBox dt._question::after {
    right: 2.2rem;
    width: 2px;
    height: 15px;
  }
  .FaqBlock .wrap .ItemBox dt._question p {}
  .FaqBlock .wrap .ItemBox dd._answer {
    padding: 1.5rem;
    padding-right: 2rem;
  }
  .FaqBlock .wrap .ItemBox dd._answer .__inner {}
}
/*---------------------------------

  news

---------------------------------*/
.NewsBlock {}
.NewsBlock .l-inner {
  background: var(--bg-01);
  max-width: none;
  padding: 12rem;
  padding-right: 0;
}
.NewsBlock .l-inner .wrap {
  display: flex;
  gap: 13rem;
}
.NewsBlock .title {
  color: var(--col-main);
  flex: 0 0 auto;
}
.NewsBlock .infoList {
  flex: 1 1 100%;
}
.NewsBlock .infoList ul {}
.NewsBlock .infoList ul li {
  margin-bottom: 3.5rem;
  position: relative;
}
.NewsBlock .infoList ul li::after {
  background: #ccc;
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(100% - 27rem);
  height: 1px;
}
.NewsBlock .infoList ul li a {
  color: var(--col-main);
  display: flex;
  align-items: center;
  gap: 5rem;
}
.NewsBlock .infoList ul li figure {
  aspect-ratio: 4 / 3;
  background: #ccc;
  flex: 0 0 22rem;
  overflow: hidden;
}
.NewsBlock .infoList ul li figure img {
  object-fit: cover;
  object-position: top center;
  height: 100%;
  width: 100%;
  transition: all .3s;
}
.NewsBlock .infoList ul li a:hover figure img {
  transform: scale(1.1);
}
.NewsBlock .infoList ul li ._txtbox {}
.NewsBlock .infoList ul li ._txtbox time {
  color: #999;
  display: block;
  font-size: .9em;
  margin-bottom: 1rem;
}
.NewsBlock .infoList ul li ._txtbox p {
  font-weight: 700;
}
.NewsBlock .infoList ._more {
  padding: 0 10rem;
  text-align: right;
}
.NewsBlock .infoList ._more a {
  background: url("../images/arr_ye.svg") no-repeat center right 1rem/1.5rem;
  color: var(--col-main);
  display: inline-block;
  padding-right: 3.3rem;
}
.NewsBlock .infoList ._more a span {
  background-image: linear-gradient(#000, #000);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px;
  display: block;
  padding-bottom: .5rem;
  transition: background-size 0.3s;
}
.NewsBlock .infoList ._more a:hover {
  background-position: center right .5rem;
  opacity: 1;
}
.NewsBlock .infoList ._more a:hover span {
  background-position: bottom left;
  background-size: 100% 1px;
}
@media screen and (max-width: 1440px) {
  .NewsBlock .l-inner {
    padding: 10rem;
    padding-right: 0;
  }
  .NewsBlock .l-inner .wrap {
    gap: 10rem;
  }
}
@media screen and (max-width: 1024px) {
  .NewsBlock .l-inner .wrap {
    display: block;
  }
  .NewsBlock .title {
    flex: none;
  }
  .NewsBlock .infoList {
    flex: none;
  }
}
@media screen and (max-width: 896px) {
  .NewsBlock .l-inner {
    padding: 5rem;
    padding-right: 0;
  }
  .NewsBlock .infoList ul li a {
    gap: 4rem;
  }
  .NewsBlock .infoList ul li::after {
    width: calc(100% - 22rem);
  }
  .NewsBlock .infoList ul li figure {
    flex: 0 0 18rem;
  }
  .NewsBlock .infoList ul li ._txtbox {
    padding-right: 3rem;
  }
  .NewsBlock .infoList ._more {
    padding: 0 3rem;
  }
}
@media screen and (max-width: 480px) {
  .NewsBlock .l-inner {
    padding: 2.5rem;
  }
  .NewsBlock .infoList ul li::after {
    content: none;
  }
  .NewsBlock .infoList ul li a {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
  .NewsBlock .infoList ul li figure {
    flex: none;
    flex-basis: 100%;
  }
  .NewsBlock .infoList ul li ._txtbox {
    padding: 0;
  }
  .NewsBlock .infoList ._more {
    padding: 0;
  }
}