@charset "UTF-8";
/* Base */
body {
  font-family: "Noto Sans", "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  color: #b40014;
  line-height: 2;
  letter-spacing: 0.06em;
  font-feature-settings: normal;
  font-optical-sizing: auto; }
  @media only screen and (max-width: 821px) {
    body {
      font-size: 13px;
      line-height: 1.85;
      letter-spacing: 0.06em; } }

a {
  color: #b40014; }
  .button a {
    opacity: 1 !important; }
  a.disable {
    cursor: auto;
    opacity: .3; }

::selection {
  background-color: #f7f6f6; }

p {
  margin-bottom: 1.8em; }
  @media only screen and (max-width: 821px) {
    p {
      margin-bottom: 1.5em; } }

em {
  font-style: italic; }

.thumbnail img, img .photo {
  border-radius: 4px; }

h2, h3, h4, h5 {
  font-weight: 500; }

h2 {
  font-size: 38px;
  font-weight: 500;
  margin-bottom: 32px;
  line-height: 1;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  grid-gap: 4px; }
  @media only screen and (max-width: 821px) {
    h2 {
      font-size: 22px;
      grid-gap: 4px;
      margin-bottom: 24px; } }
  #home h2 {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 32px;
    line-height: 1;
    text-align: center;
    position: relative;
    display: flex;
    justify-content: center;
    grid-gap: 6px; }
    @media only screen and (max-width: 821px) {
      #home h2 {
        font-size: 28px;
        grid-gap: 8px;
        margin-bottom: 24px; } }
  h2::before {
    content: '';
    display: block;
    width: 42px;
    height: 34px;
    background-image: url("_shared/image/kakko-l.svg");
    background-repeat: no-repeat;
    background-position: 60% 50%;
    background-size: 20%; }
    @media only screen and (max-width: 821px) {
      h2::before {
        width: 28px;
        height: 34px;
        background-size: 24%; } }
    #home h2::before {
      width: 42px;
      height: 34px;
      background-position: 60% 50%;
      background-size: 20%; }
      @media only screen and (max-width: 821px) {
        #home h2::before {
          width: 28px;
          height: 26px;
          background-size: 24%; } }
    .single-products h2::before {
      display: none; }
  h2::after {
    content: '';
    display: block;
    width: 42px;
    height: 34px;
    background-image: url("_shared/image/kakko-r.svg");
    background-repeat: no-repeat;
    background-position: 36% 50%;
    background-size: 20%; }
    @media only screen and (max-width: 821px) {
      h2::after {
        width: 28px;
        height: 34px;
        background-size: 24%;
        background-position: 36% 50%; } }
    #home h2::after {
      width: 42px;
      height: 34px;
      background-image: url("_shared/image/kakko-r.svg");
      background-repeat: no-repeat;
      background-position: 36% 50%;
      background-size: 20%; }
      @media only screen and (max-width: 821px) {
        #home h2::after {
          width: 28px;
          height: 26px;
          background-size: 24%;
          background-position: 36% 50%; } }
    .single-products h2::after {
      display: none; }
  h2.hdg {
    letter-spacing: .06em; }
    #gate h2.hdg {
      text-align: center;
      padding-top: 24px;
      margin-bottom: 1.4em;
      font-weight: 500;
      letter-spacing: .02em;
      text-transform: uppercase; }
      @media only screen and (max-width: 821px) {
        #gate h2.hdg {
          padding-top: 16px;
          background: url(_shared/image/mark.svg) 50% 0/14px no-repeat;
          margin-bottom: 0.3em; } }
      #gate h2.hdg img {
        display: block;
        width: 32px;
        margin: 0 auto 20px; }
    #home #news-area h2.hdg, #home #products h2.hdg, #home #access-area h2.hdg, #home #contact-area h2.hdg, #home #faq-area h2.hdg {
      display: flex;
      grid-gap: 10px;
      align-items: start; }
      @media only screen and (max-width: 821px) {
        #home #news-area h2.hdg, #home #products h2.hdg, #home #access-area h2.hdg, #home #contact-area h2.hdg, #home #faq-area h2.hdg {
          margin-bottom: 16px;
          padding-top: 0;
          font-size: 24px;
          grid-gap: 8px; } }
      #home #news-area h2.hdg img, #home #products h2.hdg img, #home #access-area h2.hdg img, #home #contact-area h2.hdg img, #home #faq-area h2.hdg img {
        display: block;
        width: 60px;
        position: relative;
        margin: 0;
        top: 6px; }
        @media only screen and (max-width: 821px) {
          #home #news-area h2.hdg img, #home #products h2.hdg img, #home #access-area h2.hdg img, #home #contact-area h2.hdg img, #home #faq-area h2.hdg img {
            width: 54px; } }
      #home #news-area h2.hdg span.jp, #home #products h2.hdg span.jp, #home #access-area h2.hdg span.jp, #home #contact-area h2.hdg span.jp, #home #faq-area h2.hdg span.jp {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
        margin-top: 12px;
        display: block; }
        @media only screen and (max-width: 821px) {
          #home #news-area h2.hdg span.jp, #home #products h2.hdg span.jp, #home #access-area h2.hdg span.jp, #home #contact-area h2.hdg span.jp, #home #faq-area h2.hdg span.jp {
            margin-top: 10px; } }
  h2 span.jp {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 18px;
    display: block; }
  .single h2, .blog h2, .category h2, #privacy-policy h2 {
    margin-bottom: 24px; }
    @media only screen and (max-width: 821px) {
      .single h2, .blog h2, .category h2, #privacy-policy h2 {
        font-size: 16px;
        margin-bottom: 20px; } }
  @media only screen and (max-width: 821px) {
    #privacy-policy h2 {
      font-size: 1.8em; } }

h3 {
  font-size: 24px; }
  @media only screen and (max-width: 821px) {
    h3 {
      font-size: 20px;
      line-height: 1.4; } }
  .blog h3, .category h3, .single h3 {
    margin-bottom: .4em; }
    @media only screen and (max-width: 821px) {
      .blog h3, .category h3, .single h3 {
        font-size: 20px; } }
  .single h3 {
    text-align: center; }
  .single .post-content h3 {
    text-align: left; }
  #news-area h3 {
    font-size: 1.1em;
    margin-bottom: 24px; }
    @media only screen and (max-width: 821px) {
      #news-area h3 {
        font-size: 1em;
        margin: 4px 0 0; } }
  h3.news-title {
    font-size: 1.2em;
    line-height: 1.6; }
  #privacy-policy h3 {
    font-size: 18px;
    margin: 0 0 12px; }
    @media only screen and (max-width: 821px) {
      #privacy-policy h3 {
        font-size: 15px;
        margin: 24px 0 12px; } }

h4 {
  font-size: 20px; }
  @media only screen and (max-width: 821px) {
    h4 {
      margin-bottom: 12px; } }
  @media only screen and (max-width: 821px) {
    .blog h4, .category h4, .single h4 {
      font-size: 16px; } }

h5 {
  font-size: 16px; }
  @media only screen and (max-width: 821px) {
    h5 {
      font-size: 14px; } }

#products-eden-brand #content ul {
  width: 80%;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 821px) {
    #products-eden-brand #content ul {
      width: 100%; } }
ul.list li {
  border-bottom: 1px dotted #b40014;
  padding-bottom: 16px;
  margin-bottom: 16px; }

dl {
  font-weight: 600; }
  dl div {
    grid-template-columns: 4fr 8fr; }
    @media only screen and (max-width: 821px) {
      dl div {
        display: block; } }
    dl div dd {
      padding-left: 0;
      border: none;
      font-weight: normal; }

/* Layout */
main {
  width: 100%;
  min-width: 100%;
  padding: 0 0 0;
  /*.single &, .blog &, .category &, #contact &, #privacy-policy &{
  	padding: 10em 24px 0;
  }*/ }
  @media only screen and (max-width: 821px) {
    main {
      padding: 0 0 0; } }

#content {
  width: 90%;
  border-top: 1px solid #b40014;
  padding-top: 40px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 821px) {
    #content {
      width: calc(100% - 36px);
      padding: 24px 0 0; } }
  #home #content {
    border: none; }
    @media only screen and (max-width: 821px) {
      #home #content {
        margin-top: 12px; } }
  .blog #content, .post-type-archive-story #content, .single #content, #privacy-policy #content, #sitemap #content, #cookie-policy-eu #content {
    max-width: 960px;
    margin: 0 auto; }
  .post-type-archive-recipes #content, .post-type-archive-products #content {
    max-width: 100%;
    margin: 0 auto;
    padding-top: 54px; }
    @media only screen and (max-width: 821px) {
      .post-type-archive-recipes #content, .post-type-archive-products #content {
        padding-top: 12px; } }
  @media only screen and (min-width: 821px) {
    #principles #content {
      border-top: none;
      padding-top: 0; } }

.container {
  width: 90%;
  max-width: 1200px;
  padding: 0em; }
  @media only screen and (max-width: 821px) {
    .container {
      width: 100%;
      padding: 0em 6px 0; } }

.container-sm {
  width: 70%;
  max-width: 1080px;
  margin: 0 auto; }
  @media only screen and (max-width: 821px) {
    .container-sm {
      width: 100%; } }
  .single-item .container-sm {
    width: 80%; }
    @media only screen and (max-width: 821px) {
      .single-item .container-sm {
        width: 100%; } }

