.topCellRevival__wrap, .topProblem__wrap, .keyvisual__wrap, .faqBlock__wrap, .featuresBlock__wrap, .flowBlock__wrap, .cta__wrap, .disease__wrap, .pageContents__wrap, .pageTitle__wrap, .footer__wrap {
    max-width: 78rem;
    margin: 0 ;
    padding-right: 1.5rem;
}
.pageContainer {
  overflow: hidden;
  transition: all 0.5s ease;
}



.keyvisual {
    /* margin-top: 98px; */
    /* height: calc(100vh - 98px); */
    margin: 0px 0 100px 50px;
    margin-top: 168px;
    height: 100vh;
    position: relative;
}
.keyvisual__img {
    width: 48%;
    height: 65%;
    position: absolute;
    right: 0;
    top: 0;
}

.keyvisual__img img{
    height: 100%;
    width: auto;
    object-fit: cover;
    object-position: 13% 0%;
}
.keyvisual__img_cover{
    width: 95%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.keyvisual__img2_cover{
	width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.keyvisual__img2_cover .level-text{
	width: 250px;
	display: flex;
	flex-direction: column;
	position: absolute;
	bottom: 0;
	left: 60%;
}
.bg-white{
    position: absolute;
    z-index: 1;
    background-color: white;
    color: #071844;
	padding: 5px 10px;
}
.bg-blue{
	display: inline-block;
	margin: 5px;
    z-index: 1;
    background-color: #071844;
    color: white;
	padding: 5px 15px;
}
.level-text_ms-4{
	margin-left: 1.7rem;
}
.vertical-text {
    padding: 0px;
    writing-mode: vertical-rl;
    right: 20px;
    top: 20px;
}
.level-text{
	padding: 10px 15px;
    left: 20px;
    bottom: 20px;
}
.keyvisual__text{
    width: 45%;
    height: 40%;
    position: absolute;
    left: 0;
    top: 0;
}
.keyvisual__logo {
    max-width: 5.4375rem;
    width: auto;
    position: absolute;
    right: 0;
    bottom: 0;
}
.keyvisual__logo img {
    max-height: 86.91vh;
    height: auto;
}

.keyvisual__wrap {
    height: 100vh;
    display: flex;
}

.keyvisual__content {
    max-width: 52rem;
    position: relative;
    padding-bottom: 8rem;
}

.keyvisual__title {
    max-width: 52rem;
    margin-bottom: 3.5rem;
    font-size: 1.5rem;
}

.keyvisual__title2{
    margin-top: 3rem;
    margin-bottom: 8rem;
}

.keyvisual__text {
    font-size: 1.5rem;
    line-height: 1.9;
}


.sec01 {
    padding: 50px 0;
    background: #3c3530;
}

.sec_top h2.white {
	color: #fff;
	text-align: center;
	padding-bottom: 20px;
    background: url("/assets/images/h2_white.png")no-repeat center bottom;
}

.reason-card{
	height: 90px;
	background-color: #fff;
	margin-bottom: 20px;
    padding: 10px;
	display: flex;
	align-items: center;
    font-weight: bold;
    color: #071844;
}

.reason-card span{
    font-size: 1.7rem;
    color: #071844;
    margin-right: 10px;
    font-style: italic;
}

.ch-italic {
  transform: skew(-10deg);
}

.scroll {
    width: 5rem;
    padding: 0 2.1875rem;
    position: absolute;
    left: 0;
    bottom: 1.5rem;
}

.scroll__text {
    font-size: 0.9375rem;
    transform: rotate(90deg);
    position: absolute;
    left: 0.5625rem;
    top: -3rem;
}

.scroll__img {
    height: 2.8125rem;
    overflow: hidden;
}

.scroll__icon {
  display: block;
  transform: translateY(-100%);
  animation: scrollDown 1.5s infinite ease-in-out;
}

@keyframes scrollDown {
  0% {
    transform: translateY(-130%);
  }
  100% {
    transform: translateY(130%); /* 往下移动 */
  }
}

.topProblem__text {
  font-size: 1rem;
  text-align: center;
  line-height: 2;
}
@media only screen and (max-width: 660px) {
  .topProblem__text {
    font-size: 0.875rem;
    text-align: left;
  }
}



.container_content{
    margin-left: auto;
    margin-right: auto;
}

h2.headline,.headline_large {
    position: relative;
    padding-top: calc(3rem + 1.25rem);
    margin-bottom: 2.5rem;
    line-height: 1.4;
    text-align: center;
    font-weight: normal;
    color: #333;
    font-size: 38px;
}

h2.headline,.headline_large_en {
    font-size: 88px;
}


.c_qa > dt {
    font-size: 1rem;
    /* font-family: 'Noto Serif JP', serif; */
    padding: 25px 80px 25px 70px;
    position: relative;
    /* border-bottom: #D0CDCD solid 1px; */
    background: linear-gradient(#071844, #071844) no-repeat right 40px center;
    background-size: 24px 2px;
    cursor: pointer;
    transition: all 0.15s ease-out;
}

.c_qa > hr {
    /* border-bottom: #757474 solid 1px; */
    border-bottom: #000000 solid 1px;
}

.c_qa > dt:before, .c_qa > dd:before {
    position: absolute;
    font-family: optima, minerva-modern, sans-serif;
    font-weight: 400;
    line-height: 1;
}

.c_qa > dt:before {
    content: 'Q';
    font-size: 1.6rem;
    color: #071844;
    left: 40px;
    top: 20px;
}

.c_qa > dt:after {
    content: '';
    width: 2px;
    height: 24px;
    background-color: #071844;
    position: absolute;
    right: 51px;
    top: 50%;
    margin-top: -12px;
    transition: all 0.15s ease-out;
}

.c_qa > dt.on:after {
    transform: scaleY(0);
}

.c_qa > dd {
    padding: 0px 25px 0px 70px;
    position: relative;
    /* background-color: #F4F2EA; */
    border-radius: 5px;
    line-height: 1.8;
    color: #555;
    max-height: 0;
    overflow: hidden;
    transition: max-height 1s ease;
    font-weight: bold;
}

.c_qa > dt:before, .c_qa > dd:before {
    position: absolute;
    font-family: optima, minerva-modern, sans-serif;
    font-weight: 400;
    line-height: 1;
}

.c_qa > dd:before {
    content: 'A';
    font-size: 1.6rem;
    color: #A30119;
    left: 40px;
    top: 0px;
}

.margin_t_large{
  margin: 0;
}

.t3{
  font-size: 23px;
}


@media (max-width: 992px) {
.keyvisual__title {
    max-width: 25rem;
    margin-bottom: 3.5rem;
    font-size: 1.2rem;
}
.keyvisual__text {
    font-size: 1.2rem;
    width: 90%;
}
.keyvisual__content{
    padding: 21rem 0rem 1.75rem 2rem
}
.keyvisual__img {
    width: 100%;
    height: 40%;
    margin-top: 400px;
}
.company-name{
    font-size: 1.6rem;
}
.keyvisual {
    margin: 0px;
    margin-top: 108px;
    width: 100vw;
}

.keyvisual__img img{
    height: auto;
    width: 100%;
}

.keyvisual__img2 {
    top: 39%!important;
    left: 0%!important;
    height: 37%!important;
    width: 100%!important;
}

.level-text img{
    width: 285px!important;
}

.vertical-text img{
    width: 67px!important;
}

.sec_top{
    margin-top: 230px;
}

.level-text{
    font-size: 0.9rem;
}

.level-text span{
    font-size: 0.9rem!important;
}

.vertical-text{
    font-size: 0.9rem;
}

.keyvisual__img2_cover .level-text{
    left: 43%;
}

.level-text {
    bottom: 42px;
}

.keyvisual__wrap {
    height: auto;
}
.scroll {
    bottom: 0.5rem;
}
h2.headline,.headline_large {
    font-size: 21px;
}
}

@media (max-width: 450px) {
.keyvisual__content{
    padding: 18rem 0rem 1.75rem 2rem
}
}