@charset "utf-8";

/*==================================================
$common
==================================================*/
html {
  font-size: 62.5%;
}
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;
}
a {
  color: inherit;
  text-decoration: none;
}
.nosp {
  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;
}
.header_inner {
  height: 55px;
  position: relative;
  width: 100%;
}
.header_inner .logo {
  position: absolute;
  top: 15px;
  left: 5%;
  margin: auto;
  max-width: 130px;
  width: 25%;
  z-index: 10;
}
.header_nav {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  background: #fff;
}
.burger {
  width: 30px;
  height: 22px;
  position: relative;
  order: 2;
  margin-right: 20px;
}
.burger span {
  width: 100%;
  height: 2px;
  background: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transition: 0.3s;
  opacity: 1;
}
.burger span:nth-child(1) {
  bottom: auto;
}
.burger span:nth-child(3) {
  top: auto;
}
.burger.active span:nth-child(1) {
  transform: translateY(10px) rotate(-45deg);
}
.burger.active span:nth-child(2) {
  opacity: 0;
}
.burger.active span:nth-child(3) {
  transform: translateY(-10px) rotate(45deg);
}
.header_nav > ul {
  position: absolute;
  top: -100vh;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  background: #fff;
  max-height: 100vh;
  z-index: -1;
  overflow: auto;
  transition: 0.3s;
  opacity: 0;
}
.burger.active + ul {
  top: 54px;
  opacity: 1;
}
.header_nav > ul > li {
  border-bottom: 1px solid #e5e5e5;
  position: relative;
}
.header_nav > ul > li > a {
  padding: 5% 10%;
  font-size: 1.6rem;
  display: block;
  position: relative;
}
.header_nav > ul > li a::after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5%;
  margin: auto;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}
