@charset "UTF-8";
/*///////////////////////////////////////////////////////
    個別スタイル
///////////////////////////////////////////////////////*/
/*///////////////////////////////////////////////////////
    変数設定
///////////////////////////////////////////////////////*/
/* custom style */
/*///////////////////////////////////////////////////////
    mixin設定
///////////////////////////////////////////////////////*/
html:not([lang=ja]) .contents-design .contents-design--technic .contents-design--technic-ttl--ja {
  display: none;
}

.contents .contents-body {
  margin-bottom: 0;
}

.component-nav {
  margin-top: 7.5rem;
  margin-bottom: 3.25rem;
}
.component-nav .component-nav--inner {
  padding: 0 3.5rem;
}
.component-nav .component-nav--wrapper {
  display: flex;
  flex-flow: row wrap;
  align-content: flex-start;
  justify-content: space-between;
  justify-content: center;
  grid-gap: 1rem 2.5rem;
}
.component-nav .component-nav--wrapper .component-nav--link {
  flex: 0 1 auto;
  width: auto;
  padding-top: 1rem;
  font-size: 1.5rem;
  font-family: "Montserrat", "Zen Kaku Gothic New", serif;
  font-weight: 600;
  line-height: 1.3334em;
  letter-spacing: 0.05em;
  text-decoration: underline;
  position: relative;
}
.component-nav .component-nav--wrapper .component-nav--link::after {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-top: 0.1rem solid #0f0f0f;
  border-left: 0.1rem solid #0f0f0f;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 25%) rotate(45deg);
  opacity: 0;
}
.component-nav .component-nav--wrapper .component-nav--link.active {
  color: #797979;
}
.component-nav .component-nav--wrapper .component-nav--link.active::after {
  border-top-color: #797979;
  border-left-color: #797979;
  opacity: 1;
}

