/*=======================================
TOPページ
=========================================*/

.top-contents {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto 90px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .top-contents {
    margin: 0 0 40px;
    padding: 0 15px;
  }
}

/* ----------------------------
 TopSlide 
-----------------------------*/
/* slick-slideの調整 */
.slick-dots li button::before {
  font-size: 15px;
}

.top-slide-item .pc {
  display: inline !important;
}

.top-slide-item .sp {
  display: none !important;
}

.top-slide-item {
  width: 100%;
  position: relative;
}

.top-slide.type_img.arrows {
  position: relative;
}

.top-slide.type_img.arrows .prev {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  margin: auto;
  width: 40px;
  height: 40px;
  background-image: url('../img/top/top-slide-prev-arrow.png');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 40px auto;
  z-index: 1;
}
.top-slide.type_img.arrows .next {
  display: none;
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  background-image: url('../img/top/top-slide-next-arrow.png');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 40px auto;
  z-index: 1;
}

.top-slide-item img {
  width: 100%;
  position: relative;
}

.top-slide-text {
  position: absolute;
  top: 50%;
  left: 50px;
  transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  text-align: right;
}

.top-slide-text h2 {
  font-size: 3.3vw;
  font-weight: bold;
  margin-bottom: 1.5vw;
  color: #fff;
}

.top-slide-text p {
  font-size: 1.6vw;
  margin-bottom: 2.2vw;
  color: #fff;
}

.top-slide-button {
  font-size: 1vw;
  padding: 0.7vw 3vw;
  border-radius: 1.8vw;
  background-color: #77d29e;
  text-decoration: none;
  color: #000;
}

.top-slide-button:hover {
  opacity: 0.8;
}

.top-slide-button:visited {
  color: #000;
}

/* 1366px以上の時は以下の固定値を使用 */
@media screen and (min-width: 1366px) {
  .top-slide-text h2 {
    font-size: 45px;
    margin-bottom: 20px;
  }

  .top-slide-text p {
    font-size: 22px;
    margin-bottom: 30px;
  }

  .top-slide-button {
    font-size: 14px;
    padding: 10px 40px;
    border-radius: 25px;
  }
}

@media screen and (max-width: 768px) {
  .top-slide-item {
    width: 100%;
    position: relative;
  }

  .top-slide-item .pc {
    display: none !important;
  }

  .top-slide-item .sp {
    display: block !important;
  }

  .slide {
    width: 100%;
  }

  .top-slide.type_img.arrows .prev {
    display: block;
    width: 30px;
    height: 30px;
    top: 36%;
    left: 5px;
    bottom: unset;
  }

  .top-slide.type_img.arrows .next {
    display: block;
    width: 30px;
    height: 30px;
    top: 36%;
    right: 5px;
    bottom: unset;
  }

  .top-slide .slick-dots {
    display: none !important;
  }

  .slick-dotted.slick-slider {
    margin-bottom: 0;
  }

  .top-slide-text {
    position: relative;
    top: unset;
    left: unset;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    text-align: center;
    padding-bottom: 20px;
  }

  .top-slide-text h2 {
    font-size: 20px;
    margin-top: 20px;
    margin-bottom: 10px;
    color: #000;
  }

  .top-slide-text p {
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 20px;
    color: #000;
  }

  .top-slide-button {
    display: inline-block;
    font-size: 14px;
    padding: 10px 40px;
    border-radius: 25px;
  }
}

/* ----------------------------
 top-new-arrival
-----------------------------*/
.top-new-arrivals-slide,
.top-pickup-slide {
  width: 100%;
  position: relative;
}

/* スライドを見切れさせる設定 */
.top-new-arrivals-slide .slick-list,
.top-pickup-slide .slick-list {
  padding: 0 10% 0 0 !important;
}

/* スライドを見切れさせる設定 */
.top-new-arrivals-slide .slick-slide,
.top-pickup-slide .slick-slide {
  margin-right: 20px;
}

/* スライドをの少ない時の対策設定 */
.top-new-arrivals-slide .slick-track,
.top-pickup-slide .slick-track {
  margin-left: 0;
}

.top-new-arrivals-slide::after,
.top-pickup-slide::after {
  content: '';
  display: block;
  width: 100%;
  height: 50px;
}

.top-new-arrivals-item {
  text-decoration: none;
  color: #000;
}

.top-new-arrivals-item :visited {
  color: #000;
}

.top-new-arrivals-item-img {
  position: relative;
  width: 80%;
  height: 250px;
}

.top-new-arrivals-item-img img {
  width: 100%;
  height: 250px;
  object-fit: contain;
  object-position: 50% 50%;
}

.top-new-arrivals-item-tag {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  top: 0;
  left: 0;
}

.top-new-arrivals-item-tag span {
  position: relative;
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  line-height: 18px;
  padding: 0 2px;
  color: #ffffff;
  margin-bottom: 3px;
}

.top-new-arrivals-item-tag .soldout {
  background-color: #ff0000;
}

.top-new-arrivals-item-img .new {
  background-color: #98b801;
}
/* 250422 飯塚 */
.top-new-arrivals-item-img .pickup {
  background-color: #ffa500;
}

/* .top-new-arrivals-item-price h3 {
  font-size: 16px;
  font-weight: bold;
}

.top-new-arrivals-item p {
  font-size: 16px;
  font-weight: bold;
} */

.top-new-arrivals-item-price {
  width: 100%;
}

.top-new-arrivals-item-price > p {
  font-size: 16px;
  margin: 0;
}

.top-new-arrivals-item-price.sale > p {
  text-decoration: line-through;
}

.top-new-arrivals-item-price div {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.top-new-arrivals-item-price div p {
  font-size: 16px;
  margin: 0;
  color: #ff0000;
}

.top-new-arrivals-item-price div span {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
  background-color: #ff0000;
  padding: 0 3px;
  margin-left: 8px;
}

.progress,
.progress-2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  margin-top: 50px;
  background-color: #f5f5f5;
}

.progress-bar,
.progress-bar-2 {
  position: relative;
  width: 0%;
  left: 0;
  height: 8px;
  background-color: #77d29e;
  transition: all 0.6s ease-in-out;
}