.row {
  gap: 24px 54px; }
  @media only screen and (max-width: 821px) {
    .row {
      gap: 16px 24px; } }
  @media only screen and (min-height: 821px) {
    .row:first-child .grid, .row:nth-child(2) .grid {
      opacity: 1 !important; } }
  @media only screen and (max-height: 821px) {
    .row:first-child .grid, .row:nth-child(2) .grid {
      opacity: 1 !important; } }

section {
  margin-bottom: 60px;
  padding-bottom: 60px; }
  @media only screen and (max-width: 821px) {
    section {
      margin-bottom: 0; } }
  #content section:last-child {
    margin-bottom: 40px;
    padding-bottom: 0; }
  .single section, .blog section, .category section, #privacy-policy section {
    padding-top: 0; }
  section:last-child {
    padding-bottom: 20px; }
  @media only screen and (min-height: 1200px) {
    .single-work section .row, .single-product section .row {
      opacity: 1 !important; } }

.box {
  padding: 0; }
  .post-type-archive-products .box, .tax-category_products .box {
    padding: 12px; }
    @media only screen and (max-width: 821px) {
      .post-type-archive-products .box, .tax-category_products .box {
        padding: 0; } }
  .box .post-thumbnail img {
    width: 90%;
    margin: 0 auto; }
    @media only screen and (max-width: 821px) {
      .box .post-thumbnail img {
        width: 100%; } }
  .box .post-tags div {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 6px;
    margin-bottom: 6px; }
  .box .post-title {
    font-size: 15px;
    line-height: 1.4;
    margin: 14px 0 14px; }
    @media only screen and (max-width: 821px) {
      .box .post-title {
        font-size: 14px;
        margin: 8px 0 12px; } }
  .box h3.title {
    text-align: center;
    font-size: 16px;
    margin-top: 12px; }
    @media only screen and (max-width: 821px) {
      .box h3.title {
        font-size: 14px; } }
  .box .badge-new {
    position: absolute;
    top: 0;
    left: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    font-size: 11px;
    background-color: #b40014;
    border-radius: 3em;
    color: #fff; }

.box-products .post-thumbnail {
  padding: 16px; }
  @media only screen and (max-width: 821px) {
    .box-products .post-thumbnail {
      padding: 12px; } }
.box-products h4 {
  font-size: 14px;
  margin: 12px 0 6px; }

.box-products .thumbnail, .parent-term-section .thumbnail {
  width: 100%;
  aspect-ratio: 1/1;
  /* 正方形を維持（レスポンシブ対応） */
  border-radius: 50%;
  /* 円形にする */
  overflow: hidden;
  /* 中の画像を切り抜く */
  border: 1px solid #b40014;
  /* 赤い枠線 */ }
  .box-products .thumbnail img, .parent-term-section .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 中央でトリミングして綺麗に収まる */
    display: block; }

#page-nav {
  margin: 40px 0 64px;
  padding: 0; }
  @media only screen and (max-width: 821px) {
    #page-nav {
      margin: 40px 0 48px; } }

.related-posts, .recommend {
  border-top: 1px solid #b40014;
  padding-top: 36px;
  margin-bottom: 54px; }
  @media only screen and (max-width: 821px) {
    .related-posts, .recommend {
      padding-top: 24px;
      margin-bottom: 36px; } }
  .related-posts h3, .recommend h3 {
    font-size: 18px;
    text-align: left; }
    @media only screen and (max-width: 821px) {
      .related-posts h3, .recommend h3 {
        font-size: 15px; } }
  .related-posts h4, .recommend h4 {
    font-size: 1em; }
    @media only screen and (max-width: 821px) {
      .related-posts h4, .recommend h4 {
        font-size: 12px; } }

.thumbnail {
  margin-bottom: 12px; }
  @media only screen and (max-width: 821px) {
    .thumbnail {
      margin-bottom: 8px; } }

#loading {
  background-color: rgba(180, 0, 20, 0.95); }

/* Contents */
#hero {
  margin: 40px auto 24px;
  position: relative; }
  @media only screen and (max-width: 821px) {
    #hero {
      margin: 0 auto 0; } }
  #hero .copy {
    position: absolute;
    left: 30px;
    top: 50%;
    z-index: 100;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 10px;
    text-align: center;
    margin-top: -132px; }
    @media only screen and (max-width: 821px) {
      #hero .copy {
        display: none; } }
  #hero #copyright {
    position: absolute;
    right: 30px;
    top: 50%;
    z-index: 100;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 10px;
    text-align: center;
    margin-top: -132px; }
    @media only screen and (max-width: 821px) {
      #hero #copyright {
        display: none; } }
  #hero #hero-container {
    width: 640px;
    padding-bottom: 40px; }
    @media only screen and (max-width: 821px) {
      #hero #hero-container {
        width: 100%;
        padding-bottom: 20px; } }
    #hero #hero-container img {
      display: block;
      width: 100%;
      margin: 0 auto 0; }
      @media only screen and (max-width: 821px) {
        #hero #hero-container img {
          width: 85%; } }
    #hero #hero-container p {
      text-align: center;
      font-weight: 600;
      font-size: 32px;
      margin-bottom: 0; }
      @media only screen and (max-width: 821px) {
        #hero #hero-container p {
          font-size: 24px; } }

#title {
  margin: 24px 0 64px; }
  @media only screen and (max-width: 821px) {
    #title {
      margin: 20px auto 32px;
      width: calc(100% - 36px); } }
  .single-products #title {
    margin: 36px auto 58px; }
    @media only screen and (max-width: 821px) {
      .single-products #title {
        margin: 28px auto 36px; } }
  #home #title {
    margin: 54px 0 100px; }
    @media only screen and (max-width: 821px) {
      #home #title {
        margin: 54px 0 100px; } }
  #title h2 {
    text-align: center;
    font-size: 32px;
    letter-spacing: .06em;
    margin-bottom: 28px; }
    @media only screen and (max-width: 821px) {
      #title h2 {
        font-size: 24px;
        line-height: 1.4;
        width: 90%;
        margin: 0 auto;
        grid-gap: 4px; } }
    #title h2 #home {
      text-align: center;
      font-size: 40px;
      letter-spacing: .06em; }
      @media only screen and (max-width: 821px) {
        #title h2 #home {
          font-size: 36px;
          line-height: 1.4;
          width: 90%;
          margin: 0 auto; } }
    .single-products #title h2 {
      margin-bottom: 16px; }
      @media only screen and (max-width: 821px) {
        .single-products #title h2 {
          margin-bottom: 8px; } }
    #title h2 span {
      display: block;
      font-size: 20px;
      margin-top: 12px; }
      @media only screen and (max-width: 821px) {
        #title h2 span {
          margin-top: 4px; } }
  #title h3 {
    text-align: center;
    font-size: 18px; }
    @media only screen and (max-width: 821px) {
      #title h3 {
        font-size: 14px; } }

#introduction {
  padding: 0 0 130px;
  margin-bottom: 0; }
  @media only screen and (max-width: 821px) {
    #introduction {
      padding: 0 0 40px; } }
  @media only screen and (max-width: 821px) {
    #introduction .container {
      padding: 0 6px 0; } }
  #introduction #list-category {
    display: flex;
    justify-content: center;
    grid-gap: 20px; }
    #introduction #list-category a {
      border: 1px solid #b40014;
      padding: 12px 24px;
      border-radius: 2em;
      display: block; }
    #introduction #list-category li.current_page_item a {
      background-color: #b40014; }
  #introduction h3 {
    text-align: center; }
  #introduction p {
    text-align: center;
    font-weight: 500;
    font-size: 1em;
    line-height: 2.2; }
    @media only screen and (max-width: 821px) {
      #introduction p {
        font-size: 1.1em;
        line-height: 2;
        text-align: left; } }
    #introduction p.text-large {
      font-size: 1.3em;
      font-weight: 600; }
      @media only screen and (max-width: 821px) {
        #introduction p.text-large {
          font-size: 1.2em; } }

#news-area #news-list-wrapper {
  display: block;
  width: 86%;
  margin: 20px auto 64px; }
  @media only screen and (max-width: 821px) {
    #news-area #news-list-wrapper {
      width: 100%;
      margin: 0 auto 28px; } }
#news-area ul li a {
  display: grid;
  grid-template-columns: 1fr 1fr 10fr;
  align-items: center;
  grid-gap: 36px;
  border-bottom: 0.9px solid #b40014;
  padding-bottom: 20px;
  margin-bottom: 18px; }
  @media only screen and (max-width: 821px) {
    #news-area ul li a {
      display: block;
      padding-bottom: 14px;
      margin-bottom: 12px; } }
  @media only screen and (max-width: 821px) {
    #news-area ul li a .date {
      font-size: 13px;
      line-height: 1.5;
      margin-right: 4px; } }
  #news-area ul li a .badge {
    border: 0.9px solid #b40014;
    border-radius: 2em;
    line-height: 1;
    padding: 4px 6px;
    font-size: 12px;
    display: inline-grid;
    justify-content: center;
    align-items: center; }
    @media only screen and (max-width: 821px) {
      #news-area ul li a .badge {
        font-size: 10px; } }
  #news-area ul li a h3 {
    margin-bottom: 0; }
#news-area .news-date {
  font-size: 9px; }

.post-type-archive-products .row-4,
.tax-category_products .row-4 {
  grid-gap: 28px 24px; }
