@charset "UTF-8";
#container {
  /* ========================================================================================= ^^
    Index
  ============================================================================================ ^^ */
  /* 内容 */
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
  /*---------------------*/
  /**/
  /*---------------------*/
}
/*---------------------------
共通
---------------------------*/
.main {
  margin-top: -80px;
}

#brand .section_b {
  width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* PC・SP表示切り替え */
#brand .br-pc {
  display: block;
}

#brand .br-sp {
  display: none;
}

/* Tab表示切り替え */
.br-tab {
  display: none;
}

@media only screen and (max-width: 1100px) {
  #brand .section_b {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
  }
  .br-tab {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .main {
    margin-top: -60px;
  }
  .br-tab {
    display: none;
  }
  #brand .br-pc {
    display: none;
  }
  #brand .br-sp {
    display: block;
  }
}
/*---------------------------
MV
---------------------------*/
#container .section--hero {
  background: #000;
  height: 970px;
}

#container .section--hero * {
  color: #fff;
}

#container .section--hero .section__inner {
  height: 100%;
  background: url(../images/brand/hero_bgi01.jpg) no-repeat 50% 50%/cover;
  display: flex;
  justify-content: center;
  align-items: center;
}

#container .section--hero .section__block {
  width: 50%;
}

#container .section--hero .section__block--heading {
  margin-left: 150px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}

#container .section--hero .section__block--heading .section__heading {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
}

#container .section--hero .section__block--heading .section__heading .section__small {
  font-family: "Cinzel", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}

#container .section--hero .section__block--heading .section__heading .section__b {
  margin-top: 35px;
  font-family: "Montserrat", sans-serif;
  font-size: 62px;
  font-weight: 400;
  line-height: 1;
}

#container .section--hero .section__block--heading .section__heading .section__i {
  margin-left: 80px;
  font-family: "Cormorant Garamond", serif;
  font-size: 62px;
  font-weight: 400;
  line-height: 1;
}

#container .section--hero .section__block--text .section__par--title {
  font-size: 22px;
  line-height: 2;
}

#container .section--hero .section__block--text .section__par--text {
  margin-top: 16px;
  font-size: 16px;
  line-height: 2;
}

#container .section__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1500px;
}

@media only screen and (max-width: 1100px) {
  #container .section--hero .section__block--heading .section__heading .section__small {
    font-size: 1.455vw;
  }
  #container .section--hero .section__block--heading .section__heading .section__b {
    font-size: 5.636vw;
  }
  #container .section--hero .section__block--heading .section__heading .section__i {
    font-size: 5.636vw;
  }
  #container .section--hero .section__block--text .section__par--title {
    font-size: 2vw;
    line-height: 2;
  }
  #container .section--hero .section__block--text .section__par--text {
    margin-top: 1.455vw;
    font-size: 1.455vw;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  #container .section--hero {
    height: auto;
  }
  #container .section--hero .section__inner {
    height: auto;
    min-height: 80dvh;
    background: url(../images/brand/hero_bgi01.jpg) no-repeat 50% 50%/cover;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 3.90625vw;
  }
  #container .section--hero .section__block {
    width: 80%;
  }
  #container .section--hero .section__block--heading {
    margin-left: 0;
  }
  #container .section--hero .section__block--heading .section__heading .section__small {
    font-size: 3.125vw;
  }
  #container .section--hero .section__block--heading .section__heading .section__b {
    margin-top: 6.8359375vw;
    font-size: 12.109375vw;
  }
  #container .section--hero .section__block--heading .section__heading .section__i {
    margin-left: 15.625vw;
    font-size: 12.109375vw;
  }
  #container .section--hero .section__block--text .section__par--title {
    font-size: 4.296875vw;
  }
  #container .section--hero .section__block--text .section__par--text {
    margin-top: 3.125vw;
    font-size: 3.125vw;
  }
  #container .section__inner {
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
  }
}
/*---------------------------
.section--01
---------------------------*/
.section--01 {
  width: 100%;
  margin: 0 auto;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  padding: 10em 0;
}

.section--01 img {
  width: 100%;
}

.section--01 .con_01 .img01 {
  margin: 0 auto;
  width: 180px;
}