@media screen and (max-width: 768px) {
  .top-new-arrivals-slide .slick-list,
  .top-pickup-slide .slick-list {
    /* padding: 0 !important; */
    margin-right: -15px;
  }

  .top-new-arrivals-slide .slick-slide,
  .top-pickup-slide .slick-slide {
    margin-right: 5px;
  }

  .top-new-arrivals-item-tag {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .top-new-arrivals-item-tag span {
    font-size: 10px;
    line-height: 14px;
    padding: 0 4px;
  }

  .top-new-arrivals-item-img .soldout {
  }

  .top-new-arrivals-item h3 {
    font-size: 12px;
    line-height: 18px;
    margin: 10px 0 15px;
  }

  /* .top-new-arrivals-item p {
    font-size: 12px;
    line-height: 18px;
  } */

  .top-new-arrivals-item-img {
    height: 200px;
  }

  .top-new-arrivals-item-img img {
    height: 200px;
  }

  .top-new-arrivals-item-price > p {
    font-size: 12px;
  }

  .top-new-arrivals-item-price div p {
    font-size: 12px;
    line-height: 14px;
  }

  .top-new-arrivals-item-price div span {
    font-size: 10px;
    line-height: 16px;
  }

  .top-new-arrivals-slide::after,
  .top-pickup-slide::after {
    height: 20px;
  }

  .progress,
  .progress-2 {
    margin-top: 20px;
    width: calc(100% - 30px);
    left: 15px;
  }
}

/* ----------------------------
 TopNews
-----------------------------*/
.top-news-list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

.top-news-list-item {
  display: flex;
  align-items: stretch;
  width: calc(50% - 10px);
  padding: 10px 0 20px;
  margin-bottom: 20px;
  background-color: #f7f7f7;
  color: #000;
  text-decoration: none;
}

.top-news-list-item:visited {
  color: #000;
}

.top-news-list-item:hover {
  opacity: 0.8;
}

.top-news-list-item-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.top-news-list-item-inner img {
  width: 45%;
}

.top-news-list-item-inner > div {
  width: 52%;
  display: flex;
  flex-wrap: wrap;
  padding-right: 20px;
}

.top-news-list-item-inner .item-date {
  width: 100%;
  font-weight: bold;
  margin: 10px 0 0;
}

.top-news-list-item-inner h3 {
  width: 100%;
  font-size: 20px;
  margin: 10px 0 15px;
}

.top-news-list-item-inner .item-text {
  margin: 0 0 10px;
}

.top-news-list-item-inner .item-button {
  color: #000;
  text-decoration: none;
  margin-left: auto;
  font-weight: bold;
}

.top-news-list-item-inner .item-button:hover {
  opacity: 0.8;
}

.top-news-list-item-inner .item-button:visited {
  color: #000;
}

.top-news-list-button {
  width: 100%;
  text-align: right;
  margin-top: 20px;
}

@media screen and (max-width: 1280px) {
  .top-news-list-item {
    width: 80%;
    margin: 0 auto 25px;
  }
}

@media screen and (max-width: 768px) {
  .top-news-list-item {
    width: 100%;
    margin: 0 auto 25px;
    border-right: 4px solid #77d29e;
  }

  .top-news-list-item-inner .item-date {
    font-size: 12px;
    line-height: 16px;
    margin: 0;
  }

  .top-news-list-item-inner h3 {
    font-size: 14px;
    line-height: 24px;
    margin: 0px 0 5px;
  }

  .top-news-list-item-inner .item-text {
    font-size: 13px;
    line-height: 18px;
  }

  .top-news-list-item .item-button {
    display: none;
  }

  .top-news-list-item-inner {
    align-items: flex-start;
  }

  .top-news-list-button {
    text-align: center;
    margin-top: 0;
  }
}

/* ----------------------------
 TopCategory
-----------------------------*/
.top-category {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.top-category a {
  display: block;
  position: relative;
  width: 24%;
}

.top-category-tile:hover {
  opacity: 0.8;
}

.top-category-tile img {
  width: 100%;
}

.top-category-tile h3 {
  font-family: 'Bebas Neue', sans-serif;
  display: block;
  width: 100%;
  padding: 10px 0;
  margin: 0;
  font-size: 30px;
  letter-spacing: 1px;
  text-align: center;
  font-weight: bold;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.top-category-tile::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  cursor: pointer;
}

.top-category-button {
  width: 100%;
  text-align: right;
  margin-top: 40px;
}

@media screen and (max-width: 1280px) {
}

@media screen and (max-width: 768px) {
  .top-category {
    width: 100%;
  }
  .top-category a {
    width: calc(50% - 5px);
    margin-bottom: 10px;
  }

  .top-category-button {
    text-align: center;
    margin-top: 20px;
  }
}

/* ----------------------------
 TopInstagram
-----------------------------*/
.top-instagram-icon {
  display: inline-block;
  width: 40px;
  height: 40px;
}

.top-instagram-icon img {
  width: 100%;
}

.instagram-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  margin: -20px auto 0;
}

.instagram-list a:hover {
  opacity: 0.75;
}

.instagram-list a {
  display: block;
  width: 24%;
}

.instagram-list::after {
  content: '';
  display: block;
  width: 24%;
}

.instagram-list::before {
  content: '';
  display: block;
  width: 24%;
  order: 1;
}

.instagram-list img {
  width: 100%;
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .instagram-list {
    padding-bottom: 45px;
	justify-content: left;
  }

  .instagram-list a {
    width: 30%;
    height: 30%;
	margin-right: 3.2%;
  }

  .instagram-list img {
    display: block;
    margin-top: 12px;
  }

  .instagram-list::after {
    content: '';
    display: block;
    width: 47%;
  }
}

/*=======================================
カテゴリ一覧ページ
=========================================*/
.category-list {
  list-style: none;
  width: 90%;
  margin: 100px auto 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: start;
  flex-wrap: wrap;
}

.category-list::after {
  content: '';
  display: block;
  width: 23%;
}

.category-list::before {
  content: '';
  display: block;
  width: 23%;
  order: 1;
}

.category-list > li {
  width: 23%;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.category-list > li > a {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}

.category-list > li > a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
  cursor: pointer;
  transition: 0.5s all;
}

.category-list > li > a:hover::before {
  background-color: rgba(0, 0, 0, 0);
}

.category-list > li > a > span {
  display: block;
  width: 100%;
  padding: 10px 0;
  margin: 0;
  font-size: 20px;
  font-weight: normal;
  color: #fff;
  text-align: center;
  text-decoration: underline;
  letter-spacing: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.category-list > li > a img {
  width: 100%;
  transition: 0.5s all;
}

.category-list > li > a:hover img {
  transform: scale(1.1);
}

.category-list > li > span {
  display: none;
}

.category-list > li > span.open {
  transform: rotate(90deg);
}

.category-list > li > ul {
  display: block;
  width: 100%;
  padding: 0;
  margin: 15px 0 30px;
  list-style: none;
}

.category-list > li > ul > li {
  margin-left: 15px;
  margin-bottom: 10px;
}

.category-list > li > ul > li > a {
  display: block;
  font-size: 18px;
  line-height: 28px;
  color: #000000;
}

.category-list > li > ul > li > a:visited {
  color: #000000;
}

@media screen and (min-width: 768px) {
  .category-list > li > ul {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .category-list {
    width: 100%;
    margin: 40px 0 0;
    padding: 0 15px;
    display: block;
  }

  .category-list::after {
    content: none;
  }

  .category-list::before {
    content: none;
  }

  .category-list > li {
    width: 100%;
    border-bottom: 1px solid #e7e8ec;
  }

  .category-list > li:first-of-type {
    border-top: 1px solid #e7e8ec;
  }

  .category-list > li > a {
    display: block;
    width: calc(100% - 50px);
    flex-grow: 1;
    padding: 20px 0;
    color: #000;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    overflow: unset;
  }

  .category-list > li > a::before {
    content: none;
  }

  .category-list > li > a > span {
    padding: 0;
    font-size: 14px;
    letter-spacing: 0;
    text-align: left;
    font-weight: normal;
    color: #000;
    text-decoration: none;
    position: static;
    top: 0%;
    left: 0%;
    transform: translate(0%, 0%);
  }

  .category-list > li > a img {
    display: none;
  }

  .category-list > li > span {
    display: block;
    width: 50px;
    font-size: 14px;
    text-align: center;
    transform: rotate(270deg);
    transition: all 0.3s;
  }

  .category-list > li > ul {
    display: none;
    margin: 10px 0;
  }

  .category-list > li > ul > li > a {
    font-size: 14px;
    line-height: 22px;
  }
}

/*=======================================
カテゴリページ
=========================================*/

.sort-select {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 20px 15px 0;
}

.category-product-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px 15px 40px;
}

.category-product-list-item {
  display: block;
  width: calc(26% - 30px);
  margin-bottom: 90px;
  text-decoration: none;
  color: #000;
}

.category-product-list::after {
  content: '';
  display: block;
  width: 23%;
}

.category-product-list::before {
  content: '';
  display: block;
  width: 23%;
  order: 1;
}

.category-product-list-item :visited {
  color: #000;
}

.category-product-list-item-img {
  position: relative;
  width: 100%;
  height: 320px;
}

.category-product-list-item img {
  width: 100%;
  height: 320px;
  object-fit: contain;
  object-position: 50% 50%;
}

.category-product-list-item-tag {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  top: 0;
  left: 0;
}

.category-product-list-item-tag span {
  position: relative;
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  line-height: 25px;
  padding: 0 3px;
  color: #ffffff;
  margin-bottom: 4px;
}

.category-product-list-item-tag .soldout {
  background-color: #ff0000;
}

.category-product-list-item-tag .new {
  background-color: #98b801;
}

/* 250422 飯塚 */
.category-product-list-item-tag .pickup {
  background-color: #ffa500;
}

.category-product-list-item h3 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 25px;
}

.category-product-list-item p {
  font-size: 16px;
  font-weight: bold;
}

.category-product-list-item-price {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.category-product-list-item-price > p {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}

.category-product-list-item-price.sale > p {
  text-decoration: line-through;
}

.category-product-list-item-price > span {
  color: #db0e0e;
}

.category-product-list-item-price div {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.category-product-list-item-price div p {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
  color: #ff0000;
}

.category-product-list-item-price div span {
  display: inline-block;
  font-size: 14px;
  line-height: 20px;
  font-weight: bold;
  color: #ffffff;
  background-color: #ff0000;
  padding: 0 3px;
  margin-left: 8px;
}

.category-pagination {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0;
}

.category-pagination li {
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #51c080;
  margin: 0 5px;
  cursor: pointer;
  user-select: none;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 14px;
}

.category-pagination li.active {
  background-color: #51c080;
  color: #fff;
}

@media screen and (max-width: 1300px) {
  .category-product-list-item-img {
    height: 24.615vw;
  }

  .category-product-list-item img {
    height: 24.615vw;
  }
}

@media screen and (max-width: 768px) {
  .category-product-list::after {
    content: none;
  }

  .category-product-list::before {
    content: none;
  }

  .category-product-list-item {
    width: calc(50% - 10px);
    margin-bottom: 50px;
  }

  .category-product-list-item-tag span {
    font-size: 10px;
    line-height: 14px;
    padding: 0 4px;
  }

  .category-product-list-item-img {
    height: 175px;
  }

  .category-product-list-item img {
    height: 175px;
  }

  .category-product-list-item h3 {
    font-size: 12px;
    line-height: 18px;
    margin: 10px 0 15px;
  }

  .category-product-list-item-price > p {
    font-size: 12px;
    line-height: 12px;
  }

  .category-product-list-item-price > span {
    font-size: 22px;
  }

  .category-product-list-item-price div p {
    font-size: 12px;
  }

  .category-product-list-item-price div span {
    font-size: 10px;
    margin-left: 4px;
  }
}

/*=======================================
商品詳細ページ
=========================================*/

.product-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 50px auto 0;
}

.product-title {
  width: 100%;
  margin-bottom: 80px;
  font-size: 24px;
  line-height: 40px;
  font-weight: bold;
}

.product-title.sp {
  display: none;
}

.product-left-box,
.produc-right-box {
  margin-bottom: 50px;
}

.product-left-box {
  width: 42%;
}

.product-right-box {
  width: 48%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.product-slide-wrap {
  width: 100%;
  position: relative;
}

.product-slide-tag {
  position: absolute;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  top: 0;
  left: 0;
  z-index: 1;
}

.product-slide-tag span {
  position: relative;
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  line-height: 30px;
  padding: 0 10px;
  color: #ffffff;
  margin-right: 5px;
}

.product-slide-tag .soldout {
  background-color: #ff0000;
}

.product-slide-tag .new {
  background-color: #98b801;
}

/* 250422 飯塚 */
.product-slide-tag .pickup {
  background-color: #ffa500 ;
}

.product-slide {
  width: 100%;
  height: 420px;
  margin-bottom: 40px !important;
}

.product-slide img {
  width: 100%;
  height: 390px;
  object-fit: contain;
  object-position: 50% 50%;
}

.product-slide .slick-dots {
  margin: 0;
  padding: 0;
  text-align: center;
  bottom: -30px;
}

.product-slide .slick-dots li {
  display: inline-block;
  margin: 0 4px;
  width: 15px;
  height: 15px;
}

.product-slide .slick-dots li button {
  position: relative;
  text-indent: -9999px;
  width: 15px;
  height: 15px;
}

.product-slide .slick-dots li button::before {
  background-image: url('../img/product/product-slide-dots.png');
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  cursor: pointer;
  width: 15px;
  height: 15px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  opacity: 1;
}

.product-slide .slick-dots li.slick-active button::before {
  background-image: url('../img/product/product-slide-dots-active.png');
}

.product-slide .slick-dots button {
  background: none;
  border: none;
  outline: none;
}

.product-slide-item > div {
  width: 100%;
  height: 30px;
  font-size: 16px;
  line-height: 30px;
  text-align: center;
}

.product-zoom-bg {
  display: none;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}

.product-zoom-close {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  top: 10px;
  right: 10px;
  cursor: pointer;
  background-color: #fff;
  z-index: 800;
}

.product-zoom-close span {
  font-size: 18px;
  font-weight: bold;
  color: #000000;
}

.product-zoom {
  display: none;
  position: fixed;
  top: 80px;
  left: 0;
  width: 100%;
  height: 500px;
  justify-content: center;
  align-items: center;
  z-index: 2;
}

.product-zoom > div {
  background-color: #fff !important;
}

#zoom-img {
  max-width: 100%;
  height: 100%;
  max-height: 100%;
}

.product-price {
  font-size: 34px;
  font-weight: normal;
  margin: 8px 0 25px;
}

.product-price-2 {
  font-size: 25px;
  font-weight: normal;
  margin: 8px 0 25px;
}

.product-price span {
  padding-top: 2px;
  font-size: 16px;
  vertical-align: super;
}

.product-price-2 span {
  padding-top: 2px;
  font-size: 16px;
  vertical-align: super;
}

.product-sale-price {
  width: 100%;
}

.product-sale-price p {
  font-size: 20px;
  line-height: 20px;
  margin: 0;
}

.product-sale-price h3 {
  font-size: 31px;
  line-height: 34px;
  font-weight: normal;
  color: #ff0000;
  margin: 15px 0 20px;
}

.product-sale-price h3 span {
  padding-top: 2px;
  font-size: 16px;
  vertical-align: super;
}

.product-sale-price-tag {
  display: inline-block;
  font-size: 14px;
  color: #ffffff;
  background-color: #ff0000;
  padding: 10px 8px;
}

.product-form {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.product-form > div:nth-child(2) {
  margin-left: 20px;
}

.product-form-select {
  margin-bottom: 20px;
}

.product-form-select p {
  font-size: 12px;
  line-height: 12px;
  margin: 0 0 5px;
}

.product-form-group {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.product-form-group.button-right {
  justify-content: flex-end;
}

.product-form-group .product-form-select {
  margin-bottom: 0;
}

.product-form-select .yellow-button,
.product-form-select .gray-button {
  width: 165px;
  font-size: 12px;
  height: 30px;
  line-height: 30px;
}

.product-form-submit {
  width: 240px;
  height: 65px;
  font-size: 16px;
  line-height: 65px;
  cursor: pointer;
}

.product-form-submit:disabled {
  cursor: unset !important;
}

.product-desc {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.product-desc-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid #e7e8ec;
  border-bottom: 1px solid #e7e8ec;
  cursor: pointer;
}

.product-desc-title h3 {
  margin: 0;
  font-size: 14px;
}

.product-desc-text {
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
}

.product-accordion {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}

.product-desc-text .accordion-youtube {
  width: 100%;
  margin: 20px 0;
  aspect-ratio: 16 / 9;
}

.product-desc-text .accordion-youtube iframe {
  width: 100%;
  height: 100%;
}

.product-desc-text .accordion-related {
  margin: 20px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.product-desc-text .accordion-related img {
  width: 60%;
  margin-bottom: 15px;
}

.popup-restock-intro {
  font-size: 13px;
  line-height: 26px;
  margin: 0;
}

.popup-restock-form .input-text {
  margin: 20px 0;
}

.popup-restock-form p {
  font-size: 13px;
  line-height: 26px;
  margin: 0;
}

.popup-restock-button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 30px 0;
}

.popup-restock-button button {
  width: 155px;
  margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
  .product-wrap {
    display: block;
    margin: 20px 15px 0;
  }

  .product-left-box,
  .product-right-box {
    width: 100%;
    margin-bottom: 0;
  }

  .product-right-box {
    display: block;
  }

  .product-title {
    font-size: 12px;
    line-height: 20px;
    margin-bottom: 0;
  }

  .product-title.pc {
    display: none;
  }

  .product-title.sp {
    display: inline;
  }

  .product-slide-tag span {
    font-size: 12px;
    line-height: 18px;
    padding: 0 3px;
  }

  .product-slide {
    height: 330px;
  }

  .product-slide img {
    height: 300px;
  }

  .product-slide .slick-dots {
    text-align: left;
    bottom: -20px;
  }

  .product-slide .slick-dots li {
    margin: 0 3px;
    width: 10px;
    height: 10px;
  }

  .product-slide .slick-dots li button {
    width: 10px;
    height: 10px;
  }

  .product-slide .slick-dots li button::before {
    width: 10px;
    height: 10px;
  }

  .product-price,
  .product-price-2 {
    font-size: 28px;
    font-weight: bold;
    margin: 0 0 25px;
  }

  .product-sale-price {
    /* display: flex;
    justify-content: flex-start;
    align-items: flex-end; */
    margin-bottom: 25px;
  }

  .product-sale-price > p {
    text-wrap: nowrap;
    margin-bottom: 5px;
  }

  .product-sale-price p {
    font-size: 17px;
    line-height: 20px;
  }

  .product-sale-price p span {
    display: none;
  }

  .product-sale-price > div {
    display: flex;
    flex-wrap: wrap;
    /* margin-left: 10px; */
  }

  .product-sale-price h3 {
    width: 100%;
    order: 2;
    font-size: 26px;
    line-height: 32px;
    margin: 0;
  }

  .product-sale-price-tag {
    font-size: 12px;
    padding: 5px 8px;
  }

  .product-form {
    justify-content: space-between;
  }

  .product-form-group.button-right {
    margin-left: auto;
  }

  .product-form > div:nth-child(2) {
    margin-left: 0;
  }

  .product-form-submit {
    height: 40px;
    font-size: 14px;
    line-height: 40px;
  }
}

/*=======================================
カートページ
=========================================*/
.cart-wrap {
  margin: 20px 15px 0;
}

.cart-title {
  font-size: 18px;
  line-height: 18px;
  font-weight: bold;
  margin: 0 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid #e7e8ec;
}

.cart-list {
  max-width: 1100px;
  margin: 0 auto;
}

.cart-list-item {
  display: grid;
  grid-template-columns: 40% 55%;
  justify-content: space-between;
  padding: 20px 0;
  margin-bottom: 15px;
  border: 1px solid #e7e8ec;
}

.cart-list-item-product {
  grid-column: 1/2;
  grid-row: 1/3;
  padding-left: 30px;
}

.cart-list-item-product img {
  width: 200px;
  height: 200px;
  object-fit: contain;
}

.cart-list-item-text {
  grid-column: 2/3;
  grid-row: 1/2;
  padding-right: 20px;
  margin-bottom: 20px;
}

.cart-list-item-text h3 {
  font-size: 18px;
  line-height: 30px;
  margin: 0 0 20px;
}

.cart-list-item-text p {
  font-size: 18px;
  line-height: 30px;
  margin: 0 0 5px;
}

.cart-list-item-actions {
  grid-column: 2/3;
  grid-row: 2/3;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding-right: 20px;
}

.cart-list-item-actions-quantity {
  margin-right: auto;
}

.cart-list-item-actions-quantity p {
  font-size: 14px;
  line-height: 14px;
  margin: 0 0 10px;
}

.cart-list-item-actions-price {
  font-size: 18px;
  font-weight: bold;
  margin: 10px 25px 0 0;
}

.cart-list-item-actions-price span {
  padding-top: 2px;
  font-size: 12px;
  vertical-align: super;
}

.cart-list-item-actions-delete a {
  display: block;
}

.cart-list-item-actions-delete span {
  color: #000;
  margin-top: 0px;
  vertical-align: bottom;
}

.cart-summary {
  max-width: 1100px;
  margin: 50px auto 60px;
}

.cart-summary ul {
  list-style: none;
  margin: 0;
  padding: 10px 0;
  border-top: #e7e8ec 2px solid;
  border-bottom: #e7e8ec 2px solid;
}

.cart-summary ul li {
  font-size: 14px;
  line-height: 26px;
  text-align: right;
  padding-right: 5px;
}

.cart-summary p {
  font-size: 18px;
  font-weight: bold;
  text-align: right;
  padding-right: 5px;
  margin: 10px 0 0 0;
}

.cart-summary p span {
  padding-top: 2px;
  font-size: 10px;
  vertical-align: super;
}

.cart-buttons {
  margin-top: 40px;
}

.cart-buttons a {
  width: 260px;
  height: 60px;
  line-height: 60px;
  margin: 0 auto 20px;
}

.cart-buttons a.text-link {
  width: auto;
  height: auto;
  line-height: 22px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .cart-list {
  }

  .cart-list-item {
    display: flex;
    justify-content: space-between;
    align-items: start;
    flex-wrap: wrap;
  }

  .cart-list-item-product {
    width: 35%;
    padding-left: 10px;
  }

  .cart-list-item-product img {
    width: 100%;
    height: auto;
    max-height: 200px;
    object-fit: contain;
  }

  .cart-list-item-text {
    width: 60%;
    padding-right: 10px;
    margin-bottom: 0;
  }

  .cart-list-item-text h3 {
    font-size: 12px;
    line-height: 20px;
    margin: 0 0 10px;
  }

  .cart-list-item-text p {
    font-size: 12px;
    line-height: 20px;
  }

  .cart-list-item-actions {
    width: 100%;
    padding-top: 10px;
    padding: 10px 10px 0;
    justify-content: space-between;
  }

  .cart-list-item-actions-quantity {
    margin-right: 0;
  }

  .cart-list-item-actions-quantity p {
    font-size: 12px;
    line-height: 12px;
  }

  .cart-list-item-actions-price {
    font-size: 18px;
    margin: 10px 0 0 0;
  }

  .cart-list-item-actions-delete span {
    color: #000;
    margin-top: 15px;
  }

  .cart-summary {
  }
}

/*=======================================
購入手続きページ
=========================================*/

.payment-coupon {
  max-width: 1100px;
  margin: 0 auto 20px;
  padding: 20px 0;
  border-bottom: #e7e8ec 2px solid;
}

.payment-coupon form {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.payment-coupon input[type='text'] {
  flex-grow: 2;
  font-size: 12px;
  border: 1px solid #c1c5c9;
  padding: 12px 10px;
  outline: none;
}

.select-box input[type='text']:focus {
  border: 1px solid #459065 !important;
  outline: none;
}

.payment-coupon input[type='text']:read-only {
  background-color: #e9e9e9;
}

.payment-coupon button {
  margin-left: 15px;
}

.payment-point {
  max-width: 1100px;
  margin: 0 auto 20px;
  border-bottom: #e7e8ec 2px solid;
}

.payment-point h3 {
  font-size: 18px;
  line-height: 18px;
  font-weight: bold;
  margin: 0;
}

.payment-point p {
  font-size: 14px;
  line-height: 26px;
}

.payment-point p span {
  color: #ff0000;
}

.payment-point-radio {
  margin: 15px 5px;
}

.payment-point-radio .radio-button {
  flex-wrap: nowrap;
}

.payment-point-radio .radio-button label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  padding: 0 5px 0 15px;
}

.payment-point-radio .radio-button label div {
  display: inline-block;
}

.payment-point-radio .radio-button label div span {
  margin: 5px 5px 0;
}
.payment-point-radio .radio-button input[type='text'] {
  width: 70px;
  appearance: none;
  height: 40px;
  font-size: 12px;
  line-height: 14px;
  padding: 8px 10px 8px 10px;
  margin: 0 5px;
  border: 1px solid #cccccc;
  background-color: #fff;
  color: #000000;
  cursor: pointer;
  display: inline-block;
}

.payment-point-radio .radio-button input[type='text']:focus {
  border: 1px solid #459065 !important;
  outline: none;
}

.payment-point-button {
  margin-bottom: 20px;
}

.payment-wrapping {
  max-width: 1100px;
  margin: 0 auto 20px;
  border-bottom: #e7e8ec 2px solid;
}

.payment-wrapping h3 {
  font-size: 18px;
  line-height: 18px;
  font-weight: bold;
  margin: 0;
}

.payment-wrapping .radio-button {
  margin-left: 10px;
  margin-top: 25px;
}

.payment-block {
  max-width: 1100px;
  margin: 0 auto 0;
  padding: 0 0 20px;
  border-bottom: #e7e8ec 2px solid;
  margin-bottom: 20px;
}

.payment-block h3 {
  font-size: 18px;
  line-height: 18px;
  font-weight: bold;
  margin: 0;
}

.payment-block > p {
  font-size: 12px;
  line-height: 20px;
}

.payment-mb0 {
  margin-bottom: 0;
}

.payment-2col {
  display: flex;
  justify-content: space-between;
}

.payment-2col div:nth-of-type(1) {
  width: calc(100% - 190px);
}

.payment-2col div:nth-of-type(2) {
  width: 180px;
}

.payment-2col div p {
  font-size: 12px;
  line-height: 26px;
  margin: 8px 0;
}

.payment-2col div .gray-button {
  width: 100%;
  padding: 0 10px;
}

.payment-summary ul {
  border-top: none;
}

/* 支配方法POPUP */

.popup-payment-method {
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 20px 0 10px;
}

.popup-payment-blcok {
  padding-bottom: 15px;
}

.popup-payment-blcok p {
  display: block;
  font-size: 14px;
  line-height: 14px;
  margin-top: 0;
  margin-bottom: 5px;
}

.popup-payment-blcok p sup {
  color: #ff0000;
}

.popup-payment-blcok .form-2col {
  margin-bottom: 0;
}

.popup-payment-cod p {
  font-size: 14px;
  line-height: 22px;
  margin-bottom: 30px;
}

.popup-payment-button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 30px 0;
  border-top: 2px solid #666666;
}

.popup-payment-button button {
  width: 155px;
  margin-bottom: 15px;
}

.popup-payment-button button:first-child {
  margin-right: 20px;
}

/* お届け先変更ポップアップ */
.popup-delivery-intro p {
  font-size: 14px;
  line-height: 26px;
  margin: 30px 0;
}

.popup-delivery-list {
}

.popup-delivery-list-item {
  position: relative;
  margin-bottom: 30px;
}

.popup-delivery-list-item input[type='radio'] {
  display: none;
}

.popup-delivery-list-item input[type='radio']:checked + label {
  color: #fff;
  background: #979797;
}

.popup-delivery-list-item input[type='radio'] + label {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  display: block;
  position: relative;
  padding: 20px 175px 20px 60px;
  cursor: pointer;
  border: 2px solid #a2a8ae;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.popup-delivery-list-item input[type='radio']:checked + label:before {
  border-color: #666;
}

.popup-delivery-list-item input[type='radio'] + label:before {
  content: '';
  display: block;
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: white;
  border: 2px solid #a2a8ae;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.popup-delivery-list-item input[type='radio'] + label p {
  font-size: 14px;
  line-height: 30px;
  margin-top: 0;
  margin-bottom: 0;
}

.popup-delivery-list-item input[type='radio']:checked + label:after {
  content: '';
  display: block;
  position: absolute;
  left: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: #666;
  border-radius: 50%;
}

.popup-delivery-add {
  margin-top: 30px;
}

.popup-delivery-add p {
  font-size: 14px;
}

.popup-delivery-add p a {
  color: #000000;
  text-decoration: underline;
}

.popup-delivery-button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 60px 0;
}

.popup-delivery-button button {
  width: 155px;
  margin-bottom: 15px;
}

.popup-delivery-button button:first-child {
  margin-right: 20px;
}

.date-picker-popup .popup-inner {
  height: auto !important;
}

.popup-date-picker-intro p {
  font-size: 14px;
  line-height: 26px;
  margin: 30px 0;
}

.popup-date-picker-blcok label,
.popup-date-picker-blcok select {
  width: 100%;
}

.popup-date-picker-blcok select {
  height: auto;
  padding: 15px 20px;
  font-size: 14px;
}

.popup-date-picker-blcok .not-possible {
  margin: 20px 0 10px;
  color: #cc0000;
}

.popup-date-picker-button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 60px 0;
}

.popup-date-picker-button button {
  width: 155px;
  margin-bottom: 15px;
}

.popup-date-picker-button button:first-child {
  margin-right: 20px;
}

.popup-date-picker-blcok p {
  font-size: 14px;
  line-height: 14px;
  margin: 30px 0 10px;
}

.payment-method {
  padding: 50px 0 25px;
  border-top: #e7e8ec 2px solid;
}

@media screen and (max-width: 768px) {
  .payment-wrapping {
    margin: 0 0 20px;
  }

  .payment-block {
    padding: 0 0 20px;
  }

  .popup-payment-button button:first-child {
    margin-right: 0px;
  }

  .popup-delivery-intro p {
    font-size: 11px;
    line-height: 18px;
    margin: 10px 0 20px;
  }

  .popup-delivery-list-item {
    margin-bottom: 20px;
  }

  .popup-delivery-list-item input[type='radio'] + label {
    border-width: 1px;
    padding: 13px 90px 13px 35px;
  }

  .popup-delivery-list-item input[type='radio'] + label:before {
    left: 10px;
    width: 15px;
    height: 15px;
  }

  .popup-delivery-list-item input[type='radio']:checked + label:after {
    left: 14px;
    width: 7.5px;
    height: 7.5px;
  }

  .popup-delivery-list-item input[type='radio'] + label p {
    font-size: 10px;
    line-height: 20px;
  }

  .popup-delivery-add {
    margin-top: 20px;
  }

  .popup-delivery-add p {
    font-size: 11px;
  }

  .popup-delivery-button button:first-child {
    margin-right: 0px;
  }

  .popup-delivery-button {
    padding: 50px 0 30px;
  }

  .popup-date-picker-intro p {
    font-size: 11px;
    line-height: 18px;
    margin: 20px 0 0px;
  }

  .popup-date-picker-blcok p {
    font-size: 14px;
    line-height: 14px;
    margin: 20px 0 10px;
  }

  .popup-date-picker-blcok select {
    padding: 10px 15px;
    font-size: 11px;
    line-height: 11px;
  }

  .popup-date-picker-button button:first-child {
    margin-right: 0px;
  }

  .popup-date-picker-button {
    padding: 50px 0 30px;
  }

  /* .popup-date-picker-button button {
    font-size: 12px;
    line-height: 32px;
    height: 32px;
  } */

  .payment-method {
    padding: 30px 0 20px;
  }

  .popup-payment-blcok p {
    line-height: 20px;
  }

  .payment-point-button {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}

/*=======================================
新規会員登録ページ
=========================================*/

.register-wrap {
  margin: 20px 15px 0;
}

.register-title,
.register-title-2 {
  font-size: 18px;
  line-height: 18px;
  font-weight: bold;
  margin: 0 0 20px 0;
  padding-left: 5px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e7e8ec;
}

.register-title-2 {
  padding-bottom: 0;
  border-bottom: none;
}

.register-visited-store {
  padding: 0 0 15px 0;
  margin-bottom: 15px;
  border-bottom: 2px solid #e7e8ec;
}

.register-visited-store h5 {
  margin: 0 0 15px 0;
}

.register-visited-store p {
  font-size: 18px;
  line-height: 24px;
  margin: 0;
}

.register-visited-store div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin: 25px 0 10px;
}

.register-visited-store button {
  width: 160px;
  margin-right: 20px;
  cursor: pointer;
}

.mypage-register-visited-store {
  padding: 25px 0;
  border-top: 2px solid #e7e8ec;
}

.register-form {
  padding: 0 10px;
}

.register-form-space {
  padding-top: 20px;
}

.register-form-title {
  display: block;
  font-size: 14px;
  line-height: 14px;
  margin-bottom: 15px;
}

.register-form-title sup {
  color: #ff0000;
}

.register-form-birthday {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.register-form-birthday .select-box select {
  width: 95px;
  margin-right: 15px;
}

.register-form-birthday .select-box::after {
  right: 20px;
}

.register-form-address {
  margin-bottom: 40px;
}

.register-form-address .form-2col-btn,
.register-form-address > .input-text {
  margin-bottom: 15px;
}

.register-form-email {
  margin-bottom: 40px;
}

.register-form-button {
  margin-bottom: 80px;
}

.register-form-button .yellow-button {
  width: 260px;
  height: 60px;
  line-height: 60px;
  margin: 0 auto;
}

.register-form-password {
  margin-bottom: 40px;
}

.register-form-password p {
  display: block;
  font-size: 12px;
  line-height: 12px;
  margin-bottom: 5px;
}

.pump-number-popup .popup-inner {
  height: auto !important;
}

.popup-pump-number-block p {
  display: block;
  font-size: 12px;
  line-height: 12px;
  margin-bottom: 15px;
}

.popup-pump-number-block .input-text {
  margin-bottom: 20px;
}

.popup-pump-number-block .input-text label,
.popup-pump-number-block .input-text input {
  width: 100%;
}

.popup-pump-number-birthday {
  display: flex;
  align-items: center;
  margin-bottom: 60px;
  flex-wrap: wrap;
}

.popup-pump-number-birthday .select-box select {
  width: 80px;
  margin-right: 15px;
}

.popup-pump-number-birthday .select-box::after {
  right: 20px;
}

.popup-pump-number-birthday .error-message {
  display: block;
  width: 100%;
}

.popup-pump-number-button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 60px 0;
}

.popup-pump-number-button button {
  width: 155px;
  margin-bottom: 15px;
}

.popup-pump-number-button button:first-child {
  margin-right: 20px;
}

.popup-post-code dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.popup-post-code dl dt {
  width: calc(100% - 90px);
  font-size: 14px;
  margin-bottom: 0;
}

.popup-post-code dl dd {
  width: 75px;

  margin: 0;
}

.popup-mail-register {
  margin-bottom: 40px;
}

.popup-mail-register p {
  font-size: 14px;
  line-height: 26px;
  margin: 0 0 10px;
}

.popup-mail-register .input-text {
  margin: 20px 0;
}

.popup-mail-register button {
  width: 150px;
  margin: 20px auto 30px;
}
@media screen and (max-width: 768px) {
  /* .popup-date-picker-blcok select {
  padding: 10px 15px;
  font-size: 11px;
  line-height: 11px;
} */

  .mypage-register-visited-store {
    padding: 0 0 15px 0;
    border-top: none;
  }

  .register-visited-store div {
    flex-wrap: nowrap;
  }

  .register-visited-store div p {
    font-size: 18px;
    white-space: nowrap;
    text-wrap: nowrap;
  }

  .register-visited-store button {
    width: 100%;
    max-width: 150px;
  }

  .popup-pump-number-button button:first-child {
    margin-right: 0px;
  }

  .popup-pump-number-button {
    padding: 50px 0 30px;
  }
}

/*=======================================
特定商取引法
=========================================*/

.page-order-block {
  margin: 0px 25px 0;
}

.page-order-block p {
  font-size: 18px;
  line-height: 48px;
  margin: 0;
}

.page-order-block div {
  margin-bottom: 90px;
}

@media screen and (max-width: 768px) {
  .page-order-block {
    margin: 0px 10px 0;
  }

  .page-order-block p {
    font-size: 12px;
    line-height: 18px;
    margin: 0;
  }

  .page-order-block div {
    margin-bottom: 30px;
  }
}

/*=======================================
ログインページ
=========================================*/
.login-block {
  width: 700px;
  margin: 0 auto;
}

.login-block a {
  font-size: 16px;
  color: #000000;
}

.login-block-input label {
  font-weight: bold;
  margin-bottom: 10px;
}

.login-block-input input {
  margin-bottom: 20px;
}

.login-block-checkbox {
  margin-bottom: 40px;
}

.login-block-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-flow: column;
  margin: 75px auto 0;
}

