@charset "utf-8";

@media screen and (max-width: 1200px) {
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
}

_:-ms-input-placeholder,
:root .css-hack {
}

/*==================================================
$common
==================================================*/
html {
  font-size: 62.5%;
}

html.tablet {
  font-size: 70%;
}

body {
  margin: 0 auto;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.7;
  position: relative;
  color: #000;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: 400;
  text-align: left;
  min-width: 900px;
}

a {
  color: inherit;
  text-decoration: none;
}

a img {
  opacity: 1;
  transition: 0.3s;
}

a:hover img {
  opacity: 0.7;
}

a[href^="tel:"] {
  pointer-events: none;
}

.nopc {
  display: none !important;
}

img {
  max-width: 100%;
}

.gothic {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*==================================================
$header
==================================================*/
header {
  background: #fff;
  position: relative;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  min-width: 900px;
}

.header_inner {
  padding-top: 10px;
}

.header_inner .logo {
  position: absolute;
  top: 25px;
  left: 35px;
  margin: auto;
  max-width: 160px;
  width: 20%;
  z-index: 10;
}

.burger {
  display: none;
}

.header_nav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: stretch;
  white-space: nowrap;
}

.header_nav > ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: stretch;
  white-space: nowrap;
}

.header_nav > ul > li > a {
  padding: 0 30px;
  font-size: 1.2rem;
  display: block;
}

.header_nav > ul > li > a span {
  position: relative;
  padding: 20px 0;
  display: block;
}

.header_nav > ul > li > a span::after {
  content: "";
  width: 100%;
  height: 0;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: 0.3s;
}

.header_nav > ul > li > a:hover span::after,
.header_nav > ul > li.active > a span::after,
.header_nav > ul > li.current > a span::after {
  height: 3px;
}

.header_nav .close {
  display: none;
}

.global_nav > div {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .global_nav > div {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}

.global_nav > div.active {
  opacity: 1;
  pointer-events: auto;
}

.global_nav > div .global_heading {
  text-align: center;
  font-size: 2rem;
  display: block;
  padding: 40px 10px 15px;
}

.global_nav > div div {
  position: relative;
  padding-top: 2%;
}

_:-ms-input-placeholder,
:root .global_nav > div div {
  background: #ffcd57;
}

.global_nav > div div::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #ffcd57;
  mix-blend-mode: multiply;
}

_:-ms-input-placeholder,
:root .global_nav > div div::before {
  display: none;
}

.global_nav > div div ul {
  max-width: 1050px;
  margin: auto;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  position: relative;
  z-index: 2;
}

.global_nav > div div ul li {
  width: 24%;
  margin-right: 1.3%;
  margin-bottom: 2%;
}

.global_nav > div div ul li:nth-child(4n) {
  margin-right: 0;
}

.global_nav > div div ul li a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}

.global_nav > div div ul li a .image {
  width: 60px;
  min-width: 60px;
  padding: 7% 0;
  position: relative;
  overflow: hidden;
  background: #fff;
  margin-right: 10px;
}

.global_nav > div div ul li a .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  max-width: none;
  height: 100%;
}

.global_nav > div div ul li a .text {
  font-weight: bold;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

@media screen and (max-width: 1100px) {
  .global_nav > div div ul li a .text {
    font-size: 1.2rem;
  }
}

.header_nav .sns {
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  margin: 0 20px;
}

/*==================================================
$footer
==================================================*/
.instagram_area {
  padding-top: 70px;
}

/* .instagram_area .title::before {
  content: '';
  width: 20px;
  height: 20px;
  background: url(../img/ico_instagram.svg) no-repeat center/contain;
  display: block;
  margin: 0 auto 10px;
} */

.instagram_image_list ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}

.instagram_image_list ul li {
  width: 25%;
}

.instagram_image_list ul li a img {
  width: 100%;
}

.footer_content {
  padding-top: 100px;
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .footer_content {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}

.footer_content .inner .logo {
  max-width: 160px;
  width: 20%;
  margin: 0 auto 50px;
}

.footer_nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.footer_nav ul li {
  margin: 0 20px;
}

.footer_nav ul li a {
  color: #707070;
}

.footer_nav ul li a:hover {
  text-decoration: underline;
}

.footer_content .copyright {
  display: block;
  text-align: center;
  color: #707070;
  padding: 30px;
  position: relative;
  margin-top: 100px;
}

_:-ms-input-placeholder,
:root .footer_content .copyright {
  background: #ffcd57;
}

.footer_content .copyright::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #ffcd57;
  mix-blend-mode: multiply;
}

_:-ms-input-placeholder,
:root .footer_content .copyright::before {
  display: none;
}

/*==================================================
$toppage
==================================================*/
.mv {
  position: relative;
  height: 700px;
  overflow: hidden;
}

.mv div {
  height: 100%;
}

.mv .mv_images .mv_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

_:-ms-input-placeholder,
:root .mv .mv_images .mv_image img {
  height: auto;
}

.mv .mv_title {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 35%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 3.6rem;
  font-weight: bold;
  color: #fff;
  max-width: 400px;
}

.mv .mv_title img {
  width: 100%;
}

.mv_text {
  text-align: center;
  font-size: 1.6rem;
}

.mv_text p:not(:last-child) {
  margin-bottom: 20px;
}

.blocks {
  padding: 70px 0;
}

.title {
  text-align: center;
  margin-bottom: 50px;
}

.title span {
  font-size: 2.8rem;
  display: block;
  line-height: 1.3;
}

.title small {
  text-align: center;
  display: block;
  font-size: inherit;
}

.btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.btn * {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin: auto;
  border-radius: 100px;
  background: #f5c551;
  height: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 40px;
}

.btn *::after {
  content: "";
  width: 15px;
  height: 15px;
  background: url(../img/ico_arrow01.svg) no-repeat center/contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  transition: 0.3s;
}

.btn:not(.line3):hover *::after {
  right: 10px;
}

.btn.line3 *::after {
  background: url(../img/ico_burger.svg) no-repeat center/contain;
}

.btn.line3:hover *::after {
  transform: rotate(90deg);
}

.inner {
  max-width: 1130px;
  width: 100%;
  position: relative;
  margin: auto;
}

@media screen and (max-width: 1140px) {
  .inner {
    padding: 0 5px;
  }

  .blocks.inner {
    padding: 100px 5px;
  }
}

.products_area {
  background: url(../img/bg_pattern.png) repeat top left/680px auto;
  position: relative;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .products_area {
    background: url(../img/bg_pattern@2x.png) repeat top left/680px auto;
  }
}

.products_area .title {
  position: absolute;
  top: 100px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 10;
}

@media screen and (max-width: 1500px) {
  .products_area .title {
    top: 3vw;
  }
}

.p_slider_wrap .p_slider {
  position: relative;
}

.p_slider_wrap .p_slider::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 15vw;
  min-height: 250px;
  background: #ffcd57;
  mix-blend-mode: multiply;
}

.p_slider_wrap .p_slider .p_slider_item {
  position: relative;
  z-index: 2;
}

.p_slider_wrap .p_slider .p_slider_item::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.p_slider_wrap .p_slider .p_slider_item.delicius::before {
  background: url(../img/p_clip_delicius.png) no-repeat bottom 75px right -10% / contain;
}

@media screen and (max-width: 1100px) {
  .p_slider_wrap .p_slider .p_slider_item.delicius::before {
    background: url(../img/p_clip_delicius.png) no-repeat bottom 75px right -60% / contain;
  }
}

.p_slider_wrap .p_slider .p_slider_item.wholecake::before {
  background: url(../img/p_clip_wholecake.png) no-repeat center right/contain;
}

.p_slider_wrap .p_slider .p_slider_item.xmas::before {
  background: url(../img/p_clip_xmas2024.png) no-repeat center right/contain;
}

.p_slider_wrap .p_slider .p_slider_item.valentine::before {
  background: url(../img/p_clip_valentine.png) no-repeat center right/contain;
}

.p_slider_wrap .p_slider .p_slider_item.whiteday::before {
  background: url(../img/p_clip_whiteday.png) no-repeat center right/contain;
}

.p_slider_wrap .p_slider .p_slider_item.event::before {
  background: url(../img/p_clip_event.png) no-repeat center right/contain;
}

