@charset "UTF-8";
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}

body {
  font-family: "Noto Serif JP", serif;
  background: #fff;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  height: 100%;
}

a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
a:hover {
  opacity: 0.7;
}

#gnav div.cart-nav ul li a:hover, #gnav div.cart-nav ul li a:active, #gnav nav ul li a:hover, #gnav nav ul li a:active, article a:hover p, div.cart-article a:hover p, #sub-column div.snav_mailMag_cont input.submit_mailMag:hover, #Journal a .more:hover, input[type=submit].btn-confirmPost:hover, input[type=button].btn-confirmBack:hover, #contact input.btn-confirmNext:hover, #contact .btn-enq input.btn-confirmNext:hover, #contact .mailMF input.btn-confirmNext:hover, #contact .mailMC input.btn-confirmNext:hover, #sub-column .link.keyword nav ul li a:hover, #sub-column div.snav_mailMag_cont input.submit_mailMag:hover {
  background-color: inherit;
  color: inherit;
}

ul, ol {
  list-style: none;
}

img {
  max-width: 100%;
}

.l-header {
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 101;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.l-header__inner {
  position: relative;
  width: 100%;
  z-index: 101;
}
.l-header__logo {
  position: absolute;
  left: clamp(0px, 2.083vw, 30px);
  top: 0;
  width: clamp(122px, 15.625vw, 225px);
  height: clamp(122px, 15.625vw, 225px);
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 2;
}
.l-header__logo a {
  display: block;
}
.l-header__logo img {
  width: clamp(88px, 11.25vw, 162px);
  height: auto;
}
.l-header__bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  height: 66px;
  background: rgb(255, 255, 255);
  padding-left: clamp(130px, 19.792vw, 285px);
  padding-right: 25px;
  gap: 30px;
  z-index: 1;
}
.l-header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
.l-header__nav-item a {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 14px;
  color: #000;
  white-space: nowrap;
}
.l-header__nav-item--has-child .l-header__nav-arrow {
  display: inline-block;
  vertical-align: middle;
  margin-left: 7px;
  position: relative;
  top: -2px;
}
.l-header__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 21px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.l-header__icon-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.l-header__icon-btn-circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 30.5px;
  height: 30.5px;
  background: #000;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.l-header__icon-btn-circle img {
  width: 19px;
  height: 19px;
}
.l-header__icon-btn-label {
  font-size: 10px;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1;
  white-space: nowrap;
}
.l-header__icon-btn--cart .l-header__icon-btn-circle {
  background: none;
}
.l-header__icon-btn--cart .l-header__icon-btn-circle img {
  width: 30.5px;
  height: 30.5px;
}

.l-header__search-panel {
  position: absolute;
  right: 13px;
  top: 59px;
  z-index: 4;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.15s, visibility 0s 0.15s;
  transition: opacity 0.15s, visibility 0s 0.15s;
}
@media (max-width: 599px) {
  .l-header__search-panel {
    right: 0;
  }
}
.l-header__search-panel.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: opacity 0.15s, visibility 0s;
  transition: opacity 0.15s, visibility 0s;
}

.l-header__search-panel-inner {
  background: #fff;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  padding: 20px 24px;
}

.l-header__search-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0;
  width: 360px;
}
@media (max-width: 599px) {
  .l-header__search-form {
    width: 100%;
  }
}
.l-header__search-form .searchbox {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: 1px solid #ccc;
  padding: 8px 12px;
  font-size: 14px;
  font-family: "Noto Serif JP", serif;
  outline: none;
}
.l-header__search-form .searchbox:focus {
  border-color: #888;
}
.l-header__search-form .searchSubmit {
  cursor: pointer;
  width: 36px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #000;
  border: none;
  border-radius: 0 6px 6px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
}
.l-header__search-form .searchSubmit img {
  width: 19px;
  height: 19px;
  display: block;
}
.l-header__search-form .searchSubmit:hover {
  opacity: 0.7;
}

.l-header__search-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: #000;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.l-header__search-close:hover {
  opacity: 0.7;
}

.l-header__mega-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: 59px;
  z-index: 3;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.15s, visibility 0.15s;
  transition: opacity 0.15s, visibility 0.15s;
}
.l-header__mega-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-header__mega-menu-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 28px;
  background: #fff;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  margin: 0 13px;
  padding: 53px 13px 53px 100px;
}

.l-header__select-group {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 200px;
          flex: 1 1 200px;
  min-width: 0;
}
.l-header__select-group-head a {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 18px;
  line-height: 25px;
  letter-spacing: 1.8px;
  color: #000;
  text-decoration: underline;
}
.l-header__select-group-list {
  margin-top: 41px;
}
.l-header__select-group-list li a {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 35px;
  letter-spacing: 1.4px;
  color: #000;
  display: block;
}

