:root {
 --c-primary: #002870;
}

@media (width >=768px) {
 .is-sp {
  display: none;
 }
}

@media (width <=767px) {
 .is-pc {
  display: none;
 }
}

#Gnav {
 overflow-y: auto !important;
}

.bg-bg-beige {
 background-color: #dfded0 !important
}

.text-blue {
 color: var(--c-primary);
}

#gotopText.text-green {
 color: var(--c-primary) !important;
}

.bg-blue {
 background-color: var(--c-primary) !important;
}

.gnav__link {
 line-height: 1.25;
 font-weight: 400;
}

@media (min-width: 48.0625rem) {
 .gnav__link {
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
 }
}

.gnav.-header .gnav__item {
 background-color: var(--c-primary);
 ;
}

@media (min-width: 48.0625rem) {
 .gnav.-header .gnav__item {
  background-color: #fff;
 }
}

.gnav.-header .gnav__item::before {
 background-color: var(--c-primary);
 ;
}

.r-service__title {
 line-height: 1.25 !important;
 min-height: 48px !important;

 @media (min-width: 48.0625rem) {
  font-size: min(2vw, 1.8rem) !important;
  min-height: 72px !important;
  display: flex;
  align-items: center;
  justify-content: center;
 }
}

@media (max-width: 48.0624rem) {
 .before-go-top::before {
  border-width: 0 7px 18px;
 }

 .rounded-sm {
  border-radius: 50% !important;
 }

 #gotopText {
  font-size: 14px !important;

 }
}

@media (min-width: 48.0625rem) {
 .r-service__text {
  font-size: min(1.5vw, 1.25rem) !important;
 }
}

.p-top__link01 {
 object-position: right !important;
}

.p-top__link02 {
 object-position: left !important;
}

.gnav.-footer .gnav__item,
.sm\:bg-green,
#footer {
 background-color: var(--c-primary);
}


#footer .gnav__link {
 display: flex;
 align-items: center;
 justify-content: center;
}

@media (max-width: 48.0624rem) {
 .gnav.-footer {
  display: none;
 }
}

/* Business */
.step-number {
 border-color: var(--c-primary);
}

.step-number__text,
.step-number__num {
 color: var(--c-primary);
}

.track-icon {
 max-width: 48px;
}

.border-black,
.sm\:border-black {
 border-color: #000;
}

@media (min-width: 48.0625rem) {
 .r-business__car.--business {
  border-bottom: 1px solid #000 !important;
 }
}

@media (max-width: 48.0624rem) {
 .r-business__car .track-icon {
  margin-left: 1.2rem;
 }

 .lineup-image {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
 }
}

.p-lineups {
 padding-inline: 2rem;
 display: flex;
 align-items: flex-start;
 gap: 30px;

 .lineup {
  padding-inline: 0;
 }

 @media (max-width: 48.0624rem) {
  padding-inline: 1rem;
  padding-block-start: 1rem;
 }
}

.square.square {
 background-color: var(--c-primary);
}

.lineup-image {
 flex: 0 0 52%;

 img {
  width: 100%;
 }
}

.r-lineup-inner {
 display: flex;
 flex-direction: column;
}

@media (min-width: 48.0625rem) {
 .r-lineup-inner {
  flex-direction: row;
 }

 .p-lineups {
  width: 48%;
 }

 .lineup__item {
  font-size: min(1.5vw, 1.375rem);
 }
}

/* 会社概要 */
.border-blue {
 border-color: var(--c-primary) !important
}

.hover\:bg-blue:hover {
 background-color: var(--c-primary);
}

.grid-important-item.-eleven {
 -ms-grid-row: 10;
 grid-row: 10;
}


.grid-important-item.-twelve {
 -ms-grid-row: 11;
 grid-row: 11;
}


.grid-important-item.-thirteen {
 -ms-grid-row: 12;
 grid-row: 12;
}

.grid-important-item.-fourteen {
 -ms-grid-row: 13;
 grid-row: 13;
}

.text-link__image {
 max-width: 289px;
}

.r-products {
 margin-block-start: 1.12rem;
 display: grid;
 gap: 1.5rem;

 @media (min-width: 48.0625rem) {
  margin-block-start: 2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 2rem;
 }

 .r-product.is-wide {
  grid-column: 1 / -1;

  p {
   line-height: 2;

   @media (min-width: 48.0625rem) {
    padding-inline: 1rem;
   }
  }
 }
}