@media screen and (max-width: 1100px) {
  .p_slider_wrap .p_slider .p_slider_item.wholecake::before {
    background: url(../img/p_clip_wholecake.png) no-repeat center right -25% / contain;
  }

  .p_slider_wrap .p_slider .p_slider_item.xmas::before {
    background: url(../img/p_clip_xmas2024.png) no-repeat center right -25% / contain;
  }

  .p_slider_wrap .p_slider .p_slider_item.valentine::before {
    background: url(../img/p_clip_valentine.png) no-repeat center right -25% / contain;
  }

  .p_slider_wrap .p_slider .p_slider_item.whiteday::before {
    background: url(../img/p_clip_whiteday.png) no-repeat center right -25% / contain;
  }

  .p_slider_wrap .p_slider .p_slider_item.event::before {
    background: url(../img/p_clip_event.png) no-repeat center right -25% / contain;
  }
}

.p_slider_wrap .p_slider .p_slider_item.cutcake::before {
  background: url(../img/p_clip_cutcake.png) no-repeat center right/contain;
}

@media screen and (max-width: 1100px) {
  .p_slider_wrap .p_slider .p_slider_item.cutcake::before {
    background: url(../img/p_clip_cutcake.png) no-repeat center right -20% / contain;
  }
}

.p_slider_wrap .p_slider .p_slider_item.gift::before {
  background: url(../img/p_clip_gift_n.png) no-repeat center right 12% / contain;
}

@media screen and (max-width: 1100px) {
  .p_slider_wrap .p_slider .p_slider_item.gift::before {
    background: url(../img/p_clip_gift_n.png) no-repeat center right 8% / auto 75%;
  }
}

.p_slider_wrap .p_slider .p_slider_item.newseason::before {
  background: url(../img/p_clip_newseason08.png?251208) no-repeat center right -12% / contain;
}

@media screen and (max-width: 1100px) {
  .p_slider_wrap .p_slider .p_slider_item.newseason::before {
    background: url(../img/p_clip_newseason08.png?251208) no-repeat center right -100% / contain;
  }
}

.p_slider_wrap .p_slider .p_slider_item.alacarte::before {
  background: url(../img/p_clip_coffee.png) no-repeat center right -12% / contain;
}

@media screen and (max-width: 1200px) {
  .p_slider_wrap .p_slider .p_slider_item.alacarte::before {
    background: url(../img/p_clip_coffee.png) no-repeat center right -18vw / contain;
  }
}

.p_slider_wrap .p_slider .p_slider_item.baked .p_slider_inbox .left {
  background: url(../img/p_clip_financier_n.png) no-repeat top center/115% auto;
}

@media screen and (max-width: 1700px) {
  .p_slider_wrap .p_slider .p_slider_item.baked .p_slider_inbox .left {
    background: url(../img/p_clip_financier_n.png) no-repeat top -3vw center/contain;
  }
}

.p_slider_wrap .p_slider .p_slider_item.baked::before {
  background: url(../img/p_clip_madeleine.png) no-repeat bottom right/auto 85%;
}

@media screen and (max-width: 1100px) {
  .p_slider_wrap .p_slider .p_slider_item.baked::before {
    background: url(../img/p_clip_madeleine.png) no-repeat bottom right -20% / auto 75%;
  }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .p_slider_wrap .p_slider .p_slider_item.delicius::before {
    background: url(../img/p_clip_delicius@2x.png) no-repeat bottom 75px right -10% / contain;
  }

  @media screen and (max-width: 1100px) {
    .p_slider_wrap .p_slider .p_slider_item.delicius::before {
      background: url(../img/p_clip_delicius@2x.png) no-repeat bottom 75px right -60% / contain;
    }
  }

  .p_slider_wrap .p_slider .p_slider_item.wholecake::before {
    background: url(../img/p_clip_wholecake@2x.png) no-repeat center right/contain;
  }

  .p_slider_wrap .p_slider .p_slider_item.xmas::before {
    background: url(../img/p_clip_xmas2024@2x.png) no-repeat center right/contain;
  }

  .p_slider_wrap .p_slider .p_slider_item.valentine::before {
    background: url(../img/p_clip_valentine@2x.png) no-repeat center right/contain;
  }

  .p_slider_wrap .p_slider .p_slider_item.whiteday::before {
    background: url(../img/p_clip_whiteday@2x.png) no-repeat center right/contain;
  }

  .p_slider_wrap .p_slider .p_slider_item.event::before {
    background: url(../img/p_clip_event@2x.png) no-repeat center right/contain;
  }

  @media screen and (max-width: 1100px) {
    .p_slider_wrap .p_slider .p_slider_item.wholecake::before {
      background: url(../img/p_clip_wholecake@2x.png) no-repeat center right -25% / contain;
    }

    .p_slider_wrap .p_slider .p_slider_item.xmas::before {
      background: url(../img/p_clip_xmas2024@2x.png) no-repeat center right -25% / contain;
    }

    .p_slider_wrap .p_slider .p_slider_item.valentine::before {
      background: url(../img/p_clip_valentine@2x.png) no-repeat center right -25% / contain;
    }

    .p_slider_wrap .p_slider .p_slider_item.whiteday::before {
      background: url(../img/p_clip_whiteday@2x.png) no-repeat center right -25% / contain;
    }

    .p_slider_wrap .p_slider .p_slider_item.event::before {
      background: url(../img/p_clip_event@2x.png) no-repeat center right -25% / contain;
    }
  }

  .p_slider_wrap .p_slider .p_slider_item.cutcake::before {
    background: url(../img/p_clip_cutcake@2x.png) no-repeat center right/contain;
  }

  @media screen and (max-width: 1100px) {
    .p_slider_wrap .p_slider .p_slider_item.cutcake::before {
      background: url(../img/p_clip_cutcake@2x.png) no-repeat center right -20% / contain;
    }
  }

  .p_slider_wrap .p_slider .p_slider_item.gift::before {
    background: url(../img/p_clip_gift_n@2x.png) no-repeat center right 12% / contain;
  }

  @media screen and (max-width: 1100px) {
    .p_slider_wrap .p_slider .p_slider_item.gift::before {
      background: url(../img/p_clip_gift_n@2x.png) no-repeat center right 8% / auto 75%;
    }
  }

  .p_slider_wrap .p_slider .p_slider_item.newseason::before {
    background: url(../img/p_clip_newseason08@2x.png?251208) no-repeat center right -12% / contain;
  }

  @media screen and (max-width: 1100px) {
    .p_slider_wrap .p_slider .p_slider_item.newseason::before {
      background: url(../img/p_clip_newseason08@2x.png?251208) no-repeat center right -100% / contain;
    }
  }

  .p_slider_wrap .p_slider .p_slider_item.alacarte::before {
    background: url(../img/p_clip_coffee@2x.png) no-repeat center right -12% / contain;
  }

  @media screen and (max-width: 1200px) {
    .p_slider_wrap .p_slider .p_slider_item.alacarte::before {
      background: url(../img/p_clip_coffee@2x.png) no-repeat center right -18vw / contain;
    }
  }

  .p_slider_wrap .p_slider .p_slider_item.baked .p_slider_inbox .left {
    background: url(../img/p_clip_financier@2x_n.png) no-repeat top center/contain;
  }

  @media screen and (max-width: 1700px) {
    .p_slider_wrap .p_slider .p_slider_item.baked .p_slider_inbox .left {
      background: url(../img/p_clip_financier@2x_n.png) no-repeat top -3vw center/contain;
    }
  }

  .p_slider_wrap .p_slider .p_slider_item.baked::before {
    background: url(../img/p_clip_madeleine@2x.png) no-repeat bottom right/auto 85%;
  }

  @media screen and (max-width: 1100px) {
    .p_slider_wrap .p_slider .p_slider_item.baked::before {
      background: url(../img/p_clip_madeleine@2x.png) no-repeat bottom right -20% / auto 75%;
    }
  }
}

.p_slider_wrap .p_slider .p_slider_item .p_slider_inbox {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  max-width: 1130px;
  width: 100%;
  margin: auto;
  padding: 13% 5px;
  position: relative;
}

@media screen and (max-width: 1300px) {
  .p_slider_wrap .p_slider .p_slider_item .p_slider_inbox {
    padding: 0 5px;
    height: 340px;
  }
}

.p_slider_wrap .p_slider .p_slider_item .p_slider_inbox .left,
.p_slider_wrap .p_slider .p_slider_item .p_slider_inbox .right {
  width: 45%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  z-index: 10;
  padding: 0 5px;
}

.p_slider_wrap .p_slider .p_slider_item .p_slider_inbox .left {
  width: 100%;
}

