﻿@charset "UTF-8";

/* /////////////////////////////////////////////////////////////////////////////

 基本設定 + common.css 上書き

///////////////////////////////////////////////////////////////////////////// */

/* W2のSass再ビルドがあるため上書き記載 */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap');

html {
	scroll-behavior: smooth;
}
body {
	font-family: 'Noto Serif JP', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'ＭＳ Ｐ明朝', 'MS PMincho', sans-serif !important;
}

:root {
  --color-primary: #333;
  --color-gray-dark: #4c4c4c;
  --color-gray-middle: #BBB;
  --color-gray-light: #F8F8F8;
  --color-gold: #b5a96c;
  --color-beige: #f5f2ea;
}

@media screen and (min-width: 768px) {
  :root {
    --container-medium: 100rem;
    --container-small: 80rem;
  }
  .l-container-wrap__body {
    padding-bottom: 8rem;
  }
}
@media screen and (min-width: 992px) {
}

.l-container-fluid-md {
	padding-left: 1.6rem;
	padding-right: 1.6rem;
}
.l-container-fluid-lg ,
.l-container-md {
	width: 100%;
	max-width: var(--container-medium);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.6rem;
	padding-right: 1.6rem;
}
@media screen and (min-width: 768px) {
	.l-container-md ,
  .l-container-fluid-md {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

/* scroll */
.p-faq-section,
.p-guide-section,
.p-faq-title--sub#amazonpay ,
#store [id] ,
.s-featureContent-item [id] {
  scroll-margin-top: 120px;
}
#business [id] ,
#giftservice [id] {
  scroll-margin-top: 80px;
}
@media (max-width: 767px) {
  .p-faq-section,
  .p-guide-section,
  .p-faq-title--sub#amazonpay ,
  #business [id] ,
  #giftservice [id] ,
  #store [id] ,
  .s-featureContent-item [id] {
    scroll-margin-top: 140px;
  }
  #business [id] ,
  #giftservice [id] {
    scroll-margin-top: 110px;
  }
}


/* ヘッダー追加
------------------------------------------------------------- */

.s-header-wrap {
  display: block;
  padding: 0;
}
.s-header-wrap__info {
  padding: .5rem;
  background-color: var(--color-gold);
  color: var(--color-white);
  text-align: center;
}
.s-header-wrap .l-container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
}
.s-header-cateNavi {
  display: flex;
  align-items: center;
  height: 100%;
  font-size: min(1.6rem,5vw);
  font-weight: 400;
  line-height: 1.2;
}
.s-header-cateNavi__item {
  text-align: center;
}
.s-header-cateNavi__item:not(:last-child) {
  margin-right: 1.5rem;
  padding-right: 1.5rem;
  border-right: 1px solid var(--color-gray-dark);
}
.s-header-cateNavi__item a {
  display: block;
  text-align: center;
}
.s-header-cateNavi__item a:hover {
  opacity: .5;
}
.s-header-cateNavi__icon {
  overflow: hidden;
  display: block;
  width: 4.5rem;
  margin: 0 auto .35rem;
  border-radius: 50%;
}
.s-header_catNavi__label {
  display: block;
  white-space: nowrap;
}

