@charset "UTF-8";
/* ----------------------------------------
	Break Points
---------------------------------------- */
/* ----------------------------------------
	Design Size Basic
---------------------------------------- */
/* ----------------------------------------
	Aspect Ratio
---------------------------------------- */
/* ----------------------------------------
	Spacing
---------------------------------------- */
@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

picture {
  display: block;
}

svg {
  max-width: 100%;
  height: auto;
}

#container {
  max-width: 1500px;
  padding: 0;
}
#container::before {
  display: none;
}
#container input,
#container select,
#container textarea,
#container button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  max-width: 100%;
  margin: 0;
  border-radius: 0;
  vertical-align: middle;
  font-family: inherit;
  outline: none;
  font-size: 100%;
}
#container select::-ms-expand {
  display: none;
}
#container form {
  margin-top: 15px;
}
@media (max-width: 767px) {
  #container form {
    text-align: center;
  }
}
#container form dl {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  #container form dl {
    justify-content: center;
  }
}
#container form dl + dl {
  margin-top: 20px;
}
#container form dl select {
  height: 32px;
  padding: 0 40px 0 1em;
  background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAUCAYAAADPym6aAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDM1MiwgMjAyMC8wMS8zMC0xNTo1MDozOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REY4QjQ4RTRBRjc3MTFFQUFBQUQ5RUZEQ0IxODA3RTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REY4QjQ4RTNBRjc3MTFFQUFBQUQ5RUZEQ0IxODA3RTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzcxOUMwMEM0QkFCMTFFQTgwNzZGNzJFNEFBQkRFRDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzcxOUMwMEQ0QkFCMTFFQTgwNzZGNzJFNEFBQkRFRDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7I7BWeAAAA6UlEQVR42mL8//8/w3AATAzDBIx6ZLABFnSB5ORkGFMJiJ8D8XcyzdYC4utA/H/u3LkDFiOaQHwUiNcDMScZ5joD8WkgngbEjAOVtJSBeB8QSwCxOxmeAXliExBzAXEGEE8cKI+AktMVJD4pnkH2BAj8AuIDA+WRb0DsD8R7SPQMNk9EAvG6gSy1SPXMgHqCUPEL88xuAp4ZcE8QU4+APBOAxzODwhPEVoi4PLNvsHiClJodm2csBosnSG2iYPMMCPweaE+Q09ZC98yvweAJchuNMM9sBeIoIF47GBqNjKMdq1GP0AYABBgANtdG3naEDO8AAAAASUVORK5CYII=") no-repeat 100%;
  background-size: 25px;
  border: 1px solid #918b8a;
  text-align: center;
}
#container form button {
  width: 250px;
  text-align: center;
  background-color: #eb6100;
  border: 0;
  color: #fff;
  margin-top: 15px;
}
#container form button span {
  display: inline-block;
  padding: 1em 10px 1em 32px;
  background: url(../images/icon_cart.png) no-repeat 0;
  background-size: 24px;
}