.p_slider_wrap .p_slider .p_slider_item.baked .p_slider_inbox .left {
  width: 50%;
  align-items: flex-end;
}

.p_slider_wrap .p_slider .p_slider_item .p_slider_inbox .right {
  left: auto;
  right: 0;
}

.p_slider_wrap .p_slider .p_slider_item .p_slider_inbox .text .heading {
  font-size: 4.2rem;
  margin-bottom: 10px;
  line-height: 1.3;
}

.p_slider_wrap .p_slider .p_slider_item .p_slider_inbox .text p {
  font-size: 1.8rem;
}

.p_slider_wrap .p_slider .p_slider_item .p_btnlist_box .p_btnlist {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  max-width: 1130px;
  width: 100%;
  margin: 0 auto 75px;
  padding: 3% 5px 6%;
  position: relative;
  z-index: 10;
}

.p_slider_wrap .p_slider .p_slider_item .p_btnlist_box .p_btnlist .btn * {
  background: #fff;
  height: 50px;
}

.p_slider_wrap .p_slider .p_slider_item .p_btnlist_box .p_btnlist .btn:first-child * {
  min-width: 230px;
  margin-right: 30px;
}

.p_slider_wrap .p_slider_thumbnail {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
}

.p_slider_wrap .p_slider_thumbnail ul .slick-list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
}

.p_slider_wrap .p_slider_thumbnail ul li {
  width: 100%;
  min-height: 75px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.08);
  mix-blend-mode: multiply;
  text-align: center;
  line-height: 1.3;
  font-size: 1.6rem;
  font-weight: bold;
}

.p_slider_wrap .p_slider_thumbnail ul li.slick-current,
.p_slider_wrap .p_slider_thumbnail ul li:hover {
  background: rgba(0, 0, 0, 0);
}

.p_slider_wrap .p_slider_thumbnail .slick-track {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  width: 100% !important;
  transform: none !important;
}

.topics_list ul {
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
  margin-bottom: 20px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .topics_list ul {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}

.topics_list ul li {
  background: rgba(255, 255, 255, 0.9);
}

.topics_list ul li:nth-child(odd) {
  background: rgba(255, 255, 255, 0.5);
}

.topics_list ul li a {
  background: rgba(255, 205, 87, 0);
  transition: 0.3s;
  display: block;
}

.topics_list ul li a:hover {
  background: rgba(255, 205, 87, 0.2);
}

.topics_list ul li a div {
  max-width: 1130px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 1.6rem;
  padding: 30px 0;
  transition: 0.3s;
}

@media screen and (max-width: 1140px) {
  .topics_list ul li a div {
    padding: 40px 5px;
  }
}

.topics_list ul li a div .data {
  font-weight: bold;
  margin-right: 30px;
}

.topics_list ul li a div .label {
  font-weight: bold;
  min-width: 210px;
  text-align: center;
  background: #ffcd57;
  border-radius: 100px;
  padding: 5px 10px;
  margin-right: 30px;
}

.topics_list ul li a div .text {
  width: 100%;
}

.topics_list .nothing {
  text-align: center;
}

.shop_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

.shop_list ul li {
  width: 48%;
  border: 1px solid #d7d7d7;
  margin-bottom: 4%;
  border-bottom-right-radius: 30px;
}

.shop_list ul li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: 100%;
}

.shop_list ul li a .image {
  width: 50%;
  position: relative;
  overflow: hidden;
}

.shop_list ul li a .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.shop_list ul li a .text {
  width: 50%;
  padding: 3% 1% 3% 4%;
}

.shop_list ul li a .text strong {
  display: block;
  font-size: 1.8rem;
}

.shop_list ul li a .text dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}

.shop_list ul li a .text dl dt {
  min-width: 4em;
}

.shop_list ul li a .text dl dd {
  width: calc(100% - 4em);
  padding-left: 1em;
  position: relative;
}

.shop_list ul li a .text dl dd::before {
  content: "：";
  position: absolute;
  top: 0;
  left: 0;
}

.shop_list ul li a:hover .btn *::after {
  right: 10px;
}

.recruit_area {
  background: url(../img/recruit_area_bg.webp) no-repeat top center/cover;
  position: relative;
  min-height: 300px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .recruit_area {
    background: url(../img/recruit_area_bg@2x.webp) no-repeat top center/cover;
  }
}

.recruit_area::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(0, 0, 0, 0.5);
}

.recruit_area .inner {
  z-index: 2;
}

.recruit_area .inner .inbox {
  max-width: 300px;
  margin-right: auto;
}

.recruit_area .inner .inbox .title {
  color: #fff;
  margin-bottom: 20px;
}

.recruit_area .inner .inbox .btn a {
  background: #fff;
}

/*==================================================
$shop
==================================================*/
.shop_page .heading_image {
  background: url(../img/shoppage_heading.jpg) no-repeat center/cover;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .shop_page .heading_image {
    background: url(../img/shoppage_heading@2x.jpg) no-repeat center/cover;
  }
}

.slick-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 20px 0 0;
}

.slick-dots li {
  width: 10px;
  height: 10px;
  background: #ddd;
  border-radius: 100px;
  margin: 0 20px;
}

.slick-dots li button {
  opacity: 0;
}

.slick-dots .slick-active {
  background: #f5c551;
}