.login-block-submit button {
  width: 260px;
  font-size: 14px;
  height: 60px;
  line-height: 60px;
  margin-bottom: 75px;
}

@media screen and (max-width: 768px) {
  .login-block {
    width: 100%;
    padding: 0 7px;
    margin: 0 auto;
  }

  .login-block-input input {
    margin-bottom: 10px;
  }

  .login-block-checkbox {
    margin-bottom: 15px;
  }

  .login-block a {
    font-size: 11px;
  }

  .login-block-submit {
    margin: 30px auto 50px;
  }

  .login-block-submit button {
    width: 160px;
    font-size: 14px;
    height: 40px;
    line-height: 40px;
    margin-bottom: 30px;
  }
}

/*=======================================
注文完了ページ
=========================================*/
.page-complete-block {
  margin: 0px 25px 0;
}

.page-complete-block h4 {
  text-align: center;
  margin: 0 0 20px;
}

.page-complete-block p {
  font-size: 18px;
  line-height: 48px;
  margin: 0;
  text-align: center;
}

.page-complete-block a {
  color: #000;
}

.complete-block-button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-flow: column;
  margin: 75px auto 0;
}

.complete-block-button a {
  width: 260px;
  display: block;
  font-size: 14px;
  height: 60px;
  line-height: 60px;
  margin-bottom: 75px;
}

