@charset "utf-8";
/* *************************
  reset
************************* */
html {
  font-size: 62.5%;
  background-color: transparent;
  font-family: "Nobel Regular", "LexusRodinPro-M" , Meiryo , sans-serif;
  font-weight: 300;
  letter-spacing: 2px;
}
html, body {
  margin: 0;
  padding: 0;
  color: #000;
  background-color: #fff;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  scrollbar-width: none;
}
html::-webkit-scrollbar, body::-webkit-scrollbar { display: none; }
body { position: relative; }
@media (min-aspect-ratio: 7 / 10) {
  body {
    font-size: 16px;
  }
}
@media (max-aspect-ratio: 7 / 10) {
  body {
    font-size: 3.733vw;
  }
}
ul, li {
  list-style: none;
  padding: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a {
  text-decoration: none;
  transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media (any-hover: hover), (any-pointer: coarse) {
  a:hover {
      cursor: pointer
  }
}
button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: normal;}
img { object-fit: cover; max-width: 100%; vertical-align: bottom; }
br { font-size: 0; }
input:focus { outline: none; }
ul,li,ol,p,dd {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
a {
  text-decoration: none;
  color: #000;
}

/* *************************
  general class
************************* */
/* font
============================== */
.-f-normal { font-weight: normal !important; }
.-f-bold { font-weight: bold !important; }

/* display
============================== */
.-pcOnly{display: block;}
.-spOnly{display: none;}

@media screen and (max-width:768px) {
  .-pcOnly{display: none;}
  .-spOnly{display: block;}
}

/* text
============================== */
.--nolt {
  font-family: "NOLT" !important;
  letter-spacing: 2px !important;
}
.-taR{ text-align:right !important; }
.-taL{ text-align:left !important; }
.-taC{ text-align:center !important; }

/* flex
============================== */
.-align-itemns-start { align-items: flex-start !important; }
.-align-itemns-end { align-items: flex-end !important; }
.-align-itemns-center { align-items: center !important; }
.-justify-contents-start { justify-content: flex-start !important; }
.-justify-contents-end { justify-content: flex-end !important; }
.-justify-contents-center { justify-content: center !important; }
.-flex-direction-column { flex-direction: column !important; }
.-flex-direction-row { flex-direction: row !important; }

/* margin
============================== */
/* margin-top */
.-mt0 { margin-top:0px !important; }
.-mt5 { margin-top: 5px !important ; }
.-mt10 { margin-top: 10px !important ; }
.-mt15 { margin-top: 15px !important ; }
.-mt20 { margin-top: 20px !important ; }
.-mt25 { margin-top: 25px !important ; }
.-mt30 { margin-top: 30px !important ; }
.-mt35 { margin-top: 35px !important ; }
.-mt40 { margin-top: 40px !important ; }
.-mt50 { margin-top: 50px !important ; }

/* margin-bottom */
.-mb0 { margin-bottom:0px !important; }
.-mb5 { margin-bottom:5px !important; }
.-mb10 { margin-bottom:10px !important; }
.-mb15 { margin-bottom:15px !important; }
.-mb20 { margin-bottom:20px !important; }
.-mb25 { margin-bottom:25px !important; }
.-mb30 { margin-bottom:30px !important; }
.-mb35 { margin-bottom:35px !important; }
.-mb40 { margin-bottom:40px !important; }
.-mb50 { margin-bottom:50px !important; }

/* margin-right */
.-mr0 { margin-right: 0px !important ; }
.-mr5 { margin-right: 5px !important ; }
.-mr10 { margin-right: 10px !important ; }
.-mr15 { margin-right: 15px !important ; }
.-mr20 { margin-right: 20px !important ; }
.-mr25 { margin-right: 25px !important ; }
.-mr30 { margin-right: 30px !important ; }
.-mr35 { margin-right: 35px !important ; }
.-mr40 { margin-right: 40px !important ; }
.-mr50 { margin-right: 50px !important ; }

/* margin-left */
.-ml0 { margin-left: 0px !important ; }
.-ml10 { margin-left: 10px !important ; }
.-ml15 { margin-left: 15px !important ; }
.-ml20 { margin-left: 20px !important ; }
.-ml25 { margin-left: 25px !important ; }
.-ml30 { margin-left: 30px !important ; }
.-ml35 { margin-left: 35px !important ; }
.-ml40 { margin-left: 40px !important ; }
.-ml50 { margin-left: 50px !important ; }

/* padding
============================== */
/* pading-top */
.-pt0 { padding-top:0px !important; }
.-pt5 { padding-top:5px !important; }
.-pt10 { padding-top:10px !important; }
.-pt15 { padding-top:15px !important; }
.-pt20 { padding-top:20px !important; }
.-pt25 { padding-top:25px !important; }
.-pt30 { padding-top:30px !important; }
.-pt35 { padding-top:35px !important; }
.-pt40 { padding-top:40px !important; }
.-pt50 { padding-top:50px !important; }

/* pading-bottom */
.-pb0 { padding-bottom:0px !important; }
.-pb5 { padding-bottom:5px !important; }
.-pb10 { padding-bottom:10px !important; }
.-pb15 { padding-bottom:15px !important; }
.-pb20 { padding-bottom:20px !important; }
.-pb25 { padding-bottom:25px !important; }
.-pb30 { padding-bottom:30px !important; }
.-pb35 { padding-bottom:35px !important; }
.-pb40 { padding-bottom:40px !important; }
.-pb50 { padding-bottom:50px !important; }

/* pading-left */
.-pl0 { padding-left:0px !important; }
.-pl5 { padding-left:5px !important; }
.-pl10 { padding-left:10px !important; }
.-pl15 { padding-left:15px !important; }
.-pl20 { padding-left:20px !important; }
.-pl25 { padding-left:25px !important; }
.-pl30 { padding-left:30px !important; }
.-pl35 { padding-left:35px !important; }
.-pl40 { padding-left:40px !important; }
.-pl50 { padding-left:50px !important; }

/* pading-right */
.-pr0 { padding-right:0px !important; }
.-pr5 { padding-right:5px !important; }
.-pr10 { padding-right:10px !important; }
.-pr15 { padding-right:15px !important; }
.-pr20 { padding-right:20px !important; }
.-pr25 { padding-right:25px !important; }
.-pr30 { padding-right:30px !important; }
.-pr35 { padding-right:35px !important; }
.-pr40 { padding-right:40px !important; }
.-pr50 { padding-right:50px !important; }

/* *************************
  wrapper
************************* */
.wrapper {
  background: rgba(244, 244, 244, 1);
}
.wrapper * {
  box-sizing: border-box;
}
@media screen and (max-width: 460px) {
  .wrapper {
    max-width: 460px;
  }
}

/* opening
============================== */
.opening {
  position: fixed;
  background: #fff;
  z-index: 9999;
}
.opening_inner {
  display: flex;
  flex-wrap: wrap;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  width: 100vw;
  min-height: 100vh;
}
.opening_inner img {
  width: 58.67vw;
  opacity: 1;
  transition: all 0.4s;
}
.opening.--anim .opening_inner img {
  opacity: 0;
}
.opening.--anim {
  animation: opening-interaction 2.5s linear 0s forwards 1;
}
@keyframes opening-interaction {
  0% {
    display: block;
    opacity: 1;
  }
  100% {
    display: none;
    opacity: 0;
  }
}

/* fade contents setting
============================== */
.--js-fadeContents {
  opacity: 0;
  visibility: hidden;
  transition: all 2.5s;
}
.--js-fadeContents.--fadeIn {
  opacity: 1;
  visibility: visible;
}

/* contents
============================== */
.contents_wrap {
  clip-path: inset(0);
  position: relative;
  z-index: 5;
  width: 100%;
}
.contents_wrap::before {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.8));
  background-position: 0 0;
  background-repeat: no-repeat;
  z-index: -1;
}
.contents_wrap::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(/-/media/tfc/lexusfs/file/common/img/lp/guide/update/img_kv_01_sp.jpg);
  background-position: left top;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .contents_wrap::after {
    background-image: url(/-/media/tfc/lexusfs/file/common/img/lp/guide/update/img_kv_01_pc.jpg);
    background-position: center center;
  }
}
.sectionOuter {
  padding-left: 8px;
  padding-right: 8px;
  background: #fff;
}
.contents_lead{
  color: #fff;
  display: flex;
  max-width: 730px;
  flex-direction: column;
  align-items: flex-start;
  gap: 60px;
  height: 100vh;
  justify-content: center;
  margin: auto;
  line-height: 250%;
  padding: 0 24px;
}
.contents_lead_01,.contents_lead_02{
  font-size: 24px;
}
.contents_lead_03{
  font-size: 30px;
}
.fv_outer {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1150px;
  height: 100%;
  margin: 0 auto;
}
.fv_outer img {
  object-fit: scale-down;
}
.fv_logo {
  transition: transform 1.6s;
  text-shadow: 2px 2px 8px rgba(41, 25, 0, 0.8);
}
.fv_logo img {
  width: 212px;
}
.fv_logo.--is-hide {
  transform: translate3d(0,-25svh,0)
}
.fv_title,.fv_lead,.fv_imgage {
  transition: all 1.5s;
}
@media screen and (max-width: 1024px) {
  .fv_main_txt {
    max-width: 55vw;
    max-height: 30vh;
  }
  .fv_main_lead{
    max-width: 70vw;
  }
  .fv_main_img{
    max-width: 80vw;
    max-height: 40vh;
  }
  .fv_outer {
    width: 100%;
  }
}
.fv_main_txt,.fv_main_lead,.fv_main_img {
  transition: all 1.5s;
}
.lede_text_area {
  display: none;
}
.fv_lead{
  position: absolute;
  right: 0;
}
.fv_imgage{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 461px) and (max-width: 1023px) {
  .fv_logo img {
    width: 267px;
  }
}
/* main_contents
============================== */
.main_contents {
  position: relative;
  background: #fff;
  z-index: 5;
}