.header_nav > ul > li.gnav > a::after {
  display: none;
}
.header_nav > ul > li .plus {
  position: absolute;
  top: 10px;
  right: 3%;
  margin: auto;
  width: 40px;
  height: 40px;
}
.header_nav > ul > li .plus::before,
.header_nav > ul > li .plus::after {
  content: "";
  width: 60%;
  height: 1px;
  background: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 1;
  transition: 0.3s;
}
.header_nav > ul > li .plus::after {
  transform: rotate(90deg);
}
.header_nav > ul > li .plus.active::after {
  opacity: 0;
}
.header_nav > ul > li > a ~ ul {
  border-top: 1px dashed #e5e5e5;
  display: none;
}
.header_nav > ul > li > a ~ ul li a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 5% 10%;
  border-bottom: 1px solid #e5e5e5;
  font-size: 1.2rem;
  position: relative;
}
.header_nav > ul > li > a ~ ul li:last-child a {
  border: none;
}
.header_nav > ul > li > a ~ ul li a .image {
  min-width: 60px;
  width: 60px;
  margin-right: 3%;
}
.header_nav > ul > li > a span {
  position: relative;
  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.active > a span::after,
.header_nav > ul > li.current > a span::after {
  height: 3px;
}
.header_nav .close {
  background: #ffcd57;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 13px 10px 10px;
  position: relative;
}
.header_nav .close::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  transform: rotate(45deg);
}
.global_nav {
  display: none;
}
.header_nav .sns {
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  margin: 0 20px;
  order: 1;
}
.header_nav .sns a {
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
}
/*==================================================
$footer
==================================================*/
.instagram_area {
  padding-top: 15%;
}
/* .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: wrap; */
  justify-content: space-between;
  align-items: stretch;
}
.instagram_image_list ul li {
  width: 50%;
}
.instagram_image_list ul li a img {
  width: 100%;
}
.footer_content {
  padding-top: 15%;
  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: 35%;
  margin: 0 auto 5%;
}
.footer_nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.footer_nav ul li {
  margin: 10px 1%;
  font-size: 1.2rem;
  width: 30%;
  text-align: center;
}
.footer_nav ul li a {
  color: #707070;
}
.footer_content .copyright {
  display: block;
  font-size: 1.2rem;
  text-align: center;
  color: #707070;
  padding: 5%;
  position: relative;
  margin-top: 10%;
}
.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;
}
.mv .mv_title {
  position: absolute;
  top: -60%;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 50%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 3.6rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.mv_text {
  width: 90%;
  margin: auto;
}
.mv_text p:not(:last-child) {
  margin-bottom: 20px;
}
.blocks {
  padding: 15% 0;
}
.title {
  text-align: center;
  margin-bottom: 7%;
  display: block;
}
.title span {
  font-size: 2.4rem;
  display: block;
  line-height: 1.3;
}
.title small {
  font-size: inherit;
}
.btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 80%;
  margin: auto;
}
.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 20px;
  text-align: center;
  width: 100%;
}
.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;
}
.btn.line3 *::after {
  background: url(../img/ico_burger.svg) no-repeat center/contain;
}
.inner {
  width: 90%;
  position: relative;
  margin: auto;
}
.products_area {
  background: url(../img/bg_pattern.png) repeat top left/680px auto;
  position: relative;
  padding: 15% 0 0;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .products_area {
    background: url(../img/bg_pattern@2x.png) repeat top left/680px auto;
  }
}
.p_slider_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.p_slider_wrap .p_slider {
  position: relative;
  order: 2;
  width: 100%;
  overflow: hidden;
}
.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 top center/contain;
}
.p_slider_wrap .p_slider .p_slider_item.xmas::before {
  background: url(../img/p_clip_xmas2024.png) no-repeat top center/contain;
}
.p_slider_wrap .p_slider .p_slider_item.valentine::before {
  background: url(../img/p_clip_valentine.png) no-repeat top center/contain;
}
.p_slider_wrap .p_slider .p_slider_item.whiteday::before {
  background: url(../img/p_clip_whiteday.png) no-repeat top center/contain;
}
.p_slider_wrap .p_slider .p_slider_item.event::before {
  background: url(../img/p_clip_event.png) no-repeat top center/contain;
}
.p_slider_wrap .p_slider .p_slider_item.wholecake::before {
  background: url(../img/p_clip_wholecake.png) no-repeat top center/contain;
}
.p_slider_wrap .p_slider .p_slider_item.cutcake::before {
  background: url(../img/p_clip_cutcake.png) no-repeat top -10% center/110% auto;
}
.p_slider_wrap .p_slider .p_slider_item.gift::before {
  background: url(../img/p_clip_gift_n.png) no-repeat top center/90% auto;
  bottom: 15%;
}
.p_slider_wrap .p_slider .p_slider_item.newseason::before {
  background: url(../img/p_clip_newseason08.png?251208) no-repeat top center/110% auto;
}
.p_slider_wrap .p_slider .p_slider_item.alacarte::before {
  background: url(../img/p_clip_coffee.png) no-repeat top center/110% auto;
}
.p_slider_wrap .p_slider .p_slider_item.baked::before {
  background: url(../img/p_clip_madeleine.png) no-repeat top center/auto 85%;
}
@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 top center/contain;
  }
  .p_slider_wrap .p_slider .p_slider_item.xmas::before {
    background: url(../img/p_clip_xmas2024@2x.png) no-repeat top center/contain;
  }
  .p_slider_wrap .p_slider .p_slider_item.valentine::before {
    background: url(../img/p_clip_valentine@2x.png) no-repeat top center/contain;
  }
  .p_slider_wrap .p_slider .p_slider_item.whiteday::before {
    background: url(../img/p_clip_whiteday@2x.png) no-repeat top center/contain;
  }
  .p_slider_wrap .p_slider .p_slider_item.event::before {
    background: url(../img/p_clip_event@2x.png) no-repeat top center/contain;
  }
  .p_slider_wrap .p_slider .p_slider_item.wholecake::before {
    background: url(../img/p_clip_wholecake@2x.png) no-repeat top center/contain;
  }
  .p_slider_wrap .p_slider .p_slider_item.cutcake::before {
    background: url(../img/p_clip_cutcake@2x.png) no-repeat top -10% center/110% auto;
  }
  .p_slider_wrap .p_slider .p_slider_item.gift::before {
    background: url(../img/p_clip_gift_n@2x.png) no-repeat top center/90% auto;
    bottom: 15%;
  }
  .p_slider_wrap .p_slider .p_slider_item.newseason::before {
    background: url(../img/p_clip_newseason08@2x.png?251208) no-repeat top center/110% auto;
  }
  .p_slider_wrap .p_slider .p_slider_item.alacarte::before {
    background: url(../img/p_clip_coffee@2x.png) no-repeat top center/110% auto;
  }
  .p_slider_wrap .p_slider .p_slider_item.baked::before {
    background: url(../img/p_clip_madeleine@2x.png) no-repeat top center/auto 85%;
  }
}
.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;
}
.p_slider_wrap .p_slider .p_slider_item .p_slider_inbox .left,
.p_slider_wrap .p_slider .p_slider_item .p_slider_inbox .right {
  display: none;
}
.p_slider_wrap .p_slider .p_slider_item .p_btnlist_box .p_btnlist {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  padding: 3% 5px 6%;
  position: relative;
  z-index: 10;
  margin-top: 48%;
}
.p_slider_wrap .p_slider .p_slider_item .p_btnlist_box .p_btnlist .btn:first-child {
  margin-bottom: 10px;
}
.p_slider_wrap .p_slider .p_slider_item .p_btnlist_box .p_btnlist .btn * {
  background: #fff;
  height: 50px;
}
.p_slider_wrap .p_slider_thumbnail {
  order: 1;
}
.p_slider_wrap .p_slider_thumbnail ul .slick-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  border-top: 1px solid #dbdbdb;
}
.p_slider_wrap .p_slider_thumbnail ul li {
  width: 100%;
  min-height: 60px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
  cursor: pointer;
  background: rgba(255, 205, 87, 0);
  mix-blend-mode: multiply;
  text-align: center;
  line-height: 1.3;
  /* font-size: 1.6rem; */
  font-weight: bold;
  border-bottom: 1px solid #dbdbdb;
  mix-blend-mode: multiply;
}
.p_slider_wrap .p_slider_thumbnail ul li:nth-child(odd) {
  border-right: 1px solid #dbdbdb;
}
.p_slider_wrap .p_slider_thumbnail ul li.slick-current {
  background: rgba(255, 205, 87, 1);
}
.p_slider_wrap .p_slider_thumbnail .slick-track {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  width: 100% !important;
  transform: none !important;
}
.p_slider_wrap .p_slider_thumbnail .slick-track li {
  width: 50% !important;
  height: auto;
}
.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 div {
  max-width: 1130px;
  width: 90%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  /* font-size: 1.6rem; */
  padding: 5% 0;
}
.topics_list ul li a div .data {
  font-weight: bold;
  width: 35%;
}
.topics_list ul li a div .label {
  font-weight: bold;
  width: 65%;
  text-align: center;
  background: #ffcd57;
  border-radius: 100px;
  padding: 5px 10px;
}
.topics_list ul li a div .text {
  width: 100%;
  margin-top: 10px;
  width: 100%;
}
.shop_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.shop_list ul li {
  width: 48%;
  margin-bottom: 8%;
}
.shop_list ul li a {
  display: block;
  width: 100%;
  height: 100%;
}
.shop_list ul li a .image {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 32% 0;
}
.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: 100%;
}
.shop_list ul li a .text strong {
  display: block;
  font-size: 1.6rem;
  width: 100%;
  padding: 5% 0;
  text-align: center;
}
.shop_list ul li a .text dl {
  display: none;
}
.shop_list ul li a .text .btn * {
  font-size: 1.2rem;
  height: auto;
  padding: 5px 20px;
}
.recruit_area {
  background: url(../img/recruit_area_bg_sp.webp) no-repeat center/cover;
  position: relative;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .recruit_area {
    background: url(../img/recruit_area_bg_sp@2x.webp) no-repeat 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: 230px;
  margin: 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_sp.jpg) no-repeat center/cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .shop_page .heading_image {
    background: url(../img/shoppage_heading_sp@2x.jpg) no-repeat center/cover;
  }
}
.slick-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 5% 0 0;
}
.slick-dots li {
  width: 10px;
  height: 10px;
  background: #ddd;
  border-radius: 100px;
  margin: 0 10px;
}
.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: 10% 0 15%;
  margin-bottom: -10%;
}
@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: 10% 0;
  margin-bottom: 0;
}
.page_title .title {
  margin-bottom: 0;
}
.page_title .title + p {
  /* font-size: 1.6rem; */
  text-align: center;
  width: 90%;
  margin: 5% auto 0;
}
.heading_image {
  margin-bottom: 15%;
  width: 100%;
  padding: 60% 0;
}
.heading_image img {
  width: 100%;
}
.shop_page .shoppage_list ul li {
  padding: 15% 5%;
}
.shop_page .shoppage_list ul li:nth-child(2n) {
  background: url(../img/bg_pattern.png) repeat left top/683px auto;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .shop_page .shoppage_list ul li:nth-child(2n) {
    background: url(../img/bg_pattern@2x.png) repeat left top/683px auto;
  }
}
.shop_page .shoppage_list ul li:not(:last-child) {
  margin-bottom: 10%;
}
.shop_page .shoppage_list ul li .image {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 32% 0;
  display: block;
}
.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: 100%;
  padding: 5% 5% 0;
}
.shop_page .shoppage_list ul li .text dl {
  margin-bottom: 5%;
}
.shop_page .shoppage_list ul li .text dl dt {
  font-size: 2rem;
  margin-bottom: 10px;
  text-align: center;
}
.detail_slider_wrap .detail_slider_item {
  height: auto;
}
.shop_detail .inner .inbox .heading {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 10px;
  display: block;
}
.shop_detail .inner .inbox .image {
  padding-top: 10%;
}
.shop_detail .inner .inbox .image span:not(:last-child) {
  margin-bottom: 10px;
  display: block;
}
.shop_detail .inner .inbox .image img {
  width: 100%;
}
.shop_detail_data .shop_detail_datalist {
  margin-bottom: 100px;
}
.shop_detail_data .shop_detail_datalist dl {
  padding: 5% 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 {
  width: 100%;
  margin-bottom: 10px;
}
.shop_detail_data .shop_detail_datalist dl dd {
  width: 100%;
}
.shop_detail_data .shop_detail_map {
  text-align: right;
}
.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 {
  text-decoration: underline;
}
.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: 15%;
}
.shop_products::after {
  content: "";
  width: 75%;
  height: 88%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #fbfaf4;
  z-index: -1;
  pointer-events: none;
}
.shop_products p {
  width: 90%;
  margin: 0 auto 10%;
}
.shop_p_slider_wrap .shop_p_slider {
  margin-bottom: 10%;
  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 {
  right: auto;
  left: 5vw;
}
.shop_p_slider_wrap .shop_p_slider .arrows.next {
  left: auto;
  right: 5vw;
  transform: rotate(135deg);
}
.shop_p_slider_wrap .shop_p_slider .shop_p_slider_item {
  margin: 0 5px;
}
.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: 5%;
}
.detail_reservation .inner img {
  width: 100%;
  max-width: 650px;
  margin: auto;
  display: block;
}
.calender_inbox div {
  width: 100%;
  margin-bottom: 20px;
}
.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: 15%;
}
.p_category_block.blocks {
  margin-bottom: 0;
}
.p_category_block .image {
  display: block;
  margin-bottom: 5%;
  position: relative;
  overflow: hidden;
  padding: 13% 0;
}
.p_category_block .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}
.p_category_block .text {
  max-width: 660px;
  width: 100%;
  margin: auto;
  padding: 0 5px;
}
.p_category_block .text strong {
  display: block;
  font-size: 2.2rem;
  text-align: center;
  margin-bottom: 10px;
}
.p_category_block .text .btn {
  margin-top: 5%;
}
.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:not(.slider_ul) li {
  width: 100%;
  margin-bottom: 10%;
}
.category_list01 .inner > ul li .image {
  display: block;
  padding: 48% 0;
  overflow: hidden;
  position: relative;
  margin-bottom: 5%;
}
.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: 5%;
}
.category_list01 .inner > ul li .text > strong {
  /* font-size: 2rem; */
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 10px;
  line-height: 1.3;
}
ul.col3 > li > .text > strong {
  font-size: 2rem;
}
.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: 5%;
  position: relative;
  border-bottom: 1px solid #f1f1f1;
}
.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 {
  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: 40px;
  font-size: 1.4rem;
}
.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.featured {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 10%;
}
.category_list02 ul.featured li {
  width: 48%;
}
.category_list02 ul.featured li:nth-child(9n + 1) {
  width: 100%;
  margin-left: 0;
  margin-bottom: 0;
}
.category_list02 ul.featured li:nth-child(2n) {
  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: 48% 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 li .text {
  display: block;
}
.category_list_wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.category_list_wrap .inner > strong {
  font-size: 2rem;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-right: 60px;
  line-height: 1.3;
}
.category_list_wrap .slick-list {
  overflow: visible;
}
.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;
  width: 50%;
}
.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: 25px;
  height: 20px;
  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: 30px;
}
.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%;
  margin: auto;
}
.products_box {
  position: relative;
}
.products_box::before {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-height: 350px;
  /* height: 80vw; */
  height: 43vw;
  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 li {
  width: 48%;
  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 strong {
  display: block;
  /* font-size: 2rem; */
  line-height: 1.3;
}
.products_info ul li .text dl {
  margin-top: 10px;
}
.products_info ul li .text dl dt {
  width: 100%;
  margin-bottom: 10px;
}
.products_info ul li .text dl dd {
  width: 100%;
}
.products_info ul li .text p {
  margin-top: 10px;
}
.products_variation > p {
  text-align: center;
  /* font-size: 1.8rem; */
  margin-bottom: 5%;
}
.products_variation .inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}
.products_variation .inner ul li {
  width: 100%;
  margin-bottom: 5%;
}
.products_variation .inner ul li:last-child {
  margin-bottom: 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 strong {
  display: block;
  font-size: 2rem;
}
.p_particular {
  padding: 15% 0;
  position: relative;
}
.p_particular::before {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 700px;
  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: 15%;
}
.p_particular .inner .inbox {
  margin-bottom: 10%;
}
.p_particular .inner .inbox:last-child {
  margin-bottom: 0;
}
.p_particular .inner .inbox .text {
}
.p_particular .inner .inbox .text strong {
  display: block;
  font-size: 2rem;
  margin-bottom: 5%;
  line-height: 1.3;
}
.p_particular .inner .inbox .text p {
  margin-bottom: 5%;
}
.p_particular .inner .inbox .image {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

/*==================================================
$news
==================================================*/
.sort_list {
  margin-top: 5%;
  width: 100%;
  margin-bottom: -10%;
}
.sort_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  border-top: 1px solid #dbdbdb;
}
.sort_list ul li {
  width: 50%;
  border-bottom: 1px solid #dbdbdb;
}
.sort_list ul li:nth-child(odd) {
  border-right: 1px solid #dbdbdb;
}
.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 span {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  /* font-size: 1.6rem; */
  width: 100%;
  min-height: 50px;
  transition: 0.3s;
  cursor: pointer;
  background: rgba(255, 205, 87, 0);
  mix-blend-mode: multiply;
  text-align: center;
  line-height: 1.3;
}
.sort_list ul li.current a span {
  background: rgba(255, 205, 87, 1);
}
.news_list_box {
  padding-top: 15%;
}
.pager {
  padding: 10% 0;
  margin: 0 auto;
  text-align: center;
}
.wp-pagenavi {
  width: 95%;
  margin: auto;
  text-align: center;
}
.wp-pagenavi a,
.wp-pagenavi span {
  margin: 2px;
  padding: 2px 7px;
  background-color: #fff;
  color: #000;
  display: inline-block;
  transition: 0.3s;
  text-decoration: none;
  font-size: 1.2rem;
}
.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;
  font-size: 1.2rem;
}
.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: 10% 0 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_sp.jpg) no-repeat center/cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .voice_page .heading_image {
    background: url(../img/recruit_mv02_sp@2x.jpg) no-repeat center/cover;
  }
}
.voice_list ul li {
  margin-bottom: 15%;
  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 {
  width: 100%;
  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: 2rem;
}
.voice_list ul li a .textblock div span {
  display: block;
}
.voice_heading {
  position: relative;
  margin-bottom: 15%;
}
.voice_heading .image {
  display: block;
  padding: 19% 0;
  position: relative;
  overflow: hidden;
  margin-bottom: 5%;
}
.voice_heading .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: auto;
  max-width: none;
}
.voice_heading .textblock {
  background: rgba(255, 255, 255, 0.75);
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
.voice_heading .textblock div .heading {
  font-size: 2rem;
}
.voice_heading .textblock div span {
  display: block;
}
.voice_heading + p,
.voice_contents > p {
  width: 90%;
  padding: 0 5px;
  margin: auto;
}
.voice_contents ol {
  margin-bottom: 15%;
}
.voice_contents ol li {
  margin-top: 15%;
  padding: 15% 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: 2rem;
  text-align: center;
  position: relative;
  margin-bottom: 10%;
}
.voice_contents ol li .heading::before {
  content: counter(voicecount, decimal-leading-zero);
  font-size: 8rem;
  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: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.voice_contents ol li .inbox .text {
  width: 100%;
  order: 2;
}
.voice_contents ol li .inbox .text strong {
  font-size: 2rem;
  margin-bottom: 10px;
  display: block;
}
.voice_contents ol li .inbox .text p {
}
.voice_contents ol li .inbox .image {
  width: 100%;
  order: 1;
  margin-bottom: 5%;
}

.voice_recruit_link {
  margin: 12% auto 15%;
}
.voice_recruit_link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  margin: auto;
}
.voice_recruit_link ul li {
  width: 45%;
  margin: 0 1% 12%;
}
.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: 5%;
}
.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: 2rem;
  display: block;
  margin-bottom: 10px;
  line-height: 1.6;
}