@media screen and (max-width: 768px) {
  .page-complete-block {
    margin: 0px 5px 0;
  }

  .page-complete-block h4 {
    text-align: left;
    margin: 0 0 10px;
  }

  .page-complete-block p {
    font-size: 13px;
    line-height: 26px;
    margin: 0;
    text-align: left;
  }

  .page-complete-block div {
    margin-bottom: 30px;
  }

  .complete-block-button {
    margin: 40px auto 50px;
  }

  .complete-block-button a {
    width: 160px;
    font-size: 14px;
    height: 40px;
    line-height: 40px;
    margin-bottom: 30px;
  }
}

/*=======================================
マイページ
=========================================*/
.mypage-main-title {
  font-size: 18px;
  line-height: 36px;
  margin: 0px 0 40px;
  border-bottom: 2px solid #e8eaee;
}

.mypage-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 60px;
  list-style: none;
  padding: 0;
}

.mypage-menu li {
  margin-right: 15px;
}

.mypage-menu li:last-of-type {
  margin-right: 0;
}

.mypage-menu li a {
  font-size: 20px;
  line-height: 20px;
  color: #000;
}

.mypage-menu li a:visited {
  color: #000;
}

.mypage-sub-title {
  font-size: 18px;
  line-height: 36px;
  margin: 15px 0 45px;
  border-bottom: 2px solid #e8eaee;
}

