/*
 * Page: bikes
 * Page: bike-archives
 */
 .page-bikes,
 .page-bike-archives {
   padding-bottom: 4rem;
 }
 .page-bikes .top-image,
 .page-bike-archives .top-image {
   position: relative;
 }
 .page-bikes .top-image .top-image__mask,
 .page-bike-archives .top-image .top-image__mask {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   background: rgba(0, 0, 0, 0.24);
 }
 .page-bikes .top-image .top-image__texts,
 .page-bike-archives .top-image .top-image__texts {
   width: 100%;
   text-align: center;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
 }
 .page-bikes .top-image .top-image__texts div:nth-child(1),
 .page-bike-archives .top-image .top-image__texts div:nth-child(1) {
   color: #fff;
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 500;
   font-size: 0.75rem;
 }
 .page-bikes .top-image .top-image__texts div:nth-child(2),
 .page-bike-archives .top-image .top-image__texts div:nth-child(2) {
   color: transparent;
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 500;
   font-style: italic;
   font-size: 3rem;
   -webkit-text-stroke: 2px #fff;
 }
 @media (min-width: 768px) {
   .page-bikes .top-image .top-image__texts div:nth-child(1),
   .page-bike-archives .top-image .top-image__texts div:nth-child(1) {
     font-size: 1.25rem;
   }
   .page-bikes .top-image .top-image__texts div:nth-child(2),
   .page-bike-archives .top-image .top-image__texts div:nth-child(2) {
     font-size: 12rem;
   }
 }
 .page-bikes .description {
   margin: 2rem auto 0 auto;
   max-width: unset;
 }
 @media (min-width: 768px) {
   .page-bikes .description {
     max-width: 50vw;
   }
 }
 .page-bikes .bike-selector,
 .page-bike-archives .bike-selector {
   margin: 2rem auto;
 }
 .page-bikes .bike-list .bike,
 .page-bike-archives .bike-list .bike {
   margin: 1.5rem 0;
   text-align: center;
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 500;
 }
 .page-bikes .bike-list .bike a,
 .page-bike-archives .bike-list .bike a {
   color: #000;
   text-decoration: unset;
   cursor: pointer;
 }
 .page-bikes .bike-list .bike a .bike__thumbnail,
 .page-bike-archives .bike-list .bike a .bike__thumbnail {
   position: relative;
   margin-bottom: 0.5rem;
 }
 @keyframes bike-new-blink {
   0%,
   100% {
     opacity: 1;
   }
   50% {
     opacity: 0.35;
   }
 }
 .page-bikes .bike-list .bike a .bike__thumbnail .bike__new {
   position: absolute;
   top: 15px;
   left: 15px;
   z-index: 2;
   padding: 7px 10px 4px;
   font-weight: 700;
   letter-spacing: 0.06em;
   line-height: 1;
   /* Bianchi チェレステ（明るい色のため文字は濃色） */
   color: #1a2d33;
   background: #5ac2ba;
   border: 1px solid rgba(26, 45, 51, 0.12);
   border-radius: 2px;
   box-shadow: 0 1px 4px rgba(26, 45, 51, 0.15);
   pointer-events: none;
   animation: bike-new-blink 1.4s ease-in-out infinite;
 }
 @media (prefers-reduced-motion: reduce) {
   .page-bikes .bike-list .bike a .bike__thumbnail .bike__new {
     animation: none;
     opacity: 1;
   }
 }
 .page-bikes .bike-list .bike a .bike__thumbnail img {
   position: relative;
   z-index: 0;
   display: block;
   width: 100%;
   height: auto;
   vertical-align: middle;
 }
 .page-bikes .bike-list .bike a .bike__name,
 .page-bike-archives .bike-list .bike a .bike__name {
   font-size: 1.4rem;
 }
 .page-bikes .bike-list .bike a .bike__detail-name,
 .page-bike-archives .bike-list .bike a .bike__detail-name {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 300;
   font-size: 1.1rem;
 }
 .page-bikes .bike-list .bike a .bike__colors,
 .page-bike-archives .bike-list .bike a .bike__colors {
   display: flex;
   justify-content: center;
   padding: 0.4rem 0;
 }
 .page-bikes .bike-list .bike a .bike__colors .bike__color,
 .page-bike-archives .bike-list .bike a .bike__colors .bike__color {
   width: 1.4rem;
   height: 1.4rem;
   border-radius: 50%;
 }
 .page-bikes .bike-list .bike a .bike__colors .bike__color:not(:last-child),
 .page-bike-archives
   .bike-list
   .bike
   a
   .bike__colors
   .bike__color:not(:last-child) {
   margin-right: 0.4rem;
 }
 .page-bikes .bike-list .bike a .bike__price-with-tax,
 .page-bike-archives .bike-list .bike a .bike__price-with-tax {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 400;
   font-size: 1.15rem;
 }
 .page-bikes .bike-list .bike a .bike__price-without-tax,
 .page-bike-archives .bike-list .bike a .bike__price-without-tax {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 400;
   font-size: 0.95rem;
 }
 .page-bikes .bike-list .bike a .bike__price-without-tax::before,
 .page-bike-archives .bike-list .bike a .bike__price-without-tax::before {
   content: '（税抜価格';
 }
 .page-bikes .bike-list .bike a .bike__price-without-tax::after,
 .page-bike-archives .bike-list .bike a .bike__price-without-tax::after {
   content: '）';
 }
 .page-bikes .bike-list .load-error,
 .page-bike-archives .bike-list .load-error {
   color: #000;
 }
 .page-bikes .bike-list .load-error .text,
 .page-bike-archives .bike-list .load-error .text {
   font-size: 1rem;
   margin-bottom: 0.4rem;
 }
 
 /* グループ化スタイル */
 .page-bikes .bike-group {
   margin-bottom: 3rem;
 }
 
 .page-bikes .group-header {
   margin-bottom: 2rem;
   text-align: center;
 }
 
 .page-bikes .group-title {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-size: 2rem;
   font-weight: 600;
   color: #1a1b1b;
   margin: 0;
   padding: 1rem 0;
   border-bottom: 2px solid #1a1b1b;
   display: inline-block;
   min-width: 200px;
 }
 
 .page-bikes .season-name {
   font-size: 1.2rem;
   font-weight: 400;
   color: #666;
   margin-left: 0.5rem;
 }
 
 /*
  * Page: bike-detail
  */
 .page-bike-detail {
   padding-top: 4rem;
 }
 .page-bike-detail .error {
   text-align: center;
   margin: 3rem 0;
   font-size: 2rem;
 }
 .page-bike-detail .bike-detail .names {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 500;
   text-align: center;
 }
 .page-bike-detail .bike-detail .names .detail-name {
   font-size: 1.1rem;
 }
 .page-bike-detail .bike-detail .names .name {
   font-size: 2.8rem;
 }
 @media (min-width: 768px) {
   .page-bike-detail .bike-detail .names .detail-name {
     font-size: 1.5rem;
   }
   .page-bike-detail .bike-detail .names .name {
     font-size: 4rem;
   }
 }
 .page-bike-detail .bike-detail .images .image-selectors {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
 }
 .page-bike-detail .bike-detail .images .image-selectors .selector {
   margin: 0 1rem 0.8rem 1rem;
   text-align: center;
 }
 .page-bike-detail .bike-detail .images .image-selectors .selector > a {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 400;
   font-size: 1.2rem;
   text-decoration: underline;
   cursor: pointer;
   display: flex;
   align-items: center;
 }
 .page-bike-detail
   .bike-detail
   .images
   .image-selectors
   .selector
   > a
   .bike-color {
   width: 1.4rem;
   height: 1.4rem;
   border-radius: 50%;
   margin-right: 0.2rem;
 }
 @media (min-width: 768px) {
   .page-bike-detail .bike-detail .images .image-selectors .selector > a {
     display: block;
     align-items: unset;
   }
   .page-bike-detail
     .bike-detail
     .images
     .image-selectors
     .selector
     > a
     .bike-color {
     margin: 0 auto;
   }
 }
 .page-bike-detail .bike-detail .tech-spec {
   margin-top: 1rem;
   padding: 3rem 0 2rem 0;
   background-color: #000;
 }
 .page-bike-detail .bike-detail .tech-spec.hide-features {
   padding-bottom: 3rem;
 }
 .page-bike-detail .bike-detail .tech-spec .title {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 400;
   font-size: 1.2rem;
   text-align: center;
   color: #fff;
 }
 .page-bike-detail .bike-detail .tech-spec .spec-wrapper::before,
 .page-bike-detail .bike-detail .tech-spec .spec-wrapper::after {
   content: '';
   display: block;
   height: 1px;
   background-color: #6f6f6f;
 }
 .page-bike-detail .bike-detail .tech-spec .spec-wrapper::before {
   margin: 2rem 0;
 }
 .page-bike-detail .bike-detail .tech-spec .spec-wrapper::after {
   margin-top: 2rem;
 }
 .page-bike-detail .bike-detail .tech-spec .spec-wrapper .specs {
   width: 100%;
 }
 @media (min-width: 768px) {
   .page-bike-detail .bike-detail .tech-spec .spec-wrapper .specs {
     width: 50%;
     margin: 0 auto;
   }
 }
 .page-bike-detail .bike-detail .tech-spec .spec-wrapper .specs .row {
   margin-bottom: 0.8rem;
 }
 .page-bike-detail
   .bike-detail
   .tech-spec
   .spec-wrapper
   .specs
   .row
   div:nth-child(1) {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 500;
   text-align: right;
   color: #59b8b3;
   font-size: 1.2rem;
   text-transform: uppercase;
 }
 .page-bike-detail
   .bike-detail
   .tech-spec
   .spec-wrapper
   .specs
   .row
   div:nth-child(2) {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 400;
   color: #fff;
 }
 .page-bike-detail .bike-detail .features {
   padding-top: 2rem;
   background-color: #000;
   color: #fff;
 }
 .page-bike-detail .bike-detail .features .feature-selector {
   width: 100%;
   margin: 0 auto 2rem auto;
   text-align: center;
 }
 @media (min-width: 768px) {
   .page-bike-detail .bike-detail .features .feature-selector {
     width: 70%;
   }
 }
 .page-bike-detail .bike-detail .features .feature-selector .col-12,
 .page-bike-detail .bike-detail .features .feature-selector .col-6,
 .page-bike-detail .bike-detail .features .feature-selector .col-4 {
   padding: 0;
 }
 .page-bike-detail .bike-detail .features .feature-selector .select-button {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 500;
   font-size: 1.3rem;
   padding: 0.8rem 2rem;
   background-color: #4c4d4e;
   height: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   cursor: pointer;
 }
 .page-bike-detail
   .bike-detail
   .features
   .feature-selector
   .select-button.active {
   background-color: #59b8b3;
 }
 .page-bike-detail .bike-detail .features .feature .philosophy-wrapper,
 .page-bike-detail .bike-detail .features .feature .product-feature-wrapper {
   padding: 1rem 0 2rem 0;
 }
 .page-bike-detail .bike-detail .features .feature .philosophy-wrapper {
   background-color: #313131;
 }
 .page-bike-detail .bike-detail .features .feature .product-feature-wrapper {
   background-color: #1b1b1b;
 }
 .page-bike-detail .bike-detail .features .feature .philosophy,
 .page-bike-detail .bike-detail .features .feature .product-feature {
   width: 100%;
 }
 @media (min-width: 768px) {
   .page-bike-detail .bike-detail .features .feature .philosophy,
   .page-bike-detail .bike-detail .features .feature .product-feature {
     width: 70%;
     margin: 0 auto;
     padding: 0;
   }
 }
 .page-bike-detail .bike-detail .features .feature .title {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 500;
   font-size: 1.8rem;
   color: #87dfd3;
 }
 .page-bike-detail .bike-detail .features .feature .title::after {
   content: '';
   display: block;
   height: 1px;
   width: 100%;
   background-color: #87dfd3;
 }
 .page-bike-detail .bike-detail .features .feature .pattern-a,
 .page-bike-detail .bike-detail .features .feature .pattern-b,
 .page-bike-detail .bike-detail .features .feature .pattern-c,
 .page-bike-detail .bike-detail .features .feature .pattern-d,
 .page-bike-detail .bike-detail .features .feature .pattern-g {
   padding: 1.5rem 0;
 }
 .page-bike-detail .bike-detail .features .feature .pattern-a {
   position: relative;
 }
 .page-bike-detail .bike-detail .features .feature .pattern-a .pattern-a__text {
   margin-top: 0.8rem;
 }
 @media (min-width: 1200px) {
   .page-bike-detail
     .bike-detail
     .features
     .feature
     .pattern-a
     .pattern-a__text {
     margin-top: 0;
     width: 45%;
     position: absolute;
     top: 8%;
     left: 3%;
     padding: 1.2rem 1.6rem;
     background: rgba(49, 49, 49, 0.5);
   }
 }
 .page-bike-detail .bike-detail .features .feature .pattern-b .b-item {
   margin-bottom: 0.6rem;
 }
 .page-bike-detail .bike-detail .features .feature .pattern-b .b-item .name {
   margin-top: 0.4rem;
   font-weight: bold;
 }
 .page-bike-detail .bike-detail .features .feature .pattern-b .b-item .text {
   margin-top: 0.2rem;
   font-size: 0.9rem;
 }
 .page-bike-detail .bike-detail .features .feature .pattern-c .pattern-c__text {
   margin-top: 0.4rem;
 }
 @media (min-width: 992px) {
   .page-bike-detail .bike-detail .features .feature .pattern-c {
     position: relative;
     text-align: right;
   }
   .page-bike-detail .bike-detail .features .feature .pattern-c img {
     width: 55%;
   }
   .page-bike-detail
     .bike-detail
     .features
     .feature
     .pattern-c
     .pattern-c__text {
     margin-top: 0;
     text-align: left;
     width: 60%;
     position: absolute;
     top: 8%;
   }
 }
 .page-bike-detail .bike-detail .features .feature .pattern-g .texts .name {
   font-weight: bold;
   margin-bottom: 0.2rem;
 }
 .page-bike-detail .bike-detail .features .feature .pattern-g .texts .text {
   font-size: 0.9rem;
   margin-bottom: 0.4rem;
 }
 .page-bike-detail .bike-detail .features .tech-feature {
   padding-bottom: 2rem;
 }
 .page-bike-detail .bike-detail .features .tech-feature table {
   width: 100%;
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 400;
   display: block;
   overflow-x: scroll;
   white-space: nowrap;
 }
 @media (min-width: 768px) {
   .page-bike-detail .bike-detail .features .tech-feature table {
     width: 50%;
     margin: 0 auto;
   }
 }
 .page-bike-detail .bike-detail .features .tech-feature table tbody {
   width: 100%;
   display: table;
 }
 .page-bike-detail .bike-detail .features .tech-feature table tbody tr {
   border-top: 1px solid #6f6f6f;
   border-bottom: 1px solid #6f6f6f;
 }
 .page-bike-detail .bike-detail .features .tech-feature table tbody tr td {
   padding: 0.7rem;
 }
 .page-bike-detail
   .bike-detail
   .features
   .tech-feature
   table
   tbody
   tr
   .feature-group {
   font-family: 'neusa-next-std-compact', sans-serif;
   font-weight: 500;
   color: #59b8b3;
 }
 .page-bike-detail .bike-detail .features .geometry {
   padding-bottom: 2rem;
 }
 .page-bike-detail .bike-detail .features .geometry .geometry-row {
   align-items: center;
   justify-content: center;
 }