.post-type-archive-products .link-area,
.tax-category_products .link-area {
  display: flex;
  grid-gap: 16px;
  margin: 24px 0; }
  .post-type-archive-products .link-area p,
  .tax-category_products .link-area p {
    display: inline-block;
    margin-bottom: 0; }
    .post-type-archive-products .link-area p a,
    .tax-category_products .link-area p a {
      border: 1px solid #b40014;
      border-radius: 4px;
      padding: 8px 12px;
      line-height: 1;
      display: inline-block;
      font-size: 12px; }
  .post-type-archive-products .link-area .accordion,
  .tax-category_products .link-area .accordion {
    margin-top: 24px; }
@media only screen and (max-width: 821px) {
  .post-type-archive-products #miso,
  .tax-category_products #miso {
    margin-top: 24px; } }
.post-type-archive-products .parent-term-section,
.tax-category_products .parent-term-section {
  padding-top: 40px;
  margin-bottom: 80px; }
  @media only screen and (max-width: 821px) {
    .post-type-archive-products .parent-term-section,
    .tax-category_products .parent-term-section {
      margin-bottom: 24px; } }
  .post-type-archive-products .parent-term-section:first-child,
  .tax-category_products .parent-term-section:first-child {
    padding-top: 0; }
    @media only screen and (max-width: 821px) {
      .post-type-archive-products .parent-term-section:first-child,
      .tax-category_products .parent-term-section:first-child {
        padding-bottom: 24px; } }
  .post-type-archive-products .parent-term-section .parent-term-header,
  .tax-category_products .parent-term-section .parent-term-header {
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: 3fr 9fr;
    grid-template-rows: auto auto;
    grid-gap: 0 64px; }
    @media only screen and (max-width: 821px) {
      .post-type-archive-products .parent-term-section .parent-term-header,
      .tax-category_products .parent-term-section .parent-term-header {
        grid-gap: 0 28px;
        margin-bottom: 12px; } }
    .post-type-archive-products .parent-term-section .parent-term-header .term-thumbnail,
    .tax-category_products .parent-term-section .parent-term-header .term-thumbnail {
      grid-row: span 2; }
    .post-type-archive-products .parent-term-section .parent-term-header .term-text-area .term-title,
    .tax-category_products .parent-term-section .parent-term-header .term-text-area .term-title {
      font-size: 28px;
      margin: -8px 0 8px;
      letter-spacing: 0.066em; }
      @media only screen and (max-width: 821px) {
        .post-type-archive-products .parent-term-section .parent-term-header .term-text-area .term-title,
        .tax-category_products .parent-term-section .parent-term-header .term-text-area .term-title {
          font-size: 24px; } }
    .post-type-archive-products .parent-term-section .parent-term-header .term-text-area .term-discription p,
    .tax-category_products .parent-term-section .parent-term-header .term-text-area .term-discription p {
      font-weight: 600; }
    .post-type-archive-products .parent-term-section .parent-term-header .term-text-area .term-discription .accordion,
    .tax-category_products .parent-term-section .parent-term-header .term-text-area .term-discription .accordion {
      margin-top: 48px; }
    .post-type-archive-products .parent-term-section .parent-term-header .term-text-area .term-discription .button,
    .tax-category_products .parent-term-section .parent-term-header .term-text-area .term-discription .button {
      display: flex;
      justify-content: start; }
.post-type-archive-products .child-term-section,
.tax-category_products .child-term-section {
  margin-bottom: 6px;
  border: 1px solid #b40014;
  border-radius: 12px;
  padding: 36px; }
  @media only screen and (max-width: 821px) {
    .post-type-archive-products .child-term-section,
    .tax-category_products .child-term-section {
      padding: 24px;
      margin-bottom: 20px; } }
  @media only screen and (max-width: 821px) {
    .post-type-archive-products .child-term-section .child-term-header,
    .tax-category_products .child-term-section .child-term-header {
      margin-bottom: 20px; } }
  .post-type-archive-products .child-term-section .child-term-header h4.child-term-title,
  .tax-category_products .child-term-section .child-term-header h4.child-term-title {
    font-size: 24px;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    grid-gap: 10px; }
    @media only screen and (max-width: 821px) {
      .post-type-archive-products .child-term-section .child-term-header h4.child-term-title,
      .tax-category_products .child-term-section .child-term-header h4.child-term-title {
        font-size: 20px;
        margin-bottom: 8px; } }
    .post-type-archive-products .child-term-section .child-term-header h4.child-term-title::before,
    .tax-category_products .child-term-section .child-term-header h4.child-term-title::before {
      content: '';
      display: block;
      width: 8px;
      height: 8px;
      border: 1px solid #b40014; }

.tax-category_products .parent-term-section {
  display: block; }
.tax-category_products .child-term-section {
  margin: 24px 0; }

.child-term .parent-term-header .term-text-area {
  grid-column: span 4; }

#home #products .row-4 {
  grid-gap: 8px 36px; }
  @media only screen and (max-width: 821px) {
    #home #products .row-4 {
      grid-gap: 12px 20px; } }
  #home #products .row-4 .box {
    padding: 20px; }
    @media only screen and (max-width: 821px) {
      #home #products .row-4 .box {
        padding: 0 12px; } }
#products p {
  text-align: center; }
#products .button-area {
  display: flex;
  justify-content: center;
  margin-top: 48px; }
  @media only screen and (max-width: 821px) {
    #products .button-area {
      display: block;
      margin-top: 12px; } }
  #products .button-area li:first-child {
    margin-top: 0; }
    @media only screen and (max-width: 821px) {
      #products .button-area li:first-child {
        margin-bottom: 16px; } }
    #products .button-area li:first-child a {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
      @media only screen and (max-width: 821px) {
        #products .button-area li:first-child a {
          border-radius: 2em;
          width: 85%; } }
  #products .button-area li:last-child {
    margin-top: 0; }
    #products .button-area li:last-child a {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
      margin-left: -1px; }
      @media only screen and (min-width: 821px) {
        #products .button-area li:last-child a {
          border-left: none; } }
      @media only screen and (max-width: 821px) {
        #products .button-area li:last-child a {
          border-radius: 2em;
          width: 85%;
          margin-left: 0; } }

#company #content .container .row {
  border-bottom: 0.9px solid #b40014;
  padding-bottom: 40px;
  margin-bottom: 60px; }
  @media only screen and (max-width: 821px) {
    #company #content .container .row {
      padding-bottom: 16px;
      margin-bottom: 32px; } }
  #company #content .container .row:last-child {
    border: none;
    padding-bottom: 0;
    margin-bottom: 0; }
#company #content .container #From-our-president p:last-child {
  text-align: right; }
@media only screen and (max-width: 821px) {
  #company #content .container #Philosophy img {
    margin-top: 12px; } }
#company #content .container #Our-services .photo-area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 40px;
  margin: 64px 0; }
  @media only screen and (max-width: 821px) {
    #company #content .container #Our-services .photo-area {
      grid-gap: 24px;
      margin: 24px 0 20px; } }

#principles #introduction h3 {
  text-align: center;
  font-size: 20px; }
  @media only screen and (max-width: 821px) {
    #principles #introduction h3 {
      font-size: 16px;
      margin-bottom: 24px; } }
#principles #introduction ul {
  width: 80%;
  margin: 0 auto; }
  @media only screen and (max-width: 821px) {
    #principles #introduction ul {
      width: 100%; } }
  #principles #introduction ul li {
    border-bottom: 0.9px solid #b40014;
    padding-bottom: 16px;
    margin-bottom: 16px;
    padding-left: 36px;
    background-image: url("_shared/image/checkbox.svg");
    background-position: 0px 8px;
    background-repeat: no-repeat;
    background-size: 18px; }
    @media only screen and (max-width: 821px) {
      #principles #introduction ul li {
        padding-left: 22px;
        background-position: 0px 5px;
        background-size: 14px;
        line-height: 1.6; } }
#principles #point .row-2 {
  margin-bottom: 120px;
  gap: 0; }
  @media only screen and (max-width: 821px) {
    #principles #point .row-2 {
      display: block;
      margin-bottom: 48px; } }
  @media only screen and (max-width: 821px) {
    #principles #point .row-2:last-child {
      margin-bottom: 0; } }
  @media only screen and (max-width: 821px) {
    #principles #point .row-2 .photo-area {
      margin-bottom: 20px; } }
  #principles #point .row-2 .text-area {
    background: rgba(255, 255, 255, 0.9);
    padding: 36px;
    margin: 40px 0 0 -40px; }
    @media only screen and (max-width: 821px) {
      #principles #point .row-2 .text-area {
        padding: 0;
        margin: 0; } }
    #principles #point .row-2 .text-area p:last-child {
      margin-bottom: 0; }
#principles #point .row-2:nth-child(2n+1) .text-area {
  margin: 40px 0 0 -40px; }
  @media only screen and (max-width: 821px) {
    #principles #point .row-2:nth-child(2n+1) .text-area {
      margin: 0; } }
#principles #point .row-2:nth-child(2n) .photo-area {
  grid-column: 2;
  grid-row: 1;
  margin: -40px 0 0 -40px; }
  @media only screen and (max-width: 821px) {
    #principles #point .row-2:nth-child(2n) .photo-area {
      margin: 0 0 20px; } }
#principles #point .row-2:nth-child(2n) .text-area {
  grid-column: 1;
  grid-row: 1;
  margin: 0; }