@media screen and (max-width: 991px) {
  .s-header-navBlok__nav {
    padding: 0;
  }
  .s-header-categoryNav__navLabel {
    display: block;
    margin-top: -1px;
    padding: 1.4rem 1.5rem 1.4rem;
    background: var(--color-gray-light);
    font-size: 1.4rem;
    font-weight: 700;
  }
  .s-header-categoryNav__navLink.catePOG ,
  .s-header-categoryNav__navLink.catePUA ,
  .s-header-categoryNav__navLink.catePKA ,
  .s-header-categoryNav__navLink.catePJN ,
  .s-header-categoryNav__navLink.catePOS ,
  .s-header-categoryNav__navLink.catePKS ,
  .s-header-categoryNav__navLink.catePGO ,
  .s-header-categoryNav__navLink.catePKD ,
  .s-header-categoryNav__navLink.catePRS {
    float: left;
    width: calc((100% - 6rem) / 5);
    margin-bottom: 1rem;
    margin-left: 1rem;
  }
  .s-header-categoryNav__navLink.catePOG ,
  .s-header-categoryNav__navLink.catePUA ,
  .s-header-categoryNav__navLink.catePKA ,
  .s-header-categoryNav__navLink.catePJN ,
  .s-header-categoryNav__navLink.catePOS {
    margin-top: 1rem;
  }
  .s-header-categoryNav__navLink.catePOS ,
  .s-header-categoryNav__navLink.catePRS {
    margin-right: 1rem;
  }
  .s-header-categoryNav__navLink.catePOG a ,
  .s-header-categoryNav__navLink.catePUA a ,
  .s-header-categoryNav__navLink.catePKA a ,
  .s-header-categoryNav__navLink.catePJN a ,
  .s-header-categoryNav__navLink.catePOS a ,
  .s-header-categoryNav__navLink.catePKS a ,
  .s-header-categoryNav__navLink.catePGO a ,
  .s-header-categoryNav__navLink.catePKD a ,
  .s-header-categoryNav__navLink.catePRS a {
    padding: calc(100% - 1em) 0 0;
    border: 1px solid var(--color-gray);
    background: no-repeat center center;
    background-size: 70% auto;
    text-indent: -9999px;
    overflow: hidden;
    white-space: nowrap;
    line-height: 1;
  }
  .s-header-categoryNav__navLink.catePOG a {
    background-image: url(../img/common/logo__gohya.png);
  }
  .s-header-categoryNav__navLink.catePUA a {
    background-image: url(../img/common/logo__uma.png);
  }
  .s-header-categoryNav__navLink.catePKA a {
    background-image: url(../img/common/logo__kore.png);
  }
  .s-header-categoryNav__navLink.catePJN a {
    background-image: url(../img/common/logo__juku.png);
  }
  .s-header-categoryNav__navLink.catePOS a {
    background-image: url(../img/common/logo__jyou.png);
  }
  .s-header-categoryNav__navLink.catePKS a {
    background-image: url(../img/common/logo__kama.png);
  }
  .s-header-categoryNav__navLink.catePGO a {
    background-image: url(../img/common/logo__go.png);
  }
  .s-header-categoryNav__navLink.catePKD a {
    background-image: url(../img/common/logo__ga.png);
    background-size: auto 70%;
  }
  .s-header-categoryNav__navLink.catePRS a {
    background-image: url(../img/common/logo__sele.png);
  }
}
@media screen and (max-width: 767px) {
  .s-header-categoryNav__navLink.catePOG ,
  .s-header-categoryNav__navLink.catePUA ,
  .s-header-categoryNav__navLink.catePKA ,
  .s-header-categoryNav__navLink.catePJN ,
  .s-header-categoryNav__navLink.catePOS ,
  .s-header-categoryNav__navLink.catePKS ,
  .s-header-categoryNav__navLink.catePGO ,
  .s-header-categoryNav__navLink.catePKD ,
  .s-header-categoryNav__navLink.catePRS {
    width: calc((100% - 4rem) / 3);
    margin-top: 0;
    margin-bottom: 1rem;
    margin-left: 1rem;
    margin-right: 0;
  }
  .s-header-categoryNav__navLink.catePOG ,
  .s-header-categoryNav__navLink.catePUA ,
  .s-header-categoryNav__navLink.catePKA {
    margin-top: 1rem;
  }
  .s-header-categoryNav__navLink.catePKA ,
  .s-header-categoryNav__navLink.catePKS ,
  .s-header-categoryNav__navLink.catePRS {
    margin-right: 1rem;
  }
}
@media screen and (min-width: 992px) {
  .s-header-categoryNav__navLabel {
    display: none;
  }
  .s-header-categoryNav:hover {
    border-color: transparent;
  }
  .s-header-categoryNav__head:hover {
    font-weight: 600;
    opacity: 1;
    transition: none;
  }
  .s-header-categoryNav__body {
    background: rgba(255, 255, 255, .95);
  }
}
@media screen and (max-width: 991px) {
  .s-header {
    height: 15rem;
  }
  .s-header-wrap {
    height: 15rem;
  }
  .s-header-wrap .l-container {
    padding: 0;
    flex-wrap: wrap;
  }
  .s-header-wrap__nav {
    top: 4rem;
  }
  .s-header-wrap__logo {
    padding-top: .5rem;
  }
  .s-header-navBlok__nav {
    top: 9rem;
    height: calc(100vh - 8rem);
  }
  .s-header-wrap__utility {
    top: 4rem;
    width: 12rem;
  }
  .s-header-cateNavi.pc {
    display: none;
  }
  .s-header-cateNaviWrap {
    width: 100%;
    height: 6rem;
    margin-top: .7rem;
    margin-bottom: -.5rem;
    padding: 1rem 0;
    border-top: 1px solid var(--color-gray);
    border-bottom: 1px solid var(--color-gray);
  }
  .s-header-cateNavi {
    width: 100%;
    justify-content: center;
    padding: 0 1rem;
  }
  .s-header-cateNavi__item {
    flex: 1;
  }
  .s-header-cateNavi__icon {
    width: 4rem;
  }
  .s-header-userNav.active {
    visibility: visible;
    transform: translate(0, 0);
  }
}
@media screen and (min-width: 992px) {
  .s-header {
    height: 12rem;
  }
  .s-header-wrap {
    height: 12rem;
  }
  .s-header-wrap__logo {
    width: 10rem;
    margin-right: 3rem;
    padding: 1rem 0;
  }
  .s-header-contentsNavBlock {
    height: auto;
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .u-slash-left--pc::before  {
    display: inline-block;
    content: '/';
    margin-right: 1rem;
  }
  .s-header-categoryNav__head {
    font-size: min(1.4rem,5vw);
    line-height: 1.2;
  }
  .s-header-categoryNav__body {
    top: 7rem;
  }
  .s-header-userNav ,
  .s-header-miniCart {
    top: 12rem;
    height: calc(100vh - 12rem);
  }
  .s-header-userNav__title {
    font-size: 1.2rem;
    font-family: inherit;
  }
  .s-header-userNav__navLink > a {
    font-size: 1.2rem;
  }
  .s-header-utilityList__icon {
    position: relative;
  }
  .s-header-utilityList__icon::after {
    position: absolute;
    display: block;
    width: calc(100% + 1rem);
    margin: 0 -.5rem;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
  }
  .s-header-utilityList {
    margin-bottom: 1.5rem;
    gap: 0 2rem;
  }
  .s-header-utilityList__icon.login::after {
    content: 'ログイン';
  }
  .s-header-utilityList__icon.mypage::after {
    content: 'マイページ';
  }
  .s-header-utilityList__icon.fav::after {
    content: 'お気に入り';
  }
  .s-header-utilityList__icon--cart::after {
    content: '　カート';
  }
  .s-header-cateNaviWrap {
    display: none;
  }
}

/* パンくず */
.m-breadcrumb {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .m-breadcrumb {
    overflow: hidden;
    white-space: normal;
  }
  .c-breadcrumb-list ,
  .c-breadcrumb-item ,
  .c-breadcrumb-item__link {
    display: inline;
  }
  .c-breadcrumb-item:not(:last-child):after {
    display: inline;
    background-position: left center;
  }
  .c-breadcrumb-list {
    width: auto;
  }
}

/* サイド
------------------------------------------------------------- */

.m-productNavTitleList + .m-productNavTitleList {
  clear: both;
}
.s-header-categoryNav__navlist::after ,
.m-productNavTitleList::after {
	content : '';
	display : block;
	clear : both;
	height: 0;
}

.m-productNavList-category__label {
  clear: both;
  margin-bottom: 1.3rem;
  padding: .5rem 1rem;
  background-color: var(--color-gray-light);
  font-size: 1.6rem;
  font-weight: 600;
}
.m-productNavList-category + .m-productNavList-category__label {
  margin-top: 1.3rem;
}

.m-productNavList-category.catePOG ,
.m-productNavList-category.catePUA ,
.m-productNavList-category.catePKA ,
.m-productNavList-category.catePJN ,
.m-productNavList-category.catePOS ,
.m-productNavList-category.catePKS ,
.m-productNavList-category.catePGO ,
.m-productNavList-category.catePKD ,
.m-productNavList-category.catePRS {
  width: calc(50% - .5rem);
  margin-bottom: 1rem;
}
.m-productNavList-category.catePOG ,
.m-productNavList-category.catePKA ,
.m-productNavList-category.catePOS ,
.m-productNavList-category.catePGO ,
.m-productNavList-category.catePRS {
  float: left;
}
.m-productNavList-category.catePUA ,
.m-productNavList-category.catePJN ,
.m-productNavList-category.catePKS ,
.m-productNavList-category.catePKD {
  float: right;
}

.m-productNavList-category.catePOG a ,
.m-productNavList-category.catePUA a ,
.m-productNavList-category.catePKA a ,
.m-productNavList-category.catePJN a ,
.m-productNavList-category.catePOS a ,
.m-productNavList-category.catePKS a ,
.m-productNavList-category.catePGO a ,
.m-productNavList-category.catePKD a ,
.m-productNavList-category.catePRS a {
  padding: calc(100% - 1em) 0 0;
  border: 1px solid var(--color-gray);
  background: no-repeat center center;
  background-size: 70% auto;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  line-height: 1;
}
.m-productNavList-category.catePOG a {
  background-image: url(../img/common/logo__gohya.png);
}
.m-productNavList-category.catePUA a {
  background-image: url(../img/common/logo__uma.png);
}
.m-productNavList-category.catePKA a {
  background-image: url(../img/common/logo__kore.png);
}
.m-productNavList-category.catePJN a {
  background-image: url(../img/common/logo__juku.png);
}
.m-productNavList-category.catePOS a {
  background-image: url(../img/common/logo__jyou.png);
}
.m-productNavList-category.catePKS a {
  background-image: url(../img/common/logo__kama.png);
}
.m-productNavList-category.catePGO a {
  background-image: url(../img/common/logo__go.png);
}
.m-productNavList-category.catePKD a {
  background-image: url(../img/common/logo__ga.png);
  background-size: auto 70%;
}
.m-productNavList-category.catePRS a {
  background-image: url(../img/common/logo__sele.png);
}

/* calener
-----------------------------------------------------------*/

.cal_wrapper {
	padding: 1.5rem 0 0;
	flex-grow: 1;
}
.cal_wrapper table.cal {
	width: 100%;
	border-collapse: collapse;
}
.cal_wrapper table.cal tr th p {
	padding: 0 0 4px;
	font-weight: normal;
}
.cal_wrapper table.cal tr th .cal_ui {
	display: none;
}
.cal_wrapper table.cal tr td {
	padding: 0;
	border: solid 1px var(--color-gray);
	text-align: center;
	vertical-align: top;
	line-height: 1.2;
}
.cal_wrapper table.cal tr.headline {
	background: var(--color-gray-dark);
  color: var(--color-white);
}
.cal_wrapper table.cal tr.headline td {
	padding: 8px 0;
}
.cal_wrapper table.cal tr td div {
	position: relative;
	padding: 4px 0;
	text-align: center;
}
.cal_wrapper table.cal tr td div span {
	display: none;
	position: absolute;
	top: 20px;
	left: 50%;
	padding: 8px;
	width: 100px;
	border: solid 1px var(--color-gray-light);
	background: var(--color-white);
	box-shadow: 1px 1px 2px #999;
	z-index: 10;
	text-align: center;
}

/* 日にちクラス指定 */
.cal_wrapper table.cal tr.headline td:last-child {
	color: var(--color-blue);
}
.cal_wrapper table.cal tr td .Sat ,
.cal_wrapper table.cal tr td .Sat.holyday {
	color: var(--color-blue);
}
.cal_wrapper table.cal tr.headline td:first-child {
	color: var(--color-red);
}
.cal_wrapper table.cal tr td .Sun ,
.cal_wrapper table.cal tr td .Sun.holyday {
	color: var(--color-red);
	background: var(--color-gray);
}
.cal_wrapper table.cal tr td .Today {
	font-weight: bold;
}
.cal_wrapper table.cal tr td .day {
	color: var(--color-red);
}
.cal_wrapper table.cal tr td .holyday {
	background: var(--color-gray);
}
.cal_wrapper table.cal tr td .workday {
	background: transparent;
}
.cal_info .holyday {
	display: inline-block;
	margin-left: 4px;
	padding: 4px 10px;
	background: #EEE;
}


/* フッター
------------------------------------------------------------- */

.s-footer__logo {
  margin: 0 auto 40px;
}
.s-footer__logo a {
  display: block;
  width: 197px;
  max-width: 40%;
  margin: auto;
}
.s-footer__nav {
  width: 65%;
  margin: 0 auto;
  font-size: 1.5rem;
}
.s-footer-navi li {
  margin-bottom: .25em;
}
.s-footer-navi a {
  display: block;
  padding: .25em 0;
}
.s-footer-navi a::before {
  display: inline-block;
  content: '\203A';
  margin-right: .5em;
}
@media screen and (max-width: 767px) {
  .s-footer {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 768px) {
  .s-footer__nav {
    width: auto;
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 992px) {
  .s-footer {
    padding: 6rem 2rem;
  }
  .s-footer-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 5rem;
  }
  .s-footer__logo {
    width: 360px;
    max-width: 35%;
    margin-right: 4rem;
    margin-bottom: 0;
  }
  .s-footer__nav {
    flex: 1;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin-bottom: 0;
  }
  .s-footer-snsNav {
    float: right;
  }
}

/* 商品一覧
------------------------------------------------------------- */

/* サムネイルの縦横比 */
.c-product-head__picture::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.c-product-head__image {
  object-fit: cover;
}
.c-product-body__title-name {
  font-size: min(1.4rem,3vw)!important;
}
/* icon */
.c-product-head__rank {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25em;
  padding: 4px 0;
  background-color: transparent;
  color: var(--color-white);
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 200;
  text-align: center;
  line-height: 1;
}
.p-homeGifSection .c-product-head__rank ,
#business .c-product-head__rank {
  display: none;
}
.c-product-head__rank::before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 2.25em;
  height: 2.25em;
  background-color: var(--color-orange);
  clip-path: polygon(0 0, 100% 0%, 0 100%); /* 右向き */
}
.c-product-head__rankNum {
  position: relative;
}