/* common icon style
============================== */
.limited_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  font-size: 14px;
  line-height: 1.3;
}

/* anchor
============================== */
.anchor_area {
  position: relative;
  background: #fff;
  padding: 16px 24px;
}
.anchor_area.--fixed {
  position: fixed;
  width: 92.8vw;
  max-width: 440px;
  top: auto;
  bottom: 20px;
  left: 3.733vw;
  padding-top: 6px;
  padding-bottom: 6px;
  border-radius: 50px;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.12);
  z-index: 8;
}
.anchor_area.--js-location-nav.--is_1023_under.--fixed.--limit {
  display: none;
}
.anchor_area.--is-content-end {
  opacity: 0;
  margin-top: 60px;
  padding-top: 6px;
  padding-bottom: 6px;
  border-radius: 50px;
  box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.12);
}
.anchor_area.--is-content-end.--is-display {
  opacity: 1;
}
.anchor_area::after {
    content: " ";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #dcdddd;
    display: block;
}
.anchor_area.--fixed::after,
.anchor_area.--is-content-end::after {
  display: none;
}
.anchor_list {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  align-items: center;
}
.--fixed .anchor_list,
.--is-content-end .anchor_list {
  flex-wrap: nowrap;
}
.anchor_list_item {
  box-sizing: border-box;
  flex-grow: 1;
  width: 49%;
  text-align: center;
  border-right: 1px solid #dcdddd;
  border-bottom: 1px solid #dcdddd;
}
.--fixed .anchor_list_item,
.--is-content-end .anchor_list_item {
  width: 23.2vw;
}
.anchor_list_item a {
  display: block;
  position: relative;
  padding: 13.5px 15px 45px;
  font-size: 13px;
  letter-spacing: 1px;
  box-sizing: border-box;
  color: #000;
}
.--fixed .anchor_list_item,
.--is-content-end .anchor_list_item {
  border: none;
}
.--fixed .anchor_list_item a,
.--is-content-end .anchor_list_item a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 34px;
  border: none;
  padding: 5.5px 0;
  border-radius: 30px;
  background: #fff;
  font-size: 9px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: all 0.6s;
}
.--fixed .anchor_list_item a.--is_current,
.--is-content-end .anchor_list_item a.--is_current {
  background: linear-gradient(277.18deg, #D2FEFF 0.07%, #F6BEEF 99.93%);
}
.anchor_list_item a::before,
.anchor_list_item a::after {
  content: " ";
  position: absolute;
  bottom: 20px;
  left: calc(50% - 1px);
  width: 2px;
  height: 12px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: 50% calc(100% - 1px);
}
.--fixed .anchor_list_item a::before,
.--fixed .anchor_list_item a::after,
.--is-content-end .anchor_list_item a::before,
.--is-content-end .anchor_list_item a::after {
  display: none;
}
.anchor_list_item a::before {
  transform: rotate(45deg);
}
.anchor_list_item a::after {
  transform: rotate(-45deg);
}
.anchor_list_item a .limited_icon {
  position: absolute;
  top: -13px;
  left: -16px;
}
.anchor_icon {
  display: block;
  width: 100%;
  margin-bottom: 8px;
}
.--fixed .anchor_list_item a .anchor_icon,
.--fixed .anchor_list_item a .limited_icon,
.--is-content-end .anchor_list_item a .anchor_icon,
.--is-content-end .anchor_list_item a .limited_icon {
  display: none;
}
.anchor_list_item.--card {
  border-right: none;
}
.anchor_list_item.--point {
  border-bottom: none;
}
.anchor_list_item.--check {
  border-bottom: none;
  border-right: none;
}
.--is_float {
  display: none;
}
.--fixed .--is_float,
.--is-content-end .--is_float {
  display: inline-block;
}

/* section
============================== */
.pc_scroll_dummy {
  display: none;
}
section.sectionWrap {
  padding: 100px 24px 120px;
}
section.sectionWrap.--firstChild {
  padding-top: 100px;
}
.--bg_white {
  background: #fff;
}
.--bg_gray {
  background-color: rgb(244, 244, 244);
}
section.sectionWrap.--faq {
  padding-bottom: 20px;
}
section.inner_section + section.inner_section {
  margin-top: 60px;
}
.section_heading {
  display: flex;
  flex-direction: column;
  margin-bottom: 60px;
  font-size: 28px;
  letter-spacing: 2px;
}
section.sectionWrap .lede_text {
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.84px;
}
@media screen and (min-width: 1024px) {
  section.sectionWrap .lede_text {
    font-size: 14px;
  }
}
.section_heading .icon_none {
  margin-top: 8px;
  font-weight: 300;
}
.section_subTitle {
  font-size: 16px;
  /* font-family: "NOLT";
  letter-spacing: 2px; */
}
.section_subTitle::before {
  content: " ";
  display: inline-block;
  margin-right: 8px;
  background: linear-gradient(283.33deg, #D2FEFF 1.12%, #F6BEEF 98.88%);
  width: 36px;
  height: 20px;
  border-radius: 3px;
}
.section_subTitle span {
  display: inline-block;
  vertical-align: top;
  margin-top: 2px;
}
.section_sub_heading {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 40px;
  font-size: 24px;
  letter-spacing: 2.4px;
}
.section_sub_heading .heading_caption {
  font-size: 14px;
  font-family: "NOLT";
  letter-spacing: 2px;
  color: rgb(185, 192, 194);
}

/* entry_box */
.entry_box {
  position: relative;
  margin-top: 40px;
  border: 1px solid #dcdddd;
  background: #fff;
}
.entry_box.--step {
  margin-top: 0;
  border: none;
}
.entry_box.--step .entry_box_link{
  border-top: solid 1px #F4F4F4;
}
.entry_box:first-of-type {
  margin-top: 60px;
}
.entry_box_inner {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 12px;
}
.entry_box_inner::before {
  position: absolute;
  top: 0;
  left: 0;
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  z-index: 1;
  opacity: 0;
  transition: opacity 1s;
}
@media (any-hover: hover), (any-pointer: coarse) {
  .entry_box_inner:hover::before {
    opacity: 0.6;
  }
}
@media (any-hover: hover), (any-pointer: coarse) {
  .entry_box_inner:hover {
    opacity: 0.6;
  }
}
.entry_box .entry_box_description {
  padding: 25px 30px 30px;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.84px;
}
.entry_box .entry_box_link {
  display: flex;
  align-items: center;
  font-family: "LexusRodinPro-DB";
  font-weight: 700;
  line-height: 1.5;
  border-top: 1px solid #dcdddd;
  justify-content: space-between;
  gap: 0;
  padding: 20px 12px 18px 24px;
  font-family: "LexusRodinPro-M";
  font-weight: normal;
}
@media screen and (max-width: 375px) {
  .entry_box .entry_box_link {
    padding-left: 30px;
  }
}
.entry_box .entry_box_link > span {
  flex-basis: 77%;
  text-align: center;
  letter-spacing: 0.56px;
  flex-basis: auto;
  text-decoration: underline;
}
.entry_box .limited_icon {
  position: absolute;
  top: -30px;
  left: -20px;
  flex-direction: column;
  font-size: 10px;
  letter-spacing: normal;
}
.--point_program .entry_box .limited_icon {
  letter-spacing: -1px;
  text-align: center;
}
.entry_box .limited_icon .font-large {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
}
.entry_box .limited_icon .font-large.--num {
  font-size: 20px;
  font-weight: 700;
}
.entry_box_image {
  margin-top: 8px;
}
.entry_box_tag{
  text-align: right;
}
.entry_box_tag_text{
  background: #B9C0C2;
  color: #fff;
  padding: 5px 10px;
}
/* recommend_contents */
.recommend_contents {
  position: relative;
  display: block;
  max-width: 460px;
  height: 480px;
  margin: 0 -24px;
  padding: 40px 30px 0;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  box-sizing: border-box;
}
.recommend_contents::before {
  position: absolute;
  top: 0;
  left: 0;
  content: " ";
  display: block;
  max-width: 460px;
  width: 100%;
  height: 480px;
  background-image:linear-gradient(0deg, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.6));
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  z-index: 1;
}
.recommend_contents::after {
  position: absolute;
  top: 0;
  left: 0;
  content: " ";
  display: block;
  max-width: 460px;
  width: 100%;
  height: 480px;
  background-image:linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.8));
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  z-index: 1;
  opacity: 0;
  transition: opacity 1s;
}
.recommend_contents_inner {
  position: relative;
  z-index: 2;
}
.recommend_contents.--llhc {
  background-image:url(/-/media/tfc/lexusfs/file/common/img/lp/guide/update/bg_service_01.png);
}
.recommend_contents + .recommend_contents {
  margin-top: 2px;
}
.contents_tag {
  display: inline-block;
  background: rgb(217, 217, 217);
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 700;
  color: rgb(89, 87, 87);
}
.eng_title {
  position: relative;
  margin-top: 12px;
  padding-bottom: 10px;
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
}
.eng_title::before,
.eng_title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(185, 192, 194, 1);
  content: "";
  height: 1px;
  width: 100%;
}
.eng_title::after {
  background: #fff;
  transition: .6s cubic-bezier(.645,.045,.355,1);
  width: 16.27%;
}
@media screen and (min-width: 414px) {
  .--is_414_under {
    display: none;
  }
}