.blog .post, .archive .post {
  display: grid;
  grid-template-columns: 2fr 10fr;
  grid-gap: 40px;
  border-bottom: 0.9px solid #b40014;
  padding-bottom: 24px !important;
  margin-bottom: 36px !important; }
  @media only screen and (max-width: 821px) {
    .blog .post, .archive .post {
      grid-template-columns: 1fr;
      grid-gap: 6px;
      padding-bottom: 12px !important;
      margin-bottom: 24px !important; } }
  .blog .post p:empty, .blog .post p:blank, .archive .post p:empty, .archive .post p:blank {
    display: none; }
  .blog .post:last-child, .archive .post:last-child {
    padding-bottom: 40px; }
  .blog .post h3, .archive .post h3 {
    margin-bottom: 6px; }
  .blog .post .post-meta, .archive .post .post-meta {
    margin-top: 6px; }

.post-meta {
  display: flex;
  align-items: center;
  grid-gap: 8px;
  margin-top: 12px; }
  .post-meta .news-date, .post-meta .category {
    display: inline-block;
    line-height: 1; }
  .single .post-meta {
    justify-content: center; }

@media only screen and (max-width: 821px) {
  .post-header {
    margin: 8px 0 24px; } }

.category a, .badge a {
  border: 0.9px solid #b40014;
  border-radius: 2em;
  line-height: 1;
  padding: 4px 6px;
  font-size: 12px;
  display: inline-block; }
  @media only screen and (max-width: 821px) {
    .category a, .badge a {
      font-size: 10px; } }

.category-list-wrapper {
  display: flex;
  grid-gap: 8px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 36px 0 12px; }
  .single-products .category-list-wrapper {
    margin: 16px 0 12px; }
    .single-products .category-list-wrapper .post-content:nth-child(2) {
      margin-top: 0; }
    .single-products .category-list-wrapper #tag_products, .single-products .category-list-wrapper #tag_products02 {
      margin-bottom: 0; }
    .single-products .category-list-wrapper #tag_products03 {
      margin: 0 0 36px; }
      @media only screen and (max-width: 821px) {
        .single-products .category-list-wrapper #tag_products03 {
          margin-bottom: 24px; } }

.category-list {
  display: flex;
  align-items: center;
  grid-gap: 8px;
  flex-wrap: wrap; }
  @media only screen and (max-width: 821px) {
    .category-list {
      margin-bottom: 4px; } }

.badge-category {
  border: 1px solid;
  border-radius: 2em;
  line-height: 1;
  padding: 4px 6px;
  font-size: 11px; }
  @media only screen and (max-width: 821px) {
    .badge-category {
      border: .9px solid;
      padding: 4px 8px;
      font-size: 10px; } }
  .post-type-archive-products .badge-category {
    padding: 4px 8px;
    font-size: 10px; }

.badge-category-organic {
  border: none;
  background-color: #b40014; }
  .badge-category-organic a {
    color: #fff !important; }

.badge-category-kosher {
  border: none;
  background-color: rgba(180, 0, 20, 0.7); }
  .badge-category-kosher a {
    color: #fff !important; }

.badge-category-bulk, .badge-category-retail {
  border-color: rgba(180, 0, 20, 0.6); }
  .badge-category-bulk a, .badge-category-retail a {
    color: rgba(180, 0, 20, 0.6) !important; }

.post-type-archive-recipes h4.term-title {
  font-size: 20px;
  display: flex;
  grid-gap: 10px;
  align-items: center; }
  @media only screen and (max-width: 821px) {
    .post-type-archive-recipes h4.term-title {
      margin-bottom: 16px; } }
  .post-type-archive-recipes h4.term-title::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border: 1px solid #b40014; }
.post-type-archive-recipes .term-group {
  display: grid;
  border-bottom: 1px dotted #b40014;
  padding-bottom: 32px;
  margin-bottom: 54px; }
  @media only screen and (max-width: 821px) {
    .post-type-archive-recipes .term-group {
      margin-bottom: 28px; } }
  .post-type-archive-recipes .term-group:last-child {
    border: none;
    margin-bottom: 12px; }
  .post-type-archive-recipes .term-group .row-3 {
    grid-gap: 36px; }
    @media only screen and (max-width: 821px) {
      .post-type-archive-recipes .term-group .row-3 {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 0 24px; } }
    @media only screen and (max-width: 821px) {
      .post-type-archive-recipes .term-group .row-3 .box {
        margin-bottom: 24px; } }
    .post-type-archive-recipes .term-group .row-3 .no-photo {
      margin-top: -36px;
      grid-column: span 3;
      display: none; }
      @media only screen and (max-width: 821px) {
        .post-type-archive-recipes .term-group .row-3 .no-photo {
          margin: 0; } }
      .post-type-archive-recipes .term-group .row-3 .no-photo .thumbnail {
        display: none; }
      .post-type-archive-recipes .term-group .row-3 .no-photo h4.recipe-name {
        border-top: 1px dotted #b40014;
        padding-top: 16px; }
        @media only screen and (max-width: 821px) {
          .post-type-archive-recipes .term-group .row-3 .no-photo h4.recipe-name {
            padding: 16px 0 16px;
            margin-bottom: 0; } }
    .post-type-archive-recipes .term-group .row-3 .no-photo:first-of-type {
      margin-top: 0 !important; }
  .post-type-archive-recipes .term-group .row-3 > .no-photo:first-of-type {
    margin-top: 40px; }
  .post-type-archive-recipes .term-group h4.recipe-name {
    font-size: 1em;
    padding-bottom: 0;
    margin: 8px 0 8px; }
    @media only screen and (max-width: 821px) {
      .post-type-archive-recipes .term-group h4.recipe-name {
        font-size: 12px;
        margin: 0 0 8px; } }

.single-recipes .post-content .photo, .single-products .post-content .photo {
  margin: 40px 0 24px;
  display: flex;
  justify-content: center; }
.single-recipes .post-content dl dt h4, .single-products .post-content dl dt h4 {
  font-size: 16px;
  border-bottom: .9px solid;
  padding-bottom: 12px;
  display: flex;
  grid-gap: 12px;
  align-items: center; }
  .single-recipes .post-content dl dt h4::before, .single-products .post-content dl dt h4::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border: 1px solid #b40014; }
.single-recipes .post-content dl dd, .single-products .post-content dl dd {
  font-weight: normal;
  margin-bottom: 32px; }
  .single-recipes .post-content dl dd p, .single-products .post-content dl dd p {
    margin-bottom: 1em; }
    .single-recipes .post-content dl dd p:has(strong), .single-products .post-content dl dd p:has(strong) {
      margin-bottom: .5em; }
  .single-recipes .post-content dl dd ul, .single-products .post-content dl dd ul {
    list-style-position: inside;
    list-style: disc;
    margin-left: 1.2em; }
  .single-recipes .post-content dl dd ol, .single-products .post-content dl dd ol {
    list-style-type: number; }
.single-recipes .post-content .recipes-by, .single-products .post-content .recipes-by {
  font-size: .9em;
  font-style: italic; }
.single-recipes .post-content .button-area, .single-products .post-content .button-area {
  padding: 24px	0; }
@media only screen and (max-width: 821px) {
  .single-recipes #recipes-info, .single-products #recipes-info {
    border-top: 0.9px solid #b40014;
    padding-top: 36px;
    margin-top: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 12px; }
    .single-recipes #recipes-info h5, .single-recipes #recipes-info p, .single-products #recipes-info h5, .single-products #recipes-info p {
      margin-bottom: 0; } }
.single-recipes #recipes-info h5, .single-products #recipes-info h5 {
  margin-bottom: 12px; }
  @media only screen and (max-width: 821px) {
    .single-recipes #recipes-info h5, .single-products #recipes-info h5 {
      margin-bottom: 6px; } }

.single-products #content {
  padding-top: 36px; }
.single-products .post-content .photo {
  margin: 0; }
  .single-products .post-content .photo img {
    max-width: 400px; }
    @media only screen and (max-width: 821px) {
      .single-products .post-content .photo img {
        max-width: 100%; } }
.single-products .post-content .content-products p:has(img), .single-products .post-content .accordion-content p:has(img) {
  overflow: hidden; }
.single-products .post-content .content-products img, .single-products .post-content .accordion-content img {
  width: 50%;
  float: left;
  padding: 8px 24px 24px 0; }
  @media only screen and (max-width: 821px) {
    .single-products .post-content .content-products img, .single-products .post-content .accordion-content img {
      width: 100%;
      float: none;
      padding: 0;
      margin-bottom: 20px; } }
.single-products .post-content .content-products img + br, .single-products .post-content .accordion-content img + br {
  display: none; }
  @media only screen and (max-width: 821px) {
    .single-products .post-content .content-products img + br, .single-products .post-content .accordion-content img + br {
      display: block; } }
.single-products .post-content .content-products img {
  width: 33.333%;
  float: left;
  padding: 8px 24px 24px 0; }
  @media only screen and (max-width: 821px) {
    .single-products .post-content .content-products img {
      width: 33.333%; } }

#kosher-products-list .category-section h3.category-title,
#organic-products-list .category-section h3.category-title {
  font-size: 16px; }
