@charset "UTF-8";
:root {
  --txtBase: #212029;
  --txtGray: #6c6971;
  --gray: #ccc;
  --lightGray: #f2f2f2;
  --purple: #b06bbe;
  --lightPurple: #f8eafa;
  --red: #e28477;
  --lightRed: #fdefed;
  --blue: #4c86c5;
  --lightBlue: #e7f4fa;
  --gold: #9d7900;
  --lightGold: #fcfcdd;
  --green: #5db15b;
  --lightGreen: #edfded;
  --orange: #e5821c;
  --lightOrange: #fcf5e7;
  --productBorderLightPurple: #eccef0;
  --productBgLightPurple: #fefaff;
  --productBlue: #4580C2;
  --productGray: #484848;
  --productLightGray: #fcfcfc;
  --productBorderGray: #d7d7d7;
}

.pageHeader {
  padding-bottom: 60px;
  border-bottom: 1px solid #6c6971;
  margin-bottom: 100px;
}

.lifelineTitleArea {
  text-align: center;
  margin-bottom: 140px;
}

.lifelineTitle {
  color: #9d7900;
  font-size: 32px;
  letter-spacing: 1.66px;
  line-height: 47px;
  margin-bottom: 40px;
}

.lifelineSubTitle {
  font-size: 15px;
  line-height: 30px;
  letter-spacing: 0.45px;
  font-weight: 300;
}

.singlePageSubTitle {
  font-size: 22px;
  letter-spacing: 1.03px;
  line-height: 33px;
  color: #9d7900;
  margin-bottom: 41px;
  padding: 13px 23px;
  background: #fcfcdd;
  position: relative;
}

.singlePageSubTitle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 2px;
  height: 32px;
  background: #9d7900;
}

.commonTitleYellow {
  color: #9d7900;
}

.commonTitleYellow::before {
  border: 4px solid #9d7900;
}

h3 {
  position: relative;
  font-size: 22px;
  letter-spacing: 1.03px;
  line-height: 33px;
  padding-bottom: 23.5px;
  margin-bottom: 20.5px;
}

h3::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 2px;
  background: #9d7900;
}

h3 > a {
  display: inline-flex;
  align-items: center;
  padding-bottom: 0px;
  border-bottom: 1px solid #212029;
}

h3 > a > img {
  margin-top: -2px;
}

/* lifelineContent1 */
.lifelineContent1 {
  margin-bottom: 131px;
}

.lifelineContent1Wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 45px;
}

.lifelineContent1Wrap > div {
  flex: 1;
  border: 1px solid #9d7900;
  border-radius: 12px;
  padding: 50px 29px 45px 29px;
}

.lifelineContent1BlockTitle {
  font-weight: 400;
  line-height: 34px;
  font-size: 22px;
  letter-spacing: 1.03px;
  color: #9d7900;
  margin-bottom: 18px;
}

.lifelineContent1BlockText {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.7px;
  line-height: 26px;
}

@media screen and (max-width: 1024px) {
  .lifelineContent1Wrap > div {
    flex-basis: calc(50% - 22.5px);
    max-width: calc(50% - 22.5px);
  }
}
/* lifelineContent2 */
.lifelineContent2 {
  margin-bottom: 153px;
}

.lifelineContent2SubText {
  font-size: 20px;
  letter-spacing: 1.2px;
  line-height: 29px;
  margin: 0 auto 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-bottom: 2px solid #9d7900;
  color: #9d7900;
}

.center {
  text-align: center;
}

.lifelineContent2SlideAreaSubText {
  text-align: center;
  font-weight: 300;
  font-size: 15px;
  line-height: 30px;
  letter-spacing: 0.45px;
  margin-bottom: 28px;
}

.lifelineContent2SlideAreaDescription {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9d7900;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 1.08px;
}

.lifelineContent2SlideAreaDescriptionText {
  margin-right: 8px;
}

.lifelineContent2SlideAreaDescription img {
  display: flex;
  align-items: center;
  margin-top: -3px;
  justify-content: center;
  width: 37.33px;
}