@media screen and (max-width: 768px) {
  .mypage-main-title {
    font-weight: normal;
    line-height: 20px;
    border-bottom: none;
    margin-bottom: 10px;
  }

  .mypage-menu {
    flex-wrap: wrap;
    padding: 20px 0;
    border-top: 1px solid #e1e3e8;
    border-bottom: 1px solid #e1e3e8;
    margin: 0 0 15px;
  }

  .mypage-menu li {
    width: 100%;
    text-align: center;
    margin-right: 0;
    margin-bottom: 15px;
  }

  .mypage-menu li {
    margin-right: 0;
    margin-bottom: 20px;
  }

  .mypage-menu li:last-of-type {
    margin-bottom: 0;
  }

  .mypage-menu li a {
    font-size: 14px;
    line-height: 14px;
  }

  .mypage-sub-title {
    font-weight: normal;
    margin: 0px 0 20px;
    border-bottom: none;
  }
}

/* 購入履歴一覧 */
.purch-history-count p {
  font-size: 18px;
  line-height: 28px;
  margin: 0;
}

.purch-history-count span {
  color: #cc0000;
}

.purch-history-list {
  width: 1100px;
  margin: 35px auto 50px;
}

.purch-history-list-item {
  display: flex;
  padding: 30px 35px;
  border: solid 2px #e1e3e8;
  margin-bottom: 25px;
}

.purch-history-list-item div {
  display: flex;
  align-items: center;
}

.purch-history-list-item div dl {
  display: flex;
}

.purch-history-list-item div dl:first-child dt {
  margin-left: 0;
}

.purch-history-list-item div dl dt {
  font-weight: bold;
  font-size: 18px;
  line-height: 30px;
  margin-left: 35px;
}

.purch-history-list-item div dl dd {
  font-size: 18px;
  line-height: 30px;
  margin-left: 20px;
}

.purch-history-list-item div:last-child {
  margin-left: auto;
}

.purch-history-list-item div:last-child a {
  width: 110px;
  line-height: 32px;
  height: 32px;
}

@media screen and (max-width: 1200px) {
  .purch-history-list {
    width: 100%;
  }

  .purch-history-list-item {
    justify-content: space-between;
  }
  .purch-history-list-item div {
    flex-wrap: wrap;
  }

  .purch-history-list-item div dl {
    width: 50%;
    margin: 0;
  }

  .purch-history-list-item div dl dt {
    margin-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .purch-history-count {
    padding: 0 10px;
  }
  .purch-history-count p {
    font-size: 13px;
    line-height: 16px;
  }
  .purch-history-list {
    width: 100%;
  }

  .purch-history-list {
    padding: 0 10px;
    margin: 25px auto 50px;
  }

  .purch-history-list-item {
    padding: 10px 15px;
  }

  .purch-history-list-item div dl {
    flex-wrap: wrap;
  }

  .purch-history-list-item div dl:nth-of-type(1),
  .purch-history-list-item div dl:nth-of-type(2) {
    margin-bottom: 20px;
  }

  .purch-history-list-item div dl dt {
    width: 100%;
    font-size: 12px;
    line-height: 24px;
  }

  .purch-history-list-item div dl dd {
    width: 100%;
    font-size: 12px;
    line-height: 24px;
    margin-left: 0;
  }

  .purch-history-list-item div:last-child a {
    width: 45px;
    font-size: 10px;
    line-height: 32px;
    height: 32px;
    padding: 0 5px;
  }
}

/* 購入履歴詳細 */
.purch-history-back-link {
  width: 1100px;
  margin: 0 auto;
  text-align: right;
}

.purch-history-back-link a {
  color: #000;
  font-size: 18px;
  line-height: 38px;
}

.purch-detail-wrap {
  width: 1100px;
  margin: 25px auto 50px;
  border: 2px solid #e1e3e8;
}

.purch-detail-wrap > div:last-child {
  border-bottom: none !important;
}

.purch-detail-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 40px;
  border-bottom: 2px solid #e1e3e8;
}

.purch-detail-head dl {
  display: flex;
  padding-right: 20px;
}

.purch-detail-head dl:last-child {
  padding-right: 0;
}

.purch-detail-head dl:first-child dt {
  margin-left: 0;
}

.purch-detail-head dl dt {
  font-weight: bold;
  font-size: 17px;
  line-height: 30px;
  text-wrap: nowrap;
}

.purch-detail-head dl dd {
  font-size: 17px;
  line-height: 30px;
  margin-left: 15px;
}

.purch-detail-list {
  border-bottom: 2px solid #e1e3e8;
}

.purch-detail-list > div {
  border-bottom: 2px solid #e1e3e8;
}

.purch-detail-list > div:last-child {
  border-bottom: none;
}

.purch-cancel-item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px 40px;
  min-height: 250px;
}

.purch-cancel-item p {
  font-size: 18px;
  line-height: 30px;
  margin: 0;
  color: #cc3e3e;
  text-align: center;
}

.purch-detail-item {
  padding: 50px 0 20px;
  border-bottom: 2px solid #e1e3e8;
}

.purch-detail-item-inner {
  display: flex;
  justify-content: space-between;
}

.purch-detail-item-inner div:first-child {
  width: 35%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.purch-detail-item-inner div:first-child img {
  width: 200px;
  height: auto;
  object-fit: contain;
}

.purch-detail-item-inner div:last-child {
  width: 65%;
}

.purch-detail-item-inner div:last-child h5 {
  font-size: 18px;
  line-height: 30px;
  margin: 0 0 10px;
  font-weight: normal;
}

.purch-detail-item-inner div:last-child p {
  font-size: 18px;
  line-height: 30px;
  margin: 30px 0 20px;
}

.purch-detail-item-inner div:last-child ul {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 15px 0 0;
}

.purch-detail-item-inner div:last-child ul li {
  font-size: 18px;
  line-height: 30px;
  margin-right: 20px;
}

.purch-cancel-button {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  padding: 0 25px;
  cursor: pointer;
}

.purch-detail-total {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 70px 80px;
  border-bottom: 2px solid #e1e3e8;
}

.purch-detail-total-line {
  width: 100%;
  border-bottom: 2px solid #e1e3e8;
  margin-bottom: 20px;
}

.purch-detail-total dl {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0 0 15px;
}

.purch-detail-total dl dt,
.purch-detail-total dl dd {
  font-size: 18px;
  line-height: 30px;
}

.purch-detail-total dl dd {
  width: 120px;
  text-align: right;
}

.purch-detail-total dl:last-child dt,
.purch-detail-total dl:last-child dd {
  font-weight: bold;
}

.purch-all-cancel-button {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 0 25px;
  cursor: pointer;
}

.purch-detail-info {
  padding: 30px 70px;
  border-bottom: 2px solid #e1e3e8;
}

.purch-detail-info ul {
  list-style: none;
  padding: 0;
}

.purch-detail-info ul li {
  font-size: 18px;
  line-height: 30px;
  margin: 0 0 15px;
}

.purch-detail-info dl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0;
}

