@charset "UTF-8";

@media (max-width: 768px) {

  .onlysp {
    display: block;
  }
  
  .l-main,
  .l-inner-header,
  .l-inner-footer,
  .p-business-grid,
  .makers {
    width: 91.6667vw;
  }
  .greeting,
  .greeting p,
  .profile-outer {
	  width: 70vw;
  }
	.profile-outer {
		width: 100%;
	}
	.profile {
		width: 70vw;
		margin: 0 auto;
	}

  .section-title {
    margin-top: 9.1146vw;
    padding: 2.3438vw 0;
    font-size: 4.25vw;
  }

  .section-block {
    padding: 9.1146vw 0;
  }

  .card__title {
    font-size: 4.9479vw;
    line-height: 1.5;
    padding-bottom: 3.125vw;
  }

  .card__desc,
  .about__text,
  .c-business-card__text,
  .p-consultation__text,
  .p-process__note,
  .greeting p,
  .profile__label,
  .profile__data {
    font-size: 3.6458vw;
    line-height: 2;
  }

.product-list .card__image img {
	width: 75vw;
	display: block;
	margin: 0 auto;
	object-fit: contain;
	height: 50vw;
}

  .product-list .card__image:nth-of-type(n + 2) {
    display: none;
  }

  .card__image img {
	height: 65vw;
	object-fit: cover;
	}

  .c-button {
    min-width: 72.9167vw;
    margin-top: 7.8125vw;
    font-size: 4.1667vw;
    gap: 3.9063vw;
    padding: 2.8646vw 0;
  }

  .header {
    height: auto;
  }

  .header__inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.6042vw;
    padding: 3.125vw 0 2.6042vw;
    height: auto;
  }

  .header__logo img {
    height: 7.8125vw;
    margin-bottom: 0;
  }

  .header__nav {
    width: 100%;
    justify-content: center;
    gap: 1vw;
  }

  .header__nav-list {
    gap: 5.5vw;
    font-size: 2.75vw;
  }

  .header__cta {
    padding: 2.0833vw 3.6458vw;
    font-size: 2.8646vw;
    background-color: initial;
  }

  .header__cta span {
    display: none;
  }

  .header__cta::before {
    width: 3.3438vw;
    height: 4.8229vw;
    margin-right: 0;
    background: url(../images/icon-mail-bk.svg) no-repeat center / contain;
  }

  .hero {
    height: 67.7083vw;
    padding: 0 4.1667vw;
    box-sizing: border-box;
  }

  .hero--sub {
    height: 39.0625vw;
  }

  .hero__content-title {
    font-size: 5.4688vw;
  }

  .hero__content-sub {
    font-size: 3.6458vw;
  }

  .about,
  .p-process,
  .p-process-list,
  .philosophy__item,
  .profile__item,
  .footer__main {
    flex-direction: column;
  }

  .about {
    gap: 5.2083vw;
  }

  .about__image,
  .p-process__image,
  .p-process-list__image-unit {
    flex: none;
    width: 100%;
  }

  .about__image img {
    height: 65vw;
    object-fit: cover;
    width: 100%;
  }

  .about__heading,
  .c-business-card__title,
  .p-products-intro,
  .philosophy__copy,
  .philosophy__item-main,
  .history__date {
    font-size: 4.6875vw;
  }

  .about__block:nth-of-type(n + 2) {
    margin-top: 3em;
  }

  .grid-layout,
  .p-business-grid {
    grid-template-columns: 1fr;
    gap: 6.5104vw;
  }

  .p-business-grid {
	  width: 80vw;
  }

.c-business-card__image {
	height: 40vw;
}