@media (any-hover: hover), (any-pointer: coarse) {
  a.recommend_contents:hover {
    opacity: 1;
  }
  a.recommend_contents:hover .eng_title::after {
    width: 100%;
  }
  .recommend_contents:hover::after {
    opacity: 0.8;
  }
}
.eng_lede_text {
  margin-top: 24px;
  font-family: "LexusRodinPro-DB";
  font-size: 19px;
  line-height: 1.5;
  letter-spacing: 0.76px;
  color: #fff;
}
.eng_description {
  margin-top: 12px;
  font-family: "LexusRodinPro-M";
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.45px;
  color: #fff;
}
.recommend_contents_link {
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 1;
  opacity: 0.8;
}

/* service
============================== */
#service_slider {
  width: 100%;
  height: 100%;
}
#service_slider .swiper-slide {
  text-align: center;
  font-size: 13px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.service_slider_link {
  display: block;
}
#service_slider .swiper-slide .service_slider_content {
  position: relative;
  width: 100%;
  margin-bottom: 80px;
  padding: 24px 5px 46px;
  min-height: 250px;
}
@media screen and (max-width: 460px) {
  #service_slider .swiper-slide .service_slider_content {
    min-height: 300px;
  }
}
.service_slider_content::before,
.service_slider_content::after {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(185, 192, 194, 1);
  content: "";
  height: 1px;
  width: 100%;
}
.service_slider_content::after {
  background: #000;
  transition: .6s cubic-bezier(.645,.045,.355,1);
  width: 16.27%;
}