@media screen and (max-width: 767px) {
  /* トップページスマホ3列 */
  .m-productLineHome__item ,
  .m-productLineHome-col2-md5__item {
    width: calc((100% - 3rem) / 3 );
  }
  .m-productLineHome__item:nth-child(n+4) ,
  .m-productLineHome-col2-md5__item:nth-child(n+4) {
    display: none;
  }
}
@media screen and (min-width: 576px) {
  .m-productLineHome-col2-md5 {
    gap: 3.5rem 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-homeGifSection .m-productLineHome-col2-md5__item {
    width: calc((100% - 4rem) / 3);
  }
}
@media screen and (min-width: 992px) {
  /* 商品一覧用 */
  .m-productLine__item {
    width: calc(33.33333% - 1.515rem);
  }
}


/* aboutページなど カバー画像
------------------------------------------------------------- */

.l-pageCover__image {
  width: 100%;
  height: 72.4vw;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.l-pageCover.about .l-pageCover__image {
  background-image: url(../img/about/main_img-sp.jpg);
}
.l-pageCover.store .l-pageCover__image {
  background-image: url(../img/store/store_cover_sp.png);
}
@media (min-width: 768px) {
  .l-pageCover__image {
    height: 300px;
  }
  .l-pageCover.about .l-pageCover__image {
    background-image: url(../img/about/main_img-pc.jpg);
  }
  .l-pageCover.store .l-pageCover__image {
    background-image: url(../img/store/store_cover_pc.png);
  }
}


/* セクション / タイトル / テキスト
------------------------------------------------------------- */

.s-type-guide {
	font-size: 1.4rem;
}

.c-section {
  display: block;
  padding-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-section {
    padding-top: 5rem;
  }
}

/* home用タイトルと共有 */
.p-homeSection__title ,
.c-section__title {
  display: block;
  margin-bottom: 2rem;
  font-size: 2rem;
  font-family: inherit;
  font-weight: 600;
  text-align: center;
}
.c-section__title.hide {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-homeSection__title ,
  .c-section__title {
    font-size: 2.5rem;
  }
}

.c-heading__title ,
.c-section__title_bg {
  margin-bottom: 2rem;
  padding: 2rem 1rem;
  background: var(--color-gray-light);
  font-weight: 700;
  font-size: 1.8rem;
}

.c-section__title_uul {
  margin-bottom: 2rem;
  padding: 2rem 1rem;
	border-top: solid 1px var(--color-gray-middle);
	border-bottom: solid 1px var(--color-gray-middle);
  font-weight: 700;
  font-size: 1.8rem;
}

.c-section__title_ul {
  margin-bottom: 2rem;
  padding: .5rem 1rem 1rem;
	border-bottom: double 6px var(--color-gray-middle);
  font-weight: 700;
  font-size: 1.8rem;
}

.c-section__title_ul--red {
  margin-bottom: 2rem;
  padding: .5rem 1rem 1rem;
	border-bottom: solid 2px var(--color-red);
  font-weight: 700;
  font-size: 1.8rem;
}

.c-section__subtitle {
  margin: 1.5em auto 2em;
}
.c-section__subtitle.ul {
  padding-bottom: .5em;
	border-bottom: solid 1px var(--color-gray-middle);
}
.c-section__subtitle span {
  border-left: solid 5px var(--color-gold);
  font-size: 1.8rem;
  padding: 0 0 0 10px;
}
.c-section__subtitle span.gy {
  border-left: solid 5px var(--color-gray-middle);
}

.c-section__minor-title {
  margin-bottom: 1.5em;
  font-size: 1.8rem;
  color: var(--color-gold);
  font-weight: 700;
}

.c-section__text {
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 1.4rem;
  line-height: 1.8;
}
.c-section__text p:not(:last-child) {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .c-section__text {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.u-linkStyle ,
.u-linkStyle:visited {
  color: var(--color-blue-heavy, #0075a9); /* 変数がなければ青 */
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.u-underline {
  text-decoration: underline;
}
.u-underline:hover {
  text-decoration: none;
}
.u-underline-red {
  text-decoration: underline;
  text-decoration-color: var(--color-red);
  text-decoration-thickness: 1px; /* 任意で調整可能 */
  text-underline-offset: 2px;     /* 任意で下げ具合を調整 */
}
.u-fontSize-lg {
  font-size: 1.6rem;
}
.u-inline-block {
  display: inline-block;
}

/* リスト
------------------------------------------------------------- */

.c-dotList {
  margin: .5em 0 1em;
  padding-left: 1.5em;
}
.c-dotList li {
  list-style: disc;
  margin-bottom: .25em;
}


/* 画像box
------------------------------------------------------------- */

.c-imageBox {
	margin-bottom: 1rem;
	text-align: center;
}
.c-imageBox img {
	margin-bottom: 1rem;
	display: inline-block;
}


/* 汎用ボタン
------------------------------------------------------------- */

.c-btnArea__center {
  margin-top: 3rem;
  margin-bottom: 3rem;
  text-align: center;
}
.c-btn {
  min-width: 280px;
  padding: 1.5rem 2em;
  border-radius: 0;
  font-size: min(1.8rem,5vw);
  font-weight: 600;
}
.c-btn:hover {
  border: 1px solid var(--color-gray-middle);
  background-color: var(--color-gray-middle);
  color: var(--color-primary);
}
@media (hover: hover) {
  .c-btn:hover {
    opacity: 1;
  }
}
.c-btn + .c-btn {
  margin-top: .5em;
}
.c-btn--gift::before {
  display: inline-block;
  content: '';
  width: 1.25em;
  height: 1.25em;
  margin-top: -.35em;
  margin-right: .5em;
	background: no-repeat left top;
	background-image: url('data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20240%20280%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m16.3%20275.9c0%202.3%201.9%204.1%204.1%204.1h87.5v-110.3h-91.6z%22%2F%3E%3Cpath%20d%3D%22m131.9%20280h87.5c2.3%200%204.1-1.9%204.1-4.1v-106.2h-91.7v110.3z%22%2F%3E%3Cpath%20d%3D%22m235.8%2090.9h-68.6c15.4-4.2%2033.8-11.9%2042.7-25.8%2014.9-22.9%208.7-42.5-2.1-53.1-14.4-14.2-37.7-16-55.4-4.3-16.6%2011-20.9%2028.7-24.6%2044.3-2.1%208.8-4%2016.7-7.7%2022-3.7-5.3-5.6-13.2-7.7-22-3.8-15.6-8-33.3-24.6-44.3-17.8-11.7-41.1-9.9-55.4%204.3-10.8%2010.7-17%2030.2-2.1%2053.1%209%2013.8%2027.4%2021.5%2042.7%2025.8h-68.9c-2.3%200-4.1%201.9-4.1%204.1v53.8c0%202.3%201.9%204.1%204.1%204.1h103.9v-49.7h23.9v49.7h103.9c2.3%200%204.1-1.9%204.1-4.1v-53.8c0-2.3-1.9-4.1-4.1-4.1zm-90.8-34.8c3.3-13.6%206.4-26.5%2017.2-33.6%205-3.3%2010.4-4.7%2015.5-4.7s13.6%202.8%2017.7%206.8c7.6%207.6%207.5%2018.8-.3%2030.9-5.3%208.1-18.5%2015.1-37.1%2019.5-7.4%201.7-14.2%202.8-19.9%203.3%203.3-6.8%205.2-14.6%207-22.2zm-100.1-.6c-7.8-12.1-7.9-23.3-.3-30.9%204.1-4.1%2010.6-6.8%2017.7-6.8s10.4%201.4%2015.5%204.7c10.8%207.1%2013.9%2020%2017.2%2033.6%201.8%207.6%203.7%2015.3%207%2022.2-5.7-.6-12.6-1.6-19.9-3.3-18.7-4.4-31.8-11.3-37.1-19.5z%22%2F%3E%3C%2Fsvg%3E');
	background-size: auto 100%;
  vertical-align: middle;
}
.c-btn--dgray-border {
  border-color: var(--color-gray-dark);
  background-color: var(--color-white);
  color: var(--color-gray-dark) !important;
}
.c-btn--dgray-border:hover {
  opacity: 1;
  background-color: var(--color-gray-dark);
  color: var(--color-white) !important;
}
.c-btn--beige {
	border: none;
	background-color: var(--color-beige);
	color: var(--color-gray-dark) !important;
}
.c-btn--beige:hover {
	opacity: .5;
}
.c-btn--derail {
  padding: .75rem 2em;
	background-color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 0.8rem;
	color: var(--color-white) !important;
  font-size: min(1.6rem,4.5vw);
}
.c-btn--line {
  padding: .75rem 2em;
	background-color: var(--color-line);
	border: 1px solid var(--color-line);
	border-radius: 0.8rem;
	color: var(--color-white) !important;
  font-size: min(1.6rem,4.5vw);
}
@media screen and (min-width: 768px) {
  .c-btn ~ .c-btn {
    margin-top: 0;
    margin-left: .5em;
  }
}


/* ベタの商品
------------------------------------------------------------- */

.c-selectedProducts {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.2em;
	margin: 2em 0 3em;
}
.c-selectedProducts__item {
	width: calc((100% - 1.2em) / 2);
}
.c-selectedProducts__item a {
	display: block;
}
.c-selectedProducts__item .img {
	margin-bottom: 1em;
}
.c-selectedProducts__item .name {
	margin-bottom: .5em;
}
.c-selectedProducts__item .price {
	color: var(--color-red);
}
@media screen and (min-width: 768px) {
	.c-selectedProducts__item {
		width: calc((100% - 3.6em) / 4);
	}
}

/* 商品ブロック縦積み */
.c-selectedProductsStack {
	margin-bottom: 2em;
}
.c-selectedProductsStack.slim {
  max-width: 800px;
  margin: 0 auto 2em;
}
.c-selectedProductsStack a:hover img {
  opacity: .5;
}
.c-selectedProductsStack h4 {
  margin-bottom: .5em;
  font-size: 1.5rem;
  font-weight: 600;
}
.c-selectedProductsStack_image img {
  border: 1px solid var(--color-gray);
}
.c-selectedProductsStack .price_box {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-selectedProductsStack_image {
    margin-bottom: 1.5rem;
  }
  .c-selectedProductsStack_text {
    margin-bottom: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
	.c-selectedProductsStack {
		display: flex;
    align-items: center;
		flex-wrap: nowrap;
	}
	.c-selectedProductsStack_image {
		width: 240px;
		margin-right: 2em;
	}
	.c-selectedProductsStack_text {
		flex: 1;
	}
	.c-selectedProductsStack_cart {
    width: 15em;
		margin-left: 2em;
	}
}


/* modal
------------------------------------------------------------- */

.modal_wrap {
  position: absolute;
  height: 0;
}
.modal_wrap input {
  display: none;
}
.modal_wrap label {
  text-decoration: none;
}
.modal_layer {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999999;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}
.modal_layer_close {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
.modal_content {
  position: relative;
  align-self: center;
  width: 90%;
  max-width: 1360px;
  max-height: 80%;
  transform: scale(0.3);
  transition: 0.15s;
}
.modal_content.user {
  max-width: 400px;
}
.modal_close_button {
  position: fixed;
  cursor: pointer;
  top: -15px;
  right: -15px;
  width: 60px;
  height: 60px;
  padding: 5px;
  border-radius: 50%;
  border: 2px solid var(--color-white);
  background: #333;
  color: var(--color-white);
  font-size: 50px;
  line-height: 36px;
  text-align: center;
  z-index: 10;
}
.modal_content_inner {
  overflow: hidden;
  background: var(--color-white);
}
.modal_content.user .modal_content_inner {
  border-radius: 4px;
}
.modal_wrap input:checked + .modal_layer {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}
.modal_wrap input:checked + .modal_layer .modal_content {
  transform: scale(1);
}

.modal_content_head {
  display: block;
  position: relative;
  background: var(--color-gray-light);
  padding: 2rem 10rem;
  border-radius: 4px 4px 0 0;
  text-align: center;
}
.modal_content_head .modal_close_min {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  padding: 0 1.5rem;
  line-height: 1;
  font-size: 1.5rem;
  color: var(--color-primary);
  cursor: pointer;
}
.s-header-userNav {
  padding: 0;
}
.s-header-userNav__navLink a {
  padding-left: 1rem;
}

/* なんか注意文小さい */
.c-formInput-item__alert {
  font-size: 1.6rem;
}


/* /////////////////////////////////////////////////////////////////////////////

 ページCSS

///////////////////////////////////////////////////////////////////////////// */

/*------------------------------------------------------------------------------

 トップ home index top

------------------------------------------------------------------------------*/

.p-page-home {
  padding-bottom: 2rem;
}

.p-homeSection .c-btnArea__center {
  margin-bottom: 0;
}

/* mv */
.m-homeMainVisual {
  overflow: hidden;
}
.m-homeMainVisual .m-featureSlide-container ,
.m-homeMainVisual__container {
  width: 100%;
  background-color: var(--color-gray-light);
}

@media screen and (max-width: 767px) {
  .m-homeMainVisual {
    margin-bottom: -30px;
  }
  .m-homeMainVisual .m-featureSlide-slidePagination {
    margin-top: 1rem;
    gap: 1rem;
  }
  .m-homeMainVisual .m-featureSlide-slidePagination__item {
    width: 1rem;
    height: 1rem;
  }
  .m-homeMainVisual-slideController ,
  .m-homeMainVisual .m-featureSlide-slideController {
    display: none!important;
  }
}
@media screen and (min-width: 768px) {
  .m-homeMainVisual {
    margin-bottom: -50px;
  }
}
@media screen and (min-width: 881px) {
  .m-homeMainVisual .m-homeMainVisual_width  {
    position: relative;
    overflow: visible;
    width: 920px;
    max-width: 100vw;
    margin: 0 auto;
  }
  .m-homeMainVisual__container ,
  .m-homeMainVisual .m-featureSlide-container {
    overflow: visible;
  }
  .m-homeMainVisual .swiper-slide {
    opacity: .5;
  }
  .m-homeMainVisual .swiper-slide.swiper-slide-active {
    opacity: 1;
  }
}
@media screen and (min-width: 941px) {
  .m-homeMainVisual-slideController__next ,
  .m-homeMainVisual .m-featureSlide-slideController__next {
    right: -2.5rem;
  }
  .m-homeMainVisual-slideController__prev ,
  .m-homeMainVisual .m-featureSlide-slideController__prev {
    left: -2.5rem;
  }
}

/* news */
.p-homeNewsList-body__title {
	overflow: hidden;
  height: 1.8rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* banner */
.c-productBnr {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.c-productBnr__item {
  width: calc((100% - 1rem) / 2);
}
@media screen and (min-width: 992px) {
  .c-productBnr {
    gap: 2rem;
  }
  .c-productBnr__item {
    width: calc((100% - 4rem) / 3);
  }
}

.p-home__giftSection {
  margin-bottom: 5em;
}

/* cate list */
.c-cateBnr ,
.c-cateTextBnr {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.c-cateBnr .c-cateBnr__item ,
.c-cateTextBnr .c-cateBnr__item {
  width: calc((100% - 1.6rem) / 2);
}
.c-cateTextBnr.temp .c-cateBnr__item {
  width: calc((100% - 3.2rem) / 3);
}
.c-cateBnr .c-cateBnr__item a {
  position: relative;
  overflow: hidden;
  display: block;
  font-size: min(1.8rem,3.5vw);
  text-align: center;
}
.c-cateTextBnr .c-cateBnr__item a {
  display: block;
  padding: .75em .75em;
  border: 1px solid var(--color-gray);
  font-size: min(1.8rem,4vw);
  text-align: center;
}
.c-cateBnr .c-cateBnr__item a:hover {
  opacity: .5;
}
.c-cateTextBnr .c-cateBnr__item a:hover {
  border-color: var(--color-gray-dark);
  background-color: var(--color-gray-dark);
  color: var(--color-white) !important;
}
.c-cateBnr.purpose .c-cateBnr__text {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 2rem .5rem .5rem;
  background: rgba(255, 255, 255, 0.7);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.7) 65%, rgba(255, 255, 255, 0) 100%);
}
.c-cateBnr.category .c-cateBnr__text {
  margin-top: .5rem;
}
.c-cateBnr .c-cateBnr__text b {
  display: block;
}
.c-cateBnr .c-cateBnr__text small {
  display: block;
  font-size: 75%;
}
@media screen and (min-width: 768px) {
  .c-cateBnr ,
  .c-cateTextBnr {
    gap: 2rem;
  }
  .c-cateBnr .c-cateBnr__item {
    width: calc((100% - 4rem) / 3);
  }
  .c-cateTextBnr.temp .c-cateBnr__item {
    width: calc((100% - 4rem) / 3);
  }
  .c-cateTextBnr.prices .c-cateBnr__item {
    width: calc((100% - 6rem) / 4);
  }
  .c-cateBnr.purpose .c-cateBnr__item a {
    position: relative;
    padding-top: 45%;
  }
  .c-cateBnr.purpose .c-cateBnr__bgimg {
    position: absolute;
    top: -50%;
    left: 0;
    width: 100%;
  }
}
@media screen and (min-width: 992px) {
  .c-cateBnr.category .c-cateBnr__item {
    width: calc((100% - 8rem) / 5);
  }
}

/* logo list */
.c-brandLogoList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.c-brandLogoList li {
  width: calc((100% - 3.2rem) / 3);
}
.c-brandLogoList a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 10rem;
  height: 100%;
  padding: 1rem;
  border: 1px solid var(--color-gray);
}
.c-brandLogoList a:hover {
  opacity: .5;
}
.c-brandLogoList a .logo {
  display: block;
}
.c-brandLogoList a .logo img {
  max-height: 6rem;
}
@media screen and (min-width: 768px) {
  .c-brandLogoList {
    margin-bottom: 6rem;
  }
  .c-brandLogoList a {
    min-height: 20rem;
    padding: 2rem;
  }
  .c-brandLogoList a .logo img {
    max-height: 12rem;
  }
}
@media screen and (min-width: 992px) {
  .c-brandLogoList li {
    width: calc((100% - 6.4rem) / 5);
  }
  .c-brandLogoList a {
    min-height: 20rem;
    padding: 2rem;
  }
  .c-brandLogoList a .logo img {
    max-height: 12rem;
  }
  .p-productListWrap__sideNav .c-brandLogoList {
    justify-content: flex-start;
    gap: 1rem;
  }
  .p-productListWrap__sideNav .c-brandLogoList li {
    width: calc((100% - 1rem) / 2);
  }
  .p-productListWrap__sideNav .c-brandLogoList a {
    min-height: 10rem;
    padding: 1rem;
  }
  .p-productListWrap__sideNav  .c-brandLogoList a .logo img {
    max-height: 6rem;
  }
}

.c-wrappingBanner {
  margin: 0 auto;
}
.c-wrappingBanner_item {
  margin-bottom: 2em;
}
.c-wrappingBanner_item a {
  display: block;
  border: 1px solid var(--color-gray);
}
.c-wrappingBanner_item a:hover {
  opacity: .5;
}
.c-wrappingBanner__text {
  padding: 1em;
}
.c-wrappingBanner__text .icon {
  display: inline-block;
  margin-bottom: .5em;
  padding: .25em 1.5em;
  border-radius: 50vh;
  background-color: var(--color-gray);
  font-size: 1.2rem;
}
.c-wrappingBanner__text h3 {
  margin-bottom: .5em;
  font-size: 2rem;
}
.c-wrappingBanner__text p {
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .c-wrappingBanner {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }
  .c-wrappingBanner_item {
    width: 50%;
    padding: 0 10px 20px;
  }
  .c-wrappingBanner_item a {
    height: 100%;
  } 
}

.p-memmberInvite {
  padding: 2rem 1.5rem;
  background-color: var(--color-beige);
}
.p-memmberInvite__text {
  padding: 2rem;
  background-color: var(--color-white);
}
.p-memmberInvite .c-btnArea__center {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .p-memmberInvite {
    padding: 4rem 4rem;
  }
  .p-memmberInvite__text {
    padding: 3rem;
    font-size: 1.6rem;
    text-align: center;
  }
}

.p-newsList-title {
  font-family: inherit;
}


/*------------------------------------------------------------------------------

 blog / feature.css 上書き blog.css上書き 書き足し

------------------------------------------------------------------------------*/

#upper-contents-area ,
#lower-contents-area ,
#shop_introduction {
  font-size: 1.6rem;
}
#page-title h1 {
  margin: 3rem auto!important;
  font-size: 2.4rem!important;
  font-weight: 600;
  border: none;
}
/* 本文 */
#upper-contents-area .cmn-txt ,
#lower-contents-area .cmn-txt ,
#shop_introduction .cmn-txt {
  font-size: inherit;
  line-height: unset;
}
#upper-contents-area .layout_txt,
#shop_introduction .layout_txt {
  margin: 0 auto 3rem;
}

#lower-contents-area {
  margin-top: 4rem;
}

/* もくじ */
.c-toc {
  background: var(--color-gray-light);
  padding: 1.5em;
  margin-bottom: 2em;
}
.c-toc-title {
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 1.1em;
}
.c-toc-list {
  counter-reset: item;
  margin: 0;
  padding-left: 1em;
}
.c-toc-list ul {
  counter-reset: sub-item;
  margin-top: 0.3em;
  padding-left: 1em;
}
.c-toc-list > li {
  position: relative;
  counter-increment: item;
  margin: 0.3em 0;
}
.c-toc-list ul li {
  position: relative;
  counter-increment: sub-item;
  margin: 0.3em 0;
}
.c-toc-list > li::before {
  content: counters(item, ".") ". ";
  position: absolute;
  left: -1.5em;
  color: #555;
}
.c-toc-list ul li::before {
  content: "(" counter(sub-item) ") ";
  position: absolute;
  left: -1.5em;
  color: #555;
}
.c-feature-section {
  margin-top: -10rem;
  padding-top: 10rem;
}
/* 左画像の汎用ブロック */
.c-feature-media {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.5rem;
  max-width: 520px;
  margin: 0 auto 2em;
}
.c-feature-media__image {
  flex: 0 0 200px;
}
.c-feature-media__image img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.c-feature-media__body {
  flex: 1;
  min-width: 0;
}
.c-feature-media__body > *:not(:first-child) {
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  .c-feature-media {
    flex-direction: column;
  }
  .c-feature-media__image {
    width: 100%;
    flex: none;
  }
}
/* 商品ブロック */
.m-featureProductList {
  padding: 0;
}
.m-featureProductListLine__item {
  width: 70%;
  margin-bottom: 2rem;
}
.m-featureProductListLine__item .p-productSkuBottomBtn .c-btn-favorit {
  padding: 0;
  border: 0;
}
.m-featureProductList-pager {
  display: none;
}
@media screen and (min-width: 768px) {
  .m-featureProductList {
    padding: 0;
  }
  .m-featureProductListLine {
    display: block;
    max-width: 520px;
    margin: auto;
  }
  .m-featureProductListLine__item {
    width: auto!important;
  }
  .m-featureProductListLine__item .c-product {
    display: flex;
  }
  .m-featureProductListLine__item .c-product:not(:last-child) {
    margin-bottom: 3em;
  }
  .m-featureProductListLine__item .c-product-head {
    width: 240px;
    max-width: 40%;
    margin-right: 2em;
  }
  .m-featureProductListLine__item .c-product-body {
    flex: 1;
  }
}
#shop_introduction .c-btnArea__center {
  margin-bottom: 2em;
}


/*商品詳細
------------------------------------------------------------------------------*/

.m-productDetailImg-container {
  aspect-ratio: 3 / 2;
}
.p-productDetaiMain-guideTabBox-detailText {
  padding: 0;
}


/*------------------------------------------------------------------------------

 お問い合わせ inquiry

------------------------------------------------------------------------------*/

.m-formHeading-body {
  margin-left: 0;
  margin-right: 0;
}
.m-formHeading-head__title {
  padding-left: 0;
  padding-right: 0;
}

.m-formHeading-headupper {
  margin-bottom: 2rem;
}
.m-formHeading-headupper__lead .c-btn {
  margin-top: 1rem;
}

/*------------------------------------------------------------------------------

 カート cart

------------------------------------------------------------------------------*/

/* 注文者情報:変更するかどうか */
.p-orderShippingInfo {
  padding: 0;
}
.m-orderSect-button .c-btn-fluid--gray {
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}

.m-orderUseDiscount-selectBox__couponBox .c-btn {
  min-width: auto;
}
.m-orderUseDiscount-selectBox {
  gap: 2rem;
}
.m-orderUseDiscount-selectBox__select ,
.m-orderUseDiscount-selectBox__couponBox {
  width: calc(50% - 1rem);
}
.m-modalBoxSet__btn .c-btn {
  border-radius: 0.8rem;
}

.s-orderContent-sepWrap__entry--cartUseDiscount .m-orderUseDiscount:nth-child(2) {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-orderConfirm-userInfo .c-orderSect-info__title {
    width: 24%;
  }
}


/* カート / フォーム共通
------------------------------------------------------------- */

select {
  width: auto;
}
input[type=text], input[type=password], input[type=tel], input[type=email], input[type=text], input[type=number],
select,
textarea {
  border: 1px solid var(--color-gray-middle);
}
.c-formInput-item__col2 ,
.c-formInput-item__birthday {
  justify-content: flex-start;
}
.c-formInput-item__col2 input {
  width: 10em;
}
.c-formInput-item__zipcode input {
  min-width: 8em;
}
.c-formInput-item__zipcode .c-btn {
  min-width: auto;
}

@media screen and (min-width: 992px) {
  .c-orderSect-entry__form {
    width: auto;
    max-width: 70%;
    min-width: 50%;
  }
}


/*------------------------------------------------------------------------------

 固定ページ共通 / 旧 storeなど

------------------------------------------------------------------------------*/

/* title
-------------------------------------------*/
/* cmn-sec_ttl01 */
.cmn-sec_ttl01{
  text-align: center;
  margin-bottom: 5.5vw;
}
.cmn-sec_ttl01 span{
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
}
.cmn-sec_ttl01 span::before,
.cmn-sec_ttl01 span::after {
  display: inline;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.cmn-sec_ttl01 span::before {
  content: "〔";
  left: -1.5em;
}
.cmn-sec_ttl01 span::after {
  content: "〕";
  right: -1.5em;
}
@media (min-width: 768px) {
  .cmn-sec_ttl01{
    margin-bottom: 45px;
  }
  .cmn-sec_ttl01 span {
    font-size: 25px;
  }
}

/* text
-------------------------------------------*/
.cmn-txt{
  font-size: 1.4rem;
  line-height: 1.7;
}
.cmn-txt p:not(:last-child) {
  margin-bottom: 2em;
}


/*------------------------------------------------------------------------------

 About 小田原六左衛門とは 

------------------------------------------------------------------------------*/

#about .sec-ab .logo_ttl{
  width: 47.5vw;
  margin: 0 auto 16.9vw;
}
#about .sec-ab .logo_ttl img{
  display: inline-block;
}
#about .sec-ab .head_box {
  display: flex;
  justify-content: center;
  margin-bottom: 18.5vw;
}
#about .sec-ab .head_box .ttl {
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  text-align: left;
  display:inline-block; 
  order: 2;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#about .sec-ab .head_box .st_txt {
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  text-align: left;
  display:inline-block; 
  order: 1;
  font-size: 1.4rem;
  line-height: 2.2;
}
#about .sec-ab .head_box .st_txt span {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}
#about .sec-ab .head_box .st_txt p{
  margin-right: 8vw;
}
#about .sec-ab .history_box {
  margin-bottom: 16.9vw;
}
#about .sec-ab .history_box .his_btn {
  width: 70vw;
  height: 14.4vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 7.2vw auto 0;
  border: 1px solid #000;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 700;
}
#about .sec-ab .history_box .his_btn span {
  width: 3.8vw;
  display: block;
  margin-right: 5px;
}
#about .sec-ab .txt_blc {
  text-align: center;
  margin-bottom: 21.6vw;
  line-height: 2.2;
}
#about .sec-ab .group_blc {
  position: relative;
  margin-bottom: 24vw;
}
#about .sec-ab .group_blc .box{
  padding: 9.6vw 4.8vw;
  background-color: #FFF;
}
#about .sec-ab .group_blc .box:not(:last-child) {
  margin-bottom: 2.4vw;
}
#about .sec-ab .group_blc .box .img_logo {
  width: 51.2vw;
  min-height: 26.5vw;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