.page_title {
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
  padding: 100px 5px 150px;
  margin-bottom: -130px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .page_title {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}

.news_page .page_title,
.page_title.nomb {
  padding: 70px 5px;
  margin-bottom: 0;
}

.page_title .title {
  margin-bottom: 0;
}

.page_title .title + p {
  font-size: 1.6rem;
  text-align: center;
  margin-top: 30px;
}

.heading_image {
  height: 295px;
  width: 100%;
  max-width: 1130px;
  margin: 0 auto 100px;
}

@media screen and (max-width: 1140px) {
  .heading_image {
    height: auto;
    padding: 13% 0;
    width: calc(100% - 10px);
  }
}

.heading_image img {
  width: 100%;
}

.shop_page .shoppage_list {
  max-width: 1130px;
  width: 100%;
  margin: auto;
}

@media screen and (max-width: 1140px) {
  .shop_page .shoppage_list {
    padding: 0 5px;
  }
}

.shop_page .shoppage_list ul li {
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
  min-height: 250px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .shop_page .shoppage_list ul li {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}

.shop_page .shoppage_list ul li:not(:last-child) {
  margin-bottom: 50px;
}

.shop_page .shoppage_list ul li .image {
  width: 35%;
  position: relative;
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 100%;
}

.shop_page .shoppage_list ul li .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.shop_page .shoppage_list ul li .text {
  width: 65%;
  padding: 5% 5% 6%;
  margin-left: 35%;
}

.shop_page .shoppage_list ul li .text dl dt {
  font-size: 2.4rem;
  margin-bottom: 10px;
}

.shop_page .shoppage_list ul li .text dl dd {
  margin-bottom: 5px;
}

.shop_page .shoppage_list ul li .btn {
  position: absolute;
  bottom: 5%;
  right: 5%;
  margin: auto;
}

.detail_slider_wrap .detail_slider_item {
  height: auto;
}

.shop_detail .inner .inbox {
  font-size: 1.6rem;
}

.shop_detail .inner .inbox .heading {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 10px;
  display: block;
}

.shop_detail .inner .inbox .image {
  padding-top: 50px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}

.shop_detail .inner .inbox .image span:not(:last-child) {
  margin-right: 20px;
}

.shop_detail .inner .inbox .image img {
  width: 100%;
}

.shop_detail_data .shop_detail_datalist {
  margin-bottom: 100px;
}

.shop_detail_data .shop_detail_datalist dl {
  font-size: 1.6rem;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 20px 0;
  border-bottom: 1px solid #f1f1f1;
}

.shop_detail_data .shop_detail_datalist dl:first-child {
  border-top: 1px solid #f1f1f1;
}

.shop_detail_data .shop_detail_datalist dl dt {
  min-width: 190px;
  width: 190px;
}

.shop_detail_data .shop_detail_datalist dl dd {
  width: 100%;
}

.shop_detail_data .shop_detail_map {
  text-align: right;
  max-width: 800px;
  margin: auto;
}

.shop_detail_data .shop_detail_map span {
  display: block;
  width: 100%;
  margin-bottom: 10px;
}

.shop_detail_data .shop_detail_map span img {
  width: 100%;
}

.shop_detail_data .shop_detail_map a {
  font-size: 1.6rem;
  text-decoration: underline;
}

.shop_detail_data .shop_detail_map a:hover {
  text-decoration: none;
}

.shop_detail_data .shop_detail_map a::after {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: url(../img/ico_pin.svg) no-repeat center/contain;
  display: inline-block;
}

.shop_products {
  position: relative;
  margin-bottom: 100px;
}

.shop_products::after {
  content: "";
  width: 75%;
  height: calc(100% - 115px);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #fbfaf4;
  z-index: -1;
  pointer-events: none;
}

.shop_products p {
  max-width: 680px;
  margin: 0 auto 50px;
  padding: 0 5px;
}

.shop_p_slider_wrap .shop_p_slider {
  margin-bottom: 50px;
  position: relative;
}

.shop_p_slider_wrap .shop_p_slider .arrows {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-top: 1px solid #707070;
  border-left: 1px solid #707070;
  transform: rotate(-45deg);
  z-index: 10;
  cursor: pointer;
}

.shop_p_slider_wrap .shop_p_slider .arrows.prev {
  left: -58vw;
}

.shop_p_slider_wrap .shop_p_slider .arrows.next {
  right: -58vw;
  transform: rotate(135deg);
}

.shop_p_slider_wrap .shop_p_slider .shop_p_slider_item {
  margin: 0 50px;
}

.shop_p_slider_wrap .shop_p_slider .shop_p_slider_item .image {
  width: 100%;
  display: block;
  margin-bottom: 10px;
}

.shop_p_slider_wrap .shop_p_slider .shop_p_slider_item .image img {
  width: 100%;
}

.shop_p_slider_wrap .shop_p_slider .shop_p_slider_item .text {
  display: block;
  text-align: center;
  font-size: 1.6rem;
}

.detail_reservation {
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .detail_reservation {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}

.detail_reservation .inner p {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 20px;
}

.detail_reservation .inner img {
  width: 100%;
  max-width: 650px;
  margin: auto;
  display: block;
}

.calender_inbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

.calender_inbox div {
  width: 48%;
}

.calender_inbox div > strong {
  font-weight: bold;
  margin-bottom: 10px;
}

.calender_inbox div table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}

.calender_inbox div table th {
  line-height: 16px;
  border: 1px solid white;
  text-align: center;
  padding: 15px 0;
  background: #d6cdc3;
  color: white;
  font-weight: bold;
  font-size: 11px;
}

.calender_inbox div table th:first-child {
  background-color: rgba(230, 137, 113, 1);
}

.calender_inbox div table th:last-child {
  background-color: rgba(113, 203, 201, 1);
}

.calender_inbox div table td {
  border: 1px solid white;
  text-align: center;
  background-color: rgba(214, 205, 195, 0.5);
}

.calender_inbox div table td span {
  display: block;
  line-height: 16px;
  padding: 15px 0;
  font-size: 11px;
  color: #62615f;
  width: 100%;
}

.calender_inbox div table td:first-child,
.calender_inbox div table td.shukujitsu {
  background-color: rgba(230, 137, 113, 0.5);
}

.calender_inbox div table td:last-child {
  background-color: rgba(113, 203, 201, 0.5);
}

.calender_inbox div table td.holiday {
  background: #ffcc00;
}

.calender_inbox + span {
  text-align: right;
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  font-size: 18px;
}

.calender_inbox + span::before {
  content: "";
  width: 50px;
  height: 1em;
  background: #ffcc00;
  margin-right: 5px;
}

/*==================================================
$products
==================================================*/
.p_category_block:not(:last-child) {
  margin-bottom: 80px;
}

.p_category_block.blocks {
  margin-bottom: 0;
}

.p_category_block .image {
  display: block;
  margin-bottom: 30px;
}

.p_category_block .image img {
  width: 100%;
}

.p_category_block .text {
  max-width: 660px;
  width: 100%;
  margin: auto;
  padding: 0 5px;
}

.p_category_block .text strong {
  display: block;
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 10px;
}

.p_category_block .text .btn {
  margin-top: 30px;
}

.p_category_block .text .btn a {
  height: 50px;
  min-width: 230px;
}

.category_list01 .inner > .heading,
.p_category_block .inner > .heading {
  font-size: 2.4rem;
  display: block;
  text-align: center;
  margin-bottom: 50px;
}

.category_list01 .inner > ul.col3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

.category_list01 .inner > ul.col4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}

.category_list01 .inner > ul.col3::after {
  content: "";
  width: 30%;
}

.category_list01 .inner > ul.col3 li {
  width: 30%;
}

.category_list01 .inner > ul.col3 li:not(:nth-last-child(-n + 3)) {
  margin-bottom: 5%;
}

.category_list01 .inner > ul.col4 li {
  width: 24%;
  margin-bottom: 5%;
  margin-right: 1.3%;
}

.category_list01 .inner > ul.col4 li:nth-child(4n) {
  margin-right: 0;
}

.category_list01 .inner > ul li .image {
  display: block;
  padding: 48% 0;
  overflow: hidden;
  position: relative;
  margin-bottom: 30px;
}

.category_list01 .inner > ul li .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.category_list01 .inner > ul li .image span {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
  color: #fff;
  background: #f5c551;
  padding: 0 10px;
  z-index: 2;
}

.category_list01 .inner > ul li .text {
  margin-bottom: 30px;
}

.category_list01 .inner > ul li .text > strong {
  /* font-size: 2.4rem; */
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 10px;
  line-height: 1.3;
}

.category_list01 .inner > ul.ranking li:nth-child(1) .text > strong::before {
  content: "";
  width: 2em;
  height: 2em;
  background: url(../img/ico_rank01.svg) no-repeat center/contain;
  margin-right: 10px;
}

.category_list01 .inner > ul.ranking li:nth-child(2) .text > strong::before {
  content: "";
  width: 2em;
  height: 2em;
  background: url(../img/ico_rank02.svg) no-repeat center/contain;
  margin-right: 10px;
}

.category_list01 .inner > ul.ranking li:nth-child(3) .text > strong::before {
  content: "";
  width: 2em;
  height: 2em;
  background: url(../img/ico_rank03.svg) no-repeat center/contain;
  margin-right: 10px;
}

.category_list01 .inner > ul.col3.ranking li.half + li.half + li .text > strong::before {
  display: none;
}

.category_list01 .inner > ul li .text .dealing {
  margin-top: 30px;
  position: relative;
  border-bottom: 1px solid #f1f1f1;
}

.category_list01 .inner > ul li.half .text .dealing {
  position: absolute;
  bottom: 0;
}

.category_list01 .inner > ul li .text .dealing span {
  display: block;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f1f1f1;
}

.category_list01 .inner > ul li .text .dealing strong {
  font-size: 1.4rem;
  font-weight: bold;
  color: #d20000;
  margin-bottom: 10px;
  display: block;
}

.category_list01 .inner > ul li .text .dealing ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

.category_list01 .inner > ul li .text .dealing ul li {
  width: 49%;
  margin: 0 0 2% !important;
}

.category_list01 .inner > ul li .text .dealing ul li:first-child,
.category_list01 .inner > ul.col4 li .text .dealing ul li {
  width: 100%;
}

.category_list01 .inner > ul li .text .dealing ul li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: #fef2d6;
  text-align: center;
  border-radius: 100px;
  width: 100%;
  height: 100%;
  font-size: 1.3rem;
  line-height: 1.3;
  padding: 5px;
}

.category_list01 .inner > ul li .text .dealing ul li.none a {
  pointer-events: none;
  background: #eee;
  color: #fff;
}

.category_list01 .inner > ul li .btn a {
  margin-left: 0;
  height: 50px;
}

.category_list01 .inner > ul li.half {
  width: 48%;
  /* 230404追加 */
  position: relative;
  padding-bottom: 200px;
}

/* .category_list01 .inner>ul li.half:not(:nth-last-child(-n+2)) {
  margin-bottom: 80px;
} */
.category_list01 .inner > ul li.half .text > strong {
  font-size: 3rem;
}

/* .category_list01 .inner>ul li.half .text>strong + p {
  height: 6em;
} */
.category_list01 .inner > ul li.half .text .dealing {
  margin-top: 30px;
}

.category_list01 .inner > ul li.half .text .dealing ul li a {
  font-size: 1.8rem;
}

.category_list01 .inner > ul li.half .btn a {
  min-width: 350px;
  height: 65px;
  font-size: 2rem;
  font-weight: bold;
}

.category_list02::after {
  content: "";
  display: block;
  clear: both;
}

.category_list02 .inner > .heading {
  font-size: 2.4rem;
  display: block;
  text-align: center;
  margin-bottom: 50px;
}