.c-business-card__image img {
	display: block;
	object-fit: contain;
}

  .p-consultation__list {
    flex-direction: column;
    gap: 6.5104vw;
    margin-bottom: 9.1146vw;
  }

  .p-consultation__item {
    padding: 0;
  }

  .p-consultation__icon {
    width: 31.25vw;
    height: 31.25vw;
    margin-bottom: 3.2552vw;
  }

  .p-consultation__icon img {
    width: 14.3229vw;
    height: 14.3229vw;
  }

  .p-consultation__title {
    min-height: auto;
    margin-bottom: 1.9531vw;
    font-size: 4.6875vw;
  }

  .p-consultation__text {
    width: 60%;
    margin-top: 2.6042vw;
  }

  .p-process {
    gap: 5.2083vw;
    margin-top: 7.8125vw;
    padding: 5.2083vw;
  }

  .p-process-list {
    gap: 5.2083vw;
  }

  .p-process-list__head {
    gap: 2.6042vw;
  }

  .p-process-list__number {
    font-size: 4.9479vw;
  }

  .p-process-list__title {
    font-size: 4.1667vw;
  }

.p-process-list__image {
	height: 60vw;
	object-fit: cover;
}

.p-process-list__items {
	margin: 0 auto;
}

.p-process__note {
	width: 70vw;
	margin: 0 auto;
}

  .makers li {
    width: 50%;
    font-size: 3.125vw;
    padding: 2.0833vw;
  }

  .philosophy__title {
    font-size: 4.6875vw;
    margin-bottom: 6.5104vw;
  }

  .philosophy__list {
    gap: 4.6875vw;
  }

  .philosophy__item-main,
  .philosophy__item-details {
    width: 100%;
    white-space: normal;
  }

  .philosophy__item-separator {
    width: 100%;
    margin: 1.3021vw 0;
    max-width: none;
  }

  .philosophy__item-details {
    font-size: 3.9063vw;
  }

  .philosophy-inner {
    margin-top: 7.8125vw;
    padding: 5.2083vw;
  }

  .greeting__CEO {
    margin-top: 6.5104vw;
  }

  .greeting__CEO span {
    font-size: 3.6458vw;
    padding-right: 2.6042vw;
  }

  .greeting__CEO img {
    width: 30.0781vw;
  }

  .profile__item {
    padding: 3.9063vw 0;
    gap: 1.3021vw;
  }

  .profile__label,
  .profile__data {
    width: 100%;
    padding: 0;
  }

  .history__container {
    margin-top: 7.8125vw;
    padding-left: 12.5104vw;
  }

  .history__container::before {
    left: 8.6042vw;
    transform: none;
  }

  .history__container::after {
    left: calc(8vw - 1.1vw);
    /* width: 2.8646vw; */
    /* height: 2.8646vw; */
    /* left: -5.75vw; */
    right: auto;
    width: 4vw;
    height: 4vw;
    bottom: -1vw;
  }

  .history__item,
  .history__item--left,
  .history__item--right {
    width: 100%;
    left: 0;
    text-align: left;
    padding: 0 0 0 3.5104vw;
    margin-bottom: 7.8125vw;
  }

  .history__item::after,
  .history__item--left::after,
  .history__item--right::after {
    left: -5.75vw;
    right: auto;
    width: 4vw;
    height: 4vw;
  }

  .history__item:nth-of-type(n + 2)::after {
    top: 0.7813vw;
  }

  .history__text {
    max-width: none;
    font-size: 3.9063vw;
    line-height: 2;
  }

  .footer {
    margin-top: 10.4167vw;
    padding-top: 7.8125vw;
  }

  .footer__main {
    gap: 3.9063vw;
    padding-bottom: 5.2083vw;
    /* justify-content: center; */
    align-items: center;
  }

  .footer__info-logo {
	  margin: 0 auto;
	  text-align: center;
	  width: 100%;
	 }

  .footer__info-logo img {
    height: 7vw;
    margin-bottom: 2.6042vw;
    /* display: block; */
    /* margin: 0 auto; */
  }

  .footer__info-address {
    font-size: 3vw;
  }

  .footer__nav {
    flex-wrap: wrap;
    gap: 2.6042vw 3vw;
	font-size: 2.25vw;
	  margin: 0 auto;
  }

  .footer__nav a:nth-of-type(n + 2)::before {
    margin-right: 1.9531vw;
    height: 2.6042vw;
  }

  .footer__copyright {
    padding-top: 2.6042vw;
    padding-bottom: 2.6042vw;
	font-size: 2vw;
  }

	.p-business-intro {
		width: 80vw;
	}
}