#about .sec-ab .group_blc .box .txt {
  margin-top: 8.4vw;
  line-height: 2.2;
}
#about .sec-ab .about_blc .img_box {
  width: 100%;
  height: 68.1vw;
  background: url(../img/about/about_bg.jpg) no-repeat center;
  background-size: cover;
  margin-bottom: 5.7vw;
}
#about .sec-ab .about_blc .txt_box .label {
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin-bottom: 4.8vw;
}
#about .sec-ab .about_blc .txt_box .txt {
  font-size: 1.4rem;
  line-height: 2.2;
}

@media (max-width: 767px) {
  #about .sec-ab .group_blc{
    z-index: 10;
  }
  #about .sec-ab .group_blc::before {
    content: "";
    width: calc(100% + 9.6vw);
    height: calc(100% + 9.6vw);
    position: absolute;
    top: -4.8vw;
    left: -4.8vw;
    background-color: #F8F8F8;
    z-index: -1;
  }
}
@media (min-width: 768px) {
  #about .sec-ab .logo_ttl{
    width: auto;
    margin: 0 auto 65px;
    text-align: center;
  }
  #about .sec-ab .head_box {
    margin-bottom: 74px;
  }
  #about .sec-ab .head_box .ttl {
    font-size: 24px;
  }
  #about .sec-ab .head_box .st_txt {
    font-size: 15px;
    line-height: 3;
  }
  #about .sec-ab .head_box .st_txt p:first-child{
    margin-right: 70px;
  }
  #about .sec-ab .head_box .st_txt p:last-child{
    margin-right: 50px;
  }
  #about .sec-ab .history_box {
    margin-bottom: 80px;
  }
  #about .sec-ab .history_box .his_btn {
    width: 290px;
    height: 60px;
    margin: 40px auto 0;
    font-size: 18px;
    cursor: pointer;
  }
  #about .sec-ab .history_box .his_btn span {
    width: 17px;
  }
  #about .sec-ab .txt_blc {
    margin-bottom: 78px;
    font-size: 15px;
  }
  #about .sec-ab .group_blc {
    max-width: 800px;
    margin: auto;
    margin-bottom: 80px;
    padding: 20px;
    background-color: #F8F8F8;
  }
  #about .sec-ab .group_blc .box{
    padding: 30px;
    display: flex;
    justify-content: space-between;
  }
  #about .sec-ab .group_blc .box:not(:last-child) {
    margin-bottom: 10px;
  }
  #about .sec-ab .group_blc .box .img_logo {
    width: 142px;
    min-height: 120px;
    margin: 0;
    margin-right: 40px;
  }
  #about .sec-ab .group_blc .box .img_logo img{
    width: 100%;
  }
  #about .sec-ab .group_blc .box .txt {
    flex: 1;
    margin-top: 0;
    font-size: 13px;
    line-height: 2.4;
  }
  #about .sec-ab .about_blc{
    height: 450px;
    position: relative;
    z-index: 10;
  }
  #about .sec-ab .about_blc .img_box {
    height: 100%;
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #about .sec-ab .about_blc .txt_box{
    width: 330px;
    height: 390px;
    box-sizing: border-box;
    padding: 45px 33px;
    background-color: rgba(255, 255, 255, 0.85);
    position: absolute;
    top: 30px;
    left: 30px;
  }
  #about .sec-ab .about_blc .txt_box .label {
    font-size: 20px;
    margin-bottom: 41px;
  }
  #about .sec-ab .about_blc .txt_box .txt {
    font-size: 15px;
  }
}