.r-product {
 font-size: clamp(16px, 2vw, 1.85rem);
 padding: 12px;
 gap: clamp(.5rem, 1.5vw, 1.5rem);
 line-height: 1.3;
 color: var(--c-primary);
 text-align: center;
 font-weight: bold;
 justify-content: space-between;
 display: flex;
 align-items: center;
 background-color: #dedede;

 @media (min-width: 48.0625rem) {
  padding: 1rem 1.25rem;
  min-height: 130px;
  justify-content: center;
 }

 &:nth-child(n + 2) {
  p {
   flex-grow: 1;
  }
 }

 p {
  border-top: 1.2px solid #231815;
  border-bottom: 1.2px solid #231815;
  padding-block: .5rem;
  font-feature-settings: "palt";
 }
}

@media (max-width: 48.0624rem) {
 .r-product p {
  flex-grow: 1;
  line-height: 1.2 !important;
 }
}

.r-product img {
 max-width: clamp(42px, 10vw, 84px);
}

.r-area {
 margin-block-start: 5rem;

 @media (max-width: 48.0624rem) {
  margin-block-start: 1.5rem;
  padding-block-start: 1.5rem;
  position: relative;

  &::before {
   content: "";
   position: absolute;
   width: 100vw;
   height: 1px;
   background-color: #000;
   top: 0;
   left: -16px;
  }
 }

 a {
  display: block;
  padding-block: 1.5rem 2.5rem;

  @media (min-width: 48.0625rem) {
   padding-inline-end: 1.5rem;
  }

  img {
   max-width: 440px;
   margin-inline: auto 0;
  }
 }
}

.r-area__image {
 @media (min-width: 48.0625rem) {
  border: solid 1px #231815;
  background-image: repeating-linear-gradient(180deg, #fffcd1 0px, #fffcd1 3px, #fff8a5 3px, #fff8a5 6px);

  img {
   width: 100%;
  }
 }
}

.r-business-message {
 padding-block: 1.5rem;
 border-top: 1px solid #000;
 border-bottom: 1px solid #000;

 @media (min-width: 48.0625rem) {
  margin-block-start: 5rem;
 }

 @media (max-width: 48.0624rem) {
  width: 100vw;
  margin-inline: calc(50% - 50vw);

  p {
   padding-inline: 1rem;
  }
 }

}

.p-business-features {
 @media (max-width: 48.0624rem) {
  border-bottom: none;
 }

 @media (min-width: 48.0625rem) {
  padding-block: 1rem;
  border-bottom: 1px solid #000;
 }
}

.p-business-feature {
 padding-block: 14px;
 display: grid;
 align-items: center;
 font-size: 23px;
 gap: .5rem;
 position: relative;

 &::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-image: radial-gradient(circle, #444 1.2px, transparent 1.2px);
  background-size: 8px 2px;
  background-repeat: repeat-x;
  background-position: left center;

  @media (max-width: 48.0624rem) {
   height: 1.2px;
   background-image: radial-gradient(circle, #444 1px, transparent 1px);
   background-size: 4px 1.2px;
  }
 }

 @media (min-width: 48.0625rem) {
  &:last-of-type::before {
   display: none;
  }
 }

 @media (min-width: 48.0625rem) {
  padding-block: 11px;
  display: flex;
  align-items: center;
  gap: 1rem;
 }

 dt {
  font-weight: 700;
  background-color: #1a305e;
  color: #fff;
  max-width: 262px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;

  @media (max-width: 48.0624rem) {
   font-size: 1.25rem;
   max-width: 100%;
  }
 }

 dd {
  font-weight: 600;

  @media (max-width: 48.0624rem) {
   font-size: 1rem;
   line-height: 1.7;
   font-weight: 400;
   text-align: center;
  }
 }
}


@media (min-width: 48.0625rem) {
 .r-lineup-inner.--2 {
  align-items: center;
  border-bottom: 1px solid #000;

  .lineup-image {
   flex: 0 0 60%;
  }

  .p-lineups {
   width: 40%;
  }
 }
}

@media (max-width: 48.0624rem) {
 .r-lineup-inner.--2 {
  max-width: 280px;
  width: 100%;
  margin-inline: auto;
 }

 .r-area__image-sp {
  border: solid 1px #000;
 }

 .r-area__image-sp.--2 {
  margin-block: 1.5rem .5rem;
  max-width: 400px;
 }
}

.is-hidden {
 visibility: hidden;

 .lineup__title span {
  margin-block-start: 20px;

  @media (max-width: 48.0624rem) {
   margin-block-start: 12px;
  }
 }
}

.--sub-title {
 padding-left: 1rem !important;

 @media (max-width: 48.0624rem) {
  padding-left: 0 !important;
 }
}