.section--01 .con_01 .img02 {
  margin: 0 auto;
  width: 300px;
  padding: 3em 0 0;
}

.section--01 .con_01 .txt01 {
  font-size: 16px;
  text-align: center;
  color: #000;
  line-height: 2.5;
  letter-spacing: 0.1em;
  padding: 3em 0 0;
}

.section--01 .con_01 .img03 {
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
  padding: 10em 0 0;
}

.section--01 .con_01 .img04 {
  margin: 0 auto;
  width: 560px;
  padding: 10em 0 0;
}

.section--01 .con_01 .txt02 {
  font-size: 16px;
  text-align: center;
  color: #000;
  line-height: 2.5;
  letter-spacing: 0.1em;
  padding: 2em 0 0;
}

.section--01 .con_01 .img05 {
  margin: 0 auto;
  width: 250px;
  padding: 3em 0 0;
}

.section--01 .con_01 .cap {
  font-size: 12px;
  text-align: center;
  padding: 3em 0 0;
}

/* Tab */
/* sp */
@media screen and (max-width: 767px) {
  .section--01 {
    padding: 5em 0;
  }
  .section--01 .con_01 .img01 {
    max-width: 180px;
    width: 100%;
  }
  .section--01 .con_01 .img02 {
    max-width: 250px;
    width: 100%;
    padding: 3em 0 0;
  }
  .section--01 .con_01 .txt01 {
    font-size: 3.39vw;
    padding: 3em 0 0;
  }
  .section--01 .con_01 .img03 {
    width: 100%;
    padding: 5em 0 0;
  }
  .section--01 .con_01 .img04 {
    max-width: 300px;
    width: 100%;
    padding: 5em 0 0;
  }
  .section--01 .con_01 .txt02 {
    font-size: 3.39vw;
    padding: 2em 0 0;
  }
  .section--01 .con_01 .img05 {
    max-width: 200px;
    width: 100%;
    padding: 2em 0 0;
  }
  .section--01 .con_01 .cap {
    font-size: 10px;
    padding: 3em 0 0;
  }
}
/*---------------------------
.section--02
---------------------------*/
.section--02 {
  width: 100%;
  margin: 0 auto;
  background: #e5e5e5;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.8;
  letter-spacing: 0.1em;
  padding: 10em 0 12em;
}

.section--02 .con_01 p.title {
  font-size: 45px;
  color: #000;
  text-align: left;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  line-height: 1;
  padding: 0 0 1em;
}

.section--02 .con_01 .timeline_bg {
  background: #fff;
  max-width: 1100px;
  width: 100%;
  height: 600px;
  overflow-y: scroll;
  overflow-x: hidden;
  cursor: pointer;
}

.section--02 .con_01 .timeline_bg::-webkit-scrollbar {
  width: 5px;
}

.section--02 .con_01 .timeline_bg::-webkit-scrollbar-track {
  background-color: #ccc;
}

.section--02 .con_01 .timeline_bg::-webkit-scrollbar-thumb {
  background-color: #666;
}

.section--02 .con_01 .timeline {
  width: 96%;
  margin: 0 auto;
}

.section--02 .con_01 .timeline-list {
  padding: 0;
}

.section--02 .con_01 .timeline-list-item {
  display: flex;
}

.section--02 .con_01 .timeline-list-item .date {
  width: 10%;
  padding: 0 0 0 20px;
  font-size: 28px;
}

.section--02 .con_01 .timeline-list-item .date.first {
  padding: 30px 0 0 20px;
}

.section--02 .con_01 .timeline-list-item .content {
  position: relative;
  width: 90%;
  padding: 10px 20px 30px 30px;
  border-left: 0.5px solid #000;
  font-size: 16px;
  font-weight: 300;
}

.section--02 .con_01 .timeline-list-item .content p {
  margin-bottom: 0.5em;
}

.section--02 .con_01 .timeline-list-item .content.first {
  padding: 40px 20px 30px 30px;
}

.section--02 .con_01 .timeline-list-item .content .img01 {
  width: 200px;
  margin: 2rem auto 1rem 15%;
}

.section--02 .con_01 .timeline-list-item .content img {
  width: 100%;
}