.purch-detail-info dl dt {
  width: 165px;
}

.purch-detail-info dl dd {
  margin: 0;
}

.purch-detail-info dl dt,
.purch-detail-info dl dd {
  font-size: 18px;
  line-height: 30px;
}

.purch-cancel-popup p {
  font-size: 14px;
  line-height: 26px;
  margin: 0 0 10px;
}

.purch-cancel-popup div {
  width: 160px;
  margin: 0 auto;
  padding: 40px 0 60px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.purch-cancel-popup button {
  width: 155px;
  margin-bottom: 15px;
}

@media screen and (max-width: 1200px) {
  .purch-detail-wrap {
    width: 100%;
  }

  .purch-history-back-link {
    width: 100%;
  }

  .purch-detail-head {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 768px) {
  .purch-history-back-link a {
    font-size: 13px;
    line-height: 16px;
  }

  .purch-detail-wrap {
    margin: 20px auto 25px;
  }

  .purch-detail-head {
    padding: 5px 15px;
  }

  .purch-detail-head dl {
    width: 33%;
    flex-wrap: wrap;
    padding-right: 0;
  }

  .purch-detail-head::after {
    content: '';
    display: block;
    width: 33%;
  }

  .purch-detail-head dl dt {
    width: 100%;
    font-size: 12px;
    line-height: 24px;
  }

  .purch-detail-head dl dd {
    font-size: 12px;
    line-height: 24px;
    margin-left: 0;
  }

  .purch-detail-item {
    position: relative;
  }

  .purch-detail-item-inner {
    flex-wrap: wrap;
    padding: 10px 15px;
  }

  .purch-detail-item-inner div:first-child {
    width: 34%;
  }

  .purch-detail-item-inner div:first-child img {
    width: 100%;
  }

  .purch-detail-item-inner div:last-child {
    width: 60%;
  }

  .purch-detail-item-inner div:last-child h5 {
    font-size: 12px;
    line-height: 24px;
  }

  .purch-detail-item-inner div:last-child p {
    font-size: 12px;
    line-height: 24px;
    margin: 10px 0 15px;
  }

  .purch-detail-item-inner div:last-child ul {
    flex-wrap: wrap;
    margin: 15px 0 0;
  }

  .purch-detail-item-inner div:last-child ul li {
    width: 100%;
    font-size: 12px;
    line-height: 24px;
  }

  .purch-cancel-button {
    position: absolute;
    padding: 0;
    right: 10px;
    bottom: 10px;
  }

  .purch-cancel-button .red-button {
    width: 70px;
    font-size: 10px;
    line-height: 16px;
    height: auto;
    padding: 5px;
    font-weight: normal;
  }

  .purch-detail-total {
    padding: 15px;
  }

  .purch-detail-total dl {
    justify-content: space-between;
    margin: 0;
    padding: 0 10px;
  }

  .purch-detail-total dl dt,
  .purch-detail-total dl dd {
    font-size: 12px;
    line-height: 24px;
  }

  .purch-detail-total-line {
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .purch-all-cancel-button {
    padding: 0;
    margin-top: 15px;
  }

  .purch-all-cancel-button .red-button {
    font-size: 10px;
    font-weight: normal;
  }

  .purch-detail-info {
    padding: 15px;
  }

  .purch-detail-info ul {
    margin: 0;
  }

  .purch-detail-info ul li {
    font-size: 12px;
    line-height: 24px;
    margin: 0;
  }

  .purch-detail-info dl dt {
    width: 105px;
  }

  .purch-detail-info dl dt,
  .purch-detail-info dl dd {
    font-size: 12px;
    line-height: 24px;
  }
}

/* 会員登録内容変更（確認ページ） */
.mypage-confirm-wrap {
  width: 620px;
  margin: 0 auto;
}

.mypage-confirm-wrap div {
  margin-bottom: 30px;
}

.mypage-confirm-wrap div p:first-child {
  font-size: 18px;
  line-height: 32px;
  font-weight: bold;
  margin: 0;
}

.mypage-confirm-wrap div p:first-child sup {
  font-size: 10px;
  color: #ff0000;
}

.mypage-confirm-wrap div p:last-child {
  font-size: 18px;
  line-height: 32px;
  margin: 0;
}

.mypage-confirm-buttons {
  margin-top: 100px;
}

.mypage-confirm-buttons a {
  width: 260px;
  height: 60px;
  line-height: 60px;
  margin: 0 auto 20px;
}

@media screen and (max-width: 768px) {
  .mypage-confirm-wrap {
    width: 100%;
    padding: 0 5px;
  }

  .mypage-confirm-wrap div p:first-child {
    font-size: 12px;
    line-height: 24px;
    padding-left: 5px;
    margin-bottom: 5px;
  }

  .mypage-confirm-wrap div {
    margin-bottom: 20px;
  }

  .mypage-confirm-wrap div p:first-child sup {
    font-size: 10px;
    color: #ff0000;
  }

  .mypage-confirm-wrap div p:last-child {
    font-size: 12px;
    line-height: 24px;
    padding-left: 17px;
  }

  .mypage-confirm-buttons {
    margin-top: 50px;
  }
}

/* パスワード変更 */

.mypage-password-wrap {
  margin: 0 auto;
  min-height: calc(100vh - 600px);
}

.mypage-password-wrap > p {
  font-size: 18px;
  line-height: 32px;
  margin: 0 0 30px;
}

.mypage-password-wrap > p span {
  color: #ff0000;
}

.mypage-password-form {
  width: 680px;
  margin: 0 auto;
}

.mypage-password-form .input-text label {
  font-weight: bold;
  margin-bottom: 10px;
}

.mypage-password-current {
  margin-bottom: 35px;
}

.mypage-password-new p {
  font-size: 18px;
  line-height: 32px;
  margin: 0;
}

.mypage-password-new .input-text input {
  margin-bottom: 20px;
}

.mypage-password-buttons {
  margin-top: 50px;
}

.mypage-password-buttons a,
.mypage-password-buttons button {
  display: block;
  width: 260px;
  height: 60px;
  line-height: 60px;
  margin: 0 auto 20px;
}

@media screen and (max-width: 768px) {
  .mypage-password-form {
    width: 100%;
  }

  .mypage-password-wrap > p {
    font-size: 12px;
    line-height: 24px;
    margin: 0 0 5px;
  }

  .mypage-password-current {
    margin-bottom: 15px;
  }

  .mypage-password-new .input-text input {
    margin-bottom: 10px;
  }

  .mypage-password-new p {
    font-size: 12px;
    line-height: 24px;
    margin: 0;
  }
}

/* 退会手続き */

.mypage-leave-wrap {
  margin: 0 auto;
  min-height: calc(100vh - 600px);
}

.mypage-leave-wrap > p {
  font-size: 18px;
  line-height: 32px;
  margin: 0 0 30px;
}

.mypage-leave-buttons {
  margin-top: 60px;
}

.mypage-leave-buttons a,
.mypage-leave-buttons button {
  display: block;
  width: 260px;
  height: 60px;
  line-height: 60px;
  margin: 0 auto 20px;
}

@media screen and (max-width: 768px) {
  .mypage-leave-wrap > p {
    font-size: 12px;
    line-height: 24px;
    margin: 0 0 5px;
  }
}

/* お届け先変更・変更 */

.mypage-delivery-wrap {
  margin: 0 auto;
  min-height: calc(100vh - 600px);
}

.mypage-delivery-wrap > p {
  font-size: 18px;
  line-height: 32px;
  margin: 0 0 30px;
}

.mypage-delivery-inner {
  width: 1100px;
  margin: 0 auto;
  padding-bottom: 80px;
}

.mypage-delivery-add {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 400px;
  height: 80px;
  padding: 0 30px;
  font-size: 18px;
  border: 2px solid #e1e3e8;
  margin-bottom: 50px;
  cursor: pointer;
}

.mypage-delivery-add span:last-child {
  font-size: 30px;
  line-height: 30px;
}

.mypage-delivery-list {
  width: 100%;
  list-style: none;
  padding: 0;
}

.mypage-delivery-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 30px;
  padding: 30px;
  font-size: 18px;
  border: 2px solid #e1e3e8;
}

.mypage-delivery-list .error > p {
  width: 100%;
  font-size: 20px;
  line-height: 30px;
  color: #ff0000;
  margin: 0;
  text-align: center;
  font-weight: bold;
}

.mypage-delivery-list .error {
  background-color: #aeaeae;
}

.mypage-delivery-list li div p {
  margin: 0;
}

.mypage-delivery-list li div:first-of-type {
  width: 50%;
}

.mypage-delivery-list li div:first-of-type p {
  font-size: 18px;
  line-height: 30px;
}

.mypage-delivery-list li div:first-of-type p br {
  display: none;
}

.mypage-delivery-list li div:last-of-type {
  width: 48%;
  text-align: right;
}

.mypage-delivery-list li div:last-of-type button {
  width: 140px;
  height: 35px;
  text-align: center;
  background-color: #ffffff;
  border: 1px solid #666666;
  border-radius: 4px;
  cursor: pointer;
}

.mypage-delivery-list li div:last-of-type button:last-child {
  margin-left: 20px;
}

.popup-mypage-address-name p {
  font-size: 14px;
  line-height: 20px;
  margin: 0 0 5px;
}

.popup-mypage-address-name p sup {
  color: #ff0000;
}

.popup-mypage-address-name > .input-text {
  margin-bottom: 20px;
}

.popup-address-register-btn {
  width: 100%;
  margin-top: 30px;
  margin-bottom: 25px;
}

.popup-address-register-btn button {
  width: 100%;
}

.popup-mypage-address-block {
  border-bottom: 1px solid #666666;
}

.popup-mypage-address-block > div,
.popup-mypage-register-address .text-block,
.popup-mypage-register-address .input-text {
  margin-bottom: 20px;
}

.popup-mypage-address-block div p,
.popup-mypage-register-address .text-block p {
  font-size: 12px;
  line-height: 20px;
  margin: 0 0 5px;
}

.popup-mypage-address-block div p:first-child,
.popup-mypage-register-address .text-block p:first-child {
  font-weight: bold;
}

.popup-mypage-address-block div p sup,
.popup-mypage-register-address .text-block p sup {
  color: #ff0000;
}

.popup-mypage-address-bottom-button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 60px 0;
}

.popup-mypage-register-address {
  padding-bottom: 10px;
  border-bottom: 1px solid #666666;
}

.popup-mypage-register-address .form-2col-btn {
  margin-bottom: 0px;
}

.popup-mypage-register-address .form-2col-btn button {
  width: 100px;
  font-size: 12px;
}

.popup-mypage-address-bottom-button button {
  width: 155px;
  margin-bottom: 15px;
}

.popup-mypage-register-address .form-2col-btn div {
  width: 60%;
}

.popup-mypage-register-address .form-2col-btn label,
.popup-mypage-register-address .input-text label {
  font-weight: bold;
}

.popup-mypage-address-bottom-button button:first-child {
  margin-right: 20px;
}

@media screen and (max-width: 768px) {
  .mypage-delivery-wrap > p {
    font-size: 12px;
    line-height: 24px;
    margin: 0 0 20px;
  }

  .mypage-delivery-inner {
    width: 100%;
    padding-bottom: 40px;
  }

  .mypage-delivery-add {
    width: 100%;
    height: 55px;
    padding: 0 15px;
    font-size: 12px;
    margin-bottom: 20px;
  }

  .mypage-delivery-add span:last-child {
    font-size: 16px;
    line-height: 16px;
  }

  .mypage-delivery-list li {
    flex-wrap: wrap;
    padding: 15px;
    margin-bottom: 15px;
  }

  .mypage-delivery-list .error > p {
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 10px;
  }

  .mypage-delivery-list li div:first-of-type {
    width: 70%;
  }

  .mypage-delivery-list li div:first-of-type p {
    font-size: 12px;
    line-height: 24px;
  }

  .mypage-delivery-list li div:first-of-type p br {
    display: inline;
  }

  .mypage-delivery-list li div:last-of-type {
    width: 25%;
    text-align: right;
  }

  .mypage-delivery-list li div:last-of-type button {
    width: 50px;
    height: 30px;
    font-size: 10px;
    line-height: 30px;
    margin-bottom: 10px;
  }

  .mypage-delivery-list li div:last-of-type button:last-child {
    margin-bottom: 0;
  }

  .popup-mypage-address-bottom-button {
    padding: 30px 0;
  }

  .popup-mypage-address-bottom-button button:first-child {
    margin-right: 0px;
  }
}

/*=======================================
404ページ
=========================================*/

.error-page-main-title {
  font-size: 18px;
  line-height: 36px;
  margin: 0px 0 40px;
  border-bottom: 2px solid #e8eaee;
}

.error-page-sub-title {
  font-size: 18px;
  line-height: 36px;
  margin: 0 0 40px;
}

.error-page-block {
  width: 720px;
  margin: 0 auto;
}

.error-page-block p {
  font-size: 18px;
  line-height: 40px;
  margin: 0;
}

.error-page-button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 60px 0;
}