.l-header__nav-note {
  display: block;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1em;
  margin-top: -8px;
  padding-bottom: 6px;
  opacity: 0.65;
}

.l-header.is-hidden {
  -webkit-transform: translateY(clamp(-225px, -15.625vw, -122px));
          transform: translateY(clamp(-225px, -15.625vw, -122px));
  overflow: hidden;
}

.l-header__hamburger {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  width: auto;
  height: auto;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Noto Serif JP", serif;
}

.l-header__hamburger-lines {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 26px;
  height: 22px;
}
.l-header__hamburger-lines span {
  display: block;
  width: 100%;
  height: 2px;
  background: #000;
  -webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
  transition: opacity 0.2s, -webkit-transform 0.2s;
  transition: opacity 0.2s, transform 0.2s;
  transition: opacity 0.2s, transform 0.2s, -webkit-transform 0.2s;
}

.l-header__hamburger-label {
  font-size: 10px;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1;
  white-space: nowrap;
  -webkit-transform: translate(0, 0.4em);
          transform: translate(0, 0.4em);
}

.l-header__hamburger.is-open .l-header__hamburger-lines span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(45deg);
          transform: translateY(10px) rotate(45deg);
}

.l-header__hamburger.is-open .l-header__hamburger-lines span:nth-child(2) {
  opacity: 0;
}

.l-header__hamburger.is-open .l-header__hamburger-lines span:nth-child(3) {
  -webkit-transform: translateY(-10px) rotate(-45deg);
          transform: translateY(-10px) rotate(-45deg);
}

.l-header__sp-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: 100;
  overflow-y: auto;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.l-header__sp-nav.is-open {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.l-header__sp-nav-inner {
  padding: 122px 40px 60px;
}
.l-header__sp-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.l-header__sp-nav-item {
  border-bottom: 1px solid #000;
}
.l-header__sp-nav-item > a {
  display: block;
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 18px;
  line-height: 25px;
  letter-spacing: 1.8px;
  color: #000;
  padding: 18px 15px;
}
.l-header__sp-nav-btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 18px 15px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 18px;
  line-height: 25px;
  letter-spacing: 1.8px;
  color: #000;
  text-align: left;
}
.l-header__sp-nav-icon {
  width: 23px;
  height: 23px;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.l-header__sp-nav-icon::before, .l-header__sp-nav-icon::after {
  content: "";
  position: absolute;
  background: #000;
}
.l-header__sp-nav-icon::before {
  width: 23px;
  height: 1px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-header__sp-nav-icon::after {
  width: 1px;
  height: 23px;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.l-header__sp-nav-btn[aria-expanded=true] .l-header__sp-nav-icon::after {
  opacity: 0;
}
.l-header__sp-nav-child {
  padding: 0 15px 24px;
}
.l-header__sp-nav-child .l-header__select-group {
  width: auto;
  margin-top: 24px;
}
.l-header__sp-nav-child .l-header__select-group:first-child {
  margin-top: 0;
}
.l-header__sp-nav-child .l-header__select-group-head a {
  font-size: 16px;
}
.l-header__sp-nav-child .l-header__select-group-list {
  margin-top: 16px;
}
.l-header__sp-nav-child .l-header__select-group-list li a {
  line-height: 40px;
}

.p-hero {
  width: 100%;
}
.p-hero__slider {
  position: relative;
  width: 100%;
  height: clamp(400px, 50.694vw, 730px);
  overflow: hidden;
}
.p-hero__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  max-width: none;
  display: block;
}
.p-hero__text {
  position: absolute;
  right: clamp(16px, 5.556vw, 80px);
  bottom: clamp(30px, 6.18vw, 89px);
  z-index: 10;
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-weight: 500;
  font-size: clamp(22px, 2.43vw, 35px);
  line-height: 1.57;
  letter-spacing: 0.1em;
  color: #000;
  white-space: nowrap;
  pointer-events: none;
}
.p-hero__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 14px 0;
}
.p-hero__pagination.swiper-pagination {
  position: static;
  bottom: auto;
  left: auto;
  width: auto;
  -webkit-transform: none;
          transform: none;
}
.p-hero__pagination .swiper-pagination-bullet {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.25);
  opacity: 1;
  margin: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}
.p-hero__pagination .swiper-pagination-bullet-active {
  background: #000;
}