.category_list02 .sub_heading {
  font-size: 1.8rem;
  margin-bottom: 10px;
}

.category_list02 ul::after {
  content: "";
  display: block;
  clear: both;
}

.category_list02 ul li {
  display: inline-block;
  width: 23.5%;
  margin-left: 2%;
  float: left;
  position: relative;
}

.category_list02 ul.featured {
  margin-bottom: 50px;
}

.category_list02 ul.featured li:nth-child(9n + 1) {
  width: 49%;
  margin-left: 0;
  margin-bottom: 0;
}

.category_list02 ul.featured li:nth-child(9n + 6) {
  margin-left: 0;
}

.category_list02 ul:not(.featured) li {
  margin-bottom: 2%;
}

.category_list02 ul:not(.featured) li:nth-child(4n + 1) {
  margin-left: 0;
}

.category_list02 .inner > ul > li .image {
  display: block;
  padding: 49% 0;
  overflow: hidden;
  position: relative;
}

.category_list02 .inner > ul > li .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.category_list02 ul.featured li {
  padding-bottom: 1.6em;
}

.category_list02 ul.featured li .text {
  position: absolute;
  bottom: 0;
  left: 0;
  line-height: 1.5;
}

.category_list_wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.category_list_wrap .inner > strong {
  font-size: 2.4rem;
  position: absolute;
  top: 0;
  left: 0;
}

.category_list_wrap .slick-list {
  overflow: visible;
}

.category_list01 .category_list_wrap .slider_ul_row2 .slick-track,
.category_list02 .category_list_wrap .slider_ul_row2 .slick-track {
  margin-left: 0;
}

.category_list01 .category_list_wrap .slider_ul::after,
.category_list02 .category_list_wrap .slider_ul::after,
.category_list01 .category_list_wrap .slider_ul_row2::after,
.category_list02 .category_list_wrap .slider_ul_row2::after {
  content: "";
  display: block;
  clear: both;
}

.category_list01 .category_list_wrap .slider_ul li,
.category_list02 .category_list_wrap .slider_ul li,
.category_list01 .category_list_wrap .slider_ul_row2 li,
.category_list02 .category_list_wrap .slider_ul_row2 li {
  margin-left: 0;
  margin-right: 10px;
  height: auto;
  max-width: 265px;
  width: 25%;
  float: left;
}

.category_list01 .category_list_wrap .slider_ul_row2 li,
.category_list02 .category_list_wrap .slider_ul_row2 li {
  margin-bottom: 20px;
}

.category_list01 .category_list_wrap .slider_ul_row2 li .image,
.category_list02 .category_list_wrap .slider_ul_row2 li .image {
  display: block;
  padding: 50% 0;
  overflow: hidden;
  position: relative;
}

.category_list01 .category_list_wrap .slider_ul_row2 li .image img,
.category_list02 .category_list_wrap .slider_ul_row2 li .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  max-width: none;
  height: 100%;
}

.slider_ul_row2 .slick-slide {
  margin-right: 10px;
  height: auto;
}

.category_list_wrap .slider_ul,
.category_list_wrap .slider_ul_row2 {
  padding-top: 60px;
}

.category_list_wrap .slider_ul .arrows,
.category_list_wrap .slider_ul_row2 .arrows {
  position: absolute;
  top: 5px;
  right: 0;
  margin: auto;
  width: 35px;
  height: 30px;
  background: url(../img/ico_arrow02.svg) no-repeat center/contain;
  z-index: 100;
  opacity: 1;
  transition: 0.3s;
  pointer-events: auto;
  cursor: pointer;
}

.category_list_wrap .slider_ul .arrows.prev,
.category_list_wrap .slider_ul_row2 .arrows.prev {
  transform: rotate(180deg);
  right: 50px;
}

.category_list_wrap .slider_ul .arrows.slick-disabled,
.category_list_wrap .slider_ul_row2 .arrows.slick-disabled {
  opacity: 0;
  pointer-events: none;
}

.slider_ul .btn,
.slider_ul_row2 .btn {
  width: 80%;
  margin: auto;
}

.slider_ul .btn *,
.slider_ul_row2 .btn * {
  width: 100%;
}

.products_textbox {
  max-width: 830px;
  width: 100%;
  padding-left: 5px;
  padding-right: 5px;
  margin: auto;
  font-size: 1.6rem;
}

.products_box {
  position: relative;
}

.products_box::before {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-height: 350px;
  height: 23vw;
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
  z-index: 0;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .products_box::before {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}

.products_info ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

.products_info ul::after {
  content: "";
  width: 30%;
}

.products_info ul li {
  width: 30%;
}

.products_info ul li:not(:nth-last-child(-n + 3)) {
  margin-bottom: 5%;
}

.products_info ul li .image {
  position: relative;
  overflow: hidden;
  padding: 38% 0;
  margin-bottom: 10px;
  display: block;
}

.products_info ul li .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.products_info ul li .text {
  font-size: 1.6rem;
}

.products_info ul li .text strong {
  display: block;
  /* font-size: 2.4rem; */
  line-height: 1.3;
}

.products_info ul li .text dl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 10px;
}

.products_info ul li .text dl dt {
  min-width: 80px;
  width: 80px;
}

.products_info ul li .text dl dd {
  width: 100%;
}

.products_info ul li .text p {
  margin-top: 10px;
  font-size: 1.4rem;
}

.products_info ul li .text p span {
  font-size: 1.6rem;
}

.products_variation > p {
  text-align: center;
  /* font-size: 2rem; */
  margin-bottom: 50px;
}

.products_variation .inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}

.products_variation .inner ul li {
  width: 30%;
  margin-right: 5%;
}

.products_variation .inner ul li:last-child {
  margin-right: 0;
}

.products_variation .inner ul li .image {
  position: relative;
  overflow: hidden;
  padding: 38% 0;
  margin-bottom: 10px;
  display: block;
}

.products_variation .inner ul li .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.products_variation .inner ul li .text {
  /* font-size: 1.6rem; */
}

.products_variation .inner ul li .text strong {
  display: block;
  font-size: 2.4rem;
}

.p_particular {
  padding: 70px 0;
  position: relative;
}

