@charset "UTF-8";
/*ブレイクポイントを設定*/
/*メディアクエリ用のミックスイン*/
/*バックグラウンドアイコン用*/
/*フレックスボックス*/
/*フレックスアイテム*/
/*メニューボタン*/
@media only screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media only screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

nav {
  z-index: 999;
}

section .content {
  width: 992px;
  margin: 0 auto;
  box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
  section .content {
    width: 100%;
    padding: 0 20px;
  }
}

section .content img {
  width: 100%;
  vertical-align: middle;
}

.bg__lightgray {
  background: #EFEFEF;
}

.bg__gray {
  background: #DEDEDE;
}

.boxMvPage {
  background-image: url(../img/showroom/mv.png);
  background-position: 0 50%;
  background-size: cover;
}

.breadcrumb {
  background: #F0F0F0;
  padding-bottom: 2rem;
}

.showroom__common_ttl {
  padding: 0 0 2rem;
  box-sizing: border-box;
  margin: 0 0 4rem;
  position: relative;
  font-size: 2.4rem;
  font-weight: 600;
}

@media only screen and (max-width: 768px) {
  .showroom__common_ttl {
    font-size: 2.2rem;
  }
}

.showroom__common_ttl::after {
  content: "";
  width: 14rem;
  height: .2rem;
  background: linear-gradient(to left, #2e2e2e 50%, #d02e25 50%);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.showroom__common_txt {
  line-height: 1.6;
  font-size: 1.6rem;
}

.info,
.about,
.flow,
.comment,
.access {
  background-color: #F0F0F0;
}

.about,
.flow,
.comment,
.access {
  border-bottom: .5px solid #2e2e2e;
}

.info {
  background-image: url(../img/showroom/info_bg.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 8rem 0 61.3rem;
  box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
  .info {
    background-image: none;
    padding: 4rem 0 2rem;
  }
}

.info__ttl {
  margin: 0 auto 4rem;
  font-size: 4.6rem;
  font-weight: 600;
}
.info__ttl2 {
  margin: 0 auto 8rem;
  font-size: 3.6rem;
  font-weight: 600;
}

@media only screen and (max-width: 768px) {
  .info__ttl {
    margin: 0 auto 1rem;
    line-height: 1.0;
    font-size: 2.15rem;
  }
  .info__ttl2 {
    margin: 0 auto 4rem;
    line-height: 1.0;
    font-size: 2.0rem;
  }
}


.info__copy {
  line-height: 1.8;
  font-size: 2rem;
  font-weight: 600;
}

@media only screen and (max-width: 768px) {
  .info__copy {
    font-size: 1.45rem;
  }
}

.info__img_sp {
  display: none;
}

@media only screen and (max-width: 768px) {
  .info__img_sp {
    display: block;
    width: calc(100% + 40px);
    margin: 0 -20px;
  }
}

.about {
  padding: 6.3rem 0;
}

.about__logo {
  max-width: 900px;
  width: 100%;
  margin: 6rem auto 0;
}

.about__img {
  margin: 6rem auto 0;
}

.flow {
  padding: 6.3rem 0;
}

.flow__list {
  display: flex;
}

@media only screen and (max-width: 768px) {
  .flow__list {
    flex-direction: column;
  }
}

.flow__list_item {
  width: 25%;
  display: flex;
  flex-direction: column;
}

@media only screen and (max-width: 768px) {
  .flow__list_item {
    width: calc(100% + 20px);
    flex-direction: row;
    align-items: center;
    margin: 0 0 0 -20px;
  }
  .flow__list_item + .flow__list_item {
    margin-top: 4rem;
  }
}

.flow__list_img {
  flex-grow: 0;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .flow__list_img {
    width: 45%;
  }
}

.flow__list_cont {
  flex-grow: 1;
  margin: 1.5rem 0 0;
  padding: 0 2rem;
}

@media only screen and (max-width: 768px) {
  .flow__list_cont {
    width: 50%;
  }
}

.flow__list_ttl {
  margin: 0 auto 1.5rem;
  font-size: 1.6rem;
  font-weight: 600;
}

.flow__list_min {
  font-size: 1.2rem;
}

.flow__list_txt {
  text-align: left;
  line-height: 1.6;
  font-size: 1.2rem;
}

.comment {
  padding: 6.3rem 0;
}

.comment__box {
  display: flex;
  justify-content: space-between;
}

.comment__box + .comment__box {
  margin: 2rem 0 0;
}

.comment__box_icon {
  width: 9rem;
}

@media only screen and (max-width: 768px) {
  .comment__box_icon {
    width: 7.5rem;
  }
}

.comment__box_bubble {
  width: calc(100% - 12rem);
  padding: 1.8rem 2.5rem;
  border: 1px solid #808080;
  border-radius: 10px;
  box-sizing: border-box;
  background: #FFF;
  position: relative;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .comment__box_bubble {
    width: calc(100% - 10rem);
  }
}

.comment__box_bubble::before {
  content: "";
  width: 1.35rem;
  height: 2.55rem;
  background: url(../img/showroom/comment_parts.png) 50% 50% no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: -1.3rem;
  transform: translateY(-50%);
}

@media only screen and (max-width: 768px) {
  .comment__box_bubble::before {
    top: 2rem;
    left: -1.33rem;
    transform: translateY(0);
  }
}

.comment__box_txt {
  line-height: 1.6;
  font-size: 2rem;
  font-weight: 600;
}

@media only screen and (max-width: 768px) {
  .comment__box_txt {
    font-size: 1.6rem;
  }
}

.comment__box_red {
  color: #d02e25;
}

.access {
  padding: 6.3rem 0;
}

.access__wrap {
  max-width: 566px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
}

.access__box {
  display: flex;
  justify-content: space-between;
  padding: 1.2rem 1.8rem;
  border-bottom: .5px solid #2e2e2e;
  font-size: 1.4rem;
}

@media only screen and (max-width: 768px) {
  .access__box {
    padding: 1.2rem 1.3rem;
    line-height: 1.6;
  }
}

.access__box_ttl {
  width: 10.5rem;
  font-weight: 600;
}

.access__box_cont {
  width: calc(100% - 10.5rem);
}

.access__att {
  display: block;
  padding: 1.2rem 1.8rem;
  font-size: 1.4rem;
}

.access__btn {
  margin: 5rem 0 0;
  text-align: center;
}

.access__btn_link {
  max-width: 39rem;
  width: 100%;
  margin: 0 auto;
  padding: 2rem 0;
  border: 1.5px solid #d02e25;
  box-sizing: border-box;
  background: #FFF;
  position: relative;
  font-size: 2rem;
  font-weight: 600;
}

@media only screen and (max-width: 768px) {
  .access__btn_link {
    max-width: initial;
  }
}

.access__btn_link::after {
  content: "";
  width: .75rem;
  height: 1.35rem;
  background: url(../img/showroom/access_btn_arrow.png) 50% 50% no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
}