.main-visual {
  width: 100%;
}
.main-visual .splide__slide picture {
  display: block;
}
.main-visual .splide__slide img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}
.main-visual .splide__pagination {
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 14px 0;
}
.main-visual .splide__pagination li {
  line-height: 0;
}
.main-visual .splide__pagination__page {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.25);
  border: none;
  padding: 0;
  margin: 0;
  opacity: 1;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}
.main-visual .splide__pagination__page.is-active {
  background: #000;
  -webkit-transform: none;
          transform: none;
}

.l-footer {
  background: #fff;
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
}
.l-footer__container {
  max-width: 1400px;
  margin: 0 auto;
}
.l-footer__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 67px;
}
.l-footer__left {
  width: 62.2%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-left: 67px;
}
.l-footer__logo {
  width: 225px;
  height: 225px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.l-footer__logo img {
  width: 162px;
  height: auto;
}
.l-footer__address {
  font-style: normal;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1.4px;
  color: #000;
  margin-top: 40px;
  padding-left: 34px;
}
.l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
  margin-top: 33px;
  padding-left: 34px;
}
.l-footer__sns a {
  display: block;
}
.l-footer__sns img {
  height: 27px;
  width: auto;
}
.l-footer nav {
  text-align: inherit;
}
.l-footer__nav {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 83px;
  padding-top: 34px;
  padding-right: 30px;
  text-align: left;
  font-size: inherit;
  color: inherit;
}
.l-footer__nav-head {
  font-size: 16px;
  letter-spacing: 1.6px;
  line-height: 25px;
  color: #000;
}
.l-footer__nav-col ul {
  margin-top: 21px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 18px;
}
.l-footer__nav-col a {
  font-size: 14px;
  letter-spacing: 1.4px;
  line-height: 25px;
  color: #000;
  display: inline-block;
}
.l-footer__nav-col-erabikata a::before {
  content: "";
  width: 1em;
  height: 1px;
  margin-top: -0.1em;
  margin-right: 0.5em;
  background-color: #000;
  display: inline-block;
  vertical-align: middle;
}
.l-footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 30px 16px 0;
  margin-top: 106px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.l-footer__copyright {
  width: 62.2%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-left: 98px;
  font-size: 14px;
  letter-spacing: 1.4px;
  line-height: 25px;
  color: #000;
}
.l-footer__legal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
.l-footer__legal a {
  font-size: 14px;
  letter-spacing: 1.4px;
  line-height: 25px;
  color: #000;
}
.l-footer__legal--sp {
  display: none;
}
.l-footer__nav-col--top ul {
  margin-top: 0;
}
.l-footer__nav-col--top a {
  font-size: 16px;
  letter-spacing: 1.6px;
}