.p_particular::before {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-height: 700px;
  height: 33vw;
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
  z-index: -1;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .p_particular::before {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}

.p_particular .title {
  margin-bottom: 50px;
}

.p_particular .inner .inbox {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 50px;
}

.p_particular .inner .inbox:last-child {
  margin-bottom: 0;
}

.p_particular .inner .inbox .text {
  padding: 50px;
}

.p_particular .inner .inbox:nth-child(2n) .text {
  order: 2;
}

.p_particular .inner .inbox .text strong {
  display: block;
  font-size: 2.8rem;
  margin-bottom: 30px;
  line-height: 1.3;
}

.p_particular .inner .inbox .text p {
  margin-bottom: 20px;
}

@media screen and (max-width: 1100px) {
  .p_particular .inner .inbox .text p br.nosp {
    display: none;
  }
}

.p_particular .inner .inbox .image {
  width: 45%;
  min-width: 45%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.p_particular .inner .inbox:nth-child(2n) .image {
  order: 1;
  width: 60%;
}

.p_particular .inner .inbox:nth-child(1) .image img {
  max-width: 560px;
  width: 100%;
}

.p_particular .inner .inbox:nth-child(2n) .image img {
  max-width: 560px;
  width: 100%;
}

/*==================================================
$news
==================================================*/
.sort_list {
  margin-top: 50px;
}

.sort_list ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
}

.sort_list ul li {
  width: 16.66%;
  margin-right: 10px;
}

.sort_list ul li:last-child {
  margin-right: 0;
}

.sort_list ul li input {
  display: none;
}

.sort_list ul li a {
  cursor: pointer;
}

.sort_list ul li a::before {
  content: "";
  display: block;
  width: 100%;
  padding: 30% 0;
  margin-bottom: 10px;
  opacity: 1;
  transition: 0.3s;
}

.sort_list ul li a:hover::before {
  opacity: 0.7;
}

.sort_list ul li.all a::before {
  background: url(../img/sort_all.jpg) no-repeat center/contain;
}

.sort_list ul li.daimaru a::before {
  background: url(../img/sort_daimaru.jpg) no-repeat center/contain;
}

.sort_list ul li.ekimaruche_shinosaka a::before {
  background: url(../img/sort_ekimaruche_shinosaka.jpg) no-repeat center/contain;
}

.sort_list ul li.jrosaka a::before {
  background: url(../img/sort_jrosaka.jpg) no-repeat center/contain;
}

.sort_list ul li.minoh a::before {
  background: url(../img/sort_minoh.jpg) no-repeat center/contain;
}

.sort_list ul li.mio a::before {
  background: url(../img/sort_mio.jpg) no-repeat center/contain;
}

.sort_list ul li.takatsuki a::before {
  background: url(../img/sort_takatsuki.png) no-repeat center/contain;
}

.sort_list ul li.ibaraki a::before {
  background: url(../img/sort_ibaraki.png) no-repeat center/contain;
}

.sort_list ul li.kyoto-nishiguchi a::before {
  background: url(../img/sort_kyoto-nishiguchi.jpg) no-repeat center/contain;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .sort_list ul li.all a::before {
    background: url(../img/sort_all@2x.jpg) no-repeat center/contain;
  }

  .sort_list ul li.daimaru a::before {
    background: url(../img/sort_daimaru@2x.jpg) no-repeat center/contain;
  }

  .sort_list ul li.ekimaruche_shinosaka a::before {
    background: url(../img/sort_ekimaruche_shinosaka@2x.jpg) no-repeat center/contain;
  }

  .sort_list ul li.jrosaka a::before {
    background: url(../img/sort_jrosaka@2x.jpg) no-repeat center/contain;
  }

  .sort_list ul li.minoh a::before {
    background: url(../img/sort_minoh@2x.jpg) no-repeat center/contain;
  }

  .sort_list ul li.mio a::before {
    background: url(../img/sort_mio@2x.jpg) no-repeat center/contain;
  }

  .sort_list ul li.takatsuki a::before {
    background: url(../img/sort_takatsuki@2x.png) no-repeat center/contain;
  }

  .sort_list ul li.ibaraki a::before {
    background: url(../img/sort_ibaraki@2x.png) no-repeat center/contain;
  }
  .sort_list ul li.kyoto-nishiguchi a::before {
    background: url(../img/sort_kyoto-nishiguchi@2x.jpg) no-repeat center/contain;
  }
}

.sort_list ul li a span {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 12px;
}

.sort_list ul li a span::before {
  content: "";
  width: 15px;
  height: 15px;
  background: #fff;
  border-radius: 100px;
  margin-right: 10px;
}

.sort_list ul li.current a span::before {
  background: #ffcd57;
}

.news_list_box {
  padding-top: 100px;
}

.pager {
  padding: 50px 0;
  margin: 0 auto;
  text-align: center;
}

.wp-pagenavi {
  width: 95%;
  margin: auto;
  text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
  margin: 5px;
  padding: 5px 10px;
  background-color: #fff;
  color: #000;
  display: inline-block;
  transition: 0.3s;
  text-decoration: none;
}

.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .last {
  display: none;
}

.wp-pagenavi .current,
.wp-pagenavi a:hover {
  background-color: #ffcd57;
}

.pager ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

.pager ul li a {
  margin: 5px;
  padding: 5px 10px;
  background-color: #fff;
  color: #000;
  display: inline-block;
  transition: 0.3s;
  text-decoration: none;
}

.pager ul li a:hover {
  background-color: #ffcd57;
}

.news_contents .headline {
  font-size: 2.4rem;
  margin-bottom: 20px;
}

.news_contents .data {
  font-size: 1.3rem;
  display: block;
  text-align: right;
}

.news_contents .incontents {
  padding: 50px 0;
}

.news_contents .incontents h1 {
  font-weight: bold;
  font-size: 200%;
  margin-bottom: 20px;
}

.news_contents .incontents h2 {
  font-weight: bold;
  font-size: 175%;
  margin-bottom: 20px;
}

.news_contents .incontents h3 {
  font-weight: bold;
  font-size: 150%;
  margin-bottom: 20px;
}

.news_contents .incontents h4 {
  font-weight: bold;
  font-size: 125%;
  margin-bottom: 20px;
}

.news_contents .incontents h5 {
  font-weight: bold;
  font-size: 100%;
  margin-bottom: 20px;
}

.news_contents .incontents h6 {
  font-weight: bold;
  font-size: 100%;
  margin-bottom: 20px;
}

.news_contents .incontents pre {
  margin-bottom: 20px;
}

.news_contents .incontents p {
  margin-bottom: 20px;
}

.news_contents .incontents p strong {
  font-weight: bold;
}

.news_contents .incontents p em {
  font-weight: bold;
}

.news_contents .incontents p a {
  text-decoration: underline;
}

.news_contents .incontents ul li {
  margin-bottom: 20px;
  padding-left: 2em;
  position: relative;
}

.news_contents .incontents ul li::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  background: #000;
  border-radius: 100px;
  position: absolute;
  top: 0.7em;
  left: 0.5em;
  margin: auto;
}

.news_contents .incontents ol {
  counter-reset: newscount;
}

.news_contents .incontents ol li {
  counter-increment: newscount;
  margin-bottom: 20px;
  padding-left: 2em;
  text-indent: -0.8em;
}

.news_contents .incontents ol li::before {
  content: counter(newscount) ".";
  margin-right: 10px;
  display: inline-block;
}

.news_contents .incontents blockquote {
  display: block;
  padding: 20px;
  background: #f1f1f1;
  position: relative;
  margin-bottom: 20px;
}

.news_contents .incontents blockquote::before {
  content: "\201C";
  position: absolute;
  top: -0.2em;
  left: 0.2em;
  margin: auto;
  font-size: 500%;
  font-weight: bold;
  line-height: 1;
  pointer-events: none;
}

.news_contents .incontents blockquote p:last-child {
  margin-bottom: 0;
}

.news_contents .incontents img {
  height: auto;
}

/*==================================================
$recruit $voice
==================================================*/
.voice_page .heading_image {
  background: url(../img/recruit_mv02.jpg) no-repeat center/cover;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .voice_page .heading_image {
    background: url(../img/recruit_mv02@2x.jpg) no-repeat center/cover;
  }
}

.voice_list ul li {
  margin-bottom: 50px;
  height: 480px;
  position: relative;
}

.voice_list ul li:last-child {
  margin-bottom: 0;
}

.voice_list ul li a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.voice_list ul li a .textblock {
  max-width: 450px;
  background: rgba(255, 255, 255, 0.75);
  width: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

.voice_list ul li:nth-child(2n) a .textblock {
  right: auto;
  left: 0;
}

.voice_list ul li a .textblock div strong {
  display: block;
  font-size: 2.8rem;
  margin-bottom: 30px;
}

.voice_list ul li a .textblock div span {
  display: block;
}

.voice_heading {
  position: relative;
  margin-bottom: 80px;
}

.voice_heading .image {
  display: block;
  padding: 19% 0;
  position: relative;
  overflow: hidden;
}

.voice_heading .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.voice_heading .textblock {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5%;
  margin: auto;
  background: rgba(255, 255, 255, 0.75);
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  height: 80%;
  padding: 20px;
}

.voice_heading .textblock div .heading {
  font-size: 2.8rem;
  margin-bottom: 10px;
}

.voice_heading .textblock div span {
  display: block;
  text-align: center;
}

.voice_heading + p,
.voice_contents > p {
  max-width: 830px;
  width: 100%;
  padding: 0 5px;
  margin: auto;
}

.voice_contents ol {
  margin-bottom: 80px;
}

.voice_contents ol li {
  margin-top: 80px;
  padding: 100px 0;
  counter-increment: voicecount;
}

.voice_contents ol li:nth-child(odd) {
  background: rgba(235, 221, 196, 0.1);
}

.voice_contents ol li .heading {
  font-size: 2.4rem;
  text-align: center;
  position: relative;
  margin-bottom: 80px;
}

.voice_contents ol li .heading::before {
  content: counter(voicecount, decimal-leading-zero);
  font-size: 11rem;
  color: #f5c551;
  opacity: 0.5;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  z-index: -1;
}

.voice_contents ol li .inbox {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
}

.voice_contents ol li .inbox .text {
  width: 50%;
  padding: 0 5%;
}

.voice_contents ol li:nth-child(2n) .inbox .text {
  order: 2;
}

.voice_contents ol li .inbox .text strong {
  font-size: 2.4rem;
  margin-bottom: 20px;
  display: block;
}

.voice_contents ol li .inbox .text p {
  font-size: 1.6rem;
}

.voice_contents ol li .inbox .image {
  width: 50%;
}

.voice_contents ol li:nth-child(2n) .inbox .image {
  order: 1;
}

.voice_recruit_link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  max-width: 750px;
  width: 100%;
  padding: 0 5px;
  margin: auto auto 60px;
}