.service_slider_heading {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 115px;
  margin-bottom: 20px;
  font-size: 20px;
  text-align: left;
}
.service_slider_heading .heading_caption {
  font-size: 13px;
  font-family: "NOLT";
  letter-spacing: 2px;
  color: rgb(185, 192, 194);
}
@media screen and (max-width: 460px) {
  .service_slider_heading .heading_caption {
    min-height: 40px;
  }
  .service_slider_heading {
    min-height: 140px;
  }
  .heading_sub_caption br {
    display: none;
  }
}
@media (any-hover: hover), (any-pointer: coarse) {
  .service_slider_link:hover .service_slider_content::after {
    width: 100%;
  }
}
#service_slider .swiper-slide .service_slider_content .service_slider_caption .--nolt {
  font-family: "NOLT";
  letter-spacing: 2px;
}
#service_slider .swiper-slide .service_slider_content .service_slider_caption {
  height: 30px;
  margin-top: 8px;
  font-size: 13px;
  text-align: left;
}
#service_slider .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#service_slider .swiper-slide {
  width: 80%;
}
#service_slider .swiper-button-next,
#service_slider .swiper-button-prev {
  width: 48px;
  height: 48px;
  color: #000;
  border: 1px solid #000;
  border-radius: 24px;
  background-color: #fff;
  top: auto;
  bottom: 0;
}
.swiper-button-next svg,
.swiper-button-prev svg {
  width: 12px;
  height: 12px;
}
#service_slider .swiper-button-next:after,
#service_slider .swiper-button-prev:after {
  font-size: 10px;
}
#service_slider .swiper-button-next {
  right: auto;
  left: var(--swiper-navigation-sides-offset, 68px);
}
#service_slider .swiper-button-next.swiper-button-disabled,
#service_slider .swiper-button-prev.swiper-button-disabled {
  opacity: 1;
  pointer-events: auto;
}
.service_link {
  margin-top: 60px;
  text-align: center;
}
.service_link a {
  position: relative;
  display: inline-block;
  padding-bottom: 17px;
  font-size: 16px;
  font-family: "LexusRodinPro-DB";
}
.service_link a::before,
.service_link a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(185, 192, 194, 1);
  content: "";
  height: 1px;
  width: 100%;
}
.service_link a::after {
  background: #000;
  transition: .6s cubic-bezier(.645,.045,.355,1);
  width: 16.27%;
}
@media (any-hover: hover), (any-pointer: coarse) {
  .service_link a:hover::after {
    width: 100%;
  }
}
.service_link span {
  display: inline-block;
  margin-right: 16px;
  letter-spacing: 1.6px;
}
.service_link span,
.service_link img {
  vertical-align: middle;
}
.service_bunner{
  margin-left: -24px;
  margin-right: -24px;
  display: block;
}
.service_bunner:hover{
    opacity: 0.6;
}
.service_bunner + .service_bunner{
  margin-top: 2px;
}

