/* PC */
/* SP  */
/* SP & TB */
/* TB & PC */
.l-map {
  position: relative;
}

.l-map:before {
  content: "";
  display: block;
  width: 100%;
}

.l-map > .l-map__inner {
  background-position: center;
  background-size: contain;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.map__illust {
  position: absolute;
  z-index: 1;
}

.map__illust:hover {
  opacity: .7;
}



.map__link {
  color: #fff;
  display: block;
  position: absolute;
  text-decoration: none;
}

.map__country {
  color: #b5b5b5;
  position: absolute;
}

.modal-wrap {
  display: none;
}

.link__text_en {
  background-color: #333333;
  display: inline-block;
  font-family: "RenaultFont";
  font-weight: bold;
  padding: 0 2px;
  vertical-align: text-top;
  white-space: nowrap;
}

.link__text_jp {
  background-color: #333333;
  display: inline-block;
  padding: 0 2px;
  vertical-align: text-top;
  white-space: nowrap;
}

.map__link {
  z-index: 4;
}

.map__link:hover .link__icon-plus {
  background-color: #333;
  -webkit-transition: all .5s;
  transition: all .5s;
}

.link__icon-plus {
  background-color: #fff;
  left: 0;
  position: absolute;
  top: 0;
}

.link__icon-plus::before, .link__icon-plus:after {
  background-color: #f4c81f;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
}

/* modal -------------------- */
.modal-item__header {
  background-color: #ffcc33;
  padding: 7px 21px 7px;
}

.modal-item__header_en {
  display: inline-block;
  font-family: "RenaultFont";
  font-size: 3rem;
  font-weight: bold;
}

.modal-item__header_jp {
  display: inline-block;
  font-size: 1.4rem;
}

.modal-item__content {
  padding: 35px 40px 30px;
}

.modal-item__group,
.modal-item__group__bottom {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.modal-item__copy {
  font-family: "RenaultFont";
  font-size: 1.1rem;
  padding: 5px 0 10px;
  text-align: right;
}

.modal-item__lead {
  font-size: 1.6rem;
  font-weight: bold;
}

/* TB & PC */
@media (min-width: 768px) {
  .modal-item__img {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    max-width: 400px;
    -webkit-order: 2;
    order: 2;
    width: 56.0000%;
  }
  .modal-item__img img {
    height: auto;
    max-width: 100%;
    width:100%;
  }
  .modal-item__description {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    font-size: 1.4rem;
    line-height: 2;
    margin-top: -4px;
    max-width: 300px;
    -webkit-order: 1;
    order: 1;
    width: 42.0000%;
  }
}

/* SP */
@media (max-width: 767px) {
  .modal-item__header {
    background-color: #ffcc33;
    padding: 9px 15px 9px;
  }
  .modal-item__header_en {
    display: block;
    font-size: 2.2rem;
    line-height: 25px;
  }
  .modal-item__header_jp {
    display: block;
    font-size: 1.2rem;
  }
  .modal-item__content {
    padding: 20px;
  }
  .modal-item__copy {
    font-size: 1.0rem;
    padding: 3px 0 4px;
    text-align: right;
  }
  .modal-item__group {
    display: block;
  }
  .modal-item__group__bottom {
    display: block;
    margin-top: 30px;
  }
  .modal-item__img img {
    height: auto;
    max-width: 100%;
    width:100%;
  }
  .modal-item__description {
    font-size: 1.3rem;
    line-height: 1.9;
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .l-map__inner {
    background-image: url("/special-contents/120th/img/frenchism/frenchism_map_sp.jpg");
  }
  .l-map:before {
    padding-top: 109.33333%;
  }
  .map__link {
    padding-left: 28px;
  }
  .map__link:before {
    height: 25px;
    width: 25px;
  }
  .map__country {
    font-family: "RenaultFont";
    font-size: 1rem;
  }
  .link__wrap {
    height: 12px;
  }
  .link__wrap + .link__wrap {
    margin-top: 2px;
  }
  .link__text_en {
    font-size: 1.1rem;
    height: 12px;
    line-height: 12px;
    margin-bottom: 2px;
  }
  .link__text_jp {
    font-size: 1rem;
    height: 11px;
    line-height: 11px;
  }
}

/* SP  */
@media (max-width: 767px) {
  .link__icon-plus {
    border-bottom-right-radius: 3px;
    border-top-left-radius: 3px;
    height: 25px;
    top: 3px;
    width: 25px;
  }
  .link__icon-plus::before {
    height: 15px;
    width: 2px;
  }
  .link__icon-plus::after {
    height: 2px;
    width: 15px;
  }
  .map__link__01 {
    left: 42%;
    top: 22%;
  }
  .map__link__02 {
    left: 42%;
    top: 14%;
  }
  .map__link__03 {
    left: 67%;
    top: 29.5%;
  }
  .map__link__04 {
    left: 50%;
    top: 39.5%;
  }
  .map__link__05 {
    left: 3%;
    top: 30%;
  }
  .map__link__06 {
    left: 15%;
    top: 11%;
  }
  .map__link__07 {
    left: 9%;
    top: 59%;
  }
  .map__link__08 {
    left: 60.5%;
    top: 65%;
  }
  .map__link__09 {
    left: 36%;
    top: 74%;
  }
  .map__link__10 {
left: 75%;
top: 45%;
  }
  .map__link__11 {
    left: 14%;
    top: 47%;
  }
  .map__link__12 {
    left: 23.5%;
    top: 83.5%;
  }
  .map__country__01 {
    display: none;
  }
  .map__country__02 {
    left: 10.5%;
    top: 84.75%;
  }
  .map__country__03 {
    left: 35%;
    top: 0.25%;
  }
  .map__country__04 {
    left: 70.75%;
    top: 11%;
  }
  .map__country__05,
  .map__country__06 {
    display: none;
  }
  .map__country__07 {
    left: 86.5%;
    top: 13.5%;
  }
  .map__country__08 {
    display: none;
    /* left: 91%;
    top: 47.75%; */
  }
  .map__country__09 {
    left: 89%;
    top: 63.75%;
  }
  .map__illust__01 {
    left: 28%;
    top: 48.5%;
    width: 80px;
  }
  .map__illust__01 img{

    width: 80px;
  }

  .map__illust__02 {
    left: 44%;
    top: 27%;
    width: 56px;
  }
  .map__illust__02 img{

    width: 56px;
  }
  .map__illust__03 {
    left: 42%;
    top: 82%;
    width: 57px;
  }
  .map__illust__03 img{

    width: 57px;
  }
  .map__illust__04 {
    left: 66%;
    top: 52%;
    width: 60px;
  }
  .map__illust__04 img{

    width: 60px;
  }
}

/* TB */
@media (min-width: 768px) and (max-width: 1279px) {
  .map__country {
    font-size: 1.4rem;
  }
  .map__link__01 {
    left: 50%;
    top: 26%;
  }
  .map__link__02 {
    left: 51%;
    top: 21%;
  }
  .map__link__03 {
    right: 10%;
    top: 29.5%;
  }
  .map__link__04 {
    left: 58%;
    top: 40.5%;
  }
  .map__link__05 {
    left: 15%;
    top: 32%;
  }
  .map__link__06 {
    left: 26%;
    top: 20%;
  }
  .map__link__07 {
    left: 21%;
    top: 63%;
  }
  .map__link__08 {
    left: 62.5%;
    top: 67%;
  }
  .map__link__09 {
    left: 56%;
    top: 73%;
  }
  .map__link__10 {
    left: 69%;
    top: 50%;
  }
  .map__link__11 {
    left: 24%;
    top: 47%;
  }
  .map__link__12 {
    left: 36%;
    top: 78%;
  }
  .map__country__01 {
    display: none;
  }
  .map__country__02 {
    left: 10.5%;
    top: 84.75%;
  }
  .map__country__03 {
    left: 35%;
    top: 0.25%;
  }
  .map__country__04 {
    left: 70.75%;
    top: 11%;
  }
  .map__country__05,
  .map__country__06 {
    display: none;
  }
  .map__country__07 {
    left: 86.5%;
    top: 13.5%;
  }
  .map__country__08 {
    left: 91%;
    top: 47.75%;
  }
  .map__country__09 {
    left: 89%;
    top: 63.75%;
  }
  .map__illust__01 {
    left: 31%;
    top: 45.5%;
    width: 140px;
  }
  .map__illust__01 img{
   width: 140px;
  }
  .map__illust__02 {
    left: 51%;
    top: 26%;
    width: 91px;
  }
  .map__illust__02 img{
    width: 91px;
   }
  .map__illust__03 {
    left: 43%;
    top: 80%;
    width: 96px;
  }
  .map__illust__03 img{
    width: 96px;
   }
  .map__illust__04 {
    left: 68%;
    top: 54.5%;
    width: 101px;
  }
  .map__illust__04 img{
    width: 101px;
   }
}

.map-content__title {
  font-family: "RenaultFont";
}

.map-content-data {
  background-color: #fff;
  border-radius: 8px;
}

.map-content-data > table caption {
  position: relative;
  text-align: left;
}

.map-content-data > table caption:before {
  background-color: #ffcc00;
  content: "";
  display: block;
  position: absolute;
}

/* PC */
@media (min-width: 1280px) {
  .l-map {
    max-width: 1400px;
  }
  .map-content {
    height: 100%;
    left: 0;
    margin: auto;
    max-width: 1024px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 2;
  }
  .map-content__inner {
    pointer-events: all;
    width: 27.2031%;
  }
  .map-content__title {
    border-bottom: 6px solid #ffce00;
    display: inline-block;
    font-size: 5rem;
    line-height: 1;
    margin: 50px 0 25px;
    padding: 0 0 10px;
    width: 270px;
  }
  .map-content__lead {
    font-weight: bold;
  }
  .map-content__description {
    font-size: 1.4rem;
    line-height: 1.9;
    margin: 10px 0 0;
  }
  .map-content-data {
    margin: 500px 0 0;
    padding: 12px 20px;
    pointer-events: all;
    width: 33%;
  }
  .map-content-data > table caption {
    border-bottom: 2px solid;
    font-size: 1.4rem;
    margin-bottom: 6px;
    padding: 0 0 4px;
  }
  .map-content-data > table caption::before {
    bottom: -2px;
    height: 2px;
    left: 0;
    width: 30px;
  }
  .map-content-data > table th,
  .map-content-data > table td {
    font-size: 1rem;
  }
  .map-content-data > table th {
    padding: 2px 0 0 0;
  }
  .map-content-data > table td {
    padding: 2px 0 0 10px;
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .map-content {
    padding: 0 15px;
  }
  .map-content__title {
    border-bottom: 3px solid #ffce00;
    font-size: 2.5rem;
    line-height: 1;
    margin: 50px 0 12px;
    padding: 0 0 10px;
  }
  .map-content-data {
    border: 1px solid #dddddd;
    margin: 20px 0 0;
    padding: 12px 20px;
  }
  .map-content-data > table caption {
    border-bottom: 2px solid;
    font-size: 1.3rem;
    margin-bottom: 4px;
    padding: 0 0 6px;
  }
  .map-content-data > table caption::before {
    bottom: -2px;
    height: 2px;
    left: 0;
    width: 30px;
  }
  .map-content-data > table th,
  .map-content-data > table td {
    font-size: 1rem;
  }
  .map-content-data > table th {
    padding: 2px 0 0 0;
  }
  .map-content-data > table td {
    padding: 2px 0 0 10px;
  }
  .map-content__lead {
    font-weight: bold;
  }
  .map-content__description {
    font-size: 1.3rem;
    line-height: 1.9;
    margin: 3px 0 25px;
    text-align: justify;
  }
}

/* TB */
@media (min-width: 768px) and (max-width: 1279px) {
  .l-map-wrapper {
    margin: 0 -50%;
    overflow: hidden;
    position: relative;
    width: 200vw;
  }
  .map-content__inner {
    padding: 0 0px;
  }
  .map-content {
    padding: 0 32px;
  }
  .map-content-data {
    border: 1px solid #dddddd;
    margin: 32px 0 0;
    padding: 12px 20px;
  }
  .map-content-data > table caption {
    border-bottom: 2px solid;
    font-size: 1.5rem;
    margin-bottom: 6px;
    padding: 0 0 8px;
  }
  .map-content-data > table caption::before {
    bottom: -2px;
    height: 2px;
    left: 0;
    width: 60px;
  }
  table.map-content-data__table {
    width: 100%;
  }
  .map-content-data > table th,
  .map-content-data > table td {
    font-size: 1.3rem;
    text-align: left;
  }
  .link__text_en {
    font-size: 1.4rem;
    height: 15px;
    line-height: 15px;
    margin-bottom: 1px;
    padding: 0 4px;
  }
  .link__text_jp {
    font-size: 1rem;
    height: 15px;
    line-height: 15px;
    padding: 0 2px;
  }
  .link__wrap {
    height: 15px;
  }
  .link__wrap + .link__wrap {
    margin-top: 2px;
  }
  .map__link {
    padding-left: 36px;
  }
  .map__link:before {
    height: 32px;
    top: 4px;
    width: 32px;
  }
  .link__icon-plus {
    border-bottom-right-radius: 3px;
    border-top-left-radius: 3px;
    height: 32px;
    width: 32px;
    top: 3px;
  }
  .link__icon-plus::before {
    height: 18px;
    width: 3px;
  }
  .link__icon-plus::after {
    height: 3px;
    width: 18px;
  }
}

/* PC */
@media (min-width: 1280px) {
  .l-section-france {
    margin: 45px 0 0 0;
  }
  .l-map__inner {
    background-image: url("/special-contents/120th/img/frenchism/frenchism_map.jpg");
  }
  .l-map {
    margin: auto;
    max-width: 1400px;
  }
  .l-map:before {
    padding-top: 50%;
  }
  .link__wrap {
    height: 15px;
  }
  .link__wrap + .link__wrap {
    margin-top: 2px;
  }
  .link__text_en {
    font-size: 1.4rem;
    height: 15px;
    line-height: 15px;
    margin-bottom: 1px;
    padding: 0 4px;
  }
  .link__text_jp {
    font-size: 1rem;
    height: 15px;
    line-height: 14px;
    padding: 0 2px;
  }
  .map__link {
    padding-left: 36px;
  }
  .link__icon-plus {
    border-bottom-right-radius: 3px;
    border-top-left-radius: 3px;
    height: 32px;
    width: 32px;
  }
  .link__icon-plus::before {
    height: 18px;
    width: 3px;
  }
  .link__icon-plus::after {
    height: 3px;
    width: 18px;
  }
  .map__country {
    font-family: "RenaultFont";
    font-size: 1.5rem;
    font-weight: bold;
  }
  .map__link__01 {
    left: 58.75%;
    top: 26.5%;
  }
  .map__link__02 {
    left: 57.25%;
    top: 21%;
  }
  .map__link__03 {
    left: 70%;
    top: 30%;
  }
  .map__link__04 {
    left: 59.4%;
    top: 42%;
  }
  .map__link__05 {
    left: 40.7%;
    top: 31.5%;
  }
  .map__link__06 {
    left: 44.5%;
    top: 18%;
  }
  .map__link__07 {
    left: 42.3%;
    top: 63.3%;
  }
  .map__link__08 {
    left: 61.8%;
    top: 63%;
  }
  .map__link__09 {
    left: 60.5%;
    top: 73%;
  }
  .map__link__10 {
    left: 66.6%;
    top: 49%;
  }
  .map__link__11 {
    left: 45%;
    top: 49.5%;
  }
  .map__link__12 {
    left: 50.1%;
    top: 78.1%;
  }
  .map__country__01 {
    left: 7.5%;
    top: 92%;
  }
  .map__country__02 {
    left: 42.5%;
    top: 87.75%;
  }
  .map__country__03 {
    left: 51%;
    top: 1.25%;
  }
  .map__country__04 {
    left: 66.75%;
    top: 12%;
  }
  .map__country__05 {
    left: 95%;
    top: 49%;
  }
  .map__country__06 {
    left: 95.5%;
    top: 25.5%;
  }
  .map__country__07 {
    left: 81.5%;
    top: 20%;
  }
  .map__country__08 {
    left: 75.5%;
    top: 49.75%;
  }
  .map__country__09 {
    left: 83.5%;
    top: 71.25%;
  }
  .map__illust__01 {
    left: 49%;
    top: 45.5%;
    width: 140px;
  }
  .map__illust__01 img{
   width: 140px;
  }
  .map__illust__02 {
    left: 60.5%;
    top: 26%;
    width: 91px;
  }
  .map__illust__02 img{
    width: 91px;
   }
  .map__illust__03 {
    left: 53.5%;
    top: 82%;
    width: 96px;
  }
  .map__illust__03 img{
    width: 96px;
   }
  .map__illust__04 {
    left: 66%;
    top: 54.5%;
    width: 101px;
  }
  .map__illust__04 img{
    width: 101px;
   }
}

/* france subcontent -------------------- */
/* PC */
@media (min-width: 1280px) {
  .l-france-subcontent {
    margin: 50px auto 0;
    max-width: 1024px;
  }
  .l-france-subcontent__header {
    font-size: 2.2rem;
  }
  .l-france-subcontent__group {
    -webkit-box-pack: justify;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    font-size: 1.5rem;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    line-height: 2;
    margin: 15px 0 0;
  }
  .l-france-subcontent__area01,
  .l-france-subcontent__area02 {
    text-align: justify;
    width: 48.0469%;
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .l-france-subcontent {
    margin: 33px auto 0;
    max-width: 1024px;
    padding: 0 15px;
  }
  .l-france-subcontent__header {
    font-size: 1.9rem;
  }
  .l-france-subcontent__group {
    font-size: 1.3rem;
    line-height: 1.9;
    margin: 10px 0 0;
    text-align: justify;
  }
  .l-france-subcontent__area01,
  .l-france-subcontent__area02 {
    display: block;
  }
}

/* TB */
@media (min-width: 768px) and (max-width: 1279px) {
  .l-france-subcontent {
    padding: 0 32px;

  }
}

.family-head,
.family-nav-wrap {
  position: relative;
  z-index: 2;
}

.l-section-family-head_bg {
  background-color: #f5f5f5;
  bottom: 0;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 1;
}

/* family head -------------------- */
/* PC */
@media (min-width: 1280px) {
  .l-section-family-head {
    margin: 154px 0 0;
    padding: 45px 0 0;
  }
  .l-section-family-head_bg {
    height: calc(100% - 180px);
  }
  .l-section-family-head_bg:before {
    background-image: url(/special-contents/120th/img/frenchism/family-head_bg.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 200px;
    position: absolute;
    top: -140px;
    width: 100%;
  }
  .family-head {
    margin: 0 auto;
    max-width: 1024px;
    overflow: hidden;
  }
  .family-head__title {
    border-bottom: 6px solid #ffcc33;
    border-top: 6px solid #ffcc33;
    float: left;
    font-family: "RenaultFont";
    font-size: 5rem;
    /* letter-spacing: -1.5px; */
    line-height: 1.1;
    margin: 30px 0 0;
    padding: 9px 0 5px;
    width: 27.3438%;
  }
  .family-head__img {
    float: right;
    width: 69%;
  }
  .family-head__subtitle {
    float: left;
    font-size: 1.6rem;
    font-weight: bold;
    margin: 15px 0 0;
    width: 27.3438%;
  }
  .family-head__description {
    float: left;
    font-size: 1.4rem;
    letter-spacing: -0.5px;
    line-height: 1.9;
    margin: 17px 0 0 0;
    text-align: justify;
    width: 28.3438%;
  }
}

.family-head__description a {
  text-decoration: underline;
}

.family-head__description a:visited {
  color: #333;
}

/* SP & TB */
@media (max-width: 1279px) {
  .l-section-family-head {
    margin: 55px 0 0;
    padding: 50px 0 30px;
  }
  .l-section-family-head_bg {
    border-top-left-radius: 50% 2%;
    border-top-right-radius: 50% 2%;
    height: calc(104% + -70px);
  }
  .l-section-family-head_bg:before {

    height: 50px;
    position: absolute;
    top: -0px;
    width: 100%;
  }
  .family-head {
    margin: 0 auto;
    max-width: 1024px;
    overflow: hidden;
    padding: 0 15px;
  }
  .family-head__title {
    border-bottom: 3px solid #ffcc33;
    font-family: "RenaultFont";
    font-size: 2.6rem;
    line-height: 1.1;
    margin: 0px 0 14px;
    padding: 9px 0 10px;
  }
  .family-head__img {
    text-align: center;
  }
  .family-head__img img {
    max-width: 100%;
    text-align: center;
  }
  .family-head__subtitle {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 25px 0 0;
  }
  .family-head__description {
    font-size: 1.3rem;
    letter-spacing: -0.5px;
    line-height: 1.9;
    margin: 6px 0 0 0;
    text-align: justify;
  }
}

/* TB */
@media (min-width: 768px) and (max-width: 1279px) {
  .l-section-family-head {
    margin: 70px 0 0;
    padding: 50px 0 30px;
  }
  .family-head {
    padding: 0 32px;
  }
  .l-section-family-head_bg {
    height: calc(100% - 180px);
  }
  .l-section-family-head_bg:before {
    background-image: url(/special-contents/120th/img/frenchism/family-head_bg.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 200px;
    position: absolute;
    top: -100px;
    width: 100%;
  }
}

/* family nav -------------------- */
.family-nav {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: 35px auto 0;
  max-width: 1024px;
}

.family-nav-item {
  background-color: #fff;
  border: 1px solid #dddddd;
  border-bottom-right-radius: 8px;
  margin-bottom: 30px;
}

.family-nav-item a {
  text-decoration: none;
}

.family-nav-item:hover {
  -webkit-transition: all .5s;
  transition: all .5s;
  opacity: 0.8;
}
.family-nav-item__head {
  background-color: #333333;
  border-left: 4px solid #ffcc33;
  color: #fff;
  padding: 4px 15px 6px;
  position: relative;
}

.family-nav-item__head:after {
  background-image: url(/special-contents/120th/img/frenchism/icon-arrow_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 11px;
  position: absolute;
  right: 15px;
  top: 16px;
  width: 20px;
}




.family-nav-item__head-en {
  display: inline-block;
  font-weight: bold;
}

.family-nav-item__head-jp {
  display: inline-block;
}

.family-nav-item__inner {
  color: #333;
}

.family-nav-item__theme:before {
  background-color: #333333;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 3px;
  color: #ffce00;
  content: "THEME";
  display: inline-block;
  font-weight: bold;
}

.family-nav-item__content {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.family-nav-item__icon img {
  max-width: 100%;
}

.page-move-target {
  position: absolute;
  position: absolute;
  top: -64px;
}

/* PC */
@media (min-width: 1280px) {
  .family-nav-item {
    width: 31.7383%;
  }
  .family-nav-item:nth-child(4), .family-nav-item:nth-child(5), .family-nav-item:nth-child(6) {
    margin-bottom: 0;
  }
  .family-nav-item-06 .family-nav-item__head-jp {
    display: inline-block;
    font-size: 1.1rem;
    line-height: 1.3;
    padding-left: 2px;
    vertical-align: -4px;
  }
  .family-nav-item__inner {
    padding: 20px 20px 16px 20px;
  }
  .family-nav-item__head-en {
    font-family: "RenaultFont";
    font-size: 2.3rem;
  }
  .family-nav-item__head-en span {
    font-family: "RenaultFont";
    font-size: 2.3rem;
    font-weight: 100;
  }
  .family-nav-item__head-jp {
    font-size: 1.3rem;
    padding-left: 2px;
  }
  .family-nav-item__theme {
    font-size: 1.4rem;
    margin: 0 0 12px;
  }
  .family-nav-item__theme:before {
    font-size: 1.2rem;
    line-height: 1;
    margin: 0 7px 0 0;
    padding: 3px 7px 4px;
  }
  .family-nav-item__content {
    font-size: 1.3rem;
  }
  .family-nav-item__icon {
    width: 24%;
  }
  .family-nav-item__description {
    font-size: 1.3rem;
    line-height: 1.9;
    text-align: justify;
    width: 72%;
  }
  .page-move-target {
    top: -64px;
  }
}

/* SP */
@media (max-width: 767px) {
  .family-nav {
    padding: 0 15px;
  }
  .family-nav-item {
    width: 100%;
  }
  .family-nav-item-06 .family-nav-item__head-jp {
    display: inline-block;
    font-size: 1.1rem;
    vertical-align: bottom;
  }
  .family-nav-item__inner {
    padding: 15px 15px 15px 10px;
  }
  .family-nav-item__head-en {
    font-family: "RenaultFont";
    font-size: 2.2rem;
  }
  .family-nav-item__head-jp {
    font-size: 1.1rem;
  }
  .family-nav-item__head {
    padding: 3px 12px 5px;
  }
  .family-nav-item {
    margin-bottom: 15px;
  }
  .family-nav-item__theme {
    font-size: 1.4rem;
    font-weight: bold;
    margin: 0 0 7px;
  }
  .family-nav-item__theme:before {
    font-size: 1.1rem;
    line-height: 1;
    margin: 0 7px 0 0;
    padding: 5px 7px 4px;
  }
  .family-nav-item__content {
    font-size: 1.3rem;
  }
  .family-nav-item__icon {
    width: 18%;
  }
  .family-nav-item__description {
    font-size: 1.2rem;
    line-height: 1.9;
    padding-top: 10px;
    width: 79%;
  }
  .page-move-target {
    top: -64px;
  }
}

/* TB */
@media (min-width: 768px) and (max-width: 1279px) {
  .family-nav {
    padding: 0 32px;
  }
  .family-nav-item {
    margin-bottom: 15px;
    width: 49%;
  }
  .family-nav-item__inner {
    padding: 15px 15px 15px 15px;
  }
  .family-nav-item__head-en {
    font-family: "RenaultFont";
    font-size: 2.3rem;
  }
  .family-nav-item__head-jp {
    font-size: 1.3rem;
  }
  .family-nav-item__theme {
    font-size: 1.4rem;
    padding-bottom: 8px;
  }
  .family-nav-item__theme:before {
    font-size: 1.3rem;
    line-height: 1;
    margin: 0 7px 0 0;
    padding: 3px 7px 4px;
  }
  .family-nav-item__content {
    font-size: 1.3rem;
  }
  .family-nav-item__icon {
    width: 23%;
  }
  .family-nav-item__description {
    font-size: 1.3rem;
    line-height: 1.9;
    padding-top: 6px;
    width: 71%;
  }
  .page-move-target {
    top: -64px;
  }

  .l-section-family-01 {
    margin: 10px 0 0!important;
  }
  .l-section-family-02 {
    margin: 90px 0 0!important;
  }
  .l-section-family-03 {
    margin: 90px 0 0!important;
  }
  .l-section-family-04 {
    margin: 90px 0 0!important;
  }
  .l-section-family-05 {
    margin: 90px 0 0!important;
  }
  .l-section-family-06 {
    margin: 90px 0 75px!important;
  }

}

.section-family__theme_logo {
  color: #f5f5f5;
  font-family: "RenaultFont";
  font-weight: bold;
  line-height: 1;
  position: absolute;
  white-space: nowrap;
  z-index: 1;
}

/* section-family common -------------------- */
/* PC */
@media (min-width: 1280px) {
  .section-family__inner {
    font-size: 1.5rem;
    margin-left: auto;
    margin-right: auto;
    max-width: 1024px;
    position: relative;
  }
  .section-family__logo-area {
    position: relative;
  }
  .section-family__content-area {
    position: relative;
    z-index: 2;
  }
  .section-family__logo {
    width: 110px;
  }
  .section-family__logo img {
    height: auto;
    max-width: 100%;
  }
  .section-family__name-en {
    font-family: "RenaultFont";
    font-size: 4.2rem;
    font-weight: bold;
    line-height: 1;
  }
  .section-family__name-en span {
    font-family: "RenaultFont";
    font-size: 4.2rem;
    font-weight: 100;
    line-height: 1;
  }
  .l-section-family-02__name,
  .l-section-family-05__name{
    text-align: center;
    padding-top: 10px;

  }
  .l-section-family-02__logo,
  .l-section-family-05__logo{
    text-align: center;
    margin: 0 auto;


  }
  .section-family__theme {
    border-bottom: 1px solid #333;
    border-top: 1px solid #333;
    border-top-left-radius: 5px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 35px;
    line-height: 33px;
  }
  .section-family__theme:before {
    background-color: #333;
    border-top-left-radius: 5px;
    color: #ffce00;
    content: "THEME";
    font-family: "RenaultFont";
    font-size: 1.7rem;
    font-weight: bold;
    margin-right: 10px;
    text-align: center;
    width: 90px;
  }
  .section-family__description {
    line-height: 1.9;
    margin: 25px 0 0;
    text-align: justify;
  }
  .section-family__theme_logo {
    font-size: 15rem;
  }
  .section-family__img-area {
    position: relative;
  }
  .section-family__img {
    position: relative;
    z-index: 2;
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .section-family__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.5rem;
    margin-left: auto;
    margin-right: auto;
    max-width: 1024px;
    padding: 0 15px;
    position: relative;
    width: 100%;
  }
  .section-family__logo-area {
    -webkit-box-ordinal-group: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-order: 1;
    margin: 0 0 17px;
    -webkit-order: 1;
    order: 1;
    position: relative;
    width: 100%;
  }
  .section-family__content-area {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
    position: relative;
    width: 100%;
    z-index: 2;
  }
  .section-family__img-area {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }
  .section-family__logo {
    width: 110px;
  }
  .section-family__logo img {
    height: auto;
    max-width: 100%;
  }
  .section-family__name-en {
    font-family: "RenaultFont";
    font-size: 4.2rem;
    font-weight: bold;
    line-height: 1;
  }
  .section-family__theme {
    border-bottom: 1px solid #333;
    border-top: 1px solid #333;
    border-top-left-radius: 5px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
    font-weight: bold;
    height: 30px;
    line-height: 28px;
  }
  .section-family__theme:before {
    background-color: #333;
    border-top-left-radius: 5px;
    color: #ffce00;
    content: "THEME";
    font-family: "RenaultFont";
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 28px;
    margin-right: 10px;
    text-align: center;
    width: 70px;
  }
  .section-family__description {
    font-size: 1.3rem;
    line-height: 1.9;
    margin: 10px 0 15px;
    text-align: justify;
  }
  .section-family__theme_logo {
    bottom: -30px;
    font-size: 5.2rem;
  }
  .section-family__img-area {
    position: relative;
  }
  .section-family__img {
    position: relative;
    z-index: 2;
  }
}

/* SP */
@media (max-width: 767px) {
  .section-family__logo {
    width: 75px;
  }
  .section-family__logo img {
    height: auto;
    max-width: 100%;
  }
  .section-family__name {
    margin: 9px 0 0 13px;
  }
  .section-family__name-en {
    font-family: "RenaultFont";
    font-size: 3rem;
    font-weight: bold;
    line-height: 1;
  }
  .section-family__name-jp {
    font-size: 1.3rem;
  }
}

/* TB */
@media (min-width: 768px) and (max-width: 1279px) {
  .section-family__theme_logo {
    bottom: -50px;
    font-size: 10.5rem;
  }
  .section-family__name {
    margin: 29px 0 0 20px;
  }
  .section-family__inner {
    padding: 0 32px;

  }
}

/* section-family 01 -------------------- */
/* PC */
@media (min-width: 1280px) {
  .l-section-family-01 {
    margin: 100px 0 0;
  }
  .l-section-family-01__logo-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    float: left;
    margin: 0 0 25px;
    width: 39.0625%;
  }
  .section-family-01__theme_logo {
    bottom: -120px;
    left: -3px;
  }
  .l-section-family-01__name {
    margin: 18px 0 0 16px;
  }
  .l-section-family-01__img-area {
    float: right;
    width: 58.5938%;
  }
  .l-section-family-01__content-area {
    float: left;
    width: 39.0625%;
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .l-section-family-01 {
    margin: 45px 0 0;
  }
}

/* section-family 02 -------------------- */
/* PC */
@media (min-width: 1280px) {
  .l-section-family-02 {
    margin: 130px 0 0;
  }
  .l-section-family-02__logo-area {
    position: absolute;
    right: 15px;
    top: 36px;
  }
  .l-section-family-02__img-area {
    margin: auto;
    width: 73.2422%;
  }
  .section-family-02__theme_logo {
    font-size: 19.6rem;
    left: -287px;
    top: 148px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  .l-section-family-02__content-area {
    margin: auto;
    width: 73.2422%;
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .l-section-family-02 {
    margin: 50px 0 0;
  }
}

/* section-family 03 -------------------- */
/* PC */
@media (min-width: 1280px) {
  .l-section-family-03 {
    margin: 70px 0 0;
  }
  .l-section-family-03__logo-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    float: right;
    margin: 53px 0 26px 0;
    width: 39.0625%;
  }
  .l-section-family-03__name {
    margin: 22px 0 0 16px;
  }
  .l-section-family-03__img-area {
    float: left;
    width: 58.5938%;
  }
  .l-section-family-03__content-area {
    float: right;
    width: 39.0625%;
  }
  .section-family-03__theme_logo {
    font-size: 13rem;
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .l-section-family-03 {
    margin: 50px 0 0;
  }
}

/* section-family 04 -------------------- */
/* PC */
@media (min-width: 1280px) {
  .l-section-family-04 {
    margin: 140px 0 0;
  }
  .l-section-family-04__logo-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    float: left;
    margin: 34px 0 26px 0;
    width: 39.0625%;
  }
  .l-section-family-04__img-area {
    float: right;
    width: 58.5938%;
  }
  .l-section-family-04__name {
    margin: 22px 0 0 16px;
  }
  .section-family-04__theme_logo {
    bottom: -46px;
    font-size: 16.4rem;
    left: -472px;
  }
  .l-section-family-04__content-area {
    float: left;
    width: 39.0625%;
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .l-section-family-04 {
    margin: 50px 0 0;
  }
}

/* section-family 05 -------------------- */
/* PC */
@media (min-width: 1280px) {
  .l-section-family-05 {
    margin: 120px 0 0;
  }
  .l-section-family-05__logo-area {
    position: absolute;
    right: 0;
    top: 26px;
  }
  .l-section-family-05__img-area {
    width: 83.9844%;
  }
  .l-section-family-05__content-area {
    margin: 21px 0 0 13.5%;
    width: 72.2656%;
  }
  .section-family-05__theme_logo {
    font-size: 14rem;
    right: -264px;
    top: 376px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .l-section-family-05 {
    margin: 50px 0 0;
  }
}

/* section-family 06 -------------------- */
/* PC */
@media (min-width: 1280px) {
  .l-section-family-06 {
    margin: 70px 0 125px;
  }
  .l-section-family-06__logo-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    float: right;
    margin: 83px 0 28px 0;
    width: 39.0625%;
  }
  .l-section-family-06__name {
    margin: 23px 0 0 14px;
  }
  .l-section-family-06__img-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    float: left;
    width: 58.5938%;
  }
  .section-family-06__theme_logo {
    bottom: -90px;
    font-size: 13.8rem;
    left: 70px;
  }
  .l-section-family-06__content-area {
    float: right;
    width: 39.0625%;
  }
}

/* SP & TB */
@media (max-width: 1279px) {
  .l-section-family-06 {
    margin: 50px 0 40px;
  }
}