.voice_recruit_link ul li {
  width: 46%;
  margin: 0 10px 7%;
}

.voice_recruit_link ul li a {
  display: block;
  width: 100%;
  height: 100%;
}

.voice_recruit_link ul li a .image {
  display: block;
  /* padding: 48% 0; */
  padding: 37% 0;
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
}

.voice_recruit_link ul li a .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}

.voice_recruit_link ul li a strong {
  font-size: 2.4rem;
  display: block;
  margin-bottom: 10px;
}

.voice_recruit_link ul li a strong small {
  font-size: 1.7rem;
}

.voice_recruit_link ul li a p {
  margin-bottom: 30px;
}

/*==================================================
$story
==================================================*/
.story_page .inner {
  max-width: 1360px;
  position: relative;
  z-index: 2;
}

.story_page .story_heading .upper {
  position: relative;
}

.story_page .story_heading .upper::after {
  content: "";
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  background: #2a374a;
}

.story_page .story_heading .upper strong,
.story_page .story_heading .upper p {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}

.story_page .story_heading .upper strong {
  font-size: 4rem;
  top: -20%;
  left: 8%;
}

.story_page .story_heading .upper p {
  font-size: 2.4rem;
  top: 20%;
  left: 10%;
}

.story_page .story_heading .upper strong span,
.story_page .story_heading .upper p span {
  background: #fff;
  padding: 0 10px;
}

.story_page .story_heading .upper img {
  width: 80%;
  margin-left: auto;
  display: block;
}

.story_page .story_heading .under {
  padding: 100px 0;
  text-align: center;
}

.story_page .story_heading .under .heading {
  font-size: 2.4rem;
  margin-bottom: 10px;
}

.story_page .story_heading .under .heading span {
  color: #f5c551;
  font-size: 4rem;
}

.story_page .story_heading .under p {
  font-size: 1.6rem;
}

.story_page ol li:not(.hyakumeiten) {
  position: relative;
  counter-increment: storycount;
  margin-bottom: 7em;
}