/*------------------------------------------------------------------------------

 store 店舗の案内

------------------------------------------------------------------------------*/

#store .sec-st .cmn-sec_ttl01 .sm_txt{
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 2.6vw;
}
#store .sec-st .box .img{
  position: relative;
  /*margin-bottom: 12vw;*/
}
#store .sec-st .box .img span{
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  font-size: 1.4rem;
  padding: 3.3vw 0;
  text-align: center;
  color: #FFF;
}
#store .sec-st .box .txt {
  line-height: 2.2;
  margin-bottom: 11.1vw;
}
#store .sec-st .box .box_inner .txt_item {
  margin-bottom: 6vw;
}

/*豊洲追加時追記*/
#store .sec-st .box{
  margin-bottom: 18vw;
}
#store .sec-st .store-table {
    border-spacing:0px 20px;
    border-collapse : separate ;
    margin: 0 auto 2.5vw;
}
#store .sec-st .store-table .icon {
    background-image: url(../img/store/icon_arrow.png);
    margin-right: 10px;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    height: 30px;
    width: 30px;
}
#store .sec-st .store-name h1 {
    font-size: 2.3rem;
    display: flex;
    align-items: center;
    font-weight: 700;
    padding: 10px;
}
#store .sec-st .store-ttl{
    font-size: 2.3rem;
    font-weight: 700;
    margin-block: 2vw;
    padding: .15rem 1rem;
    border-left: solid 5px var(--color-gold);
}
#store .sec-st .ttl{
    font-size: 2.3rem;
    margin-block: 12vw;
  text-align: center;
  line-height: 1.2;
}
#store .sec-st .box .img-flex{
  display: flex;
  margin-bottom: 12vw;
}
#store .sec-st .box .img-flex img{
  margin-inline: 1%;
  width: 48%;
}
#store .sec-st .box_inner .map iframe {
  width: 100%;
}
/*豊洲追加時追記-end*/