.p-story {
  position: relative;
  overflow: hidden;
  background: #fff;
  margin-bottom: 100px;
}
.p-story__container {
  max-width: 1400px;
  margin: 0 auto;
}
.p-story__head {
  padding-top: 0;
  text-align: center;
}
.p-story__mark {
  display: inline-block;
  width: 52px;
  height: 51px;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-story__title {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-weight: 500;
  font-size: 35px;
  line-height: 55px;
  letter-spacing: 3.5px;
  color: #000;
  margin-top: 15px;
}
.p-story__subtitle {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 18px;
  line-height: 55px;
  letter-spacing: 1.8px;
  color: #a8a8a8;
}
.p-story__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  margin-top: 10px;
}
.p-story__sakura-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 514px;
  height: 422px;
  pointer-events: none;
  z-index: 0;
}
.p-story__sakura-bg img {
  width: 100%;
  height: 100%;
  max-width: none;
}
.p-story__text {
  position: relative;
  z-index: 1;
  width: 42.5%;
  padding-left: 101px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-story__lead {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-weight: 500;
  font-size: 45px;
  line-height: 71px;
  letter-spacing: 4.5px;
  color: #000;
  position: relative;
  z-index: 1;
}
@media (max-width: 599px) {
  .p-story__lead {
    font-size: 38px;
    line-height: 60px;
    letter-spacing: 3.8px;
  }
}
.p-story__map-bg {
  display: none;
}
@media (max-width: 1300px) {
  .p-story__map-bg {
    display: block;
    position: absolute;
    top: 30px;
    right: -20px;
    width: 220px;
    pointer-events: none;
    z-index: 0;
  }
}
@media (max-width: 599px) {
  .p-story__map-bg {
    width: 381px;
    top: 0;
    right: -17px;
  }
}
.p-story__body {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 1.6px;
  color: #000;
  margin-top: 33px;
  width: 402px;
}
.p-story__item {
  margin-top: 56px;
}
.p-story__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.p-story__item-icon {
  width: 20px;
  height: 35px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.p-story__item-title {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 18px;
  line-height: 25px;
  letter-spacing: 1.8px;
  color: #000;
}
.p-story__item-body {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1.4px;
  color: #000;
  margin-top: 25px;
  width: min(23.1875vw, 371px);
}
.p-story__circles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 40px;
}
.p-story__circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-story__circle p {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 1.6px;
  color: #000;
  text-align: center;
  white-space: nowrap;
}
.p-story__circle-arrow {
  width: 48px;
  height: 15px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 0 -9px;
  position: relative;
  z-index: 1;
}
.p-story__circle-inner {
  position: relative;
  width: 101px;
  height: 101px;
}
.p-story__circle-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.p-story__circle-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-story__circle-icon--producer {
  width: 39px;
  height: 41px;
}
.p-story__circle-icon--sakuraya {
  width: 43px;
  height: 32px;
}
.p-story__circle-icon--customer {
  width: 32px;
  height: 37px;
}
.p-story__photo--sp {
  display: none;
}
.p-story__photos {
  width: 57.5%;
  overflow: hidden;
}
.p-story__photos-swiper-wrap {
  width: 100%;
}
.p-story__photo img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-story__photo figcaption {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1.4px;
  color: #000;
  text-align: right;
  margin-top: 14px;
  padding-right: 10px;
}
.p-story__photo--first img {
  aspect-ratio: 809/504;
  -o-object-position: center;
     object-position: center;
}
.p-story__photo--second {
  margin-top: 120px;
  padding-right: 96px;
}
.p-story__photo--second img {
  aspect-ratio: 708/519;
  -o-object-position: bottom;
     object-position: bottom;
}
.p-story__photos-pagination.swiper-pagination {
  bottom: 15px;
}
.p-story__photos-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #999;
  opacity: 1;
}
.p-story__photos-pagination .swiper-pagination-bullet-active {
  background: #000;
}

