@media screen and (max-width: 768px) {
  body {
    margin: 0;
  }

  .top-wrapper {
    width: 100vw;
    max-width: 100%;
  }

  .hero {
    display: block;
    height: auto;
    margin-top: 6vw;
  }

  .hero-img-outer {
    width: 100vw;
    height: 58.75vw;
  }

  .hero-img-outer img {
    width: 82vw;
    margin: 0 auto;
    height: 60vw;
  }

  .hero-txt-outer {
    justify-content: center;
    padding: 6vw 9vw 8vw;
  }

  .hero-txt-outer::after {
    right: 2vw;
    bottom: 2vw;
    width: 38vw;
    height: 38vw;
  }

  .hero-txt {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    line-height: 1.9;
    letter-spacing: 0.04em;
    text-align: left;
  }

  .hero-txt span {
    text-indent: 0;
    font-size: 3.5vw;
    display: flex;
    align-items: center;
    gap: 6vw;
  }

  .hero-txt span::before {
    content: '';
    display: inline-block;
    height: 1px;
    width: 10vw;
    background-color: #fff;
    margin: 0;
  }

  .hero-txt p {
    font-size: 3.9vw;
    margin: 3vw 0 0;
  }

  .section-inner,
  .history-txt-outer,
  .company-content,
  .oem-content,
  .product-list,
  .sake-inner {
    display: flex;
    flex-direction: column-reverse;
  }

  .product-list {
    flex-direction: column;
  }

  .section.history {
    /* background-color: #FDF3EA; */
    /* background-position: center bottom; */
    padding-bottom: 17vw;
    background-size: 300vw;
  }

  .seasons .section-inner {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .seasons-slider-outer,
  .seasons-slider img {
    width: 82vw;
    height: 54vw;
    margin: 0 auto;
  }

  .seasons-slider-outer {
    margin-top: 0;
    order: 3;
  }

  .seasons-season-outer {
    width: 74vw;
    min-height: 17vw;
    margin: 6vw auto 0;
    order: 2;
  }

  .seasons-season-outer > div span:first-child {
    font-size: 16vw;
  }

  .seasons-season-outer > div span:last-child {
    font-size: 4.2vw;
  }

  .section-title-outer,
  .section-title-outer--sake {
    width: 100vw;
    flex-direction: column;
    gap: 5vw;
    margin: 11vw auto 0;
    order: 1;
  }

  .section-title-outer--history {
    order: 1;
  }

  .section__title,
  .section__copy,
  .seasons-inner,
  .sake-inner-1,
  .history-inner-1 {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
  }

  .section__title {
    font-size: 4vw;
    padding: 2.8vw 6vw;
    width: fit-content;
  }

  .section__title--history {
    background-color: #AA3C23;
  }

  .section__copy {
    font-size: 4.9vw;
    padding-top: 0;
    text-align: center;
  }

  .sp-only-br {
    display: inline;
  }

  .pc-only-space {
    display: none;
  }

  .seasons-inner {
    width: 82vw;
    height: auto;
    padding: 10vw 0 26vw;
    margin: 0 auto;
  }
  .history-txt-outer {
    width: 82vw;
    height: auto;
    padding: 5vw 0 12vw;
    margin: 0 auto;
  }
  .sake-inner-1 {
    width: 82vw;
    height: auto;
    padding: 10vw 0 10vw;
    margin: 0 auto;
  }

  .seasons-link,
  .sake-inner p,
  .seasons-inner p,
  .history-inner p {
    font-size: 3.5vw;
    line-height: 2em;
    margin-right: 0;
  }

  .seasons-inner p:nth-of-type(n + 2),
  .history-inner p:nth-of-type(n + 2),
  .sake-inner p:nth-of-type(n + 2) {
    margin-top: 3.2vw;
    margin-right: 0;
  }

  .seasons-link {
    width: auto;
    min-height: 0;
    margin-top: 5vw;
    padding: 2.4vw 5vw;
    border-radius: 2.2vw;
    font-size: 3.6vw;
    gap: 2vw;
  }

  .seasons-link::after {
    width: 4.5vw;
    height: 4.5vw;
  }

  .sake-inner-2 {
    display: block;
    margin-top: 3vw;
  }

  .sake-inner-2 img,
  .company-img,
  .oem-img {
    width: 90vw;
    max-width: 90vw;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .company-img {
    margin-top: 5vw;
    width: 75vw;
  }
  .history-inner-1 {
    order: 3;
  }
  .history-inner-2 {
    display: contents;
  }
  .history-inner-2 img {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    
  }
  .history-inner-2 img:nth-of-type(1) {
    order: 4;
  }
  .history-inner-2 img:nth-of-type(2) {
    order: 2;
  }

  .sake {
    padding: 0;
  }

  .product,
  .section.oem,
  .section.company {
    padding: 10vw 0;
  }

  .oem-content {
    flex-direction: column;
  }

  .product-inner,
  .oem-inner,
  .company-inner {
    width: 90vw;
  }

  .product-header,
  .oem-header,
  .company-header {
    margin-bottom: 8vw;
  }

  .product__title,
  .company__title {
    font-size: 7vw;
  }

  .product__subtitle,
  .oem__subtitle,
  .company__subtitle {
    font-size: 4vw;
  }

  .oem__title {
    font-size: 6.5vw;
  }

  .product-list {
    margin-bottom: 8vw;
    gap: 0;
  }

  .product-item {
    width: 90vw;
    margin: 0 auto 10vw;
  }

  .product-item__img {
    height: 58vw;
    margin-bottom: 4vw;
  }

  .product-item__name {
    font-size: 6vw;
  }

  .product-item__type {
    font-size: 4.4vw;
    margin-bottom: 4vw;
  }

  .product-item__desc,
  .oem-text-outer p,
  .company-info dl {
    font-size: 3.8vw;
    line-height: 1.9;
    width: 75vw;
    margin: 0 auto;
  }

  .product-btn,
  .oem-btn {
    font-size: 3.7vw;
    padding: 2.4vw 9vw 2.8vw;
    border-radius: 3vw;
    min-width: 45vw;
  }

  .oem-text-outer {
    padding-left: 0;
    margin-top: 6vw;
  }

  .oem-btn-outer,
  .product-btn-outer {
    margin-top: 7vw;
  }

  .company-content {
    gap: 0;
  }

  .company-info-outer {
    margin-top: 6vw;
  }

  .company-info-outer::after {
    right: -5vw;
    width: 52vw;
    height: 52vw;
  }

  .company-info dt {
    width: 5.2em;
  }

  .company-info dd {
    margin-left: 5.2em;
  }
}