@media (min-width: 768px) {
  #store .sec-st .cmn-sec_ttl01 {
    margin-bottom: 73px;
  }
  #store .sec-st .cmn-sec_ttl01 .sm_txt{
    font-size: 15px;
    margin-bottom: 10px;
  }
  #store .sec-st .box .img span{
    font-size: 15px;
    padding: 13px 0;
  }
  #store .sec-st .box .txt {
    margin-bottom: 77px;
  }
  #store .sec-st .box .box_inner{
    display: flex;
    justify-content: space-between;
  }
  #store .sec-st .box .box_inner .txt_item {
    margin-bottom: 0;
  }

  /*豊洲追加時追記*/
  #store .sec-st .box{
    margin-bottom: 80px;
  }
  #store .sec-st .box .img-flex{
    margin-bottom: 30px;
  }
  #store .sec-st .store-table {
    border-spacing:60px 20px;
  }
  #store .sec-st .box_inner .map {
    width: 520px;
  }
  #store .sec-st .box .box_inner {
    align-items: center;
  }
  #store .sec-st .ttl  {
    br { display: none; }
  }
  #store .sec-st .ttl{
    font-size: 23px;
    margin-block: 3.5vw;
  }
  #store .sec-st .store-name h1 {
    font-size: 25px;
  }
  #store .sec-st .store-ttl{
    font-size: 25px;
  }
  /*豊洲追加時追記-end*/
}
@media screen and (max-width: 767px) {
  #store .sec-st .store-table td {
    display: block;
    width: 100%;
  }
}