#kosher-products-list .category-section ul li,
#organic-products-list .category-section ul li {
  display: flex;
  align-items: center;
  border-bottom: 0.9px solid #b40014;
  padding-bottom: 16px;
  margin-bottom: 16px; }
  @media only screen and (max-width: 821px) {
    #kosher-products-list .category-section ul li,
    #organic-products-list .category-section ul li {
      display: block;
      line-height: 1.6; } }
  #kosher-products-list .category-section ul li .tag-products, #kosher-products-list .category-section ul li .tag-products-03,
  #organic-products-list .category-section ul li .tag-products,
  #organic-products-list .category-section ul li .tag-products-03 {
    margin-left: auto;
    overflow: hidden;
    width: 140px; }
    @media only screen and (max-width: 821px) {
      #kosher-products-list .category-section ul li .tag-products, #kosher-products-list .category-section ul li .tag-products-03,
      #organic-products-list .category-section ul li .tag-products,
      #organic-products-list .category-section ul li .tag-products-03 {
        grid-gap: 12px;
        margin-top: 6px; } }
    #kosher-products-list .category-section ul li .tag-products span, #kosher-products-list .category-section ul li .tag-products-03 span,
    #organic-products-list .category-section ul li .tag-products span,
    #organic-products-list .category-section ul li .tag-products-03 span {
      padding-left: 20px;
      background-image: url("_shared/image/checkbox.svg");
      background-position: 0px 7px;
      background-repeat: no-repeat;
      background-size: 14px;
      font-size: 12px; }
      @media only screen and (max-width: 821px) {
        #kosher-products-list .category-section ul li .tag-products span, #kosher-products-list .category-section ul li .tag-products-03 span,
        #organic-products-list .category-section ul li .tag-products span,
        #organic-products-list .category-section ul li .tag-products-03 span {
          padding-left: 18px;
          background-position: 0px 4px;
          background-size: 14px;
          line-height: 1.6;
          font-size: 12px; } }
      #kosher-products-list .category-section ul li .tag-products span.category-bulk, #kosher-products-list .category-section ul li .tag-products span.category-kosher, #kosher-products-list .category-section ul li .tag-products-03 span.category-bulk, #kosher-products-list .category-section ul li .tag-products-03 span.category-kosher,
      #organic-products-list .category-section ul li .tag-products span.category-bulk,
      #organic-products-list .category-section ul li .tag-products span.category-kosher,
      #organic-products-list .category-section ul li .tag-products-03 span.category-bulk,
      #organic-products-list .category-section ul li .tag-products-03 span.category-kosher {
        float: right; }
      #kosher-products-list .category-section ul li .tag-products span.category-retail, #kosher-products-list .category-section ul li .tag-products span.category-organic, #kosher-products-list .category-section ul li .tag-products-03 span.category-retail, #kosher-products-list .category-section ul li .tag-products-03 span.category-organic,
      #organic-products-list .category-section ul li .tag-products span.category-retail,
      #organic-products-list .category-section ul li .tag-products span.category-organic,
      #organic-products-list .category-section ul li .tag-products-03 span.category-retail,
      #organic-products-list .category-section ul li .tag-products-03 span.category-organic {
        float: left; }

#trade #content .container .row {
  border-bottom: 0.9px solid #b40014;
  padding-bottom: 40px;
  margin-bottom: 60px; }
  @media only screen and (max-width: 821px) {
    #trade #content .container .row {
      padding-bottom: 12px;
      margin-bottom: 40px; } }
  #trade #content .container .row:last-child {
    border: none;
    padding-bottom: 0;
    margin-bottom: 0; }
#trade .row-3-9 {
  margin-bottom: 80px; }
#trade h4.term-title {
  font-size: 18px;
  border-bottom: 1px solid #b40014;
  padding-bottom: 12px;
  margin-bottom: 24px;
  display: flex;
  grid-gap: 12px;
  align-items: center; }
  @media only screen and (max-width: 821px) {
    #trade h4.term-title {
      font-size: 16px;
      margin-bottom: 16px; } }
  #trade h4.term-title::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border: 1px solid #b40014; }
#trade .company {
  display: grid;
  grid-template-columns: 8fr 2fr;
  grid-gap: 36px;
  border-bottom: 1px dotted #b40014;
  padding-bottom: 24px;
  margin-bottom: 24px; }
  @media only screen and (max-width: 821px) {
    #trade .company {
      display: block;
      padding-bottom: 16px;
      margin-bottom: 16px; } }
  #trade .company:last-child {
    border: none;
    margin-bottom: 12px; }
  @media only screen and (max-width: 821px) {
    #trade .company .company-logo {
      text-align: center; } }
  @media only screen and (max-width: 821px) {
    #trade .company .company-logo img {
      width: 50%; } }
  @media only screen and (max-width: 821px) {
    #trade .company .company-logo img[src*="trade12.jpg"] {
      display: none; } }
  #trade .company h4.company-name {
    font-size: 16px;
    padding-bottom: 0;
    margin: -4px 0 8px; }
    @media only screen and (max-width: 821px) {
      #trade .company h4.company-name {
        font-size: 16px;
        margin: 4px 0 8px; } }
  #trade .company dl {
    display: grid;
    grid-template-columns: 2fr 10fr;
    grid-gap: 0 12px; }
    #trade .company dl dt, #trade .company dl dd {
      font-size: .8em;
      line-height: 2; }
    #trade .company dl dd {
      font-weight: normal; }
#trade #Trade-Inquiry .button {
  margin-top: 48px; }
  @media only screen and (max-width: 821px) {
    #trade #Trade-Inquiry .button {
      margin-top: 24px; } }
#trade #Materials .row-3 {
  grid-gap: 24px; }

.card {
  display: block;
  border: 1px solid #b40014;
  border-radius: 8px;
  padding: 16px; }
  .card a {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto; }
    .card a i {
      width: 36px;
      height: 36px;
      display: grid;
      border: 1px solid;
      justify-content: center;
      align-items: center;
      border-radius: 2em;
      justify-self: center;
      font-size: 20px;
      margin: 16px 0px; }
    .card a h5 {
      font-size: 14px;
      text-align: center;
      margin: 12px 0 0; }
    .card a img {
      border-radius: 4px; }
      @media only screen and (max-width: 821px) {
        .card a img {
          width: 100px;
          margin: 0 auto; } }

#products-eden-brand #content ul {
  list-style: disc;
  list-style-position: inside; }

#privacy-policy #content .grid p:last-child {
  margin-bottom: 0; }

#cookie-policy-eu #content #cmplz-document {
  max-width: 100%; }
#cookie-policy-eu #content h2 {
  font-size: 18px !important;
  margin: 40px 0 0;
  display: block; }
  #cookie-policy-eu #content h2::before, #cookie-policy-eu #content h2::after {
    display: none; }
#cookie-policy-eu #content p {
  font-size: 13px !important; }
  #cookie-policy-eu #content p.cmplz-subtitle {
    font-weight: 500;
    margin: 12px 0 4px; }
#cookie-policy-eu #content summary.cmplz-service-header {
  display: block;
  background-color: rgba(239, 239, 239, 0.5);
  margin: 8px 0;
  padding: 12px 10px; }
  #cookie-policy-eu #content summary.cmplz-service-header h3 {
    font-size: 15px !important;
    font-weight: 500; }
#cookie-policy-eu #content summary .cmplz-category-header {
  padding: 8px 10px;
  background-color: rgba(239, 239, 239, 0.5); }

#sitemap #content ul {
  margin: 0 auto; }
  @media only screen and (max-width: 821px) {
    #sitemap #content ul {
      width: 100%; } }
  #sitemap #content ul li {
    border-bottom: 0.9px solid #b40014;
    padding-bottom: 16px;
    margin-bottom: 16px; }
    @media only screen and (max-width: 821px) {
      #sitemap #content ul li {
        line-height: 1.6; } }

#faq dl div, #faq-area dl div {
  display: block; }
  #faq dl div dt, #faq dl div dd, #faq-area dl div dt, #faq-area dl div dd {
    font-weight: normal;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px dotted #b40014;
    float: left;
    width: 100%; }
    #faq dl div dt .q, #faq dl div dt .a, #faq dl div dd .q, #faq dl div dd .a, #faq-area dl div dt .q, #faq-area dl div dt .a, #faq-area dl div dd .q, #faq-area dl div dd .a {
      font-weight: 600;
      width: 36px;
      padding-right: 12px; }
  #faq dl div dd, #faq-area dl div dd {
    border-bottom: 0.9px solid #b40014; }

#contact button {
  font-family: "Noto Sans", "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.06em; }
#contact #contact-form .row {
  margin-bottom: 12px;
  gap: 16px; }
#contact #contact-form label {
  font-weight: 500; }
  #contact #contact-form label span {
    display: inline-block;
    font-weight: 400;
    margin-left: 6px;
    font-size: 12px; }
#contact #contact-form input[type='text'], #contact #contact-form input[type='email'], #contact #contact-form textarea {
  padding: 0.6em;
  border: none;
  width: 100%;
  border-radius: 4px; }
#contact #contact-form input[type='submit'] {
  padding: 12px 24px;
  border-radius: 3em;
  color: #fff !important;
  background: #b40014;
  border: 1px solid #b40014; }
#contact #contact-form p {
  margin-bottom: 12px; }
  @media only screen and (max-width: 821px) {
    #contact #contact-form p {
      margin-bottom: 0; } }
#contact #contact-form ::placeholder {
  color: rgba(180, 0, 20, 0.5);
  font-size: 12px;
  letter-spacing: 0.066em; }
#contact #contact-form input:focus,
#contact #contact-form textarea:focus {
  outline: none;
  border: 1px solid rgba(180, 0, 20, 0.9); }
#contact #contact-form #check-privacy {
  text-decoration: underline; }