.contents-design {
  margin-bottom: 4rem;
}
.contents-design .inner {
  padding: 0 3.5rem;
}
.contents-design .contents-design--intro {
  margin-bottom: 4.55rem;
}
.contents-design .contents-design--intro .contents-design--intro-ttl {
  margin-bottom: 2.15rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5278em;
  letter-spacing: 0.07em;
  text-align: center;
}
.contents-design .contents-design--intro .contents-design--intro-txt {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.577em;
  letter-spacing: 0.07em;
}
.contents-design .contents-design--intro .contents-design--intro-attention {
  margin-top: 1.3rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.07em;
}
.contents-design .sec__ttl {
  margin-bottom: 2.15rem;
  padding-left: 1.25rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4334em;
  letter-spacing: 0.07em;
  position: relative;
}
.contents-design .sec__ttl::before {
  content: "";
  width: 0.1rem;
  height: calc(100% + 0.4rem);
  background: #0f0f0f;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.contents-design .contents-design--list {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 2.22rem 0;
  margin-bottom: 3.2rem;
}
.contents-design .contents-design--list.piece_layout {
  grid-gap: 3.05rem 0;
  margin-bottom: 3.8rem;
}
.contents-design .contents-design--list.piece_layout .contents-design--item .contents-design--item-img {
  margin-bottom: 2.1rem;
}
.contents-design .contents-design--list.piece_layout .contents-design--item .contents-design--item-name {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4em;
  letter-spacing: 0.07em;
}
.contents-design .contents-design--list.piece_layout .contents-design--item .contents-design--item-txt {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6167em;
  letter-spacing: 0.07em;
}
.contents-design .contents-design--column {
  margin-bottom: 4rem;
}
.contents-design .contents-design--column .contents-design--column-ttl {
  margin-bottom: 1.2rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.07em;
}
.contents-design .contents-design--column .contents-design--column-txt {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6167em;
  letter-spacing: 0.07em;
}
.contents-design .contents-design--column .contents-design--column-img {
  margin-top: 1.8rem;
}
.contents-design .contents-design--technic .contents-design--technic-sec .contents-design--technic-wrapper > .contents-design--technic-name {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4em;
  letter-spacing: 0.07em;
}
.contents-design .contents-design--technic .contents-design--technic-sec .contents-design--technic-wrapper > .contents-design--technic-txt {
  margin-top: 0.5rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.4165em;
  letter-spacing: 0.07em;
}
.contents-design .contents-design--technic .contents-design--technic-sec .contents-design--technic-wrapper > .contents-design--technic-list {
  margin-top: 2rem;
}
.contents-design .contents-design--technic .contents-design--technic-sec .contents-design--technic-wrapper + .contents-design--technic-wrapper {
  margin-top: 3.74rem;
}
.contents-design .contents-design--technic .contents-design--technic-sec + .contents-design--technic-sec {
  margin-top: 3rem;
  padding-top: 2.8rem;
  border-top: 0.1rem solid #d8d8d8;
}
.contents-design .contents-design--technic .contents-design--technic-ttl {
  margin-bottom: 2.5rem;
}
.contents-design .contents-design--technic .contents-design--technic-ttl--en {
  font-size: 1.8rem;
  font-family: "Montserrat", "Zen Kaku Gothic New", serif;
  font-weight: 600;
  line-height: 1.4445em;
  letter-spacing: 0.07em;
  text-align: center;
}
.contents-design .contents-design--technic .contents-design--technic-ttl--ja {
  margin-top: 0.5rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.4165em;
  letter-spacing: 0.1em;
  text-align: center;
}
.contents-design .contents-design--technic .contents-design--technic-ttl--tpms {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.45em;
  letter-spacing: 0.07em;
  text-align: center;
}
.contents-design .contents-design--technic .contents-design--technic-list {
  display: grid;
}
.contents-design .contents-design--technic .contents-design--technic-list.rim {
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 2rem 0.5rem;
}
.contents-design .contents-design--technic .contents-design--technic-list.rim .contents-design--technic-item .contents-design--technic-img {
  margin-bottom: 0.8rem;
}
.contents-design .contents-design--technic .contents-design--technic-list.rim .contents-design--technic-item .contents-design--technic-name {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.4545em;
  letter-spacing: 0.07em;
  text-align: center;
}
.contents-design .contents-design--technic .contents-design--technic-list.soc, .contents-design .contents-design--technic .contents-design--technic-list.soc_wheel {
  grid-template-columns: repeat(2, 1fr);
}
.contents-design .contents-design--technic .contents-design--technic-list.soc {
  grid-gap: 2rem 2.5rem;
  margin-bottom: 3rem;
}
.contents-design .contents-design--technic .contents-design--technic-list.soc .contents-design--technic-item .contents-design--technic-img {
  margin-bottom: 0.5rem;
}
.contents-design .contents-design--technic .contents-design--technic-list.soc .contents-design--technic-item .contents-design--technic-name {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.07em;
  text-align: center;
}
.contents-design .contents-design--technic .contents-design--technic-list.soc_wheel {
  grid-gap: 1.2rem 2.5rem;
}
.contents-design .contents-design--technic .contents-design--technic-list.special {
  grid-template-columns: 1fr;
  grid-gap: 2.5rem 0;
}
.contents-design .contents-design--technic .contents-design--technic-list.special .contents-design--technic-item .contents-design--technic-img {
  margin-bottom: 1rem;
}
.contents-design .contents-design--technic .contents-design--technic-list.special .contents-design--technic-item .contents-design--technic-name {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.4545em;
  letter-spacing: 0.07em;
  text-align: center;
}
.contents-design .contents-design--technic .contents-design--technic-list.tpms {
  grid-template-columns: 1fr;
  grid-gap: 1.2rem 0;
}
.contents-design .contents-design--technic .contents-design--technic-column {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 3.2rem 0;
}
.contents-design .contents-design--technic .contents-design--technic-column .contents-design--technic-column-txt {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4246em;
  letter-spacing: 0.07em;
}
.contents-design .contents-design--technic .contents-design--technic-column .contents-design--technic-column-logo {
  margin: 2rem auto 0;
  width: 15rem;
}
.contents-design .contents-design--technic .contents-design--technic-attention {
  margin-top: 2rem;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.409em;
  letter-spacing: 0.07em;
}