/* === [ Start ] === */
.lifelineContent2SlideAreaMain .lifelineContent2Container {
  overflow-y: hidden;
  margin: 0 -45px 0 0;
  width: calc(100% + 45px);
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap {
  overflow-x: scroll;
  overflow-y: hidden;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.3s linear;
  width: 100%;
  position: relative;
  user-select: none;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap::-webkit-scrollbar {
  height: 0;
  width: 0;
  display: none;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap::-webkit-scrollbar-thumb {
  display: none;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap.active {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide {
  display: inline-block;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide:last-child {
  margin-right: 0;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lThumb {
  margin-right: 25px;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lArr {
  margin-top: 38px;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide:last-child .lifelineContent2ContainerSlideImage:last-child .lThumb {
  padding-right: 0;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide:last-child .lifelineContent2ContainerSlideImage:last-child {
  margin-right: 0;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lifelineContent2ContainerSlideItem {
  display: flex;
  padding-bottom: 28px;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lifelineContent2ContainerSlideImage {
  display: flex;
  align-items: center;
  margin-right: 24px;
  width: 550px;
}

.lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lifelineContent2SlideAreaSubText {
  width: 1080px;
}

/* === [ End ] === */
/* lifelineContent3 */
.lifelineContent3 {
  margin-bottom: 147px;
}

.lifelineContent3Main {
  text-align: center;
  max-width: 938px;
  margin: 0 auto 54px;
}

.lifelineContent3SubText {
  font-weight: 300;
  text-align: center;
  font-size: 15px;
  letter-spacing: 0.45px;
  line-height: 30px;
}

/* lifelineContent4 */
.lifelineContent4 {
  margin-bottom: 130px;
}

.lifelineContent4SubText {
  font-weight: 300;
  font-size: 15px;
  letter-spacing: 0.45px;
  line-height: 30px;
  margin-bottom: 74px;
}

.lifelineContent4Main > div:not(:last-child) {
  margin-bottom: 40px;
}

.lifelineContent4MainRow {
  display: flex;
  align-items: center;
}

.lifelineContent4MainRowLeft {
  margin-right: 59px;
  background: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lifelineContent4MainRowLeft img {
  max-width: 201px;
  min-width: 201px;
}

.lifelineContent4MainRowRight {
  margin-top: 6px;
  width: calc(100% - 260px);
}

.lifelineContent4MainRowRightText {
  font-size: 15px;
  letter-spacing: 0.45px;
  line-height: 30px;
  font-weight: 300;
}

.lifelineContent4MainRowRightText .reademoreLink {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0 20px;
  margin-top: 5px;
  border-bottom: solid 1px #b06bbe;
}

.lifelineContent4MainRowRightText .reademoreLink .txt {
  color: #b06bbe;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.45px;
}

.lifelineContent4MainRowRightText .reademoreLink .arrow {
  color: #b06bbe;
  font-size: 14px;
  width: fit-content;
  margin-left: 0;
  display: flex;
  align-items: center;
  gap: 5px;
}

.lifelineContent4MainRowRightText .reademoreLink .arrow::after {
  content: "";
  width: clamp(24px, 4vw, 50px);
  height: 100%;
  margin: 0;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 53.9 10'><path fill='%23B06BBE' d='M44.4,0l9.5,8.2H0V5.8h44.4L44.4,0z'/></svg>") no-repeat center/contain;
}

/* lifelineContent5 */
.lifelineContent5 {
  margin-bottom: 135px;
}

.lifelineContent5SubText {
  font-weight: 300;
  font-size: 15px;
  letter-spacing: 0.45px;
  line-height: 30px;
  margin-bottom: 60px;
}

.lifelineContent5LinkArea {
  display: flex;
  justify-content: center;
  margin-bottom: 80px;
}

/*------------------------------------------
  FCN-LPGバナー
------------------------------------------*/
.lifelineContent5LinkArea_fcn {
  display: block;
  max-width: 428px;
  width: 100%;
  position: relative;
}

.lifelineContent5LinkArea_fcn::before {
  content: "";
  background-color: rgba(33, 32, 41, 0);
  transition: all 0.3s ease-in-out;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
}

.lifelineContent5LinkArea_fcn:hover::before {
  background-color: rgba(33, 32, 41, 0.05);
}

.lifelineContent5LinkArea_fcn img {
  width: 100%;
}

.lifelineContent5LinkArea_fcn {
  font-size: 10px;
}

.bannerLinkText {
  margin-right: 15px;
}

.bannerLinkImg {
  margin-top: -4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bannerLinkImg img {
  width: 14px;
}

.lifelineContent5Main > div:not(:last-child) {
  margin-bottom: 55px;
}

.lifelineContent5MainRow {
  display: flex;
  align-items: center;
}

.lifelineContent5MainRowLeft {
  margin-right: 100px;
  background: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lifelineContent5MainRowLeft img {
  max-width: 380px;
  min-width: 380px;
}

.lifelineContent5MainRowRight {
  width: calc(100% - 480px);
}

.lifelineContent5MainRowRightText {
  font-size: 15px;
  letter-spacing: 0.45px;
  line-height: 30px;
  font-weight: 300;
}

@media screen and (max-width: 1024px) {
  .lifelineContent5MainRowLeft {
    margin-right: 59px;
  }
  .lifelineContent5MainRowLeft img {
    max-width: 201px;
    min-width: 201px;
  }
  .lifelineContent5MainRowRight {
    width: calc(100% - 260px);
  }
}
/* product */
.product {
  padding: 0 0 140px;
}

.productTitle {
  margin-bottom: 30px;
}

.productSubText {
  font-size: 15px;
  letter-spacing: 0.45px;
  line-height: 30px;
  font-weight: 300;
  margin-bottom: 65px;
}

.productWrap {
  display: flex;
  flex-wrap: wrap;
  gap: 35px 45px;
  justify-content: space-between;
}

.productWrap > a,
.productWrap > div {
  display: block;
  width: calc(33% - 26.5px);
}

.productLinkIconArea {
  background: #f2f2f2;
  clip-path: inset(0 0 round 12px 12px 12px 12px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
  position: relative;
  overflow: hidden;
}

.productIllust {
  cursor: pointer;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
  background: #f2f2f2;
  opacity: 1;
}

.productWrap > a:hover .productIllust {
  opacity: 0;
}

.productLinkText {
  font-size: 20px;
  line-height: 26px;
  letter-spacing: 1.2px;
}

.productLinkText span {
  margin-left: 14px;
  color: #3797d3;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.96px;
}

.productArchiveLink {
  text-align: center;
}

@media screen and (max-width: 1200px) {
  .productWrap > a,
  .productWrap > div {
    width: 30%;
  }
}
@media screen and (max-width: 1024px) {
  .productWrap {
    gap: 20px 35px;
  }
  .productWrap > a,
  .productWrap > div {
    width: calc(33% - 25px);
  }
}
/* case */
.caseTitle {
  margin-bottom: 33px;
}

.case {
  padding-bottom: 118px;
}

@media screen and (max-width: 768px) {
  .pageHeader {
    padding-bottom: 47px;
    margin-bottom: 73px;
  }
  .lifelineTitleArea {
    text-align: start;
    margin-bottom: 67px;
  }
  .lifelineTitle {
    font-size: 24px;
    letter-spacing: 1.25px;
    line-height: 34px;
    margin-bottom: 25px;
  }
  .lifelineSubTitle {
    font-size: 12px;
    letter-spacing: 0.29px;
    line-height: 26px;
  }
  .singlePageSubTitle {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0.85px;
    padding: 8px 10px 8px 13px;
    margin-bottom: 40px;
  }
  .singlePageSubTitle::before {
    height: 73%;
  }
  h3 {
    font-size: 18px;
    letter-spacing: 0.85px;
    line-height: 34px;
    padding-bottom: 16px;
    margin-bottom: 16.5px;
  }
  .lifelineContent1 {
    margin-bottom: 72px;
  }
  .lifelineContent1Wrap {
    flex-direction: column;
    gap: 30px;
  }
  .lifelineContent1BlockTitle {
    font-size: 17px;
    letter-spacing: 0.8px;
    line-height: 27px;
    margin-bottom: 18px;
  }
  .lifelineContent1BlockText {
    font-size: 12px;
    letter-spacing: 0.29px;
    line-height: 26px;
  }
  .lifelineContent1Wrap > div {
    max-width: 100%;
    padding: 35px 20px 30px 20px;
  }
  .lifelineContent2 {
    margin-bottom: 68px;
  }
  .lifelineContent2SubText {
    font-size: 16px;
    line-height: 16px;
    letter-spacing: 0.75px;
    margin: 5px auto 38px;
  }
  .lifelineContent2SlideAreaDescription {
    font-size: 14px;
    flex-direction: column;
  }
  .lifelineContent2SlideAreaDescriptionText {
    order: 2;
    letter-spacing: 0.7px;
    font-size: 14px;
  }
  .lifelineContent2SlideAreaDescription img {
    order: 1;
    margin-bottom: 6px;
    width: 31.43px;
  }
  .lifelineContent2SlideAreaMain .lifelineContent2Container {
    margin-right: calc(50% - 50vw);
    width: calc(50% + 50vw);
  }
  .lifelineContent2SlideAreaMain .lifelineContent2Wrap {
    display: flex;
    padding-left: 16px;
  }
  .lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lThumb {
    max-width: 313px;
    height: auto;
    margin-right: 14px;
    padding: 0;
  }
  .lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lifelineContent2ContainerSlideItem {
    padding-bottom: 33px;
  }
  .lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lArr {
    margin-top: 26px;
    width: 13px;
  }
  .lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lifelineContent2SlideAreaSubText {
    font-size: 12px;
    letter-spacing: 0.29px;
    line-height: 26px;
    margin-left: 45px;
    white-space: nowrap;
    width: fit-content;
  }
  .lifelineContent3 {
    margin-bottom: 40px;
  }
  .lifelineContent3Main {
    margin: 0 auto 27px;
  }
  .lifelineContent3SubText {
    font-size: 12px;
    line-height: 26px;
    letter-spacing: 0.29px;
    text-align: start;
  }
  .lifelineContent4 {
    margin-bottom: 65px;
  }
  .lifelineContent4SubText {
    font-size: 12px;
    letter-spacing: 0.29px;
    line-height: 26px;
    margin-top: -3px;
    margin-bottom: 34px;
  }
  .lifelineContent4Main > div:not(:last-child) {
    margin-bottom: 53px;
  }
  .lifelineContent4MainRow {
    flex-direction: column;
  }
  .lifelineContent4MainRowLeft {
    margin: 0 0 29px 0;
    width: 100%;
  }
  .lifelineContent4MainRowLeft img {
    height: auto;
    min-width: 228px;
    width: 228px;
  }
  .lifelineContent4MainRowRight {
    width: 100%;
  }
  .lifelineContent4MainRowRightText {
    font-size: 12px;
    letter-spacing: 0.29px;
    line-height: 26px;
  }
  .lifelineContent4MainRowRightText .reademoreLink .txt {
    font-size: 13px;
  }
  .lifelineContent4MainRowRightText .reademoreLink .arrow {
    font-size: 10px;
  }
  .lifelineContent5 {
    margin-bottom: 68px;
  }
  .lifelineContent5SubText {
    font-size: 12px;
    letter-spacing: 0.29px;
    line-height: 26px;
    margin-top: -4px;
    margin-bottom: 24px;
  }
  .lifelineContent5LinkArea {
    margin-bottom: 60px;
  }
  .lifelineContent5MainRow {
    flex-direction: column;
  }
  .lifelineContent5MainRowRightText {
    font-size: 12px;
    letter-spacing: 0.29px;
    line-height: 26px;
  }
  .lifelineContent5MainRowLeft {
    margin-right: 0px;
    margin-bottom: 23px;
    width: 100%;
  }
  .lifelineContent5MainRowLeft img {
    max-width: 340px;
    min-width: 100%;
  }
  .lifelineContent5MainRowRight {
    width: 100%;
  }
  .productTitle {
    letter-spacing: 1.25px;
    line-height: 34px;
    margin-bottom: 35px;
  }
  .productSubText {
    font-size: 12px;
    letter-spacing: 0.29px;
    line-height: 26px;
    margin-bottom: 54px;
  }
  .product {
    padding: 0 0 25px;
  }
  .productWrap {
    flex-direction: column;
    gap: 40px;
    margin-bottom: 50px;
  }
  .productWrap > a,
  .productWrap > div {
    display: block;
    width: 100%;
  }
  .caseTitle {
    margin-bottom: 40px;
  }
  .lifelineContent2SlideAreaMain .lifelineContent2Wrap .lifelineContent2ContainerSlide .lifelineContent2ContainerSlideImage {
    width: 334px;
  }
}