/* Header, Nav, Footer */
#id-area {
  text-align: center;
  margin: 0 0 20px; }
  footer #id-area {
    margin: 6px 0 28px; }
    @media only screen and (max-width: 821px) {
      footer #id-area {
        margin: 4px 0 24px; } }
  #id-area h1 {
    display: flex;
    justify-content: center;
    padding-top: 24px; }
    @media only screen and (max-width: 821px) {
      #id-area h1 {
        padding-top: 12px; } }
    @media only screen and (max-width: 821px) {
      footer #id-area h1 {
        padding-top: 24px; } }
    #id-area h1 img {
      width: 220px;
      height: auto; }
      @media only screen and (max-width: 821px) {
        #id-area h1 img {
          width: 160px;
          padding: 40px 0 0; } }
      footer #id-area h1 img {
        width: 200px; }
        @media only screen and (max-width: 821px) {
          footer #id-area h1 img {
            width: 140px;
            padding: 0;
            margin-bottom: 0; } }
  #id-area p#copy {
    font-size: 14px;
    font-weight: 600;
    margin: 12px 0 0;
    letter-spacing: 0.078em; }
    @media only screen and (max-width: 821px) {
      #id-area p#copy {
        font-size: 10px;
        margin-top: 10px; } }

header {
  position: relative;
  padding: 0px 24px;
  height: 212px;
  background-color: rgba(255, 255, 255, 0.9);
  top: 0;
  z-index: 0;
  box-sizing: border-box; }
  @media only screen and (max-width: 821px) {
    header {
      padding: 0 16px;
      height: 140px; } }
  header #header-container {
    position: relative;
    margin: 24px 0; }
    @media only screen and (max-width: 821px) {
      header #header-container {
        margin: 20px 0; } }
  header #mark {
    position: absolute; }
    header #mark img {
      width: 64px; }
      @media only screen and (max-width: 821px) {
        header #mark img {
          width: 40px; } }
  header #global-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: 18px 0;
    padding: 24px 0;
    border-top: 1px solid #b40014;
    border-bottom: 1px solid #b40014;
    margin: 2px 0 0; }
    @media only screen and (max-width: 821px) {
      header #global-nav {
        display: none !important; } }
    header #global-nav ul {
      font-size: 1.05em;
      font-weight: 500;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      grid-gap: 16px 0;
      margin-bottom: 0; }
      @media only screen and (max-width: 1030px) {
        header #global-nav ul {
          font-size: 1em; } }
      header #global-nav ul li {
        text-align: left;
        border-right: 1px solid rgba(180, 0, 20, 0.5);
        line-height: 1.1;
        letter-spacing: 0.078em;
        padding-right: 15px;
        margin-right: 15px; }
        header #global-nav ul li:last-child {
          border: none;
          padding: 0;
          margin: 0; }
  header #lang {
    position: absolute;
    top: 20px;
    right: 138px;
    line-height: 1;
    font-size: .9em;
    font-weight: 600;
    display: flex;
    margin-bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    /*@media only screen and (max-width: 821px) {
        display: none;
    }*/ }
    @media only screen and (max-width: 821px) {
      header #lang {
        top: 6px;
        right: 54px;
        left: auto;
        font-size: 11px; } }
    header #lang li {
      text-align: left;
      border-right: 1px solid rgba(180, 0, 20, 0.5);
      line-height: 1.1;
      letter-spacing: 0.03em;
      padding-right: .8em;
      margin-right: .8em; }
      header #lang li:last-child {
        border: none;
        padding: 0;
        margin: 0; }
  header #sns {
    position: absolute;
    top: 0px;
    right: 0px;
    line-height: 1;
    grid-gap: 4px; }
    @media only screen and (max-width: 821px) {
      header #sns {
        top: 28px;
        right: 28px;
        left: auto;
        font-size: 1.1em; } }
    header #sns li {
      line-height: 1;
      border: none;
      margin-right: 0;
      padding-right: 0; }
      @media only screen and (max-width: 821px) {
        header #sns li {
          margin-right: 10px; } }
      header #sns li:last-child {
        padding-right: 0;
        margin-right: 0; }
      header #sns li a {
        font-size: 16px;
        border: 1px solid #b40014;
        border-radius: 2em;
        display: grid;
        height: 44px;
        width: 44px;
        align-items: center;
        justify-content: center;
        font-size: 18px; }
      header #sns li i {
        opacity: 1; }

#sns, #sns-sub {
  display: flex;
  align-items: center;
  margin-bottom: 0; }
  @media only screen and (max-width: 821px) {
    footer #sns, footer #sns-sub {
      justify-content: center; } }
  #sns li, #sns-sub li {
    margin-right: .6em;
    padding-right: .6em;
    border-right: 1px solid rgba(180, 0, 20, 0.5); }
    footer #sns li, footer #sns-sub li {
      font-size: 1.2em; }
      @media only screen and (max-width: 821px) {
        footer #sns li, footer #sns-sub li {
          align-items: center; } }
      footer #sns li a, footer #sns-sub li a {
        color: #fff;
        border-right: 1px solid rgba(180, 0, 20, 0.5); }
    #sns li:last-child, #sns-sub li:last-child {
      padding-right: 0;
      margin-right: 0; }
    #sns li.contact, #sns-sub li.contact {
      border: 1px solid rgba(255, 255, 255, 0.9);
      border-radius: 24px;
      width: 120px;
      height: 30px;
      display: grid;
      align-items: center;
      justify-content: center;
      margin-right: 2.2em;
      padding-right: 0;
      font-size: .9em; }
      @media only screen and (max-width: 821px) {
        #sns li.contact, #sns-sub li.contact {
          margin-right: 0;
          margin-top: 1.2em; }
          #footer-end #sns li.contact, #footer-end #sns-sub li.contact {
            display: none; } }

@media only screen and (max-width: 821px) {
  #sns {
    display: none; } }

#nav-menu .drawer-hamburger-icon, #nav-menu .drawer-hamburger-icon:after, #nav-menu .drawer-hamburger-icon:before {
  background-color: #b40014;
  height: 3px !important; }
#nav-menu .drawer-open .drawer-hamburger-icon {
  background-color: transparent !important; }
#nav-menu .drawer-open .drawer-hamburger-icon:after, #nav-menu .drawer-open .drawer-hamburger-icon:before {
  top: 0 !important; }
#nav-menu .drawer-nav {
  color: #fff;
  background: rgba(180, 0, 20, 0.9);
  padding: 16px 28px; }
  #nav-menu .drawer-nav ul {
    text-align: left; }
    #nav-menu .drawer-nav ul li {
      font-weight: 400;
      letter-spacing: 0.072em; }
      #nav-menu .drawer-nav ul li a {
        color: #fff; }
  #nav-menu .drawer-nav ul#sns-sub li {
    padding-right: 8px;
    margin-right: 8px; }

.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
  background-color: #b40014; }

#footer-contact {
  cursor: pointer;
  padding: 48px;
  margin-top: 80px;
  display: flex;
  justify-content: center;
  background-color: #b40014;
  letter-spacing: 0.12em; }
  @media only screen and (max-width: 821px) {
    #footer-contact {
      padding: 24px;
      margin-top: 48px; } }
  #footer-contact span {
    border-color: #fff; }
  #footer-contact a {
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: 20px;
    font-size: 32px;
    letter-spacing: 0.072em; }
    @media only screen and (max-width: 821px) {
      #footer-contact a {
        font-size: 20px;
        grid-gap: 12px; } }

footer {
  margin-top: 0px;
  padding: 24px 40px 40px;
  top: 100%;
  text-align: center; }
  @media only screen and (max-width: 821px) {
    footer {
      margin-top: 0px;
      padding: 20px 24px 36px; } }
  footer .footer-container {
    text-align: center;
    border-top: 1px solid #b40014;
    padding-top: 48px; }
  footer h1 {
    text-align: center; }
    footer h1 img {
      width: 160px;
      height: auto; }
      @media only screen and (max-width: 821px) {
        footer h1 img {
          width: 120px;
          margin-bottom: 36px; } }
  footer ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0;
    padding-right: 32px; }
    @media only screen and (max-width: 821px) {
      footer ul {
        padding-right: 0; } }
    footer ul li {
      font-size: 12px;
      font-weight: 500;
      line-height: 1;
      padding-right: 12px;
      margin-right: 12px;
      border-right: 0.9px solid #b40014; }
      @media only screen and (max-width: 821px) {
        footer ul li {
          margin-bottom: 10px; } }
      footer ul li:last-child {
        padding-right: 0;
        margin-right: 0;
        border: none; }
      footer ul li a {
        line-height: 1; }
  footer #address {
    font-size: .9em;
    margin-top: 24px; }
    @media only screen and (max-width: 821px) {
      footer #address {
        font-size: .8em; } }
  footer #footer-end {
    display: flex;
    justify-content: space-between;
    padding-top: 20px; }
    @media only screen and (max-width: 821px) {
      footer #footer-end {
        flex-direction: column-reverse;
        grid-gap: 4px;
        padding-top: 12px; } }
    footer #footer-end #copyright {
      font-size: 9px;
      margin-bottom: 0;
      text-align: center; }

#splash {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: 100vh;
  background-color: #fff; }
  #splash #splash-logo {
    position: absolute;
    top: 47%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px; }
    @media only screen and (max-width: 821px) {
      #splash #splash-logo {
        width: 16px; } }
    #splash #splash-logo img {
      opacity: 0; }