.service_bunner img{
  width: 100%;
}

/* step
============================== */
.step_flow_area {
  margin-top: 60px;
  padding: 60px 16px 60px 24px;
  background: #fff
}
.step_flow_area_inner {
  position: relative;
  padding-left: 16px;
  padding-bottom: 56px;
}
.step_flow_contents + .step_flow_contents {
  margin-top: 80px;
}
.step_flow_contents.--step4{
  padding-left: 16px;
  position: relative;
}
.step_flow_contents.--step4::before{
    position: absolute;
    content: " ";
    top: 10px;
    left: 0;
    width: 2px;
    height: 20px;
    background-image: url(/-/media/tfc/lexusfs/file/common/img/lp/guide/update/bg_dot_line.png);
    background-position: 0 0;
    background-repeat: repeat-y;
    background-size: 2px auto;
}
.step_flow_area_inner::after {
  position: absolute;
  content: " ";
  top: 10px;
  left: 0;
  width: 2px;
  height: 100%;
  background-image: url(/-/media/tfc/lexusfs/file/common/img/lp/guide/update/bg_dot_line.png);
  background-position: 0 0;
  background-repeat: repeat-y;
  background-size: 2px auto;
}
.step_flow_title {
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 20px;
  font-family: "LexusRodinPro-DB";
  line-height: 160%;
}
.--step4 .step_flow_title{
  padding-bottom: 56px;
}
.step_flow_title::after {
  content: " ";
  position: absolute;
  top: 6px;
  left: -19px;
  width: 8px;
  height: 8px;
  background-color: #fff;
  background-image: url(/-/media/tfc/lexusfs/file/common/img/lp/guide/update/ico_circle_01.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 8px auto;
  z-index: 2;
}

.--step4 .step_flow_title::after {
  top: 25px;
  background-image: url(/-/media/tfc/lexusfs/file/common/img/lp/guide/update/ico_circle_02.png);
}
.step_flow_title .step_number {
  font-family: "NOLT";
  font-size: 16px;
  color: #b9c0c2;
  line-height: 1;
}
.step_flow_title .--nolt {
  font-weight: 700;
}
.step_flow_description {
  font-size: 14px;
  margin-top: 16px;
  padding-left: 16px;
  line-height: 1.8;
  letter-spacing: 0.56px;
}
.step_flow_caution {
  margin-top: 20px;
  padding-left: 1em;
  text-indent: -1em;
  font-family: "LexusRodinPro-DB";
  font-size: 14px;
  letter-spacing: 0.56px;
}
.step_flow_link {
  margin-top: 25px;
}
.step_flow_link a {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 20px 12px 12px 12px;
  font-size: 14px;
}
.step_flow_link a::before,
.step_flow_link a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(185, 192, 194, 1);
  content: "";
  height: 1px;
  width: 100%;
}
.step_flow_link a::after {
  background: #000;
  transition: .6s cubic-bezier(.645,.045,.355,1);
  width: 16.27%;
}
@media (any-hover: hover), (any-pointer: coarse) {
  .step_flow_link a:hover::after {
    width: 100%;
  }
}
.step_flow_link span {
  display: inline-block;
  margin-right: 16px;
  text-decoration: underline;
  letter-spacing: 0.56px;
  line-height: 1.5;
}
.step_flow_link span,
.step_flow_link img {
  vertical-align: middle;
}
.step_title{
  display: flex;
  margin-top: 8px;
  align-items: flex-start;
}
.step_icon{
  display: inline-block;
  vertical-align: 2px;
  margin-right: 12px;
}
.step_icon_image{
  vertical-align: -5px;
}
.step_icon_image.icon_cut{
  vertical-align: -8px;
}
.step_caution{
  display: flex;
  padding: 24px;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  align-self: stretch;
  border: 1px solid #000;
}
.step_caution_title{
  font-size: 16px;
  font-weight: 700;
}
.step_icon_img{
  vertical-align: middle;
}
.step_caution_text{
  font-size: 14px;
}
/* security
============================== */
.security_area {
  margin-top: 40px;
}
.security_box {
  position: relative;
  margin-left: -24px;
  margin-right: -24px;
}
.security_box:first-of-type {
  border-top: 1px solid #dcdddd;
}
.security_box.underline::before,
.security_box.underline::after,
.security_box_btn_link.underline::before,
.security_box_btn_link.underline::after{
  position: absolute;
  bottom: 0;
  left: 0;
  background: #dcdddd;
  content: "";
  height: 1px;
  width: 100%;
}
.security_box.underline::after,
.security_box_btn_link.underline::after {
  background: #000;
  transition: .6s cubic-bezier(.645,.045,.355,1);
  width: 0;
}
@media (any-hover: hover), (any-pointer: coarse) {
  .security_box.underline:hover::after,
  .security_box_btn_link.underline:hover::after {
    width: 100%;
  }
}
.security_box + .security_box {
  border-top: none;
}
.security_box>a:not(.security_box_btn_link) {
  position: relative;
  display: block;
  padding: 42px 30px 50px;
}
.security_box>span {
  position: relative;
  display: block;
  padding: 42px 30px 50px;
  border-bottom: solid 1px #dcdddd;
}