/*------------------------------------------------------------------------------

 business 法人様・大口ご注文者様向けご案内

------------------------------------------------------------------------------*/

.c-anchor-nav__list {
  display: flex;
  justify-content: space-between;
  gap: 1.6rem;
  margin: 3em 0 0;
  font-size: min(1.4rem);
}
.c-anchor-nav__list li a {
  display: block;
  /*padding-bottom: .5rem;
  border-bottom: solid 2px var(--color-gold);*/
}
.c-anchor-nav__list a::before {
  display: inline-block;
  content: '\203A';
  margin-right: .5em;
  color: var(--color-gold);
  font-size: 120%;
  vertical-align: bottom;
}
@media (max-width: 767px) {
  .c-anchor-nav__list {
    display: block;
  }
  .c-anchor-nav__list li {
    width: 100%;
  }
  .c-anchor-nav__list li:not(:last-child) {
    margin-bottom: 1rem;
  }
}
@media (min-width: 768px) {
  .c-anchor-nav__list {
    text-align: center;
  }
  .c-anchor-nav__list li {
  }
}

.c-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-bottom: 2em;
  text-align: center;
}
.c-chip-list__item {
  width: calc((100% - 3.6em) / 4);
  padding: 1rem 0;
  background: var(--color-beige);
}
@media (max-width: 767px) {
  .c-chip-list__item {
    width: calc((100% - 1.2rem) / 2);
  }
}

.c-example-box {
  padding: 2rem 2rem;
  border: solid 3px var(--color-beige);
  text-align: center;
}
.c-example-box .c-section__minor-title {
  margin-bottom: .5em;
}

/* ギフト */
.c-gift-service-list {
  margin: 2em 0;
  text-align: center;
}
.c-gift-service-list__item {
  margin-bottom: 1em;
  background-color: var(--color-beige);
}
.c-gift-service-list__item a:hover {
  opacity: .5;
}
.c-gift-service-list__title {
  margin-bottom: .5em;
  font-size: 110%;
  font-weight: 600;
}

@media (max-width: 767px) {
  .c-gift-service-list__item {
    padding: 1em;
  }
  .c-gift-service-list__link {
    display: flex;
    align-items: center;
  }
  .c-gift-service-list__image {
    width: 90px;
  }
  .c-gift-service-list__image img {
    width: auto;
    height: auto;
    margin: auto;
  }
  .c-gift-service-list__info {
    flex: 1;
  }
}
@media (min-width: 768px) {
  .c-gift-service-list {
    display: flex;
    gap: 1.2rem;
    flex-wrap: wrap;
    margin: 2em 1em 2em;
    text-align: center;
  }
  .c-gift-service-list__item {
    width: calc((100% - 2.4em) / 3);
    margin-bottom: 0;
    padding: 1em;
    background-color: var(--color-beige);
  }
  .c-gift-service-list__link {
    display: block;
  }
  .c-gift-service-list__image {
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 3 / 2;
  }
  .c-gift-service-list__image img {
    width: 60%;
  }
}

