@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
/* snippet */
.text-l {
  text-align: left !important;
}

.text-r {
  text-align: right !important;
}

.text-c {
  text-align: center !important;
}

.serif {
  font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
}

.gothic {
  font-family: "Noto Sans JP", "Helvetica neue", Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", YuGothic, "ＭＳ Ｐゴシック", sans-serif;
}

.bold {
  font-weight: bold !important;
}

.red {
  color: #c00 !important;
}

.underline {
  border-bottom: 1px solid !important;
}

.text-ul {
  text-decoration: underline !important;
}

.flex {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.justify-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.justify-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.justify-space {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.align-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.grid {
  display: -ms-grid;
  display: grid;
}

.grid-2col {
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}

.grid-3col {
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr;
}

.grid-4col {
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.wrap {
  width: 90%;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

.tab {
  display: none;
}
@media screen and (min-width: 768px) {
  .tab {
    display: block;
  }
}
@media screen and (min-width: 1100px) {
  .tab {
    display: none;
  }
}

.tabpc {
  display: none;
}
@media screen and (min-width: 768px) {
  .tabpc {
    display: block;
  }
}

.pc {
  display: none;
}
@media screen and (min-width: 1100px) {
  .pc {
    display: block;
  }
}

.btn {
  display: inline-block;
  background: #870a0a;
  text-align: center;
  padding: 0.5em 1em;
}
.m0 {
  margin: 0 !important;
}

.m10 {
  margin: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.p0 {
  padding: 0 !important;
}

.p10 {
  padding: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.noborder {
  border: 0 !important;
}

.tab-group .tab {
  background: white;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center;
  padding: 0.75rem 0;
  background: #f2f2f2;
}
.tab-group .tab.active {
  background: #870a0a;
  color: white;
}
@media screen and (min-width: 1100px) {
  .tab-group .tab {
    -webkit-box-flex: inherit;
        -ms-flex-positive: inherit;
            flex-grow: inherit;
  }
}

.panel:not(.show) {
  display: none;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 0vw;
}

html {
  font-size: 100%;
}

body {
  margin: 0;
  font-family: "Noto Sans JP", "Helvetica neue", Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "游ゴシック", YuGothic, "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.5;
  color: #292222;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.header h1, .header h2, .header h3, .header h4, .header h5, .header-contents h1, .header-contents h2, .header-contents h3, .header-contents h4, .header-contents h5, .side h1, .side h2, .side h3, .side h4, .side h5, .topmain h1, .topmain h2, .topmain h3, .topmain h4, .topmain h5, .footer h1, .footer h2, .footer h3, .footer h4, .footer h5 {
  font-weight: normal;
  margin: 0;
}
.header ul, .header li, .header ol, .header img, .header dl, .header dt, .header dd, .header a, .header table, .header td, .header th, .header figure, .header span, .header i, .header p, .header-contents ul, .header-contents li, .header-contents ol, .header-contents img, .header-contents dl, .header-contents dt, .header-contents dd, .header-contents a, .header-contents table, .header-contents td, .header-contents th, .header-contents figure, .header-contents span, .header-contents i, .header-contents p, .side ul, .side li, .side ol, .side img, .side dl, .side dt, .side dd, .side a, .side table, .side td, .side th, .side figure, .side span, .side i, .side p, .topmain ul, .topmain li, .topmain ol, .topmain img, .topmain dl, .topmain dt, .topmain dd, .topmain a, .topmain table, .topmain td, .topmain th, .topmain figure, .topmain span, .topmain i, .topmain p, .footer ul, .footer li, .footer ol, .footer img, .footer dl, .footer dt, .footer dd, .footer a, .footer table, .footer td, .footer th, .footer figure, .footer span, .footer i, .footer p {
  margin: 0;
  padding: 0;
}
.header ul, .header-contents ul, .side ul, .topmain ul, .footer ul {
  list-style: none;
}
.header img, .header-contents img, .side img, .topmain img, .footer img {
  vertical-align: middle;
  border: 0;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}
.header a:link, .header a:visited, .header-contents a:link, .header-contents a:visited, .side a:link, .side a:visited, .topmain a:link, .topmain a:visited, .footer a:link, .footer a:visited {
  color: #292222;
}
.header a, .header-contents a, .side a, .topmain a, .footer a {
  text-decoration: none;
}

/* search */
.search-area input {
  outline: none;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  height: 30px;
  line-height: 30px;
}
.search-area input[type=text] {
  padding: 0 8px;
  background: #f0f0f0;
}
.search-area input[type=text] {
  font-size: 16px;
}
.search-area .search-btn {
  width: 30px;
  height: 30px;
  background: url(../img/common/icon-search.png) no-repeat center/19px #573229;
}
.search-area ::-webkit-input-placeholder {
  color: #aaa;
  font-size: 0.875rem;
}
.search-area ::-moz-placeholder {
  color: #aaa;
  font-size: 0.875rem;
}
.search-area :-ms-input-placeholder {
  color: #aaa;
  font-size: 0.875rem;
}
.search-area ::-ms-input-placeholder {
  color: #aaa;
  font-size: 0.875rem;
}
.search-area ::placeholder {
  color: #aaa;
  font-size: 0.875rem;
}

/* header */
.header {
  text-align: left;
}
.header .top-nav {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  top: 0;
  left: 0;
  background: white;
  height: 60px;
  padding-left: 10px;
}
.header .header-main {
  padding: 10px 5%;
}
.header .search-area input[type=text] {
  width: 200px;
}
.header .header-menu {
  padding-right: 50px;
}
.header .header-menu a {
  text-align: center;
}
@media screen and (min-width: 1100px) {
  .header {
    position: relative;
    padding-top: 1em;
  }
  .header .top-nav {
    width: 90%;
    position: relative;
    padding-bottom: 20px;
  }
  .header .header-menu {
    padding-right: 0;
  }
}

.header-logo {
  width: 160px;
}
@media screen and (min-width: 768px) {
  .header-logo {
    width: 220px;
  }
}

.header-snav {
  display: none;
  line-height: 1;
  margin-bottom: 16px;
}
.header-snav a {
  font-size: 12px;
  display: block;
}
.header-snav li {
  padding-left: 12px;
}
.header-snav li:not(:last-child) {
  border-right: 1px solid;
  padding-right: 12px;
}
@media screen and (min-width: 1100px) {
  .header-snav {
    display: block;
  }
}

.gnav li {
  text-align: center;
}

.pcnav {
  display: none;
  background: #f4ebda;
  position: relative;
  margin-bottom: 20px;
}
.pcnav .menu {
  margin-right: auto !important;
  margin-left: auto !important;
}
.pcnav .menu > li {
  width: 16.666%;
}
.pcnav .menu > li > a,
.pcnav .menu > li > span {
  display: block;
  text-align: center;
  font-size: 16px;
  font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
  line-height: 36px;
  position: relative;
  font-weight: bold;
  letter-spacing: 1px;
}
.pcnav .menu > li > a::after,
.pcnav .menu > li > span::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 28px;
  background: #573229;
  top: 4px;
  display: block;
  right: 0;
}
.pcnav .menu > li:first-child > a::before,
.pcnav .menu > li:first-child > span::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 30px;
  background: #573229;
  top: 4px;
  display: block;
  left: 0;
}
.pcnav .menu .child {
  opacity: 0;
  text-align: left;
  max-height: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 36px;
  background: rgba(253, 249, 241, 0.95);
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
  width: 100%;
}
.pcnav .menu .child .wrap {
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 30px 50px 10px;
}
.pcnav .menu .child li {
  border-left: 3px solid #573229;
  width: 20%;
  margin-bottom: 20px;
}
.pcnav .menu .child a {
  font-size: 14px;
  display: block;
  padding: 10px 20px;
  line-height: 1.3;
}
.pcnav .menu .has-child {
  background: url(../img/common/icon-arrow.png) no-repeat 90% center;
  background-size: 13px;
}
.pcnav .menu .has-child:hover .child {
  max-height: 9999px;
  opacity: 1;
}
@media screen and (min-width: 1100px) {
  .pcnav {
    display: block;
  }
}

.main-visual {
  margin-bottom: 20px;
  margin-top: 60px;
}
.main-visual a {
  -webkit-transition: 0s;
  transition: 0s;
}
@media screen and (min-width: 1100px) {
  .main-visual {
    margin: 20px auto;
  }
}

.bx-wrapper .bx-pager {
  display: none !important;
}

.bx-wrapper {
  border: 0 !important;
}

.header-notice {
  border: 4px solid #f4ebda;
  padding-top: min(5vw, 20px);
  padding-bottom: min(5vw, 20px);
  padding-left: min(5vw, 40px);
  padding-right: min(5vw, 40px);
  gap: min(5vw, 30px);
}
.header-notice > div {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
}
.header-notice .text {
  text-align: left;
  font-size: 13px;
}
.header-notice .ttl {
  margin-bottom: 1em;
  color: #870a0a;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 1px;
  display: inline-block;
  border-bottom: 1px solid;
}
@media screen and (min-width: 768px) {
  .header-notice .text {
    text-align: center;
  }
}

.main-area img {
  vertical-align: middle;
  max-width: 100%;
  width: 100%;
}
.main-area .ttl-m {
  border-bottom: 2px solid #573229;
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
  color: #d54e1b;
  letter-spacing: 2px;
  padding: 10px 60px;
  background: url(../img/common/gohan.png) no-repeat 10px center;
  background-size: 36px;
  margin-bottom: min(4vw, 20px);
}
.main-area .bnr-feature a {
  display: block;
}
.main-area .bnr-feature.flex > a {
  width: 49.3%;
}
@media screen and (min-width: 1100px) {
  .main-area {
    margin-top: 30px;
  }
}

.side .ttl-s {
  border-bottom: 2px solid #573229;
  color: #d54e1b;
  font-weight: bold;
  font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
  font-size: 20px;
  padding: 8px 0;
  margin-bottom: 20px;
  letter-spacing: 2px;
}
.side .search-area input[type=text] {
  width: calc(100% - 30px);
}

.side-bnr {
  text-align: center;
}

.left-menu > li > span,
.left-menu > li > a {
  display: block;
  background: #f4ebda url(../img/common/icon-rice.png) no-repeat 16px center;
  font-size: 16px;
  font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
  font-weight: bold;
  padding: 12px 10px 12px 40px;
  letter-spacing: 1px;
  background-size: 13px;
  border-bottom: 1px solid #fefefe;
}
.left-menu > li.gift > a {
  padding-left: 54px;
  background: url(../img/common/icon-gift.png) no-repeat 16px center #f4ebda;
  background-size: 26px;
}
.left-menu .child a {
  display: block;
  border-bottom: 1px solid #433838;
  padding: 15px 20px;
  font-size: 14px;
  background: url(../img/common/icon-arrow_yoko.png) no-repeat 95% center;
  background-size: 8px;
}

/* contents */
@media screen and (min-width: 1100px) {
  .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .container .side {
    display: block;
    width: 220px;
    padding-bottom: 50px;
  }
  .container .topmain {
    width: 820px;
  }
}

.footer {
  background: #f4ebda;
  padding: min(6vw, 50px) 0 0;
  text-align: left;
}
.footer .ttl-f {
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
  letter-spacing: 2px;
  border-bottom: 2px solid #573229;
  padding: 8px 0;
  margin-bottom: min(5vw, 30px);
}
.footer .copy {
  color: #7f7878;
  font-size: 11px;
  letter-spacing: 1px;
  padding: 30px;
}

.footer-info {
  margin-bottom: 20px;
}
.footer-info .footer-info-contents {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.footer-info .box {
  font-size: 13px;
  padding: min(4vw, 20px) min(5vw, 30px);
  background: white;
  margin-bottom: min(4vw, 30px);
  border-radius: 4px;
  -webkit-box-shadow: 2px 3px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 2px 3px 4px rgba(0, 0, 0, 0.1);
}
.footer-info .box p:not(:last-child) {
  margin-bottom: 20px;
}
.footer-info .ttl {
  border-bottom: 1px solid #b3b3b3;
  margin-bottom: 16px;
  font-weight: bold;
  font-size: 16px;
  padding: 0 0 10px 0.5em;
}
.footer-info .ttl img {
  margin-right: 10px;
}
.footer-info .smaller {
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .footer-info .footer-info-contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .footer-info .left, .footer-info .right {
    width: 48.5%;
  }
}

.footer-cat {
  margin-bottom: 2em;
}
.footer-cat .ttl {
  border-bottom: 2px solid;
  padding: 10px 24px;
  font-family: "Noto Serif JP", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 2px;
  background: url(../img/common/icon-rice.png) no-repeat left center;
  background-size: 12px;
  margin-bottom: 10px;
}
.footer-cat .ttl.gift {
  padding-left: 40px;
  background-image: url(../img/common/icon-gift.png);
  background-size: 30px;
}
.footer-cat .ttl > a,
.footer-cat .ttl > span {
  display: block;
}
.footer-cat .cat-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 10px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0 10px;
}
.footer-cat .cat-list a {
  display: block;
  font-size: 14px;
  padding: 8px 0 8px 24px;
}
@media screen and (min-width: 768px) {
  .footer-cat {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr min(4vw, 40px) 1fr min(4vw, 40px) 1fr min(4vw, 40px) 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: min(4vw, 40px);
  }
  .footer-cat .cat-list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

.footer-nav a {
  font-size: 13px;
  display: block;
  padding: 1em 1.5em;
  position: relative;
}
.footer-nav a::after {
  content: "";
  width: 1px;
  height: 15px;
  background: #292222;
  position: absolute;
  right: 0;
  top: 51%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.footer-nav li:last-child a::after {
  display: none;
}