.security_box>a::after {
  content: " ";
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMiAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2LjUiIHI9IjE1LjUiIGZpbGw9IndoaXRlIiBzdHJva2U9ImJsYWNrIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzcxNjNfMTg0MSkiPjxwYXRoIGQ9Ik0yMS4yNSAyMS43NUgxMC43NVYxMS4yNUgxNlY5Ljc1SDEwLjc1QzkuOTI1IDkuNzUgOS4yNSAxMC40MjUgOS4yNSAxMS4yNVYyMS43NUM5LjI1IDIyLjU3NSA5LjkyNSAyMy4yNSAxMC43NSAyMy4yNUgyMS4yNUMyMi4wNzUgMjMuMjUgMjIuNzUgMjIuNTc1IDIyLjc1IDIxLjc1VjE2LjVIMjEuMjVWMjEuNzVaTTE3LjUgOS43NVYxMS4yNUgyMC4xOTI1TDEyLjgyIDE4LjYyMjVMMTMuODc3NSAxOS42OEwyMS4yNSAxMi4zMDc1VjE1SDIyLjc1VjkuNzVIMTcuNVoiIGZpbGw9ImJsYWNrIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDBfNzE2M18xODQxIj48cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3IDcuNSkiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
}
.security_box_btn_link{
  position: relative;
  display: block;
  padding: 20px 30px;
}
.security_box_btn_link + .security_box_btn_link{
  margin-top: 0;
}
.security_box_btn_link>span{
  position: relative;
  display: block;
  text-decoration: underline;
  font-size: 14px;
}
.security_box_btn_link>span::after {
    content: " ";
    position: absolute;
    bottom: -6px;
    right: -16px;
    width: 32px;
    height: 32px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMiAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2LjUiIHI9IjE1LjUiIGZpbGw9IndoaXRlIiBzdHJva2U9ImJsYWNrIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzcxNjNfMTg0MSkiPjxwYXRoIGQ9Ik0yMS4yNSAyMS43NUgxMC43NVYxMS4yNUgxNlY5Ljc1SDEwLjc1QzkuOTI1IDkuNzUgOS4yNSAxMC40MjUgOS4yNSAxMS4yNVYyMS43NUM5LjI1IDIyLjU3NSA5LjkyNSAyMy4yNSAxMC43NSAyMy4yNUgyMS4yNUMyMi4wNzUgMjMuMjUgMjIuNzUgMjIuNTc1IDIyLjc1IDIxLjc1VjE2LjVIMjEuMjVWMjEuNzVaTTE3LjUgOS43NVYxMS4yNUgyMC4xOTI1TDEyLjgyIDE4LjYyMjVMMTMuODc3NSAxOS42OEwyMS4yNSAxMi4zMDc1VjE1SDIyLjc1VjkuNzVIMTcuNVoiIGZpbGw9ImJsYWNrIi8+PC9nPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDBfNzE2M18xODQxIj48cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIGZpbGw9IndoaXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3IDcuNSkiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
}
.security_box_title {
  font-family: "LexusRodinPro-DB";
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.72px;
}
.security_box_title span {
  display: inline-block;
  vertical-align: middle;
}
.security_box_title span.security_box_icon {
  margin-right: 16px;
  vertical-align: -1px;
}
.security_box_description {
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.84px;
}
/* faq
============================== */
.faq_area {
  margin-top: 60px;
}
.faq_title{
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  margin-top: 40px;
}
.faq_box {
  border-top: 1px solid #dcdddd;
  margin-top: 20px;
}
.faq_box_link {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 0 22px 16px;
}
.faq_box_link .faq_box_icon {
  flex-basis: 38px;
  flex-shrink: 0;
  display: inline-block;
  font-size: 24px;
  font-family: "NOLT";
  letter-spacing: 2px;
}
.faq_box_link .faq_box_title {
  flex-grow: 1;
  font-size: 14px;
  letter-spacing: 0.84px;
}
.faq_box_link .faq_blank_icon {
  flex-basis: 50px;
  flex-shrink: 0;
  text-align: right;
}
.faq_box_link::before,
.faq_box_link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #dcdddd;
  content: "";
  height: 1px;
  width: 100%;
}
.faq_box_link::after {
  background: #000;
  transition: .6s cubic-bezier(.645,.045,.355,1);
  width: 0;
}
@media (any-hover: hover), (any-pointer: coarse) {
  .faq_box_link:hover::after {
    width: 100%;
  }
}