.contents-sion {
  padding: 3rem 0 0;
  background: #f5f5f5;
}
.contents-sion .inner {
  padding: 0 3.5rem;
}
.contents-sion .contents-sion--logo {
  margin: 0 auto 2rem;
  width: 16rem;
}
.contents-sion .contents-sion--intro .contents-sion--intro-ttl {
  margin-bottom: 1.85rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.07em;
  text-align: center;
}
.contents-sion .contents-sion--intro .contents-sion--intro-txt {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.577em;
  letter-spacing: 0.07em;
  text-align: center;
}
.contents-sion .contents-sion--slide {
  margin-top: 4rem;
}
.contents-sion .contents-sion--slide .contents-sion--slide-inner .contents-sion--slide-wrapper {
  transition-timing-function: linear;
}
.contents-sion .contents-sion--slide .contents-sion--slide-inner .contents-sion--slide-item {
  margin-right: 1rem;
  width: 15rem;
}
.contents-sion .contents-sion--slide + .inner {
  padding-top: 5.5rem;
  overflow: hidden;
}
.contents-sion .contents-sion--list {
  display: flex;
  flex-flow: row wrap;
  align-content: flex-start;
  justify-content: space-between;
  grid-gap: 3.5rem 0;
  margin-bottom: 6rem;
}
.contents-sion .contents-sion--list .contents-sion--item {
  flex: 0 1 100%;
  width: 100%;
  position: relative;
  z-index: 1;
}
.contents-sion .contents-sion--list .contents-sion--item .contents-sion--item-ttl {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.07em;
}
.contents-sion .contents-sion--list .contents-sion--item .contents-sion--item-txt {
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.07em;
}
.contents-sion .contents-sion--list .contents-sion--item::before {
  content: "";
  width: 10rem;
  height: 10rem;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 1px;
  bottom: 2.5rem;
  opacity: 0.45;
  z-index: -1;
}
.contents-sion .contents-sion--list .contents-sion--item:first-child {
  margin-top: 0;
}
.contents-sion .contents-sion--list .contents-sion--item.item1::before {
  background-image: url("/assets/img/concept/design/sion/sion_illust_1.png?250725");
}
.contents-sion .contents-sion--list .contents-sion--item.item2::before {
  background-image: url("/assets/img/concept/design/sion/sion_illust_2.png?250725");
}
.contents-sion .contents-sion--list .contents-sion--item.item3::before {
  background-image: url("/assets/img/concept/design/sion/sion_illust_3.png?250725");
}
.contents-sion .contents-sion--list .contents-sion--item.item4::before {
  background-image: url("/assets/img/concept/design/sion/sion_illust_4.png?250725");
}
.contents-sion .contents-sion--list .contents-sion--item.item5::before {
  background-image: url("/assets/img/concept/design/sion/sion_illust_5.png?250725");
}
.contents-sion .contents-sion--ttl {
  margin-bottom: 2.8rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4em;
  letter-spacing: 0.04em;
  text-align: center;
}
.contents-sion .contents-sion--ttl span {
  text-decoration-thickness: 0.2rem;
  text-decoration-line: underline;
  text-underline-offset: 0.5em;
}
.contents-sion .contents-sion--txt {
  margin-bottom: 2rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.07em;
}
.contents-sion .contents-sion--attention {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.429em;
  letter-spacing: 0.07em;
  text-align: center;
}