.error-page-button a {
  width: 230px;
}

@media screen and (max-width: 768px) {
  .error-page-main-title {
    line-height: 20px;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }

  .error-page-sub-title {
    font-size: 12px;
    line-height: 20px;
    margin: 0px 0 20px;
    border-bottom: none;
  }

  .error-page-block {
    width: 100%;
  }

  .error-page-block p {
    font-size: 12px;
    line-height: 20px;
  }

  .error-page-button {
    padding: 50px 0;
  }
}

/*=======================================
brand一覧
=========================================*/
.brand-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 0;
  margin: 90px 0;
  list-style: none;
}

.brand-list::after {
  content: '';
  display: block;
  width: 32%;
}

.brand-list li {
  width: 32%;
  border: 1px solid #ffffff;
  background-color: #f8f8f8;
  margin-bottom: 30px;
}

.brand-list li:hover {
  border: 1px solid #666666;
  background-color: #ffffff;
}

.brand-list li a {
  width: 100%;
  padding: 10px 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  line-height: 28px;
  text-decoration: none;
  color: #000;
}

.brand-list li span {
  display: block;
  text-align: center;
}

.brand-list li span:last-of-type {
  display: none;
}

@media screen and (max-width: 768px) {
  .brand-list {
    margin: 40px 0 0;
    padding: 0 15px;
  }

  .brand-list li {
    width: 100%;
    border-top: 1px solid #e7e8ec;
    border-right: none;
    border-left: none;
    border-bottom: none;
    background-color: #ffffff;
    margin-bottom: 0;
  }

  .brand-list li:last-of-type {
    border-bottom: 1px solid #e7e8ec;
  }

  .brand-list li:hover {
    border-top: 1px solid #e7e8ec;
    border-right: none;
    border-left: none;
    border-bottom: none;
    background-color: #ffffff;
  }

  .brand-list li a {
    padding: 7px 10px 7px 5px;
    font-size: 14px;
    line-height: 20px;
    justify-content: space-between;
  }

  .brand-list li span {
    text-align: left;
  }

  .brand-list li span:last-of-type {
    font-size: 14px;
    display: block;
    padding-left: 20px;
  }
}
/*=======================================
news一覧
=========================================*/
.news-list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1200px;
  margin: 100px auto 80px;
}

.news-list-item {
  display: flex;
  align-items: stretch;
  width: calc(50% - 10px);
  padding: 10px 0 20px;
  margin-bottom: 20px;
  background-color: #f7f7f7;
  color: #000;
  text-decoration: none;
}

.news-list-item:visited {
  color: #000;
}

.news-list-item:hover {
  opacity: 0.8;
}

.news-list-item-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.news-list-item-inner img {
  width: 45%;
}

.news-list-item-inner > div {
  width: 52%;
  display: flex;
  flex-wrap: wrap;
  padding-right: 20px;
}

.news-list-item-inner .item-date {
  width: 100%;
  font-weight: bold;
  margin: 10px 0 0;
}

.news-list-item-inner h3 {
  width: 100%;
  font-size: 20px;
  margin: 10px 0 15px;
}

.news-list-item-inner .item-text {
  margin: 0 0 10px;
}

.news-list-item-inner .item-button {
  color: #000;
  text-decoration: none;
  margin-left: auto;
  font-weight: bold;
}

.news-list-item-inner .item-button:hover {
  opacity: 0.8;
}

.news-list-item-inner .item-button:visited {
  color: #000;
}

.news-list-button {
  width: 100%;
  text-align: right;
  margin-top: 20px;
}

@media screen and (max-width: 1280px) {
  .news-list-item {
    width: 80%;
    margin: 0 auto 25px;
  }
}

@media screen and (max-width: 768px) {
  .news-list {
    width: 100%;
    margin: 60px 0 15px;
    padding: 0 15px;
  }
  .news-list-item {
    width: 100%;
    margin: 0 auto 25px;
    border-right: 4px solid #77d29e;
  }

  .news-list-item-inner .item-date {
    font-size: 12px;
    line-height: 16px;
    margin: 0;
  }

  .news-list-item-inner h3 {
    font-size: 14px;
    line-height: 24px;
    margin: 0px 0 5px;
  }

  .news-list-item-inner .item-text {
    font-size: 13px;
    line-height: 18px;
  }

  .news-list-item .item-button {
    display: none;
  }

  .news-list-item-inner {
    align-items: flex-start;
  }

  .news-list-button {
    text-align: center;
    margin-top: 0;
  }
}
/*=======================================
news詳細
=========================================*/
.news-detail {
  width: 100%;
  max-width: 1200px;
  margin: 60px auto 0;
}

.news-detail-header {
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 2px solid #e8eaee;
}

.news-detail-header h3 {
  font-size: 20px;
  line-height: 40px;
  font-weight: bold;
  margin: 0;
}

.news-detail-header h4 {
  font-size: 20px;
  line-height: 40px;
  font-weight: normal;
  margin: 0;
}

.news-detail-body p {
  font-size: 16px;
  line-height: 40px;
}

.news-detail-body a {
  color: #0c7d2e;
}

.news-detail-body img {
  max-width: 100%;
  margin: 30px 0;
}

.news-pager {
  margin-top: 80px;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.news-pager-inner {
  width: 550px;
  display: flex;
  justify-content: space-between;
}

.news-pager a {
  font-family: 'Bebas Neue', sans-serif;
  display: inline-block;
  width: 160px;
  padding: 10px 20px;
  border-radius: 25px;
  background-color: #77d29e;
  color: #000;
  font-size: 22px;
  line-height: 14px;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  text-decoration: none;
}

.news-pager a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .news-detail {
    width: 100%;
    margin: 30px 0 60px;
    padding: 0 15px;
  }

  .news-detail-header {
    padding-bottom: 5px;
    margin-bottom: 10px;
  }

  .news-detail-header h3 {
    font-size: 14px;
    line-height: 16px;
    margin-bottom: 10px;
  }

  .news-detail-header h4 {
    font-size: 14px;
    line-height: 16px;
    margin-bottom: 5px;
  }

  .news-detail-body p {
    font-size: 14px;
    line-height: 24px;
  }

  .news-detail-body img {
    max-width: 100%;
    margin: 10px 0;
  }

  .news-pager {
    margin-top: 50px;
  }

  .news-pager-inner {
    width: 100%;
  }

  .news-pager a {
    width: 32%;
    font-size: 16px;
  }
}

/* ----------------------------
 お問い合わせ関連
-----------------------------*/
.contact-title {
  font-size: 18px;
  line-height: 36px;
  margin: 15px 0 15px;
  border-bottom: 2px solid #e8eaee;
}
.contact-intro {
  margin-bottom: 30px;
  border-bottom: 2px solid #e8eaee;
}

.contact-form .input-text {
  margin-bottom: 20px;
}

.contact-form-radio {
  margin-top: 35px;
}

.contact-form-radio p,
.contact-form-textarea p {
  display: block;
  font-size: 14px;
  line-height: 14px;
  margin-bottom: 15px;
}

.contact-form-radio p sup,
.contact-form-textarea p sup {
  color: #ff0000;
}

.contact-form-radio .radio-button {
  margin-bottom: 10px;
}

.contact-form-radio .radio-button label,
.contact-form-radio .radio-button input {
  cursor: pointer;
}

.contact-form-textarea {
  margin-top: 35px;
}

.contact-form-textarea textarea {
  resize: none;
  width: 100%;
  height: 240px;
}

.contact-form-button {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 300px;
  margin: 50px auto;
}

.contact-form-button a,
.contact-form-button button {
  width: 260px;
  height: 60px;
  line-height: 60px;
  margin: 0 auto 20px;
}

/* お問い合わせ（確認ページ） */
.contact-confirm {
  width: 620px;
  margin: 0 auto;
}

.contact-confirm div {
  margin-bottom: 30px;
}

.contact-confirm div p:first-child {
  font-size: 18px;
  line-height: 32px;
  font-weight: bold;
  margin: 0 0 15px;
}

.contact-confirm div p:first-child sup {
  font-size: 10px;
  color: #ff0000;
}

.contact-confirm div p {
  font-size: 18px;
  line-height: 32px;
  margin: 0 0 5px;
}

.contact-complete {
  min-height: 350px;
}