/* footer
============================== */
.footer_area {
  position: relative;
  background: #fff;
  z-index: 3;
}
.footer_link_list {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  background: #000;
  padding: 32px 24px 38px;
}
.footer_link {
  display: inline-block;
}
.footer_link a {
  display: inline-block;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuNjY2NyAxMi42NjY3SDMuMzMzMzNWMy4zMzMzM0g4VjJIMy4zMzMzM0MyLjYgMiAyIDIuNiAyIDMuMzMzMzNWMTIuNjY2N0MyIDEzLjQgMi42IDE0IDMuMzMzMzMgMTRIMTIuNjY2N0MxMy40IDE0IDE0IDEzLjQgMTQgMTIuNjY2N1Y4SDEyLjY2NjdWMTIuNjY2N1pNOS4zMzMzMyAyVjMuMzMzMzNIMTEuNzI2N0w1LjE3MzMzIDkuODg2NjdMNi4xMTMzMyAxMC44MjY3TDEyLjY2NjcgNC4yNzMzM1Y2LjY2NjY3SDE0VjJIOS4zMzMzM1oiIGZpbGw9IndoaXRlIi8+PC9zdmc+");
  background-position: right center;
  background-size: 16px 16px;
  background-repeat: no-repeat;
  padding-right: 20px;
  font-size: 10px;
  color: #fff;
}
.copyright {
  background:#fff url(/-/media/tfc/lexusfs/file/common/img/lp/guide/update/img_privacy.png) 32px center no-repeat;
  background-size: 25px;
  padding: 22px 25px 22px 72px;
  font-family: "NOLT";
  font-size: 8px;
}