.story_page ol li:not(.hyakumeiten):nth-child(2n)::before {
  /* content: ''; */
  width: 100%;
  height: 28.68vw;
  max-height: 390px;
  background: rgba(235, 221, 196, 0.1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.story_page ol li:not(.hyakumeiten):nth-child(2n) .inner {
  padding-top: 90px;
}

.story_page ol li:not(.hyakumeiten) .inner .text {
  width: 100%;
  position: relative;
  z-index: 2;
  padding: 0 100px;
}

.story_page ol li:not(.hyakumeiten):nth-child(2n) .inner .text {
  width: 55%;
  margin-left: auto;
}

.story_page ol li:not(.hyakumeiten) .inner .text .heading {
  font-size: 5rem;
  line-height: 1.3;
  padding-left: 130px;
  margin-bottom: 50px;
  position: relative;
}

.story_page ol li:not(.hyakumeiten) .inner .text .heading::before {
  content: counter(storycount, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  font-size: 11rem;
  color: #f5c551;
  opacity: 0.5;
  line-height: 0.6;
}

.story_page ol li:not(.hyakumeiten) .inner .text p {
  font-size: 1.6rem;
  max-width: 480px;
}

.story_page ol li:not(.hyakumeiten) .inner .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.story_page ol li:not(.hyakumeiten) .inner .image img {
  position: absolute;
}

.story_page ol li:not(.hyakumeiten) .inner {
  padding-bottom: 100px;
}

.story_page ol li:not(.hyakumeiten):nth-child(1) .inner .image img:nth-child(1) {
  top: 0;
  right: 5.88%;
}

.story_page ol li:not(.hyakumeiten):nth-child(1) .inner .image img:nth-child(2) {
  bottom: 0;
  right: 29.41%;
}

.story_page ol li:not(.hyakumeiten):nth-child(2) .inner .image img:nth-child(1) {
  top: 11%;
  left: 2.21%;
}

.story_page ol li:not(.hyakumeiten):nth-child(2) .inner .image img:nth-child(2) {
  top: 52%;
  left: 17.74%;
}

.story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image img:nth-child(1) {
  top: -13%;
  right: 22.68%;
}

.story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image img:nth-child(2) {
  top: 14%;
  right: 2.21%;
}

.story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image img:nth-child(3) {
  bottom: -2%;
  right: 27.21%;
}

@media screen and (max-width: 1100px) {
  .story_page ol li:not(.hyakumeiten) {
    position: relative;
    counter-increment: storycount;
    width: 100%;
    overflow: hidden;
    margin-bottom: 0;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(2n)::before {
    /* content: ''; */
    width: 100%;
    background: rgba(235, 221, 196, 0.1);
    position: absolute;
    top: 15%;
    left: 0;
    right: 0;
    margin: auto;
    padding: 70% 0;
  }

  .story_page ol li:not(.hyakumeiten) .inner .text {
    width: 100%;
    position: relative;
    z-index: 2;
    margin-bottom: 5%;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(2n) .inner .text {
    width: 100%;
  }

  .story_page ol li:not(.hyakumeiten) .inner .text .heading {
    font-size: 3rem;
    line-height: 1.3;
    margin-bottom: 3%;
    position: relative;
    padding-top: 15%;
    padding-left: 0;
    text-align: center;
  }

  .story_page ol li:not(.hyakumeiten) .inner .text .heading::before {
    content: counter(storycount, decimal-leading-zero);
    position: absolute;
    top: 10%;
    left: 50%;
    transform: translate(-50%, 0);
    font-size: 11rem;
    color: #f5c551;
    opacity: 0.5;
    line-height: 0.6;
  }

  .story_page ol li:not(.hyakumeiten) .inner .text p {
    margin: auto;
  }

  .story_page ol li:not(.hyakumeiten) .inner .image {
    position: relative;
    width: 100%;
  }

  .story_page ol li:not(.hyakumeiten) .inner .image img {
    position: absolute;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(1) .inner {
    padding-bottom: 0;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(1) .inner .image {
    padding: 40% 0;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(1) .inner .image img:nth-child(1) {
    width: 48vw;
    top: 0;
    right: -40%;
    left: 0;
    margin: auto;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(1) .inner .image img:nth-child(2) {
    width: 48vw;
    bottom: 0;
    left: -40%;
    right: 0;
    margin: auto;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(2) .inner .image {
    padding: 40% 0;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(2) .inner .image img:nth-child(1) {
    width: 55vw;
    top: 0;
    right: 0;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(2) .inner .image img:nth-child(2) {
    width: 50vw;
    bottom: 0;
    right: 2%;
    left: auto;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image {
    padding: 45% 0;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image img:nth-child(1) {
    width: 48vw;
    top: 0;
    left: -40%;
    right: 0;
    margin: auto;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image img:nth-child(2) {
    width: 48vw;
    bottom: 0;
    right: -40%;
    left: 0;
    margin: auto;
    top: -24%;
  }

  .story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image img:nth-child(3) {
    width: 48vw;
    bottom: -20%;
    right: 360px;
    left: 0;
    margin: auto;
  }
}

.story_page ol li.hyakumeiten {
  background: rgba(235, 221, 196, 0.1);
}

.story_page ol li.hyakumeiten .inner {
  padding: 70px 0;
}

.story_page ol li.hyakumeiten .inner strong {
  font-size: 3.6rem;
  margin-bottom: 30px;
  display: block;
  text-align: center;
}

@media screen and (max-width: 1100px) {
  .story_page ol li.hyakumeiten .inner strong {
    font-size: 2.8rem;
  }
}

.story_page ol li.hyakumeiten .inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.story_page ol li.hyakumeiten .inner ul li {
  max-width: 220px;
  width: 20%;
  margin: 0 10px;
}

.story_page ol li.hyakumeiten .inner ul li img {
  width: 100%;
}

/*==================================================
$company
==================================================*/
.company_page .heading_image {
  background: url(../img/company_heading.jpg) no-repeat center/cover;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .company_page .heading_image {
    background: url(../img/company_heading@2x.jpg) no-repeat center/cover;
  }
}

.company_list ul {
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .company_list ul {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}

.company_list ul li {
  background: rgba(255, 255, 255, 0.9);
}

.company_list ul li:nth-child(odd) {
  background: rgba(255, 255, 255, 0.5);
}

.company_list ul li a {
  text-decoration: underline;
}

.company_list ul li dl {
  max-width: 1130px;
  width: 100%;
  position: relative;
  margin: auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 20px;
  padding: 40px 0;
}

@media screen and (max-width: 1140px) {
  .company_list ul li dl {
    padding: 40px 5px;
  }
}

.company_list ul li dl dt {
  width: 160px;
  min-width: 160px;
  flex-shrink: 0;
}

.company_list ul li dl dd {
  flex: 1;
}

.blocks.topics_area {
  padding-bottom: 0;
}

/* 220914 */
.category_list_wrap .slider_ul_row2,
.category_list_wrap .slider_ul {
  overflow: hidden;
}

.category_list01 .category_list_wrap .slider_ul li {
  margin-right: 18px;
}

/* 220927 */
/* .category_list01 .inner>ul li.half:nth-child(1) .text>strong + p,
.category_list01 .inner>ul li.half:nth-child(2) .text>strong + p {
  height: 12em;
} */

/* 220928 */
a.anchor {
  display: block;
  padding-top: 70px;
  margin-top: -70px;
}

/* 221124 */
.side_flo {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 500;
  display: none;
  filter: drop-shadow(0px 0px 7px #aaa);
}

/* .side_flo.active {
  opacity: 0;
  pointer-events: none;
} */

.side_flo img {
  max-width: 500px;
}

.side_flo .close {
  width: 20px;
  height: 20px;
  position: absolute;
  top: -9px;
  right: 0;
  background: #fff;
  border-radius: 100px;
  box-shadow: 0 0 5px rgb(0 0 0);
  z-index: 10;
  cursor: pointer;
  pointer-events: auto;
}

.side_flo .close::before {
  transform: rotate(-45deg);
  content: "";
  width: 60%;
  height: 1px;
  background: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.side_flo .close::after {
  content: "";
  width: 60%;
  height: 1px;
  background: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg);
}

.story_page ol li.hyakumeiten .inner ul .one_img {
  max-width: 370px;
  width: 100%;
}

/* 230320 */
.inner.privacy {
  max-width: 800px;
  margin: 100px auto;
}

.voice_recruit_link.privacy p {
  margin-bottom: 35px;
}

.voice_recruit_link.privacy p strong {
  font-weight: bold;
  display: block;
  font-size: 17px;
  margin-bottom: 15px;
}

/* 230331 */
.category_list_wrap .inner > strong.shop_products_title {
  position: relative;
  top: auto;
  left: auto;
  margin-bottom: -30px;
  display: block;
}

/* 230419 */
.onlone_box {
  margin: 90px 0;
}

.onlone_box .inner {
  padding: 50px 30px 30px;
  border: 3px solid #f5c551;
}

.onlone_box p {
  text-align: center;
  font-size: 17px;
  margin-bottom: 45px;
}

/* 230622 */
.dis_none {
  display: none !important;
}

/* 230803 */
.news_banner {
  background-color: #c4121a;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 6px 0;
  transition: 0.3s;
}

.news_banner:hover {
  opacity: 0.8;
}

.header_inner .logo.banner_on {
  top: 61px;
}

/* 231031 */
.category_list01 .inner > ul li.half {
  margin-bottom: 80px;
}

/* 240131 */
.deli_404 .main_heading {
  text-align: center;
  margin-top: 60px;
}

.deli_404 .futura {
  display: block;
  font-size: 44px;
}

.deli_404 .notfound {
  text-align: center;
  margin: 50px auto;
}

.deli_404 .btn {
  margin-top: 50px;
}

/* 240313　スペシャルギフトカード */
.products_area_gift {
  /* background: url(../img/bg_pattern.png) repeat top left / 680px auto; */
  background-color: #bfa162;
  position: relative;
  box-shadow: 0 1px 7px 2px #7e7e7e;
  z-index: 10;
}

.products_area .title {
  position: absolute;
  top: 49px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 10;
}

.under_gift {
  /* padding: 140px 0; */
  padding: 3% 0 2% 0;
  text-align: center;
}

.under_gift .title {
  font-size: 3.8rem;
  margin-bottom: 10px;
  color: #fff;
}

.under_gift p {
  font-size: 1.9rem;
  color: #fff;
}

.p_yellow::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 22.9vw;
  min-height: 250px;
  /* background: #ffcd57; */
  mix-blend-mode: multiply;
}

.products_area_gift2 {
  background-color: #ddc287;
  position: relative;
  box-shadow: 0 1px 7px 2px #7e7e7e;
  z-index: 8;
}

.situation_gift {
  padding-bottom: 5%;
}

.situation_gift h2.title {
  font-size: 1.1vw;
  padding-top: 2%;
  color: #382b25;
  font-weight: bold;
}

.situation_gift_step {
  padding-bottom: 2%;
}

.situation_gift_step h2.title {
  font-size: 1.1vw;
  padding-top: 2%;
  color: #382b25;
  font-weight: bold;
}

.flex_gift {
  display: flex;
  justify-content: space-between;
  margin: 0 13vw;
}

.flex_gift_menu {
  display: flex;
  justify-content: space-around;
  margin: 0 19vw;
}

.flex_gift li.aid1:first-of-type {
  background: url(https://www.delicius.jp/assets/img/gift-card/icon_01.png) center top no-repeat;
  background-size: 65%;
}

.flex_gift li.aid2:nth-of-type(2) {
  background: url(https://www.delicius.jp/assets/img/gift-card/icon_02.png) center top no-repeat;
  background-size: 51%;
}

.flex_gift li.aid3:nth-of-type(3) {
  background: url(https://www.delicius.jp/assets/img/gift-card/icon_03.png) center top no-repeat;
  background-size: 46%;
}

.flex_gift li.aid4:nth-of-type(4) {
  background: url(https://www.delicius.jp/assets/img/gift-card/icon_04.png) center top no-repeat;
  background-size: 81%;
}

.flex_gift li.aid5:nth-of-type(5) {
  background: url(https://www.delicius.jp/assets/img/gift-card/icon_05.png) center top no-repeat;
  background-size: 60%;
}

.aid1,
.aid2,
.aid3,
.aid4,
.aid5 {
  font-size: 17px;
  width: 250px;
  color: #382b25;
  text-align: center;
  padding-top: 216px;
  font-weight: bold;
}

.products_area_gift3 {
  background-color: #e9e0c2;
  position: relative;
  box-shadow: 0 1px 7px 2px #7e7e7e;
  z-index: 6;
}

.situation_gift h2.title {
  font-size: 1.3vw;
  padding-top: 4%;
  color: #382b25;
  font-weight: bold;
}

.situation_gift_step h2.title {
  font-size: 1.3vw;
  padding-top: 4%;
  color: #382b25;
  font-weight: bold;
}

.title small.small {
  font-size: 15px;
  margin-top: 15px;
}

li.size {
  margin: 0px 9px;
}

/* step */
li.step {
  margin: 0 4px;
}

.products_area_gift4 {
  background-color: #f7ebd0;
  position: relative;
  box-shadow: 0 1px 7px 2px #7e7e7e;
  z-index: 4;
}

.step_wrap {
  position: relative;
}

.flex_gift_step {
  display: flex;
  justify-content: space-between;
  margin: 0 6vw 3vw 6vw;
}

.step1 {
  width: 54%;
  margin: 28px 0 0 36px;
}

.step2 {
  width: 61%;
  margin: 25px 0 0 31px;
}

.step3 {
  width: 40%;
  margin: 35px 0 0 70px;
}

.step4 {
  width: 55%;
  margin: 27px 0 0 58px;
}

.step5 {
  width: 20%;
  margin: 34px 0 0 110px;
}

img.step_image1 {
  width: 100%;
}

img.step_image {
  width: 100%;
}

.wid {
  width: 78.5%;
  margin: 13px 0 0 18px;
  font-size: 16px;
}

span.step-txt2 {
  position: absolute;
  bottom: -22px;
  left: 264px;
  width: 12.5%;
  font-size: 15px;
}

/* 250604 */
.instagram_area .title a {
  display: inline-block;
}

.instagram_area .title a span {
  display: flex;
  justify-content: center;
  margin-top: 10px;
  transition: 0.3s;
}

.instagram_area .title a span:hover {
  opacity: 0.6;
}
/* 260309　焼き菓子ページ調整 */
.category_list01 .inner > ul li.half.baked {
  padding-bottom: 260px;
}

@media screen and (max-width: 910px) {
  .category_list01 .inner > ul li.half.baked {
    padding-bottom: 300px;
  }
}