.splash-bg {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999999;
  width: 100%;
  height: 100vh;
  background-color: #F7F6F6; }

#wrapper {
  opacity: 0; }

body.appear .splash-bg {
  transform: scale(1, 0);
  animation: splashAnime 1.2s ease forwards; }
@keyframes splashAnime {
  0% {
    opacity: 1;
    transform-origin: top left;
    transform: scale(1, 0); }
  50% {
    transform-origin: top left;
    transform: scale(1, 1); }
  50.0001% {
    transform-origin: bottom left; }
  100% {
    transform-origin: bottom left;
    transform: scale(1, 0); } }
body.appear #wrapper {
  animation: wrapperAnime .6s ease 1.2s forwards; }
@keyframes wrapperAnime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
#nav-scroll-down {
  position: absolute;
  bottom: 40px;
  right: 32px;
  z-index: 999; }
  @media only screen and (max-width: 821px) {
    #nav-scroll-down {
      bottom: 30px;
      right: 28px; } }

#nav-page-top {
  display: none;
  position: fixed;
  bottom: 38px;
  right: 28px;
  z-index: 999;
  height: 165px;
  width: 34px;
  padding: 4px; }
  @media only screen and (max-width: 821px) {
    #nav-page-top {
      display: none !important; } }
  #nav-page-top a {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: end;
    grid-gap: 14px;
    font-size: 11px;
    font-weight: 400; }
    #nav-page-top a img {
      opacity: 1 !important;
      width: 8px;
      justify-self: end; }
    #nav-page-top a span {
      writing-mode: vertical-rl;
      -webkit-writing-mode: vertical-rl;
      -moz-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl; }

body .hamburger {
  border: 1px solid #b40014;
  background: #b40014;
  width: 64px;
  height: 64px;
  display: grid;
  justify-content: center;
  align-content: center;
  border-radius: 40px;
  top: 20px;
  left: auto;
  right: 24px; }

body .hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: #000; }

#content strong {
  font-size: 1.1em; }

.icon-circle {
  width: 54px;
  height: 54px;
  display: grid;
  justify-content: center;
  align-items: center;
  line-height: 1;
  border: 1px solid #fff;
  border-radius: 2em;
  font-size: 20px; }
  @media only screen and (max-width: 821px) {
    .icon-circle {
      width: 40px;
      height: 40px;
      font-size: 16px;
      border: .9px solid #fff; } }

.center {
  justify-content: center; }

.square {
  position: relative; }
  .square::before {
    content: '';
    display: block;
    padding-top: 100%; }
  .square img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; }

.marker {
  background-image: linear-gradient(transparent 60%, rgba(180, 0, 20, 0.9) 60%, rgba(180, 0, 20, 0.9) 80%, transparent 80%); }

.br-r {
  border-top-right-radius: 80px !important; }
  @media only screen and (max-width: 821px) {
    .br-r {
      border-top-right-radius: 40px !important; } }

.br-l {
  border-top-left-radius: 80px !important; }
  @media only screen and (max-width: 821px) {
    .br-l {
      border-top-left-radius: 40px !important; } }

.link-more {
  font-weight: 600;
  font-size: .9em;
  margin-top: 36px;
  display: inline-block;
  border-bottom: 2px dotted #b40014; }
  @media only screen and (max-width: 821px) {
    .link-more {
      margin: 0; } }

#category-list {
  margin: 28px auto 24px;
  grid-gap: 12px 0;
  width: 75%;
  flex-wrap: wrap;
  font-size: 13px; }
  @media only screen and (max-width: 821px) {
    #category-list {
      margin: 16px auto 0;
      flex-wrap: wrap;
      grid-gap: 10px 0;
      font-size: 11px;
      width: 90%; } }
  .post-type-archive-products #category-list, .post-type-archive-recipes #category-list {
    width: 60%; }
    @media only screen and (max-width: 821px) {
      .post-type-archive-products #category-list, .post-type-archive-recipes #category-list {
        width: 100%; } }
  #category-list li {
    border-right: 0.9px solid #b40014; }

@media only screen and (max-width: 821px) {
  .button-area {
    margin-top: 20px; } }

.button {
  margin: 12px 0 20px;
  display: flex;
  justify-content: center; }
  @media only screen and (max-width: 821px) {
    .button {
      margin: 6px 0 24px;
      justify-content: center; } }
  .button a {
    font-weight: 600;
    border: 1px solid #b40014;
    min-width: 240px;
    padding: 16px 24px;
    font-size: 1em;
    line-height: 1;
    border-radius: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background: transparent;
    cursor: pointer;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease; }
    @media only screen and (max-width: 821px) {
      .button a {
        width: 60%;
        min-width: 60%;
        padding: 14px 24px; } }
    .button a::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 100%;
      background: #b40014;
      z-index: -1;
      transition: width 0.4s ease; }
    .button a:hover {
      color: white; }
      .button a:hover::before {
        width: 100%; }
    .button a i {
      display: inline-block;
      justify-self: end;
      font-size: 18px;
      opacity: .9;
      position: absolute;
      top: 50%;
      right: 20px;
      line-height: 1;
      margin-top: -0.5em; }

.button-category {
  width: 90px;
  padding: 4px 8px;
  margin-top: 0;
  font-size: 9px;
  background-color: #b40014; }

.button-border a {
  border-bottom: 1px solid #b40014; }

.btn {
  display: block;
  border: 2px solid #b40014;
  padding: 12px;
  font-size: 13px;
  width: 220px;
  border-radius: 40px;
  margin: 20px auto 0;
  position: relative;
  overflow: hidden;
  font-weight: 600;
  color: #b40014 !important; }
  @media only screen and (max-width: 821px) {
    .btn {
      border: 1px solid #b40014;
      margin-top: 0; } }
  .btn:hover {
    color: #fff !important;
    transition: all .4s; }
  .btn span {
    position: relative;
    z-index: 3;
    font-weight: 600; }
    .btn span i {
      margin-right: 4px; }

/* Slider */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

.slider-container {
  position: relative;
  width: calc(100% - 80px);
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden; }
  @media only screen and (max-width: 821px) {
    .slider-container {
      width: calc(100% - 40px); } }

.slider-container::before {
  content: '';
  display: block;
  padding-top: 50%;
  /* 800/1600 = 0.5 = 50% */ }

@media (max-width: 821px) {
  .slider-container::before {
    padding-top: 100%;
    /* 1:2 = 200% */ } }
.slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0; }

/*  */
.slide {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important; }

.slide.active {
  /* activeクラスが消えないように */
  z-index: 2 !important; }

/*  */
.slide.active {
  opacity: 1; }

.slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 24px; }
  @media only screen and (max-width: 821px) {
    .slide img {
      border-radius: 24px; } }

.slider-nav {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 10; }
  @media only screen and (max-width: 821px) {
    .slider-nav {
      gap: 12px; } }

.nav-dot {
  display: none;
  width: 10px;
  height: 10px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: all 0.3s ease; }
  @media only screen and (max-width: 821px) {
    .nav-dot {
      width: 8px;
      height: 8px; } }

.nav-dot.active {
  background: rgba(255, 255, 255, 0.9); }

.nav-dot:hover {
  background: rgba(255, 255, 255, 0.5); }

.slider-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 20px 40px;
  border-radius: 4px;
  font-size: 18px; }

/* Carousel */
.carousel-container {
  position: relative;
  max-width: 780px;
  margin: 0 auto 0;
  padding: 0 80px;
  width: 100%;
  box-sizing: border-box; }

.carousel {
  overflow: hidden;
  position: relative;
  width: 100%; }

.carousel-track {
  display: flex;
  transition: transform 0.5s ease;
  width: 100%; }

.carousel-item {
  flex: 0 0 33.333%;
  padding: 20px 32px;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  /* 追加 */ }

.carousel-item-content {
  border-radius: 4px;
  text-align: center;
  width: 100%;
  overflow: hidden;
  /* 追加 */ }
  .carousel-item-content a {
    display: block;
    width: 100%; }
  .carousel-item-content .thumbnail {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    /* アスペクト比1:1 */
    position: relative;
    overflow: hidden;
    margin: 0; }
    .carousel-item-content .thumbnail img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      border-radius: 4px; }

.carousel-item-content .thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  border-radius: 4px; }

.carousel-btn {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.5);
  color: #b40014;
  border: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 32px;
  z-index: 10;
  transition: background 0.3s;
  margin-top: -0.5em; }
  @media only screen and (max-width: 821px) {
    .carousel-btn {
      top: 43%;
      width: 32px;
      height: 32px;
      font-size: 24px; } }