.voice_recruit_link ul li a strong small {
  font-size: 3.5vw;
}
.voice_recruit_link ul li a p {
  margin-bottom: 30px;
}
.voice_recruit_link ul li a .btn {
  width: 100%;
}
.voice_recruit_link ul li a .btn * {
  font-size: 1.4rem;
}
/*==================================================
$story
==================================================*/
.story_page .page_title {
  z-index: 10;
  background: none;
  color: #fff;
  position: absolute;
  top: 63vw;
  left: 0;
  right: 0;
  margin: auto;
}
.story_page .inner {
  max-width: 1360px;
  position: relative;
  z-index: 2;
}
.story_page .story_heading .upper {
  position: relative;
  background: url(../img/story01_sp.jpg) no-repeat center/cover;
  padding: 80% 0 55%;
}
.story_page .story_heading .upper strong,
.story_page .story_heading .upper p {
  display: block;
  text-align: center;
  color: #fff;
}
.story_page .story_heading .upper strong {
  font-size: 3.6rem;
  line-height: 1.3;
}
.story_page .story_heading .upper p {
  font-size: 2.4rem;
}
.story_page .story_heading .upper img {
  display: none;
}
.story_page .story_heading .under {
  padding: 15% 5%;
}
.story_page .story_heading .under .heading {
  font-size: 2.4rem;
  margin-bottom: 10px;
  text-align: center;
  line-height: 1.3;
}
.story_page .story_heading .under .heading span {
  color: #f5c551;
  font-size: 3.6rem;
}
.story_page ol li:not(.hyakumeiten) {
  position: relative;
  counter-increment: storycount;
  margin-bottom: 15%;
  width: 100%;
  overflow: hidden;
}
.story_page ol li:not(.hyakumeiten):nth-child(2n)::before {
  content: "";
  width: 100%;
  /* background: rgba(235,221,196,.1); */
  position: absolute;
  top: 15%;
  left: 0;
  right: 0;
  margin: auto;
  padding: 70% 0;
}
.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;
  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: 2.8rem;
  line-height: 1.3;
  margin-bottom: 3%;
  position: relative;
  padding-top: 15%;
}
.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;
  z-index: -1;
}
.story_page ol li:not(.hyakumeiten) .inner .text p {
}
.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: 13%;
}
.story_page ol li:not(.hyakumeiten):nth-child(1) .inner .image {
  padding: 68% 0;
}
.story_page ol li:not(.hyakumeiten):nth-child(1) .inner .image img:nth-child(1) {
  width: 48vw;
  top: 0;
  right: -6%;
}
.story_page ol li:not(.hyakumeiten):nth-child(1) .inner .image img:nth-child(2) {
  width: 48vw;
  bottom: 0;
  left: -6%;
}
.story_page ol li:not(.hyakumeiten):nth-child(2) .inner .image {
  padding: 67% 0;
}
.story_page ol li:not(.hyakumeiten):nth-child(2) .inner .image img:nth-child(1) {
  width: 75.2vw;
  top: 0;
  right: -6%;
}
.story_page ol li:not(.hyakumeiten):nth-child(2) .inner .image img:nth-child(2) {
  width: 71.2vw;
  bottom: 2%;
  left: -6%;
}
.story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image {
  padding: 89% 0;
}
.story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image img:nth-child(1) {
  width: 65vw;
  top: 0;
  left: -6%;
}
.story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image img:nth-child(2) {
  width: 65vw;
  top: 28%;
  right: -6%;
}
.story_page ol li:not(.hyakumeiten):nth-child(3) .inner .image img:nth-child(3) {
  width: 48vw;
  bottom: 0px;
  left: -6%;
}
.story_page ol li.hyakumeiten {
  background: rgba(235, 221, 196, 0.1);
}
.story_page ol li.hyakumeiten .inner {
  padding: 15% 0;
}
.story_page ol li.hyakumeiten .inner strong {
  font-size: 2rem;
  margin-bottom: 20px;
  display: block;
  text-align: center;
  line-height: 1.3;
}
.story_page ol li.hyakumeiten .inner ul {
  display: flex;
  /* flex-wrap: nowrap; */
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.story_page ol li.hyakumeiten .inner ul li {
  /* width: 32%; */
  width: 48%;
  margin-bottom: 3%;
}
.story_page ol li.hyakumeiten .inner ul li img {
  width: 100%;
}

/*==================================================
$company
==================================================*/
.company_page .heading_image {
  background: url(../img/company_heading_sp.jpg) no-repeat center/cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .company_page .heading_image {
    background: url(../img/company_heading_sp@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 dl {
  width: 90%;
  position: relative;
  padding: 5% 0;
  margin: auto;
}
.company_list ul li dl dt {
  width: 100%;
  margin-bottom: 5%;
}
.company_list ul li dl dd {
  width: 100%;
}

/* 220928 */
a.anchor {
  display: block;
  padding-top: 70px;
  margin-top: -70px;
}

/* 221012 */
.title.sp_title {
  margin-top: 23%;
}

/* 221124 */
.side_flo {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 40;
  display: none;
  filter: drop-shadow(0px 0px 7px #aaa);
}

.side_flo a {
  display: block;
}

/* .side_flo.active {
  opacity: 0;
  pointer-events: none;
} */

.side_flo img {
  width: 100%;
  max-width: 100%;
}

.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 {
  width: 70%;
  margin: auto;
}

/* 230214 */
.recruit_top {
  margin-top: 25%;
}

/* 230320 */
/* .recruit_top.privacy {
  margin-top: 8%;
} */

.voice_recruit_link.privacy p {
  margin-bottom: 8%;
}

.voice_recruit_link.privacy p strong {
  font-weight: bold;
  display: block;
  font-size: 16px;
  margin-bottom: 4%;
}

.footer_nav ul.privacy_link li {
  width: 40%;
  font-size: 3.4vw;
}

/* 230331 */
.category_list_wrap .inner > strong.shop_products_title {
  position: relative;
  top: auto;
  left: auto;
  margin-bottom: -30px;
  display: block;
}

/* 230417 */
.header_nav .sns.online_shop {
  margin: 0;
}

/* 230419 */
.onlone_box {
  margin: 15% 0;
}

.onlone_box .inner {
  padding: 10% 5% 7%;
  border: 3px solid #f5c551;
}

.onlone_box p {
  text-align: center;
  font-size: 16px;
  margin-bottom: 10%;
}

/* 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;
  font-size: 13px;
}

.news_banner:hover {
  opacity: 0.8;
}

/* 240131 */
.deli_404 .main_heading {
  text-align: center;
  margin-top: 20%;
}

.deli_404 .futura {
  display: block;
  font-size: 30px;
}

.deli_404 .notfound {
  text-align: center;
  margin: 15% auto;
}

.deli_404 .btn {
  margin-top: 15%;
}

/* 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: 13% 0 10% 0;
  text-align: center;
}
.under_gift .title {
  font-size: 6.2vw;
  margin: 0 20px 10px 20px;
  color: #fff;
}
.under_gift p {
  font-size: 1.3rem;
  margin: 0 22px;
  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: 2%;
}
.situation_gift h2.title {
  font-size: 1.1vw;
  padding-top: 2%;
  color: #382b25;
  font-weight: bold;
}

.situation_gift_step {
  padding-bottom: 10%;
}
.situation_gift_step h2.title {
  font-size: 1.1vw;
  padding-top: 2%;
  color: #382b25;
  font-weight: bold;
}

.flex_gift {
  margin: 9vw 20vw;
  /* margin: 20px 47px 20px 49px; */
}
.flex_gift_menu {
  margin: 22px 6vw;
}
.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: 50%;
}
.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: 43%;
}
.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: 62%;
}
.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: 47%;
}
.aid1 {
  font-size: 20px;
  color: #382b25;
  text-align: center;
  padding-top: 40vw;
  font-weight: bold;
  margin-bottom: 12%;
  border-bottom: 4px dotted #fff;
  padding-bottom: 25px;
}
.aid2 {
  font-size: 20px;
  color: #382b25;
  text-align: center;
  padding-top: 45vw;
  font-weight: bold;
  margin-bottom: 19%;
  border-bottom: 4px dotted #fff;
  padding-bottom: 25px;
}
.aid3 {
  font-size: 20px;
  color: #382b25;
  text-align: center;
  padding-top: 51vw;
  font-weight: bold;
  margin-bottom: 19%;
  border-bottom: 4px dotted #fff;
  padding-bottom: 25px;
}
.aid4 {
  font-size: 20px;
  color: #382b25;
  text-align: center;
  padding-top: 40vw;
  font-weight: bold;
  margin-bottom: 19%;
  border-bottom: 4px dotted #fff;
  padding-bottom: 25px;
}
.aid5 {
  font-size: 20px;
  color: #382b25;
  text-align: center;
  padding-top: 40vw;
  font-weight: bold;
  margin-bottom: 19%;
}
.products_area_gift3 {
  background-color: #e9e0c2;
  position: relative;
  box-shadow: 0 1px 7px 2px #7e7e7e;
  z-index: 6;
}
.situation_gift h2.title {
  font-size: 5.2vw;
  padding-top: 13%;
  color: #382b25;
  font-weight: bold;
  margin: 0 12px 40px 12px;
}
.situation_gift_step h2.title {
  font-size: 5.2vw;
  padding-top: 13%;
  color: #382b25;
  font-weight: bold;
  margin: 0 12px;
}
.title small.small {
  font-size: 14px;
}
li.size {
  margin: 31px auto;
  width: 85%;
}
/* step */
.products_area_gift4 {
  background-color: #f7ebd0;
  position: relative;
  box-shadow: 0 1px 7px 2px #7e7e7e;
  z-index: 4;
}
.step_wrap {
  position: relative;
}
li.step {
  text-align: center;
  margin-bottom: 6%;
  border-bottom: 4px dotted #fff;
}
.flex_gift_step {
  margin: 38px 8vw;
}

.step1 {
  width: 49%;
  margin: 7px auto 41px;
}
.step2 {
  width: 55%;
  margin: 2px auto 41px;
}
.step3 {
  width: 36%;
  margin: 8px auto 41px;
}
.step4 {
  width: 48%;
  margin: 5px auto 41px;
}
.step5 {
  width: 20%;
  margin: 10px auto 41px;
}
img.step_image1 {
  width: 100%;
}
img.step_image {
  width: 100%;
}
img.step_image3 {
  width: 100%;
}
img.step_image4 {
  width: 100%;
}

.step_image5 {
  width: 100%;
}

.wid {
  width: 100%;
  font-size: 17px;
  margin: 14px auto;
}

span.step-txt2 {
  position: absolute;
  bottom: -22px;
  left: 264px;
  width: 12.5%;
  font-size: 15px;
}
.header_nav .line {
  margin-left: 0 !important;
}

/* 250604 */
.instagram_area .title a {
  display: inline-block;
}

.instagram_area .title a span {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