.p-orderFlow {
	border-top: 1px solid var(--color-gray-light);
}
.p-orderFlow__step {
	display: flex;
	padding: 1em 0 1em 1em;
	border-bottom: 1px solid var(--color-gray-light);
}
.p-orderFlow__stepNumber {
	display: block;
	width: 3em;
  color: var(--color-gold);
}
@media (min-width: 768px) {
	.p-orderFlow {
		max-width: 960px;
		margin: 0 auto;
		font-size: 1.6rem;
	}
}

@media (min-width: 768px) {
  .c-anchor-nav__list {
    margin: 3em 1em 0;
  }
  .c-chip-list {
    padding: 0 1em;
  }
  .c-example-box {
    margin: 0 1em;
  }
  .c-gift-service-list {
    margin: 2em 1em;
  }
  .p-orderFlow__step {
    padding: 1em;
  }
}

.p-contactBox {
	margin-bottom: 2em;
	padding: 1.5em;
	border: 1px solid var(--color-gold);
	text-align: center;
}
.p-contactBox .c-section__minor-title {
  margin-bottom: .5em;
}
.p-contactBox_mailBtn {
	margin: 1.5em 0;
}
.p-contactBox_telLink {
	margin: 1.5em 0;
}
.p-contactBox_telLink a {
	color: #164a84;
	font-size: 3rem;
	font-weight: 700;
}
@media screen and (max-width: 767px) {
    #business .pc-form {
        display: none !important;
    }
}
@media (min-width: 768px) {
	.p-contactBox_wrap {
		display: flex;
		gap: 2rem;
	}
	.p-contactBox {
		margin-bottom: 3em;
		width: calc((100% - 2rem) / 2);
	}
    #business .sp-form {
        display: none !important;
    }
}

.p-mizuhikiTable {
	width: 100%;
	margin-bottom: 3em;
	border-collapse: collapse;
}
.p-mizuhikiTable thead th {
	padding: 1em;
	border: 1px solid var(--color-gray-dark);
	background-color: var(--color-gray-light);
	text-align: center;
	white-space: nowrap;
}
.p-mizuhikiTable tbody th {
	padding: 0;
	border: 1px solid var(--color-gray-dark);
}
.p-mizuhikiTable tbody td {
	padding: 1em;
	border: 1px solid var(--color-gray-dark);
}
.p-mizuhikiTable img {
	display: inline-block;
}

@media only screen and (max-width: 768px) {
  .p-mizuhikiTable {
    font-size: 1.2rem;
  }
  .p-mizuhikiTable thead th {
    padding: .5em;
  }
  .p-mizuhikiTable tbody td {
    padding: .5em;
  }
}
/*@media only screen and (max-width: 768px) {
	.p-mizuhikiTable {
		display: block;
		border-top: 1px solid var(--color-gray-dark);
	}
	.p-mizuhikiTable thead {
		display: none;
	}
	.p-mizuhikiTable tr , .p-mizuhikiTable tbody , .p-mizuhikiTable tbody th , .p-mizuhikiTable tbody td {
		display: block;
		border-top: none;
		padding-top: 5px;
	}
	.p-mizuhikiTable tbody th {
		text-align: center;
	}
}*/

/*------------------------------------------------------------------------------

 guide / faq

------------------------------------------------------------------------------*/

.p-guide-description p {
  margin-bottom: 1em;
}

.p-faq-section:first-child {
  margin-bottom: 2rem;
}
.p-faq-description {
  font-size: 1.4rem;
}
@media screen and (min-width: 992px) {
  .p-page-faq .p-faqBody {
    width: 74%;
  }
}

.p-hukusato_headImage {
  margin-bottom: 2em;
  border: 20px solid var(--color-gray-light);
  text-align: center;
}
.p-hukusato_headImage img {
  display: inline;
}

.c-mallLinkList__item {
  margin-left: 1em;
  margin-bottom: .5em;
}
.c-mallLinkList__item a {
  display: inline-block;
  color: var(--color-blue-heavy);
  font-size: 1.6rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.c-mallLinkList__item a:hover {
  color: var(--color-gray-dark);
  text-decoration: none;
}
.c-mallLinkList__item a::before {
  display: inline-block;
  content: '→';
}

.c-flow-list {
  counter-reset: item;
  margin: 0 auto 3em;
  padding-left: 2em;
}
.c-flow-list ul {
  counter-reset: sub-item;
  margin-top: 0.3em;
  padding-left: 2em;
}
.c-flow-list > li {
  position: relative;
  counter-increment: item;
  margin: .3em 0 1em;
}
.c-flow-list ul li {
  position: relative;
  counter-increment: sub-item;
  margin: .3em 0;
}
.c-flow-list > li::before {
  content: counters(item, ".") ".";
  position: absolute;
  left: -1.5em;
  color: #555;
}
.c-flow-list ul li::before {
  content: counters(item, ".") "-" counter(sub-item) ".";
  position: absolute;
  left: -2em;
  color: #555;
}

.c-pageLink-list {
  margin-left: 1em;
}
.c-pageLink-list__item {
  margin-bottom: .5em;
}

.p-orderStep {
  margin-bottom: 2em;
}
.p-orderStep:not(:last-child) {
  padding-bottom: 2em;
  border-bottom: 1px solid var(--color-gray);
}
.p-orderStep__title {
  margin-bottom: 1em;
  font-size: 1.8rem;
}
.p-orderStep__inner {
  display: flex;
}
.p-orderStep__inner + .p-orderStep__inner {
  margin-top: 1.5em;
}
.p-orderStep__text {
  flex: 1;
}
.p-orderStep__image {
  max-width: 50%;
  margin-left: 2rem;
}
.p-orderStep__image.sp {
  width: 320px;
}
.p-orderStep__image.pc {
  width: 520px;
}


/* 初めての方へ
------------------------------------------------------------- */

.p-welcomeCover {
  text-align: center;
}
.p-welcomeCover img {
  display: inline-block;
}
.p-welcomeCover__image {
  margin-bottom: 2rem;
}
.p-welcomeCover__title {
  margin-bottom: 1.5rem;
  font-size: min(5rem,6vw);
  letter-spacing: .15em;
  line-height: 1.4;
}
.p-welcomeCover__logo img {
  width: 320px;
  max-width: 60%;
}


.p-memberBenefits__text p:not(:last-child) {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .p-memberBenefits__item {
    display: flex;
    align-items: center;
    gap: 2rem;
  }
  .p-memberBenefits__item:not(:last-child) {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--color-gray);
  }
  .p-memberBenefits__image {
    width: 100px;
  }
  .p-memberBenefits__image img {
    width: 80%;
    margin: 0 auto;
  }
  .p-memberBenefits__text {
    flex: 1;
  }
  .p-memberBenefits__label {
    margin-bottom: .5em;
    font-weight: 600;
  }
}
@media screen and (min-width: 768px) {
  .p-memberBenefits {
    margin-bottom: 4rem;
  }
  .p-memberBenefits__list {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    margin-bottom: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .p-memberBenefits__item {
    width: calc((100% - 3rem) / 2);
  }
  .p-memberBenefits__image {
    margin-bottom: 1.5rem;
  }
  .p-memberBenefits__image img {
    width: 50%;
    margin: 0 auto;
  }
  .p-memberBenefits__label {
    margin-bottom: 1em;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
  }
}

/*------------------------------------------------------------------------------

 デバイス

------------------------------------------------------------------------------*/

@media only screen and (max-width: 991px) {
	.sp_hide {
		display: none;
	}
	.sp_center {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
}
@media only screen and (min-width: 992px) {
	.pc_hide {
		display: none;
	}
	.pc_center {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
}