.section--02 .con_01 .timeline-list-item .content ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  max-width: 750px;
  align-items: flex-start;
}

.section--02 .con_01 .timeline-list-item .content ul li {
  width: calc((100% - 30px) / 2);
  margin-bottom: 1rem;
}

.section--02 .con_01 .timeline-list-item .content ul li:last-child {
  margin-bottom: 2rem;
}

.section--02 .con_01 .timeline-list-item .content ul li:last-child.end {
  margin-bottom: 3rem;
}

.section--02 .con_01 .timeline-list-item .content ul li .ttl {
  margin-bottom: 0.5em;
}

.section--02 .con_01 .timeline-list-item .content ul li .txt {
  font-size: 12px;
}

/* Tab */
@media only screen and (max-width: 1100px) {
  .section--02 .con_01 .timeline-list-item .date {
    padding: 0 0 0 1.786vw;
    font-size: 2.5vw;
  }
  .section--02 .con_01 .timeline-list-item .date.first {
    padding: 2.679vw 0 0 1.786vw;
  }
  .section--02 .con_01 .timeline-list-item .content {
    padding: 0.893vw 1.786vw 2.679vw 2.679vw;
    font-size: 1.429vw;
  }
  .section--02 .con_01 .timeline-list-item .content.first {
    padding: 3.571vw 1.786vw 2.679vw 2.679vw;
  }
  .section--02 .con_01 .timeline-list-item .content .img01 {
    width: 17.857vw;
  }
  .section--02 .con_01 .timeline-list-item .content ul {
    max-width: 66.964vw;
  }
  .section--02 .con_01 .timeline-list-item .content ul li {
    width: calc((100% - 2.679vw) / 2);
    margin-bottom: 1rem;
  }
  .section--02 .con_01 .timeline-list-item .content ul li .txt {
    font-size: 1.071vw;
  }
}
/* sp */
@media only screen and (max-width: 767px) {
  .section--02 {
    padding: 5em 0 6em;
  }
  .section--02 .con_01 p.title {
    font-size: 7.171vw;
    padding: 0 0 1em;
  }
  .section--02 .con_01 .timeline_bg {
    height: 300px;
  }
  .section--02 .con_01 .timeline-list-item .date {
    width: 20%;
    padding: 0 0 0 2.604vw;
    font-size: 4.948vw;
  }
  .section--02 .con_01 .timeline-list-item .date.first {
    padding: 3.906vw 0 0 2.604vw;
  }
  .section--02 .con_01 .timeline-list-item .content {
    position: relative;
    width: 80%;
    padding: 1.302vw 2.604vw 3.906vw 3.906vw;
    font-size: 3.385vw;
  }
  .section--02 .con_01 .timeline-list-item .content p {
    margin-bottom: 1em;
  }
  .section--02 .con_01 .timeline-list-item .content.first {
    padding: 5.208vw 2.604vw 3.906vw 3.906vw;
  }
  .section--02 .con_01 .timeline-list-item .content .img01 {
    width: 70%;
    margin: 1rem auto;
  }
  .section--02 .con_01 .timeline-list-item .content ul li {
    width: 100%;
    margin-bottom: 1rem;
  }
  .section--02 .con_01 .timeline-list-item .content ul li:last-child {
    margin-bottom: 2rem;
  }
  .section--02 .con_01 .timeline-list-item .content ul li:last-child.end {
    margin-bottom: 3rem;
  }
  .section--02 .con_01 .timeline-list-item .content ul li .ttl {
    margin-bottom: 0.5em;
  }
  .section--02 .con_01 .timeline-list-item .content ul li .txt {
    font-size: 10px;
  }
}
/*---------------------------
.section--03
---------------------------*/
.section--03 {
  width: 100%;
  margin: 0 auto;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  padding: 10em 0 0;
}

.section--03 img {
  width: 100%;
}

.section--03 .con_01 > p.ttl {
  font-size: 28px;
  text-align: center;
  color: #000;
  line-height: 2;
  letter-spacing: 0.1em;
}

.section--03 .con_01 > p.ttl span {
  font-size: 0.5em;
  vertical-align: text-bottom;
}