.p-information {
  background: #fff;
  padding-bottom: 120px;
}
.p-information__container {
  max-width: 1400px;
  margin: 0 auto;
}
.p-information__head {
  padding-top: 0;
  text-align: center;
}
.p-information__mark {
  display: inline-block;
  width: 52px;
  height: 51px;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-information__title {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-weight: 500;
  font-size: 35px;
  line-height: 55px;
  letter-spacing: 3.5px;
  color: #000;
  margin-top: 15px;
}
.p-information__subtitle {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 18px;
  line-height: 55px;
  letter-spacing: 1.8px;
  color: #a8a8a8;
}
.p-information__list {
  width: 860px;
  margin: 44px auto 0;
}
.p-information__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0;
  border-top: 1px solid #000;
  padding: 15px 0;
}
.p-information__item:last-child {
  border-bottom: 1px solid #000;
}
.p-information__date {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1.4px;
  color: #000;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 111px;
}
.p-information__text {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1.4px;
  color: #000;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-guide {
  --color-guide-primary: #f6f5f2;
  --color-guide-secondary: #dddad0;
  --color-guide-bk: #2b2b2b;
  --color-guide-line-be: #e8e6df;
  --color-guide-line-bk: #2b2b2b;
  background: #fbfbfb;
  padding-bottom: 120px;
}
.p-guide__container {
  max-width: 1400px;
  margin: 0 auto;
}
.p-guide__head {
  padding-top: 114px;
  text-align: center;
}
.p-guide__mark {
  display: inline-block;
  width: 52px;
  height: 51px;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-guide__title {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 35px;
  line-height: 55px;
  letter-spacing: 3.5px;
  color: #000;
  margin-top: 15px;
}
.p-guide__subtitle {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 18px;
  line-height: 55px;
  letter-spacing: 1.8px;
  color: #a8a8a8;
}
.p-guide__list {
  width: 860px;
  margin: 44px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
.p-guide__item {
  border-bottom: 1px solid #000;
}
.p-guide__item-btn {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 15px 17px 17px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}
.p-guide__item-title {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 22px;
  line-height: 25px;
  letter-spacing: 2.2px;
  color: #000;
}
.p-guide__item-icon {
  width: 23px;
  height: 23px;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 1px;
}
.p-guide__item-icon::before, .p-guide__item-icon::after {
  content: "";
  position: absolute;
  background: #000;
}
.p-guide__item-icon::before {
  width: 23px;
  height: 1px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-guide__item-icon::after {
  width: 1px;
  height: 23px;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.p-guide__item.is-open .p-guide__item-icon::after {
  opacity: 0;
}
.p-guide__item-body {
  padding: 19px 17px 18px;
}
.p-guide__item-body p {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 1.6px;
  color: #000;
}

.detail__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}

.detail-title {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 1.7px;
  color: var(--color-guide-bk);
  border-left: 3px solid var(--color-guide-secondary);
  padding-left: 10px;
  margin-top: 6px;
}

.detail-sub-title {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 1.5px;
  color: var(--color-guide-bk);
  margin-top: 4px;
}

.detail-paragraph {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 1.5px;
  color: var(--color-guide-bk);
}

.detail-notice__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.detail-notice__item {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 13px;
  line-height: 1.8;
  color: var(--color-guide-bk);
}

.detail-links__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.detail-links__item a {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  color: var(--color-guide-bk);
  text-decoration: underline;
}

.detail-flow__list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: flow;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.detail-flow__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  counter-increment: flow;
}

.detail-flow-num {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 56px;
  height: 56px;
  background-color: var(--color-guide-primary);
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--color-guide-bk);
  font-size: 15px;
  font-weight: 600;
}
.detail-flow-num span::before {
  content: counter(flow);
}

.detail-flow-title {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 4px;
  color: var(--color-guide-bk);
}

.detail-flow-paragraph {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 1.8;
  color: var(--color-guide-bk);
}

.detail-time__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
.detail-time__item {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  border: 1px solid var(--color-guide-line-bk);
  padding: 2px 14px;
  color: var(--color-guide-bk);
}

.detail-table-01 {
  border-collapse: collapse;
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
}
.detail-table-01 th, .detail-table-01 td {
  border: 1px solid var(--color-guide-line-be);
  padding: 8px 12px;
  line-height: 1.7;
  vertical-align: middle;
}
.detail-table-01 th {
  background-color: var(--color-guide-primary);
  font-weight: 500;
  text-align: left;
  color: var(--color-guide-bk);
}
.detail-table-01 td.text-align-center,
.detail-table-01 th.text-align-center {
  text-align: center;
}

.detail-table-01-sp {
  border-collapse: collapse;
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
}
.detail-table-01-sp th, .detail-table-01-sp td {
  border: 1px solid var(--color-guide-line-be);
  padding: 8px 12px;
  line-height: 1.7;
  vertical-align: top;
}
.detail-table-01-sp th {
  background-color: var(--color-guide-primary);
  font-weight: 500;
  white-space: nowrap;
  width: 7em;
  color: var(--color-guide-bk);
}

.detail-table-bank {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  border-collapse: collapse;
  color: var(--color-guide-bk);
}
.detail-table-bank th {
  font-weight: normal;
  padding-right: 4px;
  white-space: nowrap;
  vertical-align: top;
  padding-bottom: 4px;
  width: 64px;
}
.detail-table-bank td {
  padding-bottom: 4px;
}

.detail-table-02 {
  border-collapse: collapse;
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  color: var(--color-guide-bk);
}
.detail-table-02 th, .detail-table-02 td {
  border-top: 1px solid var(--color-guide-line-be);
  padding: 20px 0;
  vertical-align: top;
  line-height: 1.7;
}
.detail-table-02 th {
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
  width: 160px;
}

.detail-color-box {
  background-color: var(--color-guide-primary);
  padding: 16px 20px;
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 1.9;
  color: var(--color-guide-bk);
}

.detail-credit__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.detail-credit__item img {
  height: auto;
  width: auto;
}

.detail-general__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.detail-general__item {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 1.8;
  padding-left: 14px;
  position: relative;
  color: var(--color-guide-bk);
}
.detail-general__item::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background-color: var(--color-guide-bk);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.65em;
}

.detail-general-small__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.detail-general-small__item {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 13px;
  line-height: 1.8;
  padding-left: 14px;
  position: relative;
  color: var(--color-guide-bk);
}
.detail-general-small__item::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background-color: var(--color-guide-bk);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.6em;
}

.width-100 {
  width: 100%;
}

.width-75 {
  width: 75%;
}

.width-60 {
  width: 60%;
}

.width-50 {
  width: 50%;
}