@media screen and (min-width: 961px) {
  .contents .contents-head {
    margin-bottom: 7rem;
  }
  .component-nav {
    margin-top: 12.6rem;
  }
  .component-nav .component-nav--inner {
    padding: 0;
    width: 96rem;
  }
  .component-nav .component-nav--wrapper {
    grid-gap: 1.5rem 12rem;
  }
  .component-nav .component-nav--wrapper .component-nav--link {
    padding-top: 1.3rem;
    font-size: 2rem;
    line-height: 1.2em;
    transition: 0.3s ease color;
  }
  .component-nav .component-nav--wrapper .component-nav--link::after {
    width: 1.1rem;
    height: 1.1rem;
    transition: 0.3s ease border-color, 0.3s ease opacity;
  }
  .component-nav .component-nav--wrapper .component-nav--link:hover::after {
    opacity: 1;
  }
  .contents-design {
    margin-bottom: 4.55rem;
  }
  .contents-design .inner {
    padding: 0;
    width: 96rem;
  }
  .contents-design .contents-design--intro {
    margin-bottom: 5.2rem;
  }
  .contents-design .contents-design--intro .contents-design--intro-ttl {
    margin-bottom: 3rem;
    font-size: 2.8rem;
    line-height: 1.4287em;
  }
  .contents-design .contents-design--intro .contents-design--intro-txt {
    font-size: 1.4rem;
    line-height: 1.429em;
    text-align: center;
  }
  .contents-design .contents-design--intro .contents-design--intro-attention {
    margin-top: 3rem;
    font-size: 1.2rem;
    line-height: 1.4165em;
  }
  .contents-design .sec__ttl {
    margin-bottom: 3.85rem;
    padding-left: 1.25rem;
    font-size: 2rem;
    line-height: 1.45em;
  }
  .contents-design .contents-design--list {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 5rem 3rem;
    margin-bottom: 11.1rem;
  }
  .contents-design .contents-design--list.piece_layout {
    grid-gap: 5rem 5.25rem;
    margin-bottom: 7.3rem;
  }
  .contents-design .contents-design--list.piece_layout .contents-design--item .contents-design--item-img {
    margin-bottom: 2.95rem;
  }
  .contents-design .contents-design--list.piece_layout .contents-design--item .contents-design--item-name {
    margin-bottom: 1.5rem;
  }
  .contents-design .contents-design--list.piece_layout .contents-design--item .contents-design--item-txt {
    font-size: 1.4rem;
    line-height: 1.7856em;
  }
  .contents-design .contents-design--column {
    display: grid;
    grid-template-columns: 43.75% 50%;
    justify-content: space-between;
    margin-bottom: 9.31rem;
  }
  .contents-design .contents-design--column .contents-design--column-ttl {
    margin-bottom: 2.7rem;
    font-size: 1.8rem;
    line-height: 1.4445em;
  }
  .contents-design .contents-design--column .contents-design--column-txt {
    font-size: 1.4rem;
    line-height: 1.8145em;
  }
  .contents-design .contents-design--column .contents-design--column-img {
    margin-top: 2.7rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-sec .contents-design--technic-wrapper > .contents-design--technic-name {
    font-size: 1.4rem;
    line-height: 1.429em;
  }
  .contents-design .contents-design--technic .contents-design--technic-sec .contents-design--technic-wrapper > .contents-design--technic-list {
    margin-top: 1.5rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-sec .contents-design--technic-wrapper + .contents-design--technic-wrapper {
    margin-top: 2.85rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-sec + .contents-design--technic-sec {
    margin-top: 5rem;
    padding-top: 5rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-ttl {
    margin-bottom: 3rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-ttl--en {
    font-size: 2.5rem;
    line-height: 1.2em;
  }
  .contents-design .contents-design--technic .contents-design--technic-ttl--ja {
    margin-top: 0.7rem;
    font-size: 1.4rem;
    line-height: 1.429em;
  }
  .contents-design .contents-design--technic .contents-design--technic-ttl--tpms {
    font-size: 2.8rem;
    line-height: 1.4287em;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.rim {
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 2.82rem 0.52rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.rim .contents-design--technic-item .contents-design--technic-img {
    margin-bottom: 0.69rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.rim .contents-design--technic-item .contents-design--technic-name {
    font-size: 1.2rem;
    line-height: 1.4165em;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.soc .contents-design--technic-item .contents-design--technic-img, .contents-design .contents-design--technic .contents-design--technic-list.soc_wheel .contents-design--technic-item .contents-design--technic-img {
    margin-bottom: 0.5rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.soc .contents-design--technic-item .contents-design--technic-name, .contents-design .contents-design--technic .contents-design--technic-list.soc_wheel .contents-design--technic-item .contents-design--technic-name {
    font-size: 1.2rem;
    line-height: 1.4165em;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.soc {
    grid-template-columns: repeat(6, 1fr);
    grid-gap: 4rem 3rem;
    margin-bottom: 6.7rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.soc_wheel {
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 4rem 1.5rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.soc_wheel .contents-design--technic-item.full {
    padding-bottom: 0;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.soc_wheel .contents-design--technic-item.full .contents-design--technic-name {
    width: 100%;
    position: unset;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.special {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 3rem 3rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.special .contents-design--technic-item .contents-design--technic-img {
    margin-bottom: 0.98rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.special .contents-design--technic-item .contents-design--technic-name {
    font-size: 1.2rem;
    line-height: 1.4165em;
  }
  .contents-design .contents-design--technic .contents-design--technic-list.tpms {
    grid-gap: 2.31rem 0;
  }
  .contents-design .contents-design--technic .contents-design--technic-column {
    grid-template-columns: 43.75% 50%;
    grid-gap: 0 0;
    justify-content: space-between;
    margin-top: 5.25rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-column .contents-design--technic-column-txt {
    font-size: 1.4rem;
    line-height: 1.8508em;
  }
  .contents-design .contents-design--technic .contents-design--technic-column .contents-design--technic-column-logo {
    margin: 3.5rem auto 0 0;
    width: 20rem;
  }
  .contents-design .contents-design--technic .contents-design--technic-attention {
    margin-top: 3.06rem;
    font-size: 1.2rem;
    line-height: 1.6667em;
  }
  .contents-sion {
    padding-top: 5rem;
  }
  .contents-sion .inner {
    padding: 0;
    width: 96rem;
  }
  .contents-sion .contents-sion--logo {
    margin-bottom: 4.15rem;
    width: 27.048rem;
  }
  .contents-sion .contents-sion--intro .contents-sion--intro-ttl {
    margin-bottom: 2.11rem;
    font-size: 2.2rem;
    line-height: 1.4545em;
  }
  .contents-sion .contents-sion--intro .contents-sion--intro-txt {
    font-size: 1.4rem;
    line-height: 1.7145em;
  }
  .contents-sion .contents-sion--slide {
    margin-top: 4.79rem;
  }
  .contents-sion .contents-sion--slide .contents-sion--slide-inner .contents-sion--slide-item {
    margin-right: 2rem;
    width: 30rem;
  }
  .contents-sion .contents-sion--slide + .inner {
    padding-top: 15.55rem;
    overflow: visible;
  }
  .contents-sion .contents-sion--list {
    grid-gap: 0 0;
    margin-bottom: 9.17rem;
  }
  .contents-sion .contents-sion--list .contents-sion--item {
    flex: 0 1 50%;
    width: 50%;
    height: 100%;
  }
  .contents-sion .contents-sion--list .contents-sion--item .contents-sion--item-ttl {
    margin-bottom: 1.4rem;
    font-size: 1.8rem;
    line-height: 1.4445em;
  }
  .contents-sion .contents-sion--list .contents-sion--item .contents-sion--item-txt {
    font-size: 1.4rem;
    line-height: 1.8095em;
  }
  .contents-sion .contents-sion--list .contents-sion--item::before {
    width: 24rem;
    height: 24rem;
    bottom: 0;
  }
  .contents-sion .contents-sion--list .contents-sion--item.item2 {
    margin-top: 20.778rem;
  }
  .contents-sion .contents-sion--list .contents-sion--item.item3 {
    margin-top: 3.74rem;
  }
  .contents-sion .contents-sion--list .contents-sion--item.item4 {
    margin-top: 22.6rem;
  }
  .contents-sion .contents-sion--list .contents-sion--item.item5 {
    margin-top: 11.47rem;
  }
  .contents-sion .contents-sion--ttl {
    margin-bottom: 5.1rem;
    font-size: 2.1rem;
    line-height: 1.4287em;
  }
  .contents-sion .contents-sion--txt {
    margin-bottom: 4rem;
    font-size: 1.4rem;
    line-height: 1.8675em;
  }
  .contents-sion .contents-sion--attention {
    font-size: 1.8rem;
    line-height: 1.5em;
  }
}