.section--03 .con_01 > p.txt {
  font-size: 16px;
  text-align: center;
  color: #000;
  line-height: 2.5;
  letter-spacing: 0.1em;
  padding: 2em 0 0;
}

.section--03 .con_01 .img01 {
  margin: 0 auto;
  width: 100%;
  max-width: 700px;
  padding: 10em 0 0;
}

.section--03 .con_01 > p.cap {
  font-size: 12px;
  text-align: left;
  color: #000;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding: 5em 0 0;
}

/* .con_02 */
.section--03 .con_02 {
  width: 100%;
  margin: 0 auto;
  padding: 8em 0 0;
}

.section--03 .con_02 > ul.ul_01 {
  width: 90%;
  margin: 0 auto 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: end;
}

.section--03 .con_02 > ul.ul_01 > li {
  position: relative;
  padding-bottom: 50px;
}

.section--03 .con_02 > ul.ul_01 p {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 14px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: left;
  color: #000;
  line-height: 1.6;
}

.section--03 .con_02 ul.ul_01 > li:last-child p {
  bottom: 20px;
}

.section--03 .con_02 ul.ul_01 > li:first-child {
  width: 55%;
}

.section--03 .con_02 ul.ul_01 > li:last-child {
  width: 40%;
}

.section--03 .con_02 > ul.ul_02 {
  width: 90%;
  margin: 0 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 3em 0 0;
}

.section--03 .con_02 ul.ul_02 > li:first-child {
  width: 40%;
}

.section--03 .con_02 ul.ul_02 > li:last-child {
  width: 55%;
}

.section--03 .con_02 > ul.ul_02 p {
  font-size: 14px;
  text-align: left;
  color: #000;
  line-height: 1.6;
  padding-top: 5px;
}

/* Tab */
@media only screen and (max-width: 1100px) {
  .section--03 .con_01 > p.ttl {
    font-size: 2.545vw;
  }
  .section--03 .con_01 > p.txt {
    font-size: 1.455vw;
    padding: 2em 0 0;
  }
  .section--03 .con_01 .img01 {
    width: 100%;
    padding: 10em 0 0;
  }
  .section--03 .con_01 > p.cap {
    font-size: 1.091vw;
    padding: 5em 0 0;
  }
  /* .con_02 */
  .section--03 .con_02 > ul.ul_01 > li {
    position: relative;
    padding-bottom: 4.545vw;
  }
  .section--03 .con_02 > ul.ul_01 p {
    font-size: 1.273vw;
  }
  .section--03 .con_02 ul.ul_01 > li:last-child p {
    bottom: 1.818vw;
  }
  .section--03 .con_02 > ul.ul_02 p {
    font-size: 1.273vw;
    padding-top: 0.455vw;
  }
}
/* sp */
@media only screen and (max-width: 767px) {
  .section--03 {
    padding: 5em 0 0;
  }
  .section--03 .con_01 > p.ttl {
    font-size: 4.954vw;
  }
  .section--03 .con_01 > p.ttl span {
    font-size: 0.6em;
  }
  .section--03 .con_01 > p.txt {
    font-size: 3.39vw;
    padding: 2em 0 0;
  }
  .section--03 .con_01 .img01 {
    width: 100%;
    padding: 5em 0 0;
  }
  .section--03 .con_01 > p.cap {
    font-size: 10px;
    padding: 5em 0 0;
  }
  /* .con_02 */
  .section--03 .con_02 {
    padding: 4em 0 0;
  }
  .section--03 .con_02 > ul.ul_01 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    gap: 2em 0;
  }
  .section--03 .con_02 > ul.ul_01 > li {
    position: relative;
    padding-bottom: 13.038vw;
  }
  .section--03 .con_02 > ul.ul_01 p {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 3.129vw;
  }
  .section--03 .con_02 ul.ul_01 > li:last-child p {
    bottom: 5.215vw;
  }
  .section--03 .con_02 ul.ul_01 > li:first-child {
    width: 100%;
  }
  .section--03 .con_02 ul.ul_01 > li:last-child {
    width: 100%;
  }
  .section--03 .con_02 > ul.ul_02 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1em 0 0;
    gap: 2em 0;
  }
  .section--03 .con_02 ul.ul_02 > li:first-child {
    width: 100%;
  }
  .section--03 .con_02 ul.ul_02 > li:last-child {
    width: 100%;
  }
  .section--03 .con_02 > ul.ul_02 p {
    font-size: 3.129vw;
    padding-top: 2.608vw;
  }
}
/*---------------------------
.section--04
---------------------------*/
.section--04 {
  width: 100%;
  margin: 0 auto;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  padding: 15em 0 0;
}