@media (min-width: 600px) {
  .sp {
    display: none !important;
  }
}
@media (max-width: 599px) {
  .pc {
    display: none !important;
  }
  .width-60,
  .width-50 {
    width: 100%;
  }
  .sp-width-100 {
    width: 100% !important;
  }
  .sp-width-65 {
    width: 65% !important;
  }
  .sp-width-35 {
    width: 35% !important;
  }
  .detail-color-box.width-50 {
    max-width: 100%;
  }
  .detail-flow-num {
    width: 48px;
    height: 48px;
    font-size: 14px;
  }
  .detail-table-02 th, .detail-table-02 td {
    display: block;
    padding: 12px 0 0;
  }
  .detail-table-02 td {
    border-top: none;
    padding-bottom: 20px;
  }
  .detail-table-02 th {
    width: 100%;
    font-weight: 600;
  }
}
.p-products {
  max-width: 1400px;
  margin: 0 auto;
  margin-bottom: 100px;
}
.p-products__block {
  margin-top: 76px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 599px) {
  .p-products__block {
    margin-top: 80px;
  }
}
.p-products__block:first-child {
  margin-top: 60px;
}
@media (max-width: 599px) {
  .p-products__block:first-child {
    margin-top: 38px;
  }
}
@media (max-width: 599px) {
  .p-products__block--seisansha {
    margin-top: 120px;
  }
}
.p-products__head {
  text-align: center;
}
.p-products__mark {
  display: inline-block;
  width: 52px;
  height: 51px;
}
@media (max-width: 599px) {
  .p-products__mark {
    width: 43px;
    height: 43px;
  }
}
.p-products__title {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-weight: 500;
  font-size: 35px;
  line-height: 55px;
  letter-spacing: 3.5px;
  color: #000;
  margin-top: 10px;
}
@media (max-width: 599px) {
  .p-products__title {
    font-size: 29px;
    line-height: 46px;
    letter-spacing: 2.9px;
    margin-top: 5px;
    margin-bottom: -0.3em;
  }
}
.p-products__subtitle {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 18px;
  line-height: 55px;
  letter-spacing: 1.8px;
  color: #a8a8a8;
}
@media (max-width: 599px) {
  .p-products__subtitle {
    font-size: 15px;
    line-height: 46px;
    letter-spacing: 1.5px;
  }
}
.p-products__pickup {
  padding: 0 100px;
  margin-top: 70px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1023px) {
  .p-products__pickup {
    padding: 0 40px;
    margin-top: 50px;
  }
}
@media (max-width: 599px) {
  .p-products__pickup {
    padding: 0;
    margin-top: 0;
  }
}
.p-products__grid {
  padding: 0 100px;
  margin-top: 15px;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .p-products__grid {
    padding: 0 40px;
    margin-top: 15px;
  }
}
@media (max-width: 599px) {
  .p-products__grid {
    padding: 0 40px;
    margin-top: 28px;
  }
  .p-products__grid .swiper-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px;
    -webkit-transform: none !important;
            transform: none !important;
  }
  .p-products__grid .swiper-slide {
    width: 100% !important;
  }
  .p-products__grid .swiper-pagination {
    display: none;
  }
}
.p-products__producers-wrap {
  position: relative;
  margin-top: 15px;
  padding: 0 100px;
}
@media (max-width: 1023px) {
  .p-products__producers-wrap {
    padding: 0 15px;
    margin-top: 15px;
  }
}
@media (max-width: 599px) {
  .p-products__producers-wrap {
    padding: 0 40px;
    margin-top: 15px;
  }
}
.p-products__producers {
  overflow: hidden;
}
.p-products__arrow {
  position: absolute;
  top: 180px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 43px;
  height: 43px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 10;
}
.p-products__arrow img {
  display: block;
  width: 43px;
  height: 43px;
}
.p-products__arrow.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}
.p-products__arrow--prev {
  left: 78px;
}
.p-products__arrow--next {
  right: 78px;
}
@media (max-width: 1023px) {
  .p-products__arrow {
    top: 50%;
  }
  .p-products__arrow--prev {
    left: 0;
  }
  .p-products__arrow--next {
    right: 0;
  }
}
@media (max-width: 599px) {
  .p-products__arrow--prev {
    left: 16px;
  }
  .p-products__arrow--next {
    right: 20px;
  }
}
.p-products__pickup-arrow {
  display: none;
  position: absolute;
  width: 43px;
  height: 43px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
.p-products__pickup-arrow img {
  display: block;
  width: 43px;
  height: 43px;
}
.p-products__pickup-arrow.swiper-button-disabled {
  opacity: 0.3;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .p-products__pickup-arrow {
    display: block;
    top: 28.8679245283%;
  }
  .p-products__pickup-arrow--prev {
    left: 78px;
  }
  .p-products__pickup-arrow--next {
    right: 78px;
  }
}
@media (max-width: 599px) {
  .p-products__pickup-arrow {
    display: block;
    top: 19.0528301887%;
  }
  .p-products__pickup-arrow--prev {
    left: 18px;
  }
  .p-products__pickup-arrow--next {
    right: 18px;
  }
}

.p-card-pickup {
  width: 100%;
}
.p-card-pickup__img {
  width: 100%;
  aspect-ratio: 380/220;
  overflow: hidden;
}
.p-card-pickup__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-card-pickup__img--blue {
  background: #ddf3f9;
}
.p-card-pickup__img--blue img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-card-pickup__name {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 25px;
  line-height: 55px;
  letter-spacing: 2.5px;
  color: #000;
}
.p-card-pickup__desc {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1.4px;
  color: #000;
}

.p-card-product {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.p-card-product__img-wrap {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background: #d9d9d9;
}
.p-card-product__img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-card-product__img-wrap--placeholder {
  background: #d9d9d9;
}
.p-card-product__rank {
  width: 39px;
  height: 39px;
  border-radius: 50%;
  background: #000;
  color: #fff;
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 20px;
  line-height: 39px;
  text-align: center;
  letter-spacing: 2px;
  display: block;
}
.p-card-product__rank--1 {
  background: #9f8e29;
}
.p-card-product__rank--2 {
  background: #9e9e9e;
}
.p-card-product__rank--3 {
  background: #c16412;
}
.p-card-product__name {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 1.6px;
  color: #000;
  display: block;
}
.p-card-product__price {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1.4px;
  color: #000;
}
@media (max-width: 599px) {
  .p-card-product__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-card-product__img-wrap {
    width: 136px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p-card-product__info {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }
}

.p-card-producer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.p-card-producer__img {
  width: 100%;
  aspect-ratio: 276/360;
  overflow: hidden;
}
.p-card-producer__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-card-producer__region {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1.4px;
  color: #000;
  margin-top: 5px;
}
.p-card-producer__name {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 1.6px;
  color: #000;
}
.p-card-producer__crops {
  font-family: "YuMincho", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "HGS明朝E", "MS明朝", serif;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1.4px;
  color: #000;
}
@media (max-width: 599px) {
  .p-card-producer__img {
    aspect-ratio: 138/162;
  }
}

.p-products .swiper-slide {
  width: auto;
  height: auto;
}
.p-products .swiper-pagination {
  position: static;
  margin-top: 28px;
}
.p-products .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: rgba(0, 0, 0, 0.25);
  opacity: 1;
}
.p-products .swiper-pagination-bullet-active {
  background: #000;
}

@media (max-width: 1300px) {
  .p-story {
    margin-bottom: 60px;
  }
  .p-story__head {
    padding-top: 0;
  }
  .p-story__title {
    font-size: 29px;
    line-height: 46px;
    letter-spacing: 2.9px;
  }
  .p-story__subtitle {
    font-size: 15px;
    letter-spacing: 1.5px;
  }
  .p-story__sakura-bg {
    left: -200px;
    width: 600px;
    height: 400px;
  }
  .p-story__body {
    width: auto;
  }
  .p-story__item {
    margin-top: 50px;
  }
  .p-story__circles {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p-story__circle-inner {
    width: 83px;
    height: 83px;
  }
  .p-story__circle p {
    font-size: 13px;
    letter-spacing: 1.3px;
  }
  .p-story__circle-icon--producer {
    width: 32px;
    height: 34px;
  }
  .p-story__circle-icon--sakuraya {
    width: 35px;
    height: 26px;
  }
  .p-story__circle-icon--customer {
    width: 26px;
    height: 30px;
  }
  .p-story__circle-arrow {
    width: 39px;
    height: 12px;
    margin: 0 -6px;
    margin-top: 35px;
  }
  .p-information {
    padding-bottom: 80px;
  }
  .p-information__head {
    padding-top: 0;
  }
  .p-information__title {
    font-size: 29px;
    line-height: 46px;
    letter-spacing: 2.9px;
  }
  .p-information__subtitle {
    font-size: 15px;
    line-height: 46px;
    letter-spacing: 1.5px;
  }
  .p-information__list {
    width: auto;
    margin: 30px 40px 0;
  }
  .p-information__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    padding: 15px 0;
  }
  .p-information__text {
    margin-top: 0;
  }
  .p-guide {
    padding-bottom: 80px;
  }
  .p-guide__head {
    padding-top: 80px;
  }
  .p-guide__title {
    font-size: 29px;
    line-height: 46px;
    letter-spacing: 2.9px;
  }
  .p-guide__subtitle {
    font-size: 15px;
    line-height: 46px;
    letter-spacing: 1.5px;
  }
  .p-guide__list {
    width: auto;
    margin: 30px 20px 0;
    gap: 0;
  }
  .p-guide__item-btn {
    padding: 16px 10px;
  }
  .p-guide__item-title {
    font-size: 18px;
    letter-spacing: 1.8px;
    line-height: 1.6;
  }
  .p-guide__item-body {
    padding: 0 10px 16px;
  }
}
@media (max-width: 800px) {
  .p-story__photo--sp {
    display: block;
    width: 100vw;
    margin-top: 30px;
    margin-left: calc(50% - 50vw);
    padding-right: 0;
    position: relative;
  }
  .p-story__photo--sp img {
    display: block;
    width: 100%;
    aspect-ratio: 375/313;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .p-story__photo--sp .p-story__photo-sp-pagination.swiper-pagination {
    bottom: 15px;
  }
  .p-story__photo--sp .p-story__photo-sp-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #999;
    opacity: 1;
  }
  .p-story__photo--sp .p-story__photo-sp-pagination .swiper-pagination-bullet-active {
    background: #000;
  }
  .p-story__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0;
  }
  .p-story__text {
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
  }
  .p-story__lead {
    margin-top: 40px;
  }
  .p-story__item-body {
    width: auto;
  }
  .p-story__photos {
    width: 100%;
  }
  .p-story__photos .p-story__photos-swiper-wrap {
    display: none;
  }
  .p-story__photos .p-story__photo--second {
    margin-top: 40px;
    padding-right: 40px;
    padding-left: 40px;
  }
  .p-story__photos .p-story__photo--second img {
    aspect-ratio: 295/216;
  }
  .p-story__photos .p-story__photo--second figcaption {
    text-align: left;
    padding-right: 0;
  }
  .l-footer__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 0;
  }
  .l-footer__nav {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    gap: 0;
    padding-top: 60px;
    padding-right: 20px;
    padding-left: 20px;
  }
  .l-footer__nav-col {
    width: 50%;
  }
  .l-footer__nav-col--top ul {
    margin-top: 0;
  }
  .l-footer__legal--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding: 40px 0 0 22px;
  }
  .l-footer__legal--pc {
    display: none;
  }
  .l-footer__left {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 100%;
    padding-left: 0;
    margin-top: 75px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .l-footer__logo {
    width: 159px;
    height: 159px;
  }
  .l-footer__logo img {
    width: 114px;
  }
  .l-footer__address {
    padding-left: 0;
    text-align: center;
    margin-top: 44px;
  }
  .l-footer__sns {
    padding-left: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 50px;
  }
  .l-footer__bottom {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 40px;
    padding: 16px 20px;
  }
  .l-footer__copyright {
    width: auto;
    padding-left: 0;
  }
}
@media (max-width: 1300px) {
  .l-header__logo {
    left: 0;
    width: auto;
    height: auto;
    padding: 20px;
  }
  .l-header__logo img {
    width: 80px;
  }
  .l-header__bar {
    padding-left: 120px;
    height: 86px;
  }
  .l-header__nav {
    display: none;
  }
  .l-header__hamburger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-header__mega-menu {
    display: none !important;
  }
  .l-header__sp-nav {
    display: block;
  }
  .p-hero__text {
    right: 5%;
    white-space: normal;
    text-align: right;
  }
  .p-hero__slider .swiper-slide {
    height: 100%;
  }
}
@media (max-width: 599px) {
  .p-products__block--pickup .p-products__head {
    display: none;
  }
}
.u-br-sp {
  display: none;
}
@media (max-width: 599px) {
  .u-br-sp {
    display: inline;
  }
}

.u-br-pc {
  display: inline;
}
@media (max-width: 599px) {
  .u-br-pc {
    display: none;
  }
}

.p-products__block--ranking {
  margin-top: 80px;
}
@media (max-width: 599px) {
  .p-products__block--ranking {
    margin-top: 50px;
  }
}
.p-products__block--ranking .p-products__grid {
  margin-top: 0;
}
@media (max-width: 599px) {
  .p-products__block--ranking .p-products__grid {
    margin-top: 22px;
  }
}

#bread-crumb #bread-crumb-listTop {
  margin-top: 0;
}
@media (max-width: 1300px) {
  #bread-crumb #bread-crumb-listTop {
    margin-top: 0;
  }
}

@media (min-width: 1301px) {
  body:has(#bread-crumb) .l-header__logo,
  #page-sub .l-header__logo {
    width: 110px;
    height: 110px;
    padding: 10px;
  }
}
body:has(#bread-crumb) #cart-header ~ #contents,
#page-sub #cart-header ~ #contents {
  margin-top: 40px;
}

.recommend .column-set {
  position: relative;
}/*# sourceMappingURL=style.css.map */