.carousel-btn:hover {
  background: rgba(180, 0, 20, 0.9);
  color: #fff; }

.carousel-btn-prev {
  left: 10px; }
  @media only screen and (max-width: 821px) {
    .carousel-btn-prev {
      left: -12px; } }

.carousel-btn-next {
  right: 10px; }
  @media only screen and (max-width: 821px) {
    .carousel-btn-next {
      right: -12px; } }

@media (max-width: 768px) {
  .carousel-container {
    padding: 0 20px;
    max-width: 100%;
    overflow: hidden; }

  .carousel-item {
    flex: 0 0 100% !important;
    padding: 0 24px;
    width: 100%;
    max-width: 100%; }

  .carousel-item-content .thumbnail {
    padding-bottom: 100%; } }
/* Accordion */
.accordion {
  list-style: none;
  padding: 0;
  margin: 0; }

.accordion li {
  border-bottom: 0.9px solid #b40014;
  margin-bottom: 16px; }
  .accordion li ul li, .accordion li ol li {
    border: none;
    margin-bottom: 0; }
  .accordion li p:has(+ ul),
  .accordion li p:has(+ ol) {
    margin-bottom: 6px; }

.accordion-trigger {
  display: block;
  padding: 12px 2px;
  background: #fff;
  color: #b40014;
  text-decoration: none;
  position: relative;
  cursor: pointer; }
  @media only screen and (max-width: 821px) {
    .accordion-trigger {
      padding: 8px 2px; } }

.accordion-trigger:hover {
  background: #eee; }

/* アイコン（矢印）を追加 */
.accordion-trigger::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease; }

.accordion li.active .accordion-trigger::after {
  transform: translateY(-50%) rotate(180deg); }

.accordion-content {
  display: none;
  padding: 16px 2px 24px;
  background: #fff;
  border-top: 0.9px solid #b40014; }
  @media only screen and (max-width: 821px) {
    .accordion-content {
      padding: 12px 2px 20px; } }
  .accordion-content h4 {
    font-size: 15px; }
  .accordion-content p {
    font-size: 13px; }
    .accordion-content p:last-child {
      margin-bottom: 0; }

.accordion-trigger i {
  transition: transform 0.3s ease;
  display: inline-block;
  margin-right: 4px; }

.accordion-trigger.active i {
  transform: rotate(90deg);
  /* 右向き → 下向き */ }

/* Tab */
.tab-wrapper {
  margin: 0 auto; }

.tab-buttons {
  display: flex;
  gap: 4px;
  position: relative; }

.tab-button {
  padding: 12px 24px;
  background: #eeeeee;
  border: none;
  border-radius: 8px 8px 0 0;
  cursor: pointer;
  font-size: 16px;
  position: relative;
  top: 2px;
  transition: all 0.3s ease;
  opacity: 0.6;
  color: #b40014; }
  @media only screen and (max-width: 821px) {
    .tab-button {
      font-size: 14px;
      text-align: left;
      padding: 12px 24px; } }

.tab-button:hover {
  opacity: 0.8; }

.tab-button.active {
  background: #eeeeee;
  top: 0;
  z-index: 2;
  opacity: 1;
  color: #b40014;
  font-weight: 500; }

.tab-content-wrapper {
  background: #eeeeee;
  padding: 40px;
  border-radius: 0 8px 8px 8px;
  position: relative;
  overflow: hidden; }
  @media only screen and (max-width: 821px) {
    .tab-content-wrapper {
      padding: 20px 20px 36px; } }

.tab-content {
  display: none;
  opacity: 0; }

.tab-content.active {
  display: block; }

.tab-content.show {
  opacity: 1; }

/* Modal */
/* 検索ボタン（liタグ） */
#search-button {
  cursor: pointer; }

#search-button a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  color: #b40014;
  text-decoration: none;
  font-size: 20px;
  transition: color 0.3s; }

#search-button a:hover {
  color: #b40014; }

/* モーダルウィンドウ */
.search-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease; }
  .search-modal input:focus,
  .search-modal textarea:focus {
    outline: none;
    border: 1px solid rgba(180, 0, 20, 0.9); }

.search-modal.active {
  display: flex;
  align-items: center;
  justify-content: center; }

.search-modal.show {
  opacity: 1; }

/* オーバーレイ */
.search-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(5px); }

/* モーダルコンテンツ */
.search-modal-content {
  position: relative;
  background: #fff;
  border-radius: 4px;
  padding: 80px 80px;
  max-width: 600px;
  width: 90%;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  transform: scale(0.9);
  transition: transform 0.3s ease; }

.search-modal.show .search-modal-content {
  transform: scale(1); }

/* 閉じるボタン */
.search-modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: transparent;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #b40014;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s; }

.search-modal-close:hover {
  background: #b40014;
  color: #fff; }

/* 検索フォーム */
.search-modal-inner {
  width: 100%; }

.search-form {
  width: 100%; }

.search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  background: #f5f5f5;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color 0.3s; }

.search-input-wrapper:focus-within {
  border-color: #b40014;
  background: #fff; }

.search-field {
  flex: 1;
  border: none;
  background: transparent;
  padding: 15px 20px;
  font-size: 16px;
  outline: none; }

.search-field::placeholder {
  color: #999; }

.search-submit {
  background: transparent;
  border: none;
  padding: 15px 20px;
  cursor: pointer;
  color: #b40014;
  font-size: 18px;
  transition: color 0.3s; }

.search-submit:hover {
  color: #b40014; }

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .search-modal-content {
    padding: 60px 20px;
    width: 95%;
    max-width: none; }

  .search-field {
    padding: 12px 15px;
    font-size: 14px; }

  .search-submit {
    padding: 12px 15px;
    font-size: 16px; }

  .search-modal-close {
    top: 10px;
    right: 10px;
    font-size: 20px;
    width: 35px;
    height: 35px; } }
/* Search Results Container */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px; }
  @media only screen and (max-width: 821px) {
    .container {
      padding: 0 8px; } }

/* Search Header */
.search-header {
  text-align: center;
  margin-bottom: 60px; }

.search-title {
  font-size: 36px;
  margin-bottom: 10px;
  color: #333; }

.search-title span {
  color: #e74c3c; }

.search-count {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 30px; }

/* Search Form */
.search-form-wrapper {
  max-width: 600px;
  margin: 0 auto; }

.search-input-wrapper {
  display: flex;
  align-items: center;
  background: #f5f5f5;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color 0.3s; }

.search-input-wrapper:focus-within {
  border-color: #b40014;
  background: #fff; }

.search-field {
  flex: 1;
  border: none;
  background: transparent;
  padding: 15px 20px;
  font-size: 16px;
  outline: none; }

.search-submit {
  background: transparent;
  border: none;
  padding: 15px 20px;
  cursor: pointer;
  color: #b40014;
  font-size: 18px;
  transition: color 0.3s; }

.search-submit:hover {
  color: #b40014; }

/* Search Results List */
.search-results-list {
  margin-bottom: 40px; }

.search-result-item {
  background: #fff;
  border-bottom: 1px dotted #b40014;
  padding: 0 0 36px;
  margin-bottom: 40px; }

.search-result-content {
  display: flex;
  gap: 30px; }

.search-result-text {
  flex: 1; }

/* Post Type Badge */
.post-type-badge {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 2em;
  font-size: 11px;
  border: 0.9px solid #b40014;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 10px;
  line-height: 1; }

/* Title */
.search-result-title {
  font-size: 20px;
  margin-bottom: 0px; }

.search-result-title a {
  text-decoration: none;
  transition: color 0.3s; }

/* Meta */
.search-result-meta {
  display: flex;
  gap: 20px;
  margin-bottom: 6px;
  font-size: 14px; }

.search-result-meta i {
  margin-right: 5px; }

.search-result-category a {
  text-decoration: none; }

/* Excerpt */
.search-result-excerpt {
  font-size: .9em;
  line-height: 1.6;
  margin-bottom: 15px; }

/* Read More */
.read-more {
  display: inline-block;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s; }

.read-more:hover {
  color: #c0392b; }

.read-more i {
  margin-left: 5px;
  transition: transform 0.3s; }

.read-more:hover i {
  transform: translateX(5px); }

/* Pagination */
.search-pagination {
  text-align: center; }

.pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  list-style: none;
  padding: 0; }
  .pagination .nav-links {
    display: flex;
    grid-gap: 18px; }

.page-numbers {
  display: inline-block;
  padding: 8px 12px;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.3s; }

/* No Results */
.no-results {
  text-align: center;
  padding: 0 20px 60px;
  margin-top: -40px; }

.no-results-icon {
  font-size: 40px;
  opacity: .5;
  margin-bottom: 20px; }

.no-results-title {
  font-size: 1.2em;
  text-align: center;
  margin-bottom: 15px; }

.no-results-text {
  font-size: 1em;
  margin-bottom: 40px; }

/* Responsive */
@media (max-width: 768px) {
  .search-title {
    font-size: 28px; }

  .search-result-content {
    flex-direction: column; }

  .search-result-thumbnail {
    width: 100%; }

  .popular-posts-grid {
    grid-template-columns: 1fr; }

  .search-result-item {
    padding: 20px; } }
/* Breadcrumb */
.breadcrumb {
  padding: 8px 0 4px; }
  @media only screen and (max-width: 821px) {
    .breadcrumb {
      padding: 8px 0 0;
      width: calc(100% - 36px);
      border-top: 1px solid #b40014;
      margin: 0 auto; } }
  @media only screen and (max-width: 821px) {
    .breadcrumb .container {
      padding: 0; } }

.breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0; }

.breadcrumb-list li {
  display: flex;
  align-items: center;
  font-size: 11px; }
  @media only screen and (max-width: 821px) {
    .breadcrumb-list li {
      font-size: 10px; } }

.breadcrumb-list li a {
  text-decoration: none;
  transition: color 0.3s; }

.breadcrumb-list li.current {
  font-weight: 600; }

.breadcrumb-list li.separator {
  margin: 0 8px;
  font-size: 12px; }

/* Responsive */
@media (max-width: 768px) {
  .breadcrumb-list {
    font-size: 11px; }

  .breadcrumb-list li.separator {
    margin: 0 5px; } }

/*# sourceMappingURL=style.css.map */