.section--04 img {
  width: 100%;
}

.section--04 .con_01 p.title {
  font-size: 45px;
  color: #000;
  text-align: left;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  line-height: 1;
}

.section--04 .con_01 p.text {
  font-size: 22px;
  color: #000;
  text-align: left;
  line-height: 1.8;
  padding: 1em 0 0;
}

.section--04 .con_01 .icon {
  margin: -5em auto 0;
  width: 290px;
}

/* .wrap */
.section--04 .con_01 .wrap {
  width: 100%;
  margin: 0 auto;
  padding: 6em 0 0;
}

.section--04 .con_01 .wrap .ttl {
  padding: 1em 2em;
  background-color: #000;
}

.section--04 .con_01 .wrap .ttl p {
  font-size: 22px;
  color: #fff;
  text-align: left;
  line-height: 1;
}

.section--04 .con_01 .wrap .txt {
  font-size: 14px;
  color: #000;
  text-align: left;
  line-height: 2;
}

.section--04 .con_01 .wrap .cap p {
  font-size: 12px;
  color: #000;
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
}

/* アフターサービス */
.section--04 .con_01 .wrap .after {
  margin-top: 2em;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.section--04 .con_01 .wrap .after li:first-child {
  width: 70%;
}

.section--04 .con_01 .wrap .after li:last-child {
  width: 30%;
}

.section--04 .con_01 .wrap .after li .imageCap {
  max-width: 332px;
  width: 100%;
}

.section--04 .con_01 .wrap .after li .cap {
  margin-top: 2em;
}

/* D’s10年サポート */
.section--04 .con_01 .wrap .extension .txt {
  margin-top: 2em;
}

.section--04 .con_01 .wrap .extension .img01 {
  width: 100%;
  max-width: 950px;
  margin: 0 auto;
  padding: 3em 0 0;
}

.section--04 .con_01 .wrap .extension .cap {
  margin-top: 3em;
}

.section--04 .con_01 .wrap .extension .case {
  margin-top: 4em;
  padding: 1em;
  width: 24%;
  border-left: 1px solid #0e386d;
  border-right: 1px solid #0e386d;
}

.section--04 .con_01 .wrap .extension .case p {
  font-size: 20px;
  text-align: center;
  line-height: 1;
  color: #0e386d;
}

.section--04 .con_01 .wrap .extension ul.case_inner {
  margin-top: 1%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.section--04 .con_01 .wrap .extension .case_inner li {
  width: 24%;
  padding: 1.4em 0;
  background-color: #3e608a;
}

.section--04 .con_01 .wrap .extension .case_inner li p {
  font-size: 18px;
  text-align: center;
  line-height: 1;
  color: #fff;
}

/* D’s Bridge */
.section--04 .con_01 .wrap .bridge .txt {
  margin-top: 2em;
}

.section--04 .con_01 .wrap .bridge .txt.second {
  margin-top: 5em;
}

.section--04 .con_01 .wrap .bridge .img01 {
  margin: 0 auto;
  max-width: 750px;
  width: 100%;
  padding: 3em 0 0;
}

.section--04 .con_01 .wrap .bridge .img02 {
  margin: 0 auto;
  max-width: 1120px;
  width: 100%;
  padding: 3em 0 0;
}

.section--04 .con_01 .wrap .bridge .cap {
  margin-top: 3em;
}

.section--04 .con_01 .wrap .bridge .cap p {
  padding-left: 2em;
  text-indent: -2em;
}

/* Tab */
@media screen and (max-width: 1100px) {
  .section--04 .con_01 p.title {
    font-size: 4.091vw;
  }
  .section--04 .con_01 p.text {
    font-size: 2vw;
    padding: 1em 0 0;
  }
  .section--04 .con_01 .icon {
    margin: -5em auto 0;
    width: 26.364vw;
  }
  /* .wrap */
  .section--04 .con_01 .wrap .ttl p {
    font-size: 2vw;
  }
  .section--04 .con_01 .wrap .txt {
    font-size: 1.273vw;
  }
  .section--04 .con_01 .wrap .cap p {
    font-size: 1.091vw;
  }
  /* アフターサービス */
  /* D’s10年サポート */
  .section--04 .con_01 .wrap .extension .case p {
    font-size: 1.818vw;
  }
  .section--04 .con_01 .wrap .extension .case_inner li p {
    font-size: 1.636vw;
  }
  /* D’s Bridge */
}
/* sp */
@media screen and (max-width: 767px) {
  .section--04 {
    padding: 10em 0 0;
  }
  .section--04 .con_01 p.title {
    font-size: 7.171vw;
    text-align: center;
  }
  .section--04 .con_01 p.text {
    font-size: 4.172vw;
    text-align: center;
    padding: 1em 0 0;
  }
  .section--04 .con_01 .icon {
    margin: 0 auto;
    width: 70%;
    padding: 3em 0 0;
  }
  /* .wrap */
  .section--04 .con_01 .wrap {
    padding: 4em 0 0;
  }
  .section--04 .con_01 .wrap .ttl p {
    font-size: 4.172vw;
  }
  .section--04 .con_01 .wrap .txt {
    font-size: 3.129vw;
  }
  .section--04 .con_01 .wrap .cap p {
    font-size: 10px;
  }
  /* アフターサービス */
  .section--04 .con_01 .wrap .after {
    margin-top: 1em;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 2em 0;
  }
  .section--04 .con_01 .wrap .after li:first-child {
    width: 100%;
  }
  .section--04 .con_01 .wrap .after li:last-child {
    width: 100%;
  }
  .section--04 .con_01 .wrap .after li .imageCap {
    margin: 0 auto;
    width: 70%;
  }
  .section--04 .con_01 .wrap .after li .cap {
    margin-top: 1em;
  }
  /* D’s10年サポート */
  .section--04 .con_01 .wrap .extension .txt {
    margin-top: 1em;
  }
  .section--04 .con_01 .wrap .extension .img01 {
    width: 100%;
    padding: 2em 0 0;
  }
  .section--04 .con_01 .wrap .extension .cap {
    margin-top: 2em;
  }
  .section--04 .con_01 .wrap .extension .case {
    margin-top: 3em;
    padding: 1em;
    width: 100%;
  }
  .section--04 .con_01 .wrap .extension .case p {
    font-size: 3.911vw;
  }
  .section--04 .con_01 .wrap .extension ul.case_inner {
    margin-top: 1%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
  .section--04 .con_01 .wrap .extension .case_inner li {
    width: 49%;
    margin-top: 2%;
    padding: 1.4em;
    background-color: #3e608a;
  }
  .section--04 .con_01 .wrap .extension .case_inner li p {
    font-size: 3.651vw;
  }
  /* D’s Bridge */
  .section--04 .con_01 .wrap .bridge .txt {
    margin-top: 1em;
  }
  .section--04 .con_01 .wrap .bridge .txt.second {
    margin-top: 4em;
  }
  .section--04 .con_01 .wrap .bridge .img01 {
    width: 100%;
    padding: 2em 0 0;
  }
  .section--04 .con_01 .wrap .bridge .img02 {
    width: 100%;
    padding: 2em 0 0;
  }
  .section--04 .con_01 .wrap .bridge .cap {
    margin-top: 3em;
  }
}
/*---------------------------
横スクロール
---------------------------*/
.scr {
  width: 100%;
}

.scr .img {
  width: 100%;
}

.scr .img img {
  width: 100%;
}

.scr_t {
  display: none;
}

/* Tab */
/* sp */
@media screen and (max-width: 767px) {
  .scr_t {
    color: #000;
    font-size: 3.651vw;
    text-align: center;
    padding-bottom: 1em;
    display: block;
  }
  .scr {
    width: 100%;
    padding: 0;
    overflow-x: scroll;
  }
  .scr .img {
    width: 200vw;
  }
}