@charset "UTF-8";
.container {
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
@media only screen and (max-width: 769px) {
  .container {
    padding: 0 15px;
  }
}
.container__ptn1 {
  max-width: 940px;
}
.container.--ptn1 {
  max-width: 1040px;
}

.l-modal {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
}
.l-modal__overlay {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
}
.l-modal__wrap {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.l-modal__item {
  width: 100%;
}
.l-modal__item video {
  width: 100%;
  aspect-ratio: 16/9;
}
.l-modal__close {
  width: 50px;
  height: 50px;
  border: 0;
  background: none;
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  cursor: pointer;
}
.l-modal__close::before, .l-modal__close::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #FFF;
  position: absolute;
  left: 0;
}
.l-modal__close::before {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.l-modal__close::after {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}

.c-title--ptn1 {
  margin: 0 0 50px;
  padding: 0 0 0 35px;
  position: relative;
  text-align: left;
  font-size: 24px !important;
  font-weight: 600;
}
@media only screen and (max-width: 769px) {
  .c-title--ptn1 {
    margin-bottom: 4vw;
  }
}
.c-title--ptn1::before {
  content: "";
  width: 29px;
  height: 21px;
  background: url(../img/product/icon_product.jpg) 50% 50%/100% no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.btn {
  text-decoration: none;
}
.btn__ptn1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 110px;
  padding: 0 30px;
  border-radius: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
  background: linear-gradient(to right, #00a780, #68d480);
  line-height: 1.727;
  text-align: left;
  font-size: 22px;
  font-weight: 600;
  color: #FFF;
}
@media only screen and (max-width: 769px) {
  .btn__ptn1 {
    height: 82.8115px;
  }
}
.btn__more {
  position: relative;
}
.btn__more_wh::after {
  content: "";
  width: 77.028px;
  height: 9.35px;
  background: url(../img/common/icon_more_wh.png) 50% 50% no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}
.btn__map {
  display: inline-block;
  padding-left: 54.873px;
  box-sizing: border-box;
  position: relative;
}
.btn__map::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.btn__map_wh::before {
  width: 42.988px;
  height: 35.848px;
  background: url(../img/common/icon_map_wh.png) 50% 50% no-repeat;
  background-size: 100%;
}
.btn__movie {
  display: inline-block;
  padding-left: 51px;
  box-sizing: border-box;
  position: relative;
}
.btn__movie::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.btn__movie_wh::before {
  width: 39.911px;
  height: 27.937px;
  background: url(../img/common/icon_mov_wh.png) 50% 50% no-repeat;
  background-size: 100%;
}

.list__check {
  margin: 0;
  padding: 0;
  list-style: none;
}
.list__check .list__item {
  margin: 0;
  padding-left: 32.5px;
  position: relative;
}
@media only screen and (max-width: 769px) {
  .list__check .list__item {
    padding-left: 23.6375px;
  }
}
.list__check .list__item + .list__item {
  margin-top: 8px;
}
@media only screen and (max-width: 769px) {
  .list__check .list__item + .list__item {
    margin-top: 5px;
  }
}
.list__check .list__item::before {
  content: "";
  width: 20.277px;
  height: 18.58px;
  background: url(../img/common/icon_check.png) 50% 50% no-repeat;
  background-size: 100%;
  position: absolute;
  top: 5px;
  left: 0;
}
@media only screen and (max-width: 769px) {
  .list__check .list__item::before {
    width: 15.208px;
    height: 13.9355px;
  }
}
.list__diamond {
  margin: 0;
  padding: 0;
  list-style: none;
}
.list__diamond .list__item {
  margin: 0;
  padding-left: 21px;
  position: relative;
}
.list__diamond .list__item + .list__item {
  margin-top: 8px;
}
@media only screen and (max-width: 769px) {
  .list__diamond .list__item + .list__item {
    margin-top: 5px;
  }
}
.list__diamond .list__item::before {
  content: "◆";
  position: absolute;
  top: 0;
  left: 0;
  color: #00a780;
}
.list__ptn1 .list__item {
  line-height: 1.6;
  font-feature-settings: "palt";
  font-size: 20px;
  font-weight: 300;
}
@media only screen and (max-width: 769px) {
  .list__ptn1 .list__item {
    font-size: 15px;
  }
}
.list__ptn2 .list__item {
  line-height: 1.5;
  font-feature-settings: "plat";
  font-size: 16px;
  font-weight: 300;
}
@media only screen and (max-width: 769px) {
  .list__ptn2 .list__item {
    font-size: 12px;
  }
}

.text__color_green1 {
  line-height: inherit;
  font-size: inherit !important;
  color: #00a780;
}

.table__ptn1 {
  width: 100%;
  margin: 0;
  padding: 0;
  border-top: 1px solid #b0b0b1;
  border-collapse: collapse;
}
.table__ptn1 + .table__ptn1 {
  margin-top: 28px;
}
.table__ptn1 .table__caption {
  margin: 0;
  line-height: 1.2;
  text-align: left;
  font-size: 20px;
  font-weight: 600;
}
@media only screen and (max-width: 769px) {
  .table__ptn1 .table__caption {
    font-size: 15px;
  }
}
.table__ptn1 .table__td {
  padding: 6px 0;
  border-bottom: 1px solid #b0b0b1;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.2;
  font-size: 16px;
  font-weight: 400;
}
@media only screen and (max-width: 769px) {
  .table__ptn1 .table__td {
    padding: 4px 0;
    text-align: left;
    font-size: 12px;
  }
}

.home-aside {
  background: #f4f5f7;
}

.home-mv__img {
  display: block;
  background: #f4f5f7;
  text-align: center;
}
.home-mv__img img {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
.home-mv__btn {
  margin-top: 46px;
}

.p-product {
  padding: 0 0 168px;
}
@media only screen and (max-width: 769px) {
  .p-product {
    padding-bottom: 39.4666666667vw;
  }
}
.p-product__block + .p-product__block {
  margin-top: 106.2px;
}
@media only screen and (max-width: 769px) {
  .p-product__block + .p-product__block {
    margin-top: 14.7733333333vw;
  }
}
.p-product__block_lead {
  margin: 0 0 60.9px;
  line-height: 1.875;
  letter-spacing: 0.05em;
  text-align: left;
  font-size: 16px;
  font-weight: 300;
}
@media only screen and (max-width: 769px) {
  .p-product__block_lead {
    margin-bottom: 7.4666666667vw;
    line-height: 1.8666666667;
    font-size: 15px;
  }
}
.p-product__btns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(31px, 3.1vw);
  max-width: 911px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 769px) {
  .p-product__btns {
    gap: 3.04vw;
  }
}
.p-product__btns_item {
  display: block;
}
.p-product__history_title {
  margin: 0 auto 28px;
}
@media only screen and (max-width: 769px) {
  .p-product__history_title {
    display: none;
  }
}
.p-product__history_body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(160px, 16vw);
  position: relative;
}
@media only screen and (max-width: 769px) {
  .p-product__history_body {
    display: block;
    padding-left: 24vw;
  }
}
.p-product__history_body::before {
  content: "";
  width: min(120px, 12vw);
  height: min(1359.5px, 135.95vw);
  background: url(../img/product/history_year.jpg) 50% 50%/100% no-repeat;
  position: absolute;
  top: min(28px, 2.8vw);
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 769px) {
  .p-product__history_body::before {
    width: 21.3333333333vw;
    height: 486.1333333333vw;
    background-image: url(../img/product/history_year-sp.jpg);
    top: 0;
    left: 0;
    transform: translateX(0);
  }
}
.p-product__history_left {
  padding-top: min(84.9px, 8.49vw);
}
.p-product__history_right {
  padding-top: min(426.1px, 42.61vw);
}
.p-product__history_item {
  display: block;
}
@media only screen and (max-width: 769px) {
  .p-product__history_item.is-01 {
    margin-top: 10.6666666667vw;
  }
}
.p-product__history_item.is-02 {
  margin-top: min(151.1px, 15.11vw);
}
@media only screen and (max-width: 769px) {
  .p-product__history_item.is-02 {
    margin-top: 21.6vw;
  }
}
.p-product__history_item.is-03 {
  margin-top: min(135.1px, 13.51vw);
}
@media only screen and (max-width: 769px) {
  .p-product__history_item.is-03 {
    margin-top: 12.2666666667vw;
  }
}
.p-product__history_item.is-04 {
  margin-top: min(107px, 10.7vw);
}
@media only screen and (max-width: 769px) {
  .p-product__history_item.is-04 {
    margin-top: 23.2vw;
  }
}
.p-product__history_item.is-05 {
  margin-top: min(213.5px, 21.35vw);
}
@media only screen and (max-width: 769px) {
  .p-product__history_item.is-05 {
    margin-top: 24.8vw;
  }
}
@media only screen and (max-width: 769px) {
  .p-product__history_item.is-06 {
    margin-top: 14.1333333333vw;
  }
}
.p-product__history_item.is-07 {
  margin-top: min(473.5px, 47.35vw);
}
@media only screen and (max-width: 769px) {
  .p-product__history_item.is-07 {
    margin-top: 26.4vw;
  }
}

.vifa__ttl {
  display: inline-block;
  padding: 0 0 30px;
  position: relative;
  line-height: 1.222;
  font-feature-settings: "palt";
  font-size: 36px !important;
  font-weight: 200;
}
.vifa__ttl::after {
  content: "";
  width: 28.347px;
  height: 14.644px;
  background: url(../img/product/imovifa/icon_vifa.png) 50% 50% no-repeat;
  background-size: 100%;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
@media only screen and (max-width: 769px) {
  .vifa__ttl {
    padding: 0 0 21.5px;
    font-size: 27px !important;
  }
  .vifa__ttl::after {
    width: 21.26px;
    height: 10.983px;
  }
}
.vifa__ttl_ptn2 {
  margin-bottom: 40px;
}

.vifa-mv {
  margin-top: -189px;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 769px) {
  .vifa-mv {
    margin-top: calc(-3vw - 53px);
  }
}
.vifa-mv__img {
  background: linear-gradient(to right, #FFF, #f4f5f7);
}
.vifa-mv__img img {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.vifa-feature {
  padding: 68.39px 0 0;
}
.vifa-feature__block {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 801.5px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__block {
    flex-direction: column;
  }
}
.vifa-feature__block_ttl {
  width: 21.84769%;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__block_ttl {
    width: auto;
    margin: 0 auto 32px;
  }
}
.vifa-feature__block_cont {
  width: 78.15231%;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__block_cont {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
  }
}
.vifa-feature__block_list {
  display: grid;
  grid-template-columns: 40% 1fr;
  -moz-column-gap: 31px;
       column-gap: 31px;
  row-gap: 8px;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__block_list {
    display: block;
  }
}
.vifa-feature__block_list .list__item + .list__item {
  margin: 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__block_list .list__item + .list__item {
    margin-top: 5px;
  }
}
.vifa-feature__block_list .list__item:first-child {
  grid-column: 1/2;
  grid-row: 1/2;
}
.vifa-feature__block_list .list__item:nth-child(2) {
  grid-column: 1/2;
  grid-row: 2/3;
}
.vifa-feature__block_list .list__item:nth-child(3) {
  grid-column: 1/2;
  grid-row: 3/4;
}
.vifa-feature__block_list .list__item:nth-child(4) {
  grid-column: 2/3;
  grid-row: 1/2;
}
.vifa-feature__block_list .list__item:nth-child(5) {
  grid-column: 2/3;
  grid-row: 2/3;
}
.vifa-feature__block_list .list__item:nth-child(6) {
  grid-column: 2/3;
  grid-row: 3/4;
}
.vifa-feature__ttl {
  display: grid;
  grid-template-columns: 40% 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  max-width: 820px;
  width: 100%;
  margin: 74.85px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 40px;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
@media only screen and (max-width: 769px) {
  .vifa-feature__ttl_img {
    width: 66.6%;
    margin: 0 auto;
    order: 2;
  }
}
.vifa-feature__ttl_text {
  align-self: center;
  text-align: right;
  line-height: 1;
  font-feature-settings: "plat";
  font-size: 34px !important;
  font-weight: 200;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__ttl_text {
    margin: 0 auto 19px;
    order: 1;
    font-size: 27px !important;
  }
}
.vifa-feature__release {
  display: grid;
  grid-template-columns: 47.98% 1fr;
  -moz-column-gap: 50px;
       column-gap: 50px;
  max-width: 1040px;
  width: 100%;
  margin: 78px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__release {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
@media only screen and (max-width: 769px) {
  .vifa-feature__release_img {
    order: 2;
  }
}
@media only screen and (max-width: 769px) {
  .vifa-feature__release_cont {
    margin: 0 0 22px;
    order: 1;
  }
}
.vifa-feature__release_list {
  text-align: left;
}
.vifa-feature__darkroom {
  display: grid;
  grid-template-columns: 1fr 58.469%;
  -moz-column-gap: 48px;
       column-gap: 48px;
  max-width: 935px;
  width: 100%;
  margin: 72px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__darkroom {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.vifa-feature__darkroom_cont {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__darkroom_cont {
    display: block;
    margin: 0 0 22px;
    order: 1;
  }
}
@media only screen and (max-width: 769px) {
  .vifa-feature__darkroom_img {
    order: 2;
  }
}
.vifa-feature__coexist {
  display: grid;
  grid-template-columns: 50.7626% 1fr;
  -moz-column-gap: 33.5px;
       column-gap: 33.5px;
  max-width: 990px;
  width: 100%;
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__coexist {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.vifa-feature__coexist_img {
  align-self: center;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__coexist_img {
    order: 2;
  }
}
.vifa-feature__coexist_cont {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__coexist_cont {
    display: block;
    margin: 0 0 22px;
    order: 1;
  }
}
.vifa-feature__exmode {
  display: grid;
  grid-template-columns: 1fr 47.4363%;
  -moz-column-gap: 41px;
       column-gap: 41px;
  max-width: 990px;
  width: 100%;
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__exmode {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.vifa-feature__exmode_cont {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__exmode_cont {
    margin: 0 0 22px;
    order: 1;
  }
}
@media only screen and (max-width: 769px) {
  .vifa-feature__exmode_img {
    order: 2;
  }
}
.vifa-feature__24plus {
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__24plus {
    margin: 40px auto 0;
  }
}
.vifa-feature__24plus_block {
  display: grid;
  grid-template-columns: 55.09% 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__24plus_block {
    display: flex;
    flex-direction: column;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.vifa-feature__24plus_cont {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__24plus_cont {
    display: block;
    margin: 0 0 22px;
    order: 1;
  }
}
@media only screen and (max-width: 769px) {
  .vifa-feature__24plus_img {
    order: 2;
  }
}
.vifa-feature__ui {
  display: grid;
  grid-template-columns: 1fr 67.84%;
  -moz-column-gap: 37.7px;
       column-gap: 37.7px;
  max-width: 1000px;
  width: 100%;
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__ui {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.vifa-feature__ui_cont {
  align-self: center;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__ui_cont {
    margin: 0 0 22px;
  }
}
.vifa-feature__dataviewer {
  display: grid;
  grid-template-columns: 68.75% 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  max-width: 1200px;
  width: 100%;
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__dataviewer {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.vifa-feature__dataviewer_cont {
  align-self: center;
  text-align: left;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__dataviewer_cont {
    margin: 0 0 22px;
    order: 1;
    text-align: center;
  }
}
@media only screen and (max-width: 769px) {
  .vifa-feature__dataviewer_img {
    order: 2;
  }
}
.vifa-feature__result {
  display: grid;
  grid-template-columns: 1fr 59.88%;
  -moz-column-gap: 97px;
       column-gap: 97px;
  max-width: 845px;
  width: 100%;
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__result {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.vifa-feature__result_cont {
  align-self: center;
  margin: 0 auto;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__result_cont {
    margin: 0 0 22px;
  }
}
.vifa-feature__contrast {
  display: grid;
  grid-template-columns: 59.88% 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  max-width: 1077px;
  width: 100%;
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__contrast {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.vifa-feature__contrast_cont {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__contrast_cont {
    display: block;
    margin: 0 0 22px;
    order: 1;
  }
}
@media only screen and (max-width: 769px) {
  .vifa-feature__contrast_img {
    order: 2;
  }
}
.vifa-feature__cont-result {
  display: grid;
  grid-template-columns: 1fr 58%;
  -moz-column-gap: 42px;
       column-gap: 42px;
  max-width: 903px;
  width: 100%;
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__cont-result {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
  }
}
.vifa-feature__cont-result_cont {
  align-self: center;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__cont-result_cont {
    margin: 0 0 22px;
  }
}
.vifa-feature__appearance {
  display: grid;
  grid-template-columns: 61.4615% 1fr;
  -moz-column-gap: 120px;
       column-gap: 120px;
  max-width: 1200px;
  width: 100%;
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__appearance {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
  }
}
.vifa-feature__appearance_img {
  position: relative;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__appearance_img {
    order: 2;
  }
}
.vifa-feature__appearance_img::before {
  content: "";
  width: calc((100vw - 1200px) / 2);
  height: 100%;
  background: #ededec;
  position: absolute;
  top: 0;
  left: calc((1200px - 100vw) / 2);
}
@media only screen and (max-width: 769px) {
  .vifa-feature__appearance_img::before {
    display: none;
  }
}
.vifa-feature__appearance_cont {
  align-self: center;
  text-align: left;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__appearance_cont {
    margin: 0 0 22px;
    padding: 0 15px;
    box-sizing: border-box;
    order: 1;
    text-align: center;
  }
}
.vifa-feature__records {
  display: grid;
  grid-template-columns: 1fr 68.79%;
  -moz-column-gap: 23.5px;
       column-gap: 23.5px;
  max-width: 1200px;
  width: 100%;
  margin: 74px auto 0;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__records {
    display: flex;
    flex-direction: column;
    margin: 40px auto 0;
  }
}
.vifa-feature__records_img {
  position: relative;
}
.vifa-feature__records_img::after {
  content: "";
  width: calc((100vw - 1200px) / 2);
  height: 100%;
  background: #bad1e7;
  position: absolute;
  top: 0;
  right: calc((1200px - 100vw) / 2);
}
@media only screen and (max-width: 769px) {
  .vifa-feature__records_img::after {
    display: none;
  }
}
.vifa-feature__records_cont {
  align-self: center;
  text-align: right;
}
@media only screen and (max-width: 769px) {
  .vifa-feature__records_cont {
    margin: 0 0 22px;
    padding: 0 15px;
    box-sizing: border-box;
    text-align: center;
  }
}

.vifa-spec {
  padding: 74px 0 108px;
}
@media only screen and (max-width: 769px) {
  .vifa-spec {
    padding: 50px 0 55px;
  }
}
.vifa-spec__table {
  max-width: 795px;
  width: 100%;
  margin: 0 auto;
}

.p-handbook__container {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
@media only screen and (max-width: 769px) {
  .p-handbook__container {
    padding: 0 15px;
  }
}
.p-handbook__head {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: min(8%, 80px);
  margin: 0 auto 76.7px;
}
@media only screen and (max-width: 769px) {
  .p-handbook__head {
    display: flex;
    flex-direction: column;
    gap: 21.2px;
  }
}
.p-handbook__head_content {
  text-align: left;
}
.p-handbook__head_title {
  margin: 0 0 27.1px;
  padding: 0 0 9.2px;
  border-bottom: 1px solid #000;
  line-height: 1.4;
  font-size: 20px !important;
  font-weight: 600;
  color: #00A780;
}
@media only screen and (max-width: 769px) {
  .p-handbook__head_title {
    margin-bottom: 22px;
    padding-bottom: 5.7px;
    font-size: 18px !important;
  }
}
.p-handbook__head_caption {
  line-height: 1.875;
  letter-spacing: 0.05em;
  font-size: 16px;
  font-weight: 300;
}
@media only screen and (max-width: 769px) {
  .p-handbook__head_caption {
    line-height: 1.6153846154;
    font-size: 13px;
  }
}
@media only screen and (max-width: 769px) {
  .p-handbook__head_image {
    width: min(48%, 180px);
    margin: 0 auto;
  }
}
.p-handbook__body_list {
  display: none;
}
@media only screen and (max-width: 769px) {
  .p-handbook__body_list {
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 3rem;
    margin: 0 auto 67px;
  }
}
.p-handbook__body_item {
  border-width: 0 0 2px 0;
  border-style: solid;
  line-height: 1.4;
  letter-spacing: 0.02em;
  font-size: 18px;
}
.p-handbook__body_item:first-child {
  border-color: #5F9CD5;
}
.p-handbook__body_item:nth-child(2) {
  border-color: #80C6A0;
}
.p-handbook__body_item:nth-child(3) {
  border-color: #F4AEA9;
}
.p-handbook__body_link {
  display: block;
  padding: 0 23px 4.2px;
  box-sizing: border-box;
  text-decoration: none;
  color: #383838;
}
.p-handbook__block {
  margin: 0 auto;
}
.p-handbook__block + .p-handbook__block {
  margin-top: 66px;
}
@media only screen and (max-width: 769px) {
  .p-handbook__block + .p-handbook__block {
    margin-top: 34px;
  }
}
.p-handbook__block_title {
  margin: 0 0 9.1px;
  padding: 0 0 3.2px 17px;
  border-width: 0 0 2px 4px;
  border-style: solid;
  box-sizing: border-box;
  line-height: 1.3636363636;
  letter-spacing: 0.2em;
  text-align: left;
  font-size: 22px !important;
  font-weight: 600;
}
@media only screen and (max-width: 769px) {
  .p-handbook__block_title {
    margin-bottom: 12.1px;
  }
}
.p-handbook__block_title.explanation {
  border-color: #5F9CD5;
}
.p-handbook__block_title.case {
  border-color: #80C6A0;
}
.p-handbook__block_title.research {
  border-color: #F4AEA9;
}
.p-handbook__box {
  display: grid;
  grid-template-columns: min(39%, 390px) 1fr;
  margin: 0 auto;
  padding: 14.2px 0;
  border-bottom: 1px solid #ADADAD;
  box-sizing: border-box;
  text-align: left;
}
@media only screen and (max-width: 769px) {
  .p-handbook__box {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 15.2px 0;
  }
}
.p-handbook__box.first, .p-handbook__box.last {
  border-bottom: 0;
}
.p-handbook__box.first {
  margin-bottom: 29.8px;
}
@media only screen and (max-width: 769px) {
  .p-handbook__box.first {
    margin-bottom: 32px;
  }
}
.p-handbook__box.last {
  margin-top: 48.8px;
}
@media only screen and (max-width: 769px) {
  .p-handbook__box.last {
    margin-top: 61px;
  }
}
.p-handbook__box_title {
  display: grid;
  grid-template-columns: min(9.7435897436%, 38px) 1fr;
  line-height: 1.375;
  letter-spacing: 0.05em;
  font-size: 16px;
  font-weight: 600;
}
@media only screen and (max-width: 769px) {
  .p-handbook__box_title {
    grid-template-columns: min(10.985915493%, 39px) 1fr;
    line-height: 1.4615384615;
    font-size: 13px;
  }
}
.p-handbook__box_title span {
  display: inline-block;
  padding-left: 8px;
  box-sizing: border-box;
}
@media only screen and (max-width: 769px) {
  .p-handbook__box_title span {
    padding-left: 10px;
  }
}
.p-handbook__box_link {
  display: inline-block;
  padding-left: 25px;
  box-sizing: border-box;
  position: relative;
  color: #00A780;
}
.p-handbook__box_link::before {
  content: "";
  width: 18px;
  height: 17.96px;
  background: url(../img/handbook/icon-pdf.jpg) 50% 50%/100% no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}
.p-handbook__box_content {
  margin: 0;
}
@media only screen and (max-width: 769px) {
  .p-handbook__box_content {
    padding-left: min(18.0281690141%, 64px);
  }
}

.p-md__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 min(40px, 2.8571428571vw);
}
@media only screen and (max-width: 769px) {
  .p-md__list {
    grid-template-columns: 100%;
    gap: min(20px, 5.3333333333vw);
  }
}
.p-md__list_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  padding: min(28.2px, 2.0142857143vw) min(20px, 1.4285714286vw) min(27.4px, 1.9571428571vw);
  border-radius: 20px;
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
  background: #FFF;
  cursor: pointer;
}
@media only screen and (max-width: 769px) {
  .p-md__list_item {
    display: flex;
    flex-direction: column;
    padding: 8.32vw 5.3333333333vw 7.3066666667vw;
  }
}
.p-md__list_title {
  margin: 0 auto 25.3px;
  line-height: 1.5;
  font-size: 20px !important;
  font-weight: 600;
  color: #78C3A0;
}
@media only screen and (max-width: 769px) {
  .p-md__list_title {
    margin-bottom: 4.7466666667vw;
    font-size: 4.8vw !important;
  }
}
.p-md__list_image {
  margin: 0 auto 23.7px;
}
@media only screen and (max-width: 769px) {
  .p-md__list_image {
    margin-bottom: 6.1066666667vw;
  }
  .p-md__list_image img {
    max-width: 69.3333333333vw;
    width: 100%;
    margin: 0 auto;
  }
}
.p-md__list_caption {
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  text-align: left;
  font-size: 15px !important;
  font-weight: 300;
}
@media only screen and (max-width: 769px) {
  .p-md__list_caption {
    line-height: 1.7142857143;
    font-size: 3.7333333333vw;
  }
}
.p-md__list_btn {
  margin: 20px auto 0;
}
@media only screen and (max-width: 769px) {
  .p-md__list_btn {
    margin-top: 5.1733333333vw;
  }
}
.p-md__list_detail {
  display: inline-block;
  padding-right: 23.4px;
  position: relative;
  line-height: 1.4;
  font-size: 12px !important;
  font-weight: 300;
}
@media only screen and (max-width: 769px) {
  .p-md__list_detail {
    padding-right: 6.24vw;
    font-size: 3.2vw !important;
  }
}
.p-md__list_detail::after {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  background: url(../img/common/arrow-detail-ptn1.svg) 50% 50%/100% no-repeat;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 769px) {
  .p-md__list_detail::after {
    width: 4.2666666667vw;
  }
}

.p-publication-book {
  margin-top: 30px;
}
@media only screen and (max-width: 769px) {
  .p-publication-book {
    margin-top: 8vw;
  }
}
.p-publication__block_title {
  padding-right: 50px;
  box-sizing: border-box;
  position: relative;
}
@media only screen and (max-width: 769px) {
  .p-publication__block_title {
    padding-right: 13.3333333333vw;
  }
}
.p-publication__block_title::before, .p-publication__block_title::after {
  content: "";
  width: 20px;
  height: 2px;
  background: #00A780;
  position: absolute;
  top: 50%;
  right: 4px;
  translate: 0 -50%;
  transition: 0.3s rotate, 0.3s opacity;
}
@media only screen and (max-width: 769px) {
  .p-publication__block_title::before, .p-publication__block_title::after {
    width: 3.2vw;
    right: 1.0666666667vw;
  }
}
.p-publication__block_title::after {
  rotate: 90deg;
}
.p-publication__block_title.is-open::after {
  rotate: 0;
  opacity: 0;
}
.p-publication__block_body {
  display: none;
  padding: 30px 0 0;
}
@media only screen and (max-width: 769px) {
  .p-publication__block_body {
    padding-top: 8vw;
  }
}
.p-publication__block_body.is-show {
  display: block;
}
.p-publication__box {
  padding: 0 20px;
  box-sizing: border-box;
}
@media only screen and (max-width: 769px) {
  .p-publication__box {
    padding: 0;
  }
}
.p-publication__box + .p-publication__box {
  margin-top: 50px;
}
@media only screen and (max-width: 769px) {
  .p-publication__box + .p-publication__box {
    margin-top: 13.3333333333vw;
  }
}
.p-publication__box_title {
  padding-right: 50px;
  box-sizing: border-box;
  position: relative;
  color: #808080;
}
@media only screen and (max-width: 769px) {
  .p-publication__box_title {
    padding-right: 13.3333333333vw;
  }
}
.p-publication__box_title::before, .p-publication__box_title::after {
  content: "";
  width: 20px;
  height: 2px;
  background: #00A780;
  position: absolute;
  top: 50%;
  right: 4px;
  translate: 0 -50%;
  transition: 0.3s rotate, 0.3s opacity;
}
@media only screen and (max-width: 769px) {
  .p-publication__box_title::before, .p-publication__box_title::after {
    width: 3.2vw;
    right: 1.0666666667vw;
  }
}
.p-publication__box_title::after {
  rotate: 90deg;
}
.p-publication__box_title.is-open::after {
  rotate: 0;
  opacity: 0;
}
.p-publication__box_body {
  display: none;
  padding: 30px 0 20px;
  box-sizing: border-box;
}
@media only screen and (max-width: 769px) {
  .p-publication__box_body {
    padding: 8vw 0 5.3333333333vw;
  }
}
.p-publication__box_body.is-show {
  display: block;
}
.p-publication__paper_list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media only screen and (max-width: 769px) {
  .p-publication__paper_list {
    gap: 8vw;
  }
}
.p-publication__paper_list li a {
  color: #0084ff;
}
.p-publication__book_list {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media only screen and (max-width: 769px) {
  .p-publication__book_list {
    gap: 13.3333333333vw;
  }
}
.p-publication__book_item {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 0 120px 0 20px;
  box-sizing: border-box;
  position: relative;
  color: #383838;
}
@media only screen and (max-width: 769px) {
  .p-publication__book_item {
    align-items: flex-start;
    gap: 10.6666666667vw;
    padding: 0;
  }
}
.p-publication__book_item::after {
  content: "";
  width: 75.7px;
  height: 14px;
  background: url(../img/publication/publication-arrow.svg) 50% 50%/100% no-repeat;
  position: absolute;
  top: 50%;
  right: 20px;
  translate: 0 -50%;
}
@media only screen and (max-width: 769px) {
  .p-publication__book_item::after {
    width: 20.1866666667vw;
    height: 3.7333333333vw;
    top: calc(100% + 2.6666666667vw);
    right: 0;
    translate: 0 0;
  }
}
.p-publication__book_image {
  display: block;
  width: 104px;
}
@media only screen and (max-width: 769px) {
  .p-publication__book_image {
    width: 14.944vw;
  }
}
.p-publication__book_title {
  width: calc(100% - 104px - 40px);
}
@media only screen and (max-width: 769px) {
  .p-publication__book_title {
    width: calc(100% - 14.944vw - 3.7333333333vw);
  }
}

.js-accordion-btn {
  cursor: pointer;
}

.l-flex-block {
  display: flex;
  justify-content: center;
  -moz-column-gap: 52px;
  column-gap: 52px;
  width: 100%;
  margin: 0 auto;
}

@media only screen and (max-width: 769px) {
  .l-flex-block {
    flex-direction: column;
    row-gap: 22px;
    padding: 0 20px;
    box-sizing: border-box;
  }
}

.l-flex-block+.l-flex-block {
  margin-top: 78px;
}

@media only screen and (max-width: 769px) {
  .l-flex-block+.l-flex-block {
    margin-top: 40px;
  }
}

.l-flex-block--reverse {
  flex-direction: row-reverse;
}

@media only screen and (max-width: 769px) {
  .l-flex-block--reverse {
    flex-direction: column;
  }
}

.l-flex-block--ptn1 {
  max-width: 890px;
}

.l-flex-block--ptn1 .l-flex-block__content {
  width: 300px;
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn1 .l-flex-block__content {
    width: 100%;
  }
}

.l-flex-block--ptn1 .l-flex-block__img {
  width: calc(100% - 52px - 300px);
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn1 .l-flex-block__img {
    width: 100%;
  }
}

.l-flex-block--ptn2 {
  max-width: 890px;
}

.l-flex-block--ptn2 .l-flex-block__content {
  width: 364px;
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn2 .l-flex-block__content {
    width: 100%;
  }
}

.l-flex-block--ptn2 .l-flex-block__img {
  width: calc(100% - 52px - 364px);
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn2 .l-flex-block__img {
    width: 100%;
  }
}

.l-flex-block--ptn3 {
  align-items: center;
  max-width: 1200px;
}

.l-flex-block--ptn3 .l-flex-block__content {
  width: 290px;
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn3 .l-flex-block__content {
    width: 100%;
  }
}

.l-flex-block--ptn3 .l-flex-block__img {
  width: calc(100% - 52px - 290px);
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn3 .l-flex-block__img {
    width: 100%;
  }
}

.l-flex-block--ptn4 {
  align-items: center;
  max-width: 890px;
}

.l-flex-block--ptn4 .l-flex-block__content {
  width: 274px;
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn4 .l-flex-block__content {
    width: 100%;
  }
}

.l-flex-block--ptn4 .l-flex-block__img {
  width: 719px;
  margin-right: -155px;
  margin-left: auto;
  position: relative;
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn4 .l-flex-block__img {
    width: calc(100% + 40px);
    margin: 0 -20px;
  }
}

.l-flex-block--ptn4 .l-flex-block__img::before {
  content: "";
  width: calc((100vw - 1200px) / 2);
  height: 100%;
  background: var(--gray4);
  position: absolute;
  top: 0;
  right: calc((1220px - 100vw) / 2);
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn4 .l-flex-block__img::before {
    display: none;
  }
}

.l-flex-block--ptn4.l-flex-block--reverse .l-flex-block__img {
  margin-right: auto;
  margin-left: -155px;
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn4.l-flex-block--reverse .l-flex-block__img {
    margin: 0 -20px;
  }
}

.l-flex-block--ptn4.l-flex-block--reverse .l-flex-block__img::before {
  right: auto;
  left: calc((1220px - 100vw) / 2);
}

@media only screen and (max-width: 769px) {
  .l-flex-block--ptn4.l-flex-block--reverse .l-flex-block__img::before {
    display: none;
  }
}

.l-flex-block--ptn4-green .l-flex-block__img::before {
  background: var(--green4);
}

.l-flex-block__title {
  margin: 0 auto;
  padding: 0 0 25px;
  position: relative;
  line-height: 1.05555;
  font-weight: 200;
  font-feature-settings: "palt";
}

.l-flex-block__title::after {
  content: "";
  width: 28.35px;
  height: 14.64px;
  background: url(../img/product/imovifa/icon_vifa.png) 50% 50% no-repeat;
  background-size: 100%;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.l-flex-block__list {
  margin: 43px 0 0;
  padding: 0;
  text-align: left;
}

.l-flex-block__list_item {
  padding-left: 1em;
  position: relative;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 300;
  font-feature-settings: "palt";
}

.l-flex-block__list_item::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--green3);
  position: absolute;
  top: 6.5px;
  left: 0;
  transform: rotate(45deg);
}

.l-flex-block__list_item+.l-flex-block__list_item {
  margin-top: 17.5px;
}

.p-imoscan-sec1 {
  padding-top: 0;
  position: relative;
  z-index: 1;
}

.p-imoscan-feature-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto 64.7px;
}

@media only screen and (max-width: 769px) {
  .p-imoscan-feature-top {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
}

.p-imoscan-feature-top__list {
  margin: 0;
  padding: 0;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: left;
  font-weight: 300;
}

.p-imoscan-feature-top__list_item {
  counter-increment: num;
  padding-left: 2em;
  position: relative;
}

.p-imoscan-feature-top__list_item+.p-imoscan-feature-top__list_item {
  margin-top: 20px;
}

.p-imoscan-feature-top__list_item::before {
  content: "" counter(num);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--blue2);
  font-size: inherit;
  font-weight: 600;
  color: #FFF;
}

@media only screen and (max-width: 769px) {
  .p-imoscan-feature-top__list_item::before {
    width: 6.6vw;
    height: 6.6vw;
    font-size: 4.3vw;
  }
}