@media (min-width: 768px) {
  .Coffee {
    background-color: #f7f4ef;
  }
}
@media (max-width: 767px) {
  .Coffee {
    background-color: #ddc9b2;
    overflow-x: clip;
  }
}
@media (min-width: 768px) {
  .Coffee-wrapper {
    background-color: #fff;
    padding: 50px;
  }
}
@media (min-width: 768px) {
  .Coffee-inner {
    background-color: #ddc9b2;
    padding-bottom: 120px;
  }
}
.Coffee img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.Coffee-section {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 767px) {
  .Coffee-section {
    margin-top: 60px;
  }
}
.Coffee-section.-section2 {
  margin-top: 60px;
}
.Coffee-sectionInner {
  max-width: 946px;
  width: 100%;
  margin-inline: auto;
  position: relative;
  z-index: 2;
  padding-top: 240px;
}
@media (max-width: 767px) {
  .Coffee-sectionInner {
    padding-top: 120px;
    padding-inline: 6.25vw;
  }
}
.Coffee-sectionInner.-sectionInner2 {
  padding-top: 320px;
}
@media (max-width: 767px) {
  .Coffee-sectionInner.-sectionInner2 {
    padding-top: 100px;
  }
}
@media (max-width: 767px) {
  .Coffee-sectionInner.-sectionInner3 {
    padding-top: 80px;
  }
}
.Coffee-sectionVisual {
  position: relative;
  padding-top: 70px;
}
@media (max-width: 767px) {
  .Coffee-sectionVisual {
    padding-top: 50px;
  }
}
.Coffee-sectionVisualText {
  max-width: 601px;
  width: 100%;
  position: absolute;
  top: 0;
  left: -40px;
  z-index: 2;
}
@media (max-width: 767px) {
  .Coffee-sectionVisualText {
    left: -9px;
    width: 94.063vw;
  }
}
.Coffee-sectionVisualText.-text2 {
  max-width: 473px;
  width: 100%;
}
@media (max-width: 767px) {
  .Coffee-sectionVisualText.-text2 {
    width: 74.063vw;
  }
}
.Coffee-sectionVisualText.-text3 {
  max-width: 598px;
  width: 100%;
}
@media (max-width: 767px) {
  .Coffee-sectionVisualText.-text3 {
    width: 93.438vw;
  }
}
.Coffee-sectionTitle {
  max-width: 700px;
  width: 100%;
  margin-inline: auto;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .Coffee-sectionTitle {
    margin-top: 30px;
    width: 75.938vw;
  }
}
.Coffee-sectionTitle.-title2 {
  max-width: 467px;
  width: 100%;
}
@media (max-width: 767px) {
  .Coffee-sectionTitle.-title2 {
    width: 48.438vw;
  }
}
.Coffee-sectionTitle.-title3 {
  max-width: 406px;
  width: 100%;
}
@media (max-width: 767px) {
  .Coffee-sectionTitle.-title3 {
    width: 41.875vw;
    margin-top: 0;
  }
}
.Coffee-sectionDesc {
  margin-top: 1em;
  font-size: 18px;
  line-height: 2;
  text-align: center;
  color: #695141;
  font-weight: 500;
}
@media (max-width: 767px) {
  .Coffee-sectionDesc {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
@media (max-width: 767px) {
  .Coffee-sectionDesc.-desc3 {
    line-height: 1.85;
  }
}
.Coffee-sectionBg {
  width: 100%;
  height: 100%;
  min-height: 1100px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (max-width: 767px) {
  .Coffee-sectionBg {
    min-height: none;
    height: auto;
  }
}
@media (max-width: 767px) {
  .Coffee-sectionBg img {
    object-position: top center;
  }
}
.Coffee-package {
  position: relative;
  padding-top: 120px;
  padding-bottom: 98px;
}
@media (max-width: 767px) {
  .Coffee-package {
    padding-top: 21vw;
    padding-bottom: 0;
  }
}
.Coffee-packageInner {
  max-width: 726px;
  width: 100%;
  margin-inline: auto;
  position: relative;
  padding-top: 50px;
  padding-bottom: 81px;
}
@media (max-width: 767px) {
  .Coffee-packageInner {
    padding-top: 10vw;
    padding-bottom: 10vw;
    overflow-y: clip;
  }
}
.Coffee-packageContent {
  position: relative;
  z-index: 2;
}
.Coffee-packagePicture {
  max-width: 645px;
  width: 100%;
  margin-inline: auto;
  margin-top: 35px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .Coffee-packagePicture {
    margin-top: 5px;
    margin-bottom: 18px;
  }
}
.Coffee-frame {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  max-width: 726px;
  width: 100%;
  height: 100%;
}
.Coffee-frame::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 81px;
  background-image: url("../images/frame-btm.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 2;
}
@media (max-width: 767px) {
  .Coffee-frame::after {
    height: 18.75vw;
    background-image: url("../images/frame-btm-sp.png");
  }
}
.Coffee-frame img {
  object-position: top center;
}
.Coffee-brush {
  position: absolute;
  top: 473px;
  right: -337px;
  z-index: 2;
  width: 471px;
  pointer-events: none;
}
@media (max-width: 767px) {
  .Coffee-brush {
    top: 73vw;
    right: -6.25vw;
    width: 42.188vw;
  }
}
.Coffee-products {
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
  margin-top: 120px;
  background-color: #fff;
  padding-block: 120px;
  padding-inline: 120px;
}
@media (max-width: 767px) {
  .Coffee-products {
    margin-top: 60px;
    padding-block: 60px;
    padding-inline: 6.25vw;
  }
}
.Coffee-productsInner {
  display: flex;
  flex-direction: column;
  gap: 120px;
}
@media (max-width: 767px) {
  .Coffee-productsInner {
    gap: 60px;
  }
}

@media (min-width: 768px) {
  .CoffeeProduct {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 60px;
  }
}
@media (min-width: 768px) {
  .CoffeeProduct-slider {
    width: 328px;
    flex-shrink: 0;
  }
}
@media (max-width: 767px) {
  .CoffeeProduct-slider {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .CoffeeProduct-text {
    margin-top: 40px;
  }
}
.CoffeeProduct-name {
  font-size: 2.4rem;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .CoffeeProduct-name {
    font-size: 2rem;
  }
}
.CoffeeProduct-desc {
  font-size: 1.9rem;
  line-height: 1.5;
  margin-top: 15px;
  min-height: calc(3 * 1.5 * 1em);
}
@media (max-width: 767px) {
  .CoffeeProduct-desc {
    font-size: 1.6rem;
  }
}
.CoffeeProduct-price {
  line-height: 1.2;
  font-size: 1.6rem;
  margin-top: 15px;
}
.CoffeeProduct-price strong {
  font-size: 3rem;
}
@media (max-width: 767px) {
  .CoffeeProduct-price strong {
    font-size: 2.6rem;
  }
}
.CoffeeProduct-price .-yen {
  font-size: 2.8rem;
}
@media (max-width: 767px) {
  .CoffeeProduct-price .-yen {
    font-size: 2.4rem;
  }
}
.CoffeeProduct-info {
  margin-top: 15px;
}
.CoffeeProduct-infoItem {
  position: relative;
  padding-left: 1.1em;
}
.CoffeeProduct-infoItem::before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(0.8);
}

.slick-dots {
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
  text-align: center;
  line-height: 1;
}
@media (max-width: 767px) {
  .slick-dots {
    bottom: -30px;
  }
}
.slick-dots li {
  display: inline-block !important;
}
.slick-dots li.slick-active button::after {
  background-color: #0d1d37;
}
.slick-dots li button {
  position: relative;
  overflow: hidden;
  width: 30px;
  height: 0;
  margin: 0;
  padding: 30px 0 0;
  border: 0;
  background: none;
}
.slick-dots li button::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: 10px;
  left: 10px;
  background-color: #dbdcdc;
  border-radius: 100%;
  transition: background 0.2s;
}
@media (max-width: 767px) {
  .slick-dots li button:hover::after {
    background-color: #0d1d37;
  }
}