.fv_scroll_text_area {
    padding: 50px 50px 124px;
    inset: 0;
    z-index: 0;
    height: 100svh;
    min-height: 100svh;
    width: 100vw;
    pointer-events: none;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 56.39%, rgba(0, 0, 0, 0.14) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0.00) 29.46%, rgba(0, 0, 0, 0.09) 100%), rgba(255, 255, 255, 0.10);
}

/* 460px under layout adjust
============================== */
@media screen and (max-width: 460px) {
  .anchor_area.--js-location-nav.--is_1023_under {
    display: block;
  }
  .anchor_area.--js-location-nav.--is_1024_over {
    display: none;
  }
  .fv_outer {
    position: relative;
    width: 80vw;
  }
  .fv_title{
    position: absolute;
    bottom: 7vh;
    width: 100%;
  }
  .fv_scroll_text_area {
    padding: 30px 24px 42px;
  }
  .contents_lead_01,.contents_lead_02{
  font-size: 16px;
  }
  .contents_lead_03{
    font-size: 20px;
  }
}

/* 460px over layout adjust
============================== */
@media screen and (min-width: 461px){
  .main_contents,
  .footer_area {
    width: 460px;
    margin: 0 auto;
  }
  .anchor_area.--fixed {
    left: calc((100vw - 445px) / 2);
  }
  .fv_title{
    position: absolute;
    bottom: 7vh;
    width: 100%;
  }
}
/* 461-1023px layout adjust
============================== */
@media screen and (min-width: 461px) and (max-width: 1023px) {
  .fv_scroll_text_area {
    padding: 30px 24px 42px;
  }
  .contents_lead_01,.contents_lead_02 {
  font-size: 16px;
  }
  .contents_lead_03 {
    font-size: 20px;
  }
}

/* 1024px over layout adjust
============================== */
@media screen and (min-width: 1024px) {
  .opening_inner img {
    width: 420px;
  }
  .pc_outer {
    height: 80vh;
  }
  .fv_logo img {
    width: 302px;
  }
  .fv_text_area {
    display: block;
    position: absolute;
    bottom: 180px;
    left: 60px;
    z-index: 4;
  }
  .fv_movie_btn.--is_1023_under {
    display: none;
  }
  .fv_movie_btn.--is_1024_over {
    display: block;
    position: absolute;
    left: 60px;
    right: auto;
    top: auto;
    bottom: 50px;
    background: #fff;
    padding: 0;
    z-index: 4;
  }
  .fv_movie_btn.--is_1024_over img {
    width: 310px;
  }
  .scroll_comment {
    position: absolute;
    right: 30px;
    bottom: 0;
    height: 12.5vh;
    max-height: 120px;
    padding-right: 10px;
    font-family: "NOLT";
    font-size: 10px;
    letter-spacing: 2px;
    color: #000;
  }
  .scroll_comment::before {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 12.5vh;
    max-height: 120px;
    top: 0;
    right: 0;
    background: #000;
    animation: scrollbarMove 3.0s ease-in-out infinite;
    margin: auto;
  }
  @keyframes scrollbarMove {
    0% {
      height: 0;
      top: 0;
    }
    30% {
      height: 100%;
    }
    100% {
      top: 100%;
    }
  }
  .anchor_area.--is-content-end {
    display: none;
  }
  .side_bnr_area {
    position: absolute;
    bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 24px;
    width: 100%;
    text-align: center;
  }
  .side_bnr_area a {
    display: block;
  }
  .side_bnr_area a:hover {
    opacity: 0.6;
  }
  section.sectionWrap {
    padding-left: 24px;
    padding-right: 24px;
  }
  section.sectionWrap.--faq {
    padding-bottom: 120px;
  }
  .main_contents {
    background: transparent;
  }
  .lede_text_area {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 32px;
    width: 36.62vw;
    max-width: 460px;
    min-height: 100vh;
    background: #fff;
    transition: all 2s;
    opacity: 0;
    visibility: hidden;
    z-index: -1;
  }
  .lede_text_area.--fadeIn {
    opacity: 1 !important;
    visibility: inherit;
  }
  .entry_box_link,
  .point_link a {
    font-size: 14px;
  }
  .footer_area {
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 0;
    background: #fff;
  }
  .copyright {
    margin-left: -8px;
    margin-right: -8px;
  }
}
/* 1280px over layout adjust
============================== */
@media screen and (min-width: 1280px) {
}
/* 1660px over layout adjust
============================== */
@media screen and (min-width: 1660px) {
  .--is_1660_over .fv_main_txt {
    display: block;
    max-width: 864px;
  }
}
/* 375px under layout adjust
============================== */
@media screen and (max-width: 375px) {
  .fv_outer {
    width: 70vw;
  }
}