@charset "UTF-8";

/* ==========================================
  /solution CSS
============================================= */


/* index
========================================== */
.solution-index .l-section {
  padding-inline: 0;
}
.solution-index .p-solution-indexList__item {
  opacity: 0;
  transform: translateY(var(--value-40));
  transition: .6s all;
}
.solution-index .p-solution-indexList__item.is-animated {
  opacity: 1;
  transform: translateY(0);
}
.solution-index .p-solution-indexList__item > a {
  position: relative;
}
.solution-index .p-solution-indexList__item > a:before {
  background: rgba(var(--color-black-rgb), 0.3);
  content: "";
  height: 100%;
  opacity: 0;
  position: absolute;
  transition: opacity .4s ease-in-out;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
.solution-index .p-solution-indexList__item:nth-of-type(n+2) {
  margin-top: var(--value-8);
}
.solution-index .p-solution-indexList__item .item-inner {
  margin-inline: auto;
  max-width: 1200px;
  width: 100%;
}
.solution-index .p-solution-indexList__item .text-title,
.solution-index .p-solution-indexList__item .text-information {
  position: relative;
  z-index: 2;
}
.solution-index .p-solution-indexList__item .text-title {
  font-size: var(--fs-36);
  line-height: calc(50 / 36);
}
.solution-index .p-solution-indexList__item .text-information {
  font-family: var(--ff-YuGothic);
  margin-top: var(--value-16);
}
.solution-index .p-solution-indexList__item .image-background img {
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 100%;
  transition: transform 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  z-index: -1;
}
/* PC */
@media screen and (min-width: 769px), print {
  .solution-index .p-solution-indexList__item {
    height: calc(400 / 1440 * 100vw);
    overflow: hidden;
    position: relative;
  }
  .solution-index .p-solution-indexList__item > a {
    color: var(--color-white);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: var(--value-40);
    height: 100%;
    width: 100%;
  }
  .solution-index .p-solution-indexList__item > a:hover:before {
    opacity: 1;
  }
  .solution-index .p-solution-indexList__item .text-title,
  .solution-index .p-solution-indexList__item .text-information {
    text-shadow: 0 0 4px rgba(var(--color-black-rgb), 0.25);
  }
  .solution-index .p-solution-indexList__item > a:hover {
    opacity: 1;
  }
  .solution-index .p-solution-indexList__item > a:hover .image-background img {
    transform: translate(-50%,-50%) scale(1.03);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
  .solution-index .p-solution-indexList__item {
    height: calc(360 / 1240 * 100vw);
  }
}
/* SP */
@media screen and (max-width: 768px) {
  .solution-index .p-solution-indexList {
    margin-bottom: var(--value-40);
  }
  .solution-index .p-solution-indexList__item:nth-of-type(n+2) {
    margin-top: var(--value-32);
  }
  .solution-index .p-solution-indexList__item > a {
    display: block;
  }
  .solution-index .p-solution-indexList__item .image-background {
    height: calc(200 / 375 * 100vw);
    overflow: hidden;
    position: relative;
  }
  .solution-index .p-solution-indexList__item .item-text {
    padding-top: var(--value-12);
    padding-inline: var(--value-18);
  }
  .solution-index .p-solution-indexList__item .text-title {
    font-size: var(--fs-20);
    line-height: calc(26 / 20);
  }
  .solution-index .p-solution-indexList__item .text-information {
    color: #ABAFB5;
    font-size: var(--fs-14);
    line-height: calc(20 / 14);
    margin-top: var(--value-8);
  }
}




/* detail
========================================== */

/* keyvisual */
.solution-detail .p-component-keyvisualBlock__image img {
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 100%;
  width: 100%;
  z-index: -1;
}
.solution-detail .p-component-keyvisualBlock__text {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
}
.solution-detail .p-component-keyvisualBlock h1,
.solution-detail .p-component-keyvisualBlock .text-overview {
  -webkit-animation: fade-tilt 1.5s cubic-bezier(0,.25,1,1) 0.1s both;
          animation: fade-tilt 1.5s cubic-bezier(0,.25,1,1) 0.1s both;
}
@-webkit-keyframes fade-tilt {
  0% {
    opacity: 0;
    -webkit-mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-size: 300% 300%;
            mask-size: 300% 300%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 130% 130%;
            mask-position: 130% 130%;
    mask-position: 130% 130%;
  }
  100% {
    opacity: 1;
    -webkit-mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-size: 300% 300%;
            mask-size: 300% 300%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 130% 130%;
            mask-position: 130% 130%;
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
}
@keyframes fade-tilt {
  0% {
    opacity: 0;
    -webkit-mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-size: 300% 300%;
            mask-size: 300% 300%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 130% 130%;
            mask-position: 130% 130%;
    mask-position: 130% 130%;
  }
  100% {
    opacity: 1;
    -webkit-mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-size: 300% 300%;
            mask-size: 300% 300%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 130% 130%;
            mask-position: 130% 130%;
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
}

.solution-detail .p-component-keyvisualBlock h1 {
  font-size: var(--fs-56);
  line-height: calc(72 / 56);
  margin-top: var(--value-4);
}
.solution-detail .p-component-keyvisualBlock .text-overview {
  font-family: var(--ff-YuGothic);
}
.solution-detail .p-component-keyvisualBlock .tag-category {
  background: rgba(var(--color-white-rgb), 0.6);
  color: var(--color-primary);
  display: inline-block;
  line-height: calc(20 / 16);
  padding: 2px 10px;
}
.solution-detail .p-component-keyvisualBlock .text-information {
  font-size: var(--fs-20);
  line-height: calc(28 / 20);
  margin-top: var(--value-4);
}
/* PC */
@media screen and (min-width: 769px), print {
  .solution-detail .p-component-keyvisualBlock {
    color: var(--color-white);
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    height: calc(551 / 1440 * 100vw);
    overflow: hidden;
    padding-inline: var(--value-80);
    position: relative;
  }
  .solution-detail .p-component-keyvisualBlock__inner {
    margin-inline: auto;
    max-width: 1200px;
    width: 100%;
  }
  .solution-detail .p-component-keyvisualBlock__text {
    margin-right: calc(-1 * var(--value-40));
    padding-bottom: calc(30 / 1440 * 100vw);
  }
}
/* SP */
@media screen and (max-width: 768px) {
  .solution-detail .p-component-keyvisualBlock__image {
    height: calc(200 / 375 * 100vw);
    overflow: hidden;
    position: relative;
  }
  .solution-detail .p-component-keyvisualBlock__text {
	  border-bottom: 1px solid var(--color-gray8);
    margin-inline: var(--value-18);
    padding-top: var(--value-20);
    padding-bottom: var(--value-30);
  }
  .solution-detail .p-component-keyvisualBlock h1 {
    font-size: var(--fs-24);
    line-height: calc(36 / 24);
    margin-top: var(--value-8);
  }
  .solution-detail .p-component-keyvisualBlock .tag-category {
    background: #E6E6E6;
    font-size: var(--fs-10);
    line-height: 1;
    padding: 4px 6px;
  }
  .solution-detail .p-component-keyvisualBlock .text-information {
    font-size: var(--fs-14);
    line-height: calc(20 / 14);
    margin-top: var(--value-8);
  }
}


/* section */
/* PC */
@media screen and (min-width: 769px), print {
  .solution-detail .l-section__inner {
    max-width: 1048px;
  }
}


/* introduction */
.solution-detail .l-section--introduction {
  font-family: var(--ff-YuGothic);
  padding-top: var(--value-40);
  padding-bottom: var(--value-50);
}
.solution-detail .l-section--introduction .p-introduction-explanationBlock {
  background: #F0F0F1;
  margin-top: var(--value-40);
  padding-block: var(--value-32);
  padding-inline: var(--value-60);
}
.solution-detail .l-section--introduction .p-introduction-explanationBlock dl dt {
  font-size: var(--fs-20);
  font-weight: bold;
}
.solution-detail .l-section--introduction .p-introduction-explanationBlock dl dd {
  font-size: var(--fs-14);
  line-height: calc(26 / 14);
  margin-top: var(--value-8);
}
/* SP */
@media screen and (max-width: 768px) {
  .solution-detail .l-section--introduction {
    padding-bottom: var(--value-40);
  }
  .solution-detail .l-section--introduction .l-section__inner > .text-lead {
    font-size: var(--fs-15);
    line-height: calc(30 / 15);
  }
  .solution-detail .l-section--introduction .p-introduction-explanationBlock {
    margin-top: var(--value-40);
    padding: var(--value-20);
  }
  .solution-detail .l-section--introduction .p-introduction-explanationBlock dl dt {
    font-size: var(--fs-16);
  }
  .solution-detail .l-section--introduction .p-introduction-explanationBlock dl dd {
    line-height: calc(24 / 14);
    margin-top: var(--value-12);
  }
}


/* interview */
.solution-detail .l-section--interview {
  padding-top: var(--value-50);
  padding-bottom: var(--value-120);
}
.solution-detail .l-section--interview .p-interview-contentsBlock:nth-of-type(n+2) {
  margin-top: var(--value-160);
}
.solution-detail .l-section--interview .p-interview-contentsBlock > p {
  line-height: calc(32 / 16);
}
.solution-detail .l-section--interview .p-interview-contentsBlock *:not(.p-interview-heading02) {
  font-family: var(--ff-YuGothic);
}
.solution-detail .l-section--interview .p-interview-heading02 {
  font-size: var(--fs-50);
  line-height: calc(60 / 50);
}
.solution-detail .l-section--interview .p-interview-heading02.js-animation-shine {
  background-image: url(/common/images/bg_animation_blue.png);
}
.solution-detail .l-section--interview .p-interview-heading02 + * {
  margin-top: var(--value-52) !important;
}
.solution-detail .l-section--interview .p-interview-heading03 {
  font-size: var(--fs-20);
  line-height: calc(32 / 20);
  font-weight: bold;
  padding-left: var(--value-48);
  position: relative;
}
.solution-detail .l-section--interview .p-interview-heading03:before {
  background: var(--color-primary);
  content: "";
  height: 1px;
  position: absolute;
  left: 0;
  top: 0.8em;
  width: var(--value-32);
}
.solution-detail .l-section--interview .p-interview-heading03 + * {
  margin-top: var(--value-20) !important;
}
.solution-detail .l-section--interview * + .p-interview-heading03 {
  margin-top: var(--value-80);
}
.solution-detail .l-section--interview .p-interview-contentsBlock > * + p,
.solution-detail .l-section--interview .p-interview-contentsBlock .p-interview-flexBlock__text > p + p {
  margin-top: var(--value-32);
}
.solution-detail .l-section--interview .p-interview-contentsBlock .text-note {
  font-size: var(--value-14);
}
.solution-detail .l-section--interview .p-interview-contentsBlock .block-image {
  margin-top: var(--value-40);
}
.solution-detail .l-section--interview .p-interview-contentsBlock .block-image + .block-image {
  margin-top: var(--value-12);
}
.solution-detail .l-section--interview .p-interview-contentsBlock .block-image__caption {
  background: #F0F0F1;
  display: inline-block;
  font-weight: bold;
  line-height: calc(20 / 16);
  margin-bottom: var(--value-8);
  padding: var(--value-6)  var(--value-10);
}
.solution-detail .l-section--interview .p-interview-contentsBlock figure figcaption {
  margin-top: var(--value-8);
}
.solution-detail .l-section--interview .p-interview-contentsBlock .block-message {
  border: 1px solid var(--color-gray7);
  margin-top: var(--value-40);
  padding: var(--value-54) var(--value-60);
}
.solution-detail .l-section--interview .p-interview-contentsBlock h4 {
  font-size: var(--fs-20);
  font-weight: bold;
  line-height: calc(28 / 20);
}
.solution-detail .l-section--interview .p-interview-contentsBlock h4 + * {
  margin-top: var(--value-12);
}
.solution-detail .l-section--interview .p-interview-contentsBlock .block-message__image figcaption {
  line-height: calc(24 / 16);
  margin-top: var(--value-12);
}
.solution-detail .l-section--interview .p-interview-contentsBlock .block-message + * {
  margin-top: var(--value-60);
}
.solution-detail .l-section--interview .p-interview-contentsBlock .block-message__text,
.solution-detail .l-section--interview .p-interview-contentsBlock .p-interview-flexBlock__text {
  line-height: calc(32 / 16);
}
.solution-detail .l-section--interview .p-interview-contentsBlock .block-message__text > p + p {
  margin-top: var(--value-32);
}
.solution-detail.case4 .l-section--interview .block-recycle {
  margin-block: var(--value-120);
}
.solution-detail.case4 .l-section--interview .block-recycle__heading {
  border: 1px solid #5E5F65;
  font-size: var(--fs-20);
  line-height: 1;
  padding: var(--value-16);
  text-align: center;
}
.solution-detail.case4 .l-section--interview .block-recycle__heading + * {
  margin-top: var(--value-20);
}
.solution-detail.case4 .l-section--interview .block-recycle__contents {
  margin-top: var(--value-50);
}
.solution-detail.case4 .l-section--interview .block-recycle__contents_item:nth-of-type(n+2) {
  margin-top: var(--value-100);
}
.solution-detail.case4 .l-section--interview .block-recycle__contents_item .text-heading {
  font-size: var(--fs-20);
  font-weight: bold;
  padding-left: var(--value-24);
  position: relative;
}
.solution-detail.case4 .l-section--interview .block-recycle__contents_item .text-heading:before {
  background: var(--color-gray8);
  content: "";
  height: var(--value-14);
  position: absolute;
  left: 0;
  top: 10px;
  width: var(--value-14);
}
.solution-detail.case4 .l-section--interview .block-recycle__contents_item .text-heading ~ * {
  margin-top: var(--value-12);
}
.solution-detail.case4 .l-section--interview .block-recycle__contents_item .list-note,
.solution-detail.case4 .l-section--interview .block-recycle__contents_item .list-note-order {
  font-size: var(--fs-14);
  line-height: calc(26 / 14);
}
.solution-detail.case4 .l-section--interview .block-recycle__contents_item .list-note li .line-marker {
  background: #D6EDFB;
}
.solution-detail.case4 .l-section--interview .block-recycle__contents_item .list-note-order > li {
  padding-left: 2.6em;
  text-indent: -2.6em;
}
.solution-detail.case4 .l-section--interview .block-recycle__contents_item .list-note-order > li + li {
  margin-top: var(--value-6);
}
/* PC */
@media screen and (min-width: 769px), print {
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-image[data-column-pc="2"],
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-image[data-column-pc="3"] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-image[data-column-pc="2"] > figure {
    width: calc(518 / 1048 * 100%);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-image[data-column-pc="2"] > figure:nth-of-type(n+3) {
    margin-top: var(--value-12);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-image[data-column-pc="3"] > figure {
    width: calc(341.33 / 1048 * 100%);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-message {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-message__text {
    padding-right: var(--value-40);
    width: calc(100% - calc(340 / 926 * 100%));
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-message__image {
    width: calc(340 / 926 * 100%);
  }
  .solution-detail.case5 .l-section--interview .p-interview-contentsBlock .block-message__text {
    width: calc(100% - calc(212 / 926 * 100%));
  }
  .solution-detail.case5 .l-section--interview .p-interview-contentsBlock .block-message__image {
    width: calc(212 / 926 * 100%);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .p-interview-flexBlock {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .p-interview-flexBlock__text {
    padding-right: var(--value-40);
    width: calc(100% - calc(450 / 1048 * 100%));
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .p-interview-flexBlock__image {
    width: calc(450 / 1048 * 100%);
  }

  .solution-detail.case4 .l-section--interview .p-interview-contentsBlock .block-message__text {
    width: calc(100% - calc(408 / 926 * 100%));
  }
  .solution-detail.case4 .l-section--interview .p-interview-contentsBlock .block-message__image {
    margin-top: var(--value-50);
    width: calc(408 / 926 * 100%);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
  .solution-detail.case4 .l-section--interview .block-recycle__contents_item .text-heading:before {
    height: calc(10 / 1240 * 100vw);
  }
}
/* SP */
@media screen and (max-width: 768px) {
  .solution-detail .l-section--interview {
    padding-top: var(--value-40);
    padding-bottom: var(--value-80);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock + .p-interview-contentsBlock {
    margin-top: var(--value-100);
  }
  .solution-detail .l-section--interview .p-interview-heading02 {
    font-size: var(--fs-36);
    line-height: calc(52 / 36);
  }
  .solution-detail .l-section--interview .p-interview-heading02 + * {
    margin-top: var(--value-30) !important;
  }
  .solution-detail .l-section--interview * + .p-interview-heading02 {
    margin-top: var(--value-100);
  }
  .solution-detail .l-section--interview .p-interview-heading03 {
    font-size: var(--fs-16);
    line-height: calc(33 / 16);
  }
  .solution-detail .l-section--interview .p-interview-heading03:before {
    top: 1em;
  }
  .solution-detail .l-section--interview .p-interview-heading03 + * {
    margin-top: var(--value-16) !important;
  }
  .solution-detail .l-section--interview * + .p-interview-heading03 {
    margin-top: var(--value-80);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock > p {
    font-size: var(--fs-15);
    line-height: calc(30 / 15);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-image {
    margin-top: var(--value-30);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-image__caption {
    display: block;
    margin-bottom: var(--value-28);
    text-align: center;
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-image > figure + figure {
    margin-top: var(--value-12);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-message {
    padding: var(--value-24);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock h4 {
    font-size: var(--fs-16);
    line-height: calc(33 / 16);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-message__text p {
    font-size: var(--fs-15);
    line-height: calc(30 / 15);
  }
  .solution-detail .l-section--interview .p-interview-contentsBlock .block-message__image {
    margin-top: var(--value-20);
  }
  .solution-detail.case4 .l-section--interview .block-recycle {
    margin-block: var(--value-60);
  }
  .solution-detail.case4 .l-section--interview .block-recycle__heading {
    font-size: var(--fs-16);
    padding: var(--value-16);
  }
  .solution-detail.case4 .l-section--interview .block-recycle__contents {
    margin-top: var(--value-32);
  }
  .solution-detail.case4 .l-section--interview .block-recycle__contents_item:nth-of-type(n+2) {
    margin-top: var(--value-40);
  }
  .solution-detail.case4 .l-section--interview .block-recycle__contents_item .text-heading {
    font-size: var(--fs-16);
    padding-left: var(--value-20);
  }
  .solution-detail.case4 .l-section--interview .block-recycle__contents_item .text-heading:before {
    height: var(--value-10);
    width: var(--value-10);
  }
  .solution-detail.case5 .l-section--interview .p-interview-contentsBlock .block-message__image {
    margin-inline: auto;
    width: 65%;
  }
}




/* Print
------------------------------------------------------ */
@media print {
  .solution-index .p-solution-indexList__item {
    height: 400px;
    opacity: 1;
    transform: translateY(0);
  }
  .solution-detail .p-component-keyvisualBlock h1,
  .solution-detail .p-component-keyvisualBlock .text-overview {
    animation: none !important;
  }
}