.contact-complete p {
  font-size: 18px;
  line-height: 32px;
  margin: 0 0 5px;
}

@media screen and (max-width: 768px) {
  .contact-title {
    font-size: 18px;
    line-height: 36px;
    margin: 0px 0 15px;
  }

  .contact-intro p {
    font-size: 12px;
  }

  .contact-confirm {
    width: 100%;
    padding: 0 5px;
  }

  .contact-confirm div p:first-child {
    font-size: 12px;
    line-height: 24px;
    padding-left: 5px;
    margin-bottom: 5px;
  }

  .contact-confirm div {
    margin-bottom: 20px;
  }

  .contact-confirm div p:first-child sup {
    font-size: 10px;
    line-height: 18px;

    color: #ff0000;
  }

  .contact-confirm div p {
    font-size: 12px;
    line-height: 24px;
  }

  .contact-complete {
    min-height: auto;
  }

  .contact-complete p {
    font-size: 12px;
    line-height: 24px;
  }
}

/*=======================================
プライバシーポリシーページ
=========================================*/
.privacy-block {
  margin-bottom: 100px;
}

.privacy-block p,
.privacy-block ul,
.privacy-block dl {
  font-size: 18px;
  line-height: 34px;
}

.privacy-block-intro {
  margin-bottom: 40px;
}

.privacy-sub-block {
  margin-bottom: 70px;
}

.privacy-sub-block-title {
  font-size: 18px;
  line-height: 34px;
  font-weight: normal;
  margin: 0 0 20px;
}

.privacy-sub-block-text {
  padding-left: 35px;
}

.privacy-sub-block-text p {
  margin: 0 0 20px;
}

.privacy-sub-block-text ul {
  padding-left: 18px;
}

.privacy-sub-block-text ul li {
  margin-bottom: 10px;
}

.privacy-sub-block-text dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0 0 10px;
}

.privacy-sub-block-text dl dt {
  width: 30px;

  white-space: nowrap;
}

.privacy-sub-block-text dl dd {
  width: calc(100% - 30px);

  margin-left: 0;
}

.privacy-last-block p {
  text-align: right;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .privacy-block {
    margin-bottom: 50px;
  }

  .privacy-block p,
  .privacy-block ul,
  .privacy-block dl {
    font-size: 12px;
    line-height: 18px;
  }

  .privacy-block-intro {
    margin-bottom: 20px;
  }

  .privacy-sub-block {
    margin-bottom: 30px;
  }

  .privacy-sub-block-title {
    font-size: 12px;
    line-height: 18px;
    margin: 0 0 10px;
  }

  .privacy-sub-block-text {
    padding-left: 23px;
  }

  .privacy-sub-block-text p {
    margin: 0 0 10px;
  }

  .privacy-sub-block-text ul {
    padding-left: 10px;
  }

  .privacy-sub-block-text ul li {
    margin-bottom: 5px;
  }

  .privacy-sub-block-text dl {
    margin: 0 0 5px;
  }

  .privacy-sub-block-text dl dt {
    width: 20px;
  }

  .privacy-sub-block-text dl dd {
    width: calc(100% - 20px);
  }
}

/*=======================================
ご利用案内ページ
=========================================*/
.guide-top-title {
  font-size: 18px;
  line-height: 36px;
  margin: 15px 0 45px;
  border-bottom: 2px solid #e8eaee;
}

.guide-menu {
  margin-bottom: 50px;
}

.guide-menu ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.guide-menu ul li {
  width: 32%;
  border: 1px solid #ffffff;
  background-color: #f8f8f8;
  margin-bottom: 20px;
}

.guide-menu ul li:hover {
  border: 1px solid #666666;
  background-color: #ffffff;
}

.guide-menu ul li a {
  width: 100%;
  padding: 13px 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  line-height: 28px;
  text-decoration: none;
  color: #000;
}

.guide-menu ul li span {
  display: block;
  text-align: center;
}

.guide-block {
  margin-bottom: 45px;
}

.guide-accordion-title {
  font-size: 18px;
  line-height: 36px;
  margin: 15px 0 30px;
  border-bottom: 2px solid #e8eaee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.guide-accordion-title h4 {
  font-size: 18px;
  line-height: 36px;
  margin: 0;
}

.guide-accordion-title button {
  display: none;
}

.guide-accordion-text {
  padding-left: 20px;
  font-size: 18px;
  line-height: 36px;
}

.guide-accordion-text div {
  padding-left: 20px;
  margin-bottom: 35px;
}

.guide-accordion-text h4 {
  font-size: 18px;
  line-height: 36px;
  margin-bottom: 5px;
  font-weight: normal;
}

.guide-accordion-text p {
  font-size: 18px;
  line-height: 36px;
  margin: 0;
}

.guide-accordion-text a {
  color: #000000;
}

.guide-accordion-text ul {
  padding-left: 20px;
  margin: 0;
}

.guide-accordion-text ul li {
  font-size: 18px;
  line-height: 36px;
}

.guide-accordion-text dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0;
}

.guide-accordion-text dl dt {
  width: 25px;
  white-space: nowrap;
}

.guide-accordion-text dl dd {
  width: calc(100% - 25px);
  margin-left: 0;
}

.guide-accordion-text img {
  max-width: 100%;
}

.guide-cod-table {
  margin-top: 30px;
  width: 500px;
  border-collapse: collapse;
}

.guide-cod-table th,
.guide-cod-table td {
  font-weight: normal;
  font-size: 18px;
  line-height: 36px;
  border: 1px solid #a2a8ae;
}

.guide-cod-table td {
  text-align: right;
}

.guide-cod-table td:nth-of-type(1) {
  padding-right: 70px;
}

.guide-cod-table td:nth-of-type(2) {
  padding-right: 50px;
}

.other-dl {
  margin-bottom: 35px !important;
}

.other-dl dt {
  width: 18px !important;
}

.other-dl dd {
  width: calc(100% - 18px) !important;
}

p.guide-mb-30 {
  margin: 0 0 30px;
}

p.guide-mb-15 {
  margin: 0 0 15px;
}

p.guide-mt-10 {
  margin: 10px 0 0;
}

p.guide-mv-30 {
  margin: 30px 0;
}

dl.guide-mt-15 {
  margin: 15px 0 0;
}

.guide-table-pc {
  width: auto;
  border-collapse: collapse;
  margin-top: 40px;
}

.guide-table-pc th,
.guide-table-pc td {
  width: 125px;
  font-weight: normal;
  font-size: 18px;
  line-height: 36px;
  border: 1px solid #a2a8ae;
}

.guide-table-pc th {
  text-align: center;
}

.guide-table-pc td {
  font-size: 18px;
  line-height: 36px;
  height: 36px;
  padding: 0 12px;
}

.guide-table-pc tr:nth-child(n + 1):nth-child(-n + 8) td {
  border-top: none;
  border-bottom: none;
  text-align: center;
}

.guide-table-pc tr:nth-child(n + 9):nth-child(-n + 13) td {
  text-align: right;
}

.guide-table-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .guide-block {
    border-bottom: 2px solid #e8eaee;
    margin: 0;
  }
  .guide-top-title {
    font-size: 18px;
    line-height: 36px;
    margin: 0px 0 20px;
  }

  .guide-menu {
    display: none;
  }

  .guide-accordion-title {
    margin: 10px 0;
    border: none;
  }

  .guide-accordion-title h4 {
    font-size: 14px;
    line-height: 26px;
  }

  .guide-accordion-title button {
    display: block;
    width: 20px;
    text-align: center;
    padding: 0;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    font-size: 14px;
    color: #000;
    transform: rotate(270deg);
    transition: all 0.3s;
  }

  .guide-accordion-title.open button {
    transform: rotate(90deg);
  }

  .guide-accordion-text {
    display: none;
    padding-left: 10px;
    margin-bottom: 20px;
  }

  .guide-accordion-text p,
  .guide-accordion-text h4,
  .guide-accordion-text ul li,
  .guide-accordion-text dl dd,
  .guide-accordion-text dl dt {
    font-size: 12px;
    line-height: 18px;
  }

  .guide-accordion-text h4 {
    margin-top: 0;
  }

  .guide-accordion-text ul li {
    margin-bottom: 10px;
  }

  .guide-accordion-text ul li:first-of-type {
    margin-top: 10px;
  }

  .guide-accordion-text dl {
    margin-bottom: 5px;
  }

  .guide-accordion-text dl:first-of-type {
    margin-top: 5px;
  }

  .guide-accordion-text dl dt {
    width: 17px;
  }

  .guide-accordion-text dl dd {
    width: calc(100% - 17px);
  }

  .other-dl {
    margin-bottom: 35px !important;
  }

  .other-dl dt {
    width: 12px !important;
  }

  .other-dl dd {
    width: calc(100% - 12px) !important;
  }

  .guide-accordion-text div {
    padding-left: 10px;
  }

  .guide-accordion-text img {
    width: 100%;
  }

  .guide-cod-table {
    width: 100%;
  }

  .guide-cod-table th,
  .guide-cod-table td {
    font-size: 12px;
    line-height: 24px;
  }

  .guide-cod-table td:nth-of-type(1) {
    padding-right: 35px;
  }

  .guide-cod-table td:nth-of-type(2) {
    padding-right: 30px;
  }

  .guide-table-pc {
    display: none;
  }

  .guide-table-sp {
    display: table;
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
  }

  .guide-table-sp tr,
  .guide-table-sp thead,
  .guide-table-sp tbody {
    width: 100%;
  }

  .guide-table-sp th,
  .guide-table-sp td {
    width: 25%;
    font-weight: normal;
    font-size: 12px;
    line-height: 18px;
    border: 1px solid #a2a8ae;
  }

  .guide-table-sp th {
    text-align: center;
  }

  .guide-table-sp td {
    font-size: 12px;
    line-height: 18px;
    height: 18px;
    padding: 5px 5px;
  }

  .guide-table-sp tr:nth-child(n + 1):nth-child(-n + 8) td {
    border-top: none;
    border-bottom: none;
    text-align: center;
  }

  .guide-table-sp tr:nth-child(n + 9):nth-child(-n + 13) td {
    text-align: right;
  }

  .guide-table-sp-1col {
    width: 50% !important;
    margin-bottom: 20px;
  }
}

/*=======================================
パスワードを忘れた方ページ
=========================================*/

.fogot-block-input label {
  font-weight: bold;
  margin-bottom: 10px;
}

.fogot-block-input input {
  margin-bottom: 5px;
}

.fogot-birthday {
  margin-bottom: 40px;
}

.fogot-birthday p {
  font-weight: bold !important;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .fogot-birthday {
    margin-bottom: 20px;
  }
}
