/*!
Theme Name: 新ichiryu3 v2 (Optimized)
Theme URI: https://ichiryu.jp/
Author: パティスリーイチリュウ × Cross Beams
Author URI: https://cross-beams.com/
Description: 2026-04-26 リニューアル後の SEO/CV/LLMO 最適化版。GA4 カスタムイベント、JSON-LD（LocalBusiness/Bakery/Product/FAQPage/BreadcrumbList）、meta description/title 動的生成、画像 alt 自動付与、render-blocking 解消、店舗別 LP 強化を組み込み済み。
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ichiryu
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

ichiryu is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/


/* RESET CSS (Meyer Reset ã‚’ä¾‹ã¨ã—ã¦ä½¿ç”¨)  */
/* Custom additions */
#section-main.scstyle-1 { z-index: 2; }

/* News section width fix */
#section-news { max-width: 100%; overflow-x: hidden; }
#section-news .news-list,
#section-news .more-read,
#section-news .banner-area { width: 100%; box-sizing: border-box; }
#section-news img { max-width: 100%; height: auto; }
#section-news .lucky-number-section table { width: 100%; table-layout: fixed; }
#section-news .lucky-number-section th,
#section-news .lucky-number-section td { word-break: break-word; }
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img{max-width:100%;}

/* RESET CSS (Meyer Reset) */
/* çœç•¥ (ä»¥å‰ã®å›žç­”ã¨åŒã˜) */

html {
  font-size: 16px; /* åŸºæœ¬ã¯16pxã‚’ãƒ«ãƒ¼ãƒˆãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã¨ã™ã‚‹ */
	scroll-behavior: smooth;
}

/* ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¯ã‚¨ãƒªã§ãƒ‡ãƒã‚¤ã‚¹ã«å¿œã˜ã¦ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã‚’èª¿æ•´ */
@media (min-width: 768px) {
  html {
    font-size: 18px; /* ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆç”¨ */
  }
}

@media (min-width: 1024px) {
  html {
    font-size: 20px; /* PCç”¨ */
  }
}
/* å…¨ä½“ */
h1,h2,h3{font-family: fot-tsukumin-pr6n, sans-serif;}

body {
  font-family: serif, sans-serif;
  color: #32373c;
  /* background-color: var(--color-text); */
  margin: 0;
  padding: 0;
  font-family: source-han-sans-japanese, sans-serif;
  font-style: normal;
}

p,a {
  font-size: 0.8rem; /* 16px, 18px, 20pxã«å¯¾å¿œ */
  line-height: 1.7em;
  letter-spacing: 1px;
  text-decoration:unset;
  color: #32373c;
}

/* è¦‹å‡ºã— */
h1 {
  font-size: 2.5rem; /* ã‚¹ãƒžãƒ›: 40px, ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆ: 45px, PC: 50pxã«å¯¾å¿œ */
  line-height: 1.3em;
  letter-spacing: 0.5px;
}

h2 {
  font-size: 1.6rem; /* ã‚¹ãƒžãƒ›: 32px, ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆ: 36px, PC: 40pxã«å¯¾å¿œ */
  line-height: 1.4em;
  letter-spacing: 0.5px;
  font-family: fot-tsukumin-pr6n, sans-serif;
  font-weight: 100;
  font-style: normal;
  margin-bottom: 1em;
  text-align: center;
  /* width: 80%; */
}

h3 {
  font-size: 1.75rem; /* ã‚¹ãƒžãƒ›: 28px, ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆ: 30px, PC: 35pxã«å¯¾å¿œ */
  line-height: 1.4em;
  letter-spacing: 0.5px;
  text-align: center;
}
/* ãƒ¡ã‚¤ãƒ³ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ */
#main {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  margin-top: -100px;
  max-width: 1180px;
}
section {
  width: 100%;
  align-items: center;
  justify-content: center;
  will-change: opacity; /* ãƒ‘ãƒ•ã‚©ãƒ¼ãƒžãƒ³ã‚¹å‘ä¸Š */
}
/* å…¨ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®å…±é€šè¨­å®š */
section {
  padding: 60px 20px; /* ä¸Šä¸‹60pxã€å·¦å³20pxï¼ˆãƒ‡ãƒ•ã‚©ãƒ«ãƒˆï¼‰ */
  margin: 0 auto;
  max-width: 1200px; /* ã‚»ã‚¯ã‚·ãƒ§ãƒ³å…¨ä½“ã®æœ€å¤§å¹…ã‚’åˆ¶é™ã—ã¦ã€è¦–è¦šçš„ãªã¾ã¨ã¾ã‚Šã‚’ä½œã‚‹ */
  background: white;
}
section .inner{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

#pagecontent2{margin-top:50px;}

/* ã‚¹ãƒžãƒ›å‘ã‘ã®paddingè¨­å®š */
@media (max-width: 768px) {
 section {
    padding: 40px 0; /* ä¸Šä¸‹40pxã€å·¦å³15pxï¼ˆã‚¹ãƒžãƒ›ã¯ç‹­ã‚ã«ï¼‰ */
  }
}

/* PCå‘ã‘ã®paddingè¨­å®š */
@media (min-width: 1024px) {
 section {
    padding: 80px 0px; /* ä¸Šä¸‹80pxã€å·¦å³30pxï¼ˆPCã¯ä½™è£•ã‚’æŒãŸã›ã‚‹ï¼‰ */
  }
}


#hero{
 display: flex;
}

.scstyle-1{}

.scstyle-2{}

.scstyle-3{}


/* ãƒ•ãƒƒã‚¿ãƒ¼ */
#footer {
  background-color: rgb(245 245 245);
  position: relative;
  z-index: 0;
}
#footer .logo {
    width: 50%;
    margin: 0 auto;
}
#footer .logo img{
    filter: invert(100%);
}

/* スマホ用ヘッダー */
.fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px 20px;
    z-index: 100;
    align-items: center;
    justify-content: space-between;
    background: white;
    display: flex;
    height: 60px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.fixed-header .logo {
    font-size: 1.5em;
    max-height: 50px;
    overflow: hidden;
    margin-left: 20px;
    transition: all 0.3s ease;
}

/* タブレット用ヘッダー */
@media (min-width: 768px) and (max-width: 1024px) {
    .fixed-header {
        height: 80px;
        padding: 15px 30px;
    }
    
    .fixed-header .logo {
        font-size: 1.8em;
        margin-left: 30px;
        max-height: 60px;
    }

    .fixed-header #nav .nav-list {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.9);
        padding-top: 80px;
    }

    .fixed-header #nav .nav-list.show {
        display: block;
    }

    .fixed-header #nav .nav-list li {
        margin: 15px 0;
        text-align: left;
    }

    .fixed-header #nav .nav-list li a {
        color: #fff;
        font-size: 1.2em;
        padding: 10px 20px;
    }

    .fixed-header #nav #hamburger-menu {
        display: block;
    }
}

/* PC用ヘッダー */
@media (min-width: 1024px) {
    .fixed-header {
        height: 80px;
        padding: 20px 0px;
    }
    
    .fixed-header .logo {
        font-size: 2em;
        margin-left: 40px;
        max-height: 70px;
    }

    .fixed-header #nav .nav-list {
        display: flex;
        position: static;
        background: transparent;
        transform: none;
        height: auto;
        padding: 0;
    }

    .fixed-header #nav .nav-list li {
        margin: 0 20px;
    }

    .fixed-header #nav .nav-list li a {
        color: var(--color-text);
        font-size: 1em;
        padding: 5px 15px;
        transition: color 0.3s ease;
    }

    .fixed-header #nav .nav-list li a:hover {
        color: #007bff;
    }

    .fixed-header #nav #hamburger-menu {
        display: none;
    }
}
.fixed-header .logo a {
}
.fixed-header .logo img {height: 35px;filter: invert(100%);}

/* スマホ用ナビゲーション */
.fixed-header #nav .nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  transform: translateX(-100%);
  transition: transform 0.3s ease-in-out;
  display: none;
}

.fixed-header #nav .nav-list li {
  display: inline-block;
  margin: 0 10px;
}

.fixed-header #nav .nav-list li a {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 7px;
}

.fixed-header #nav .nav-list.show {
  transform: translateX(0);
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 81%);
  overflow-y: auto;
  z-index: 99;
  padding-top: 50px;
}

.fixed-header #nav .nav-list.show li {
  display: block;
  margin: 5px 0;
  text-align: left;
}

.fixed-header #nav .nav-list.show li a {
  font-size: 1em;
}

/* タブレット用ナビゲーション */
@media (min-width: 768px) and (max-width: 1024px) {
  .fixed-header #nav .nav-list {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    padding-top: 80px;
  }

  .fixed-header #nav .nav-list.show {
    display: block;
  }

  .fixed-header #nav .nav-list li {
    margin: 15px 0;
    text-align: left;
  }

  .fixed-header #nav .nav-list li a {
    color: #fff;
    font-size: 1.2em;
    padding: 10px 20px;
  }

  .fixed-header #nav #hamburger-menu {
    display: block;
  }
}

/* PC用ナビゲーション */
@media (min-width: 1024px) {
  .fixed-header #nav .nav-list {
    display: flex;
    position: static;
    transform: none;
    background: transparent;
    height: auto;
    padding: 0;
    align-items: center;
  }
    .fixed-header #nav #hamburger-menu {
        display:none;
  
    }
  .fixed-header #nav .nav-list li {
    margin: 0 25px;
    position: relative;
  }

  .fixed-header #nav .nav-list li a {
    color: var(--color-text);
    font-size: 1vw;
    padding: 10px 10px;
    transition: all 0.3s ease;
    font-weight: 500;
  }

  .fixed-header #nav .nav-list li a:hover {
    color: #007bff;
    transform: translateY(-2px);
  }

  .fixed-header #nav #hamburger-menu {
    display: none;
  }

  /* ドロップダウンメニューのスタイル */
  .fixed-header #nav .nav-list .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    min-width: 200px;
    z-index: 100;
  }

  .fixed-header #nav .nav-list li:hover .sub-menu {
    display: block;
  }

  .fixed-header #nav .nav-list .sub-menu li {
    margin: 0;
    padding: 10px;
    border-bottom: 1px solid #f0f0f0;
  }

  .fixed-header #nav .nav-list .sub-menu li:last-child {
    border-bottom: none;
  }

  .fixed-header #nav .nav-list .sub-menu li a {
    font-size: 0.95vw;
    padding: 8px 15px;
    color: #555;
  }

  .fixed-header #nav .nav-list .sub-menu li a:hover {
    color: #007bff;
    background: #f8f8f8;
  }
}

/* ã‚µãƒ–ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®ã‚¢ã‚³ãƒ¼ãƒ‡ã‚£ã‚ªãƒ³ç”¨ã‚¹ã‚¿ã‚¤ãƒ« */
.sub-menu {
  display: block;
  padding-left: 20px;
}

.menu-item-has-children.open > a {
  font-weight: var(--fw-medium); /* é–‹ã„ã¦ã„ã‚‹ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®å¼·èª¿ */
}

.sub-menu li a {
  padding-left: 15px; /* ã‚µãƒ–ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã®ã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆ */
}

.sub-menu {
  transition: height 0.3s ease, opacity 0.3s ease;
}

.menu-item-has-children > a::after {
  float: right;
}

.menu-item-has-children.open > a::after {
  content: "â–²";
  float: right;
}

.fixed-header #nav #hamburger-menu {
    display: block;
    width: 35px; /* å¹…ã‚’50pxã«è¨­å®š */
    height: 17px; /* é«˜ã•ã‚’50pxã«è¨­å®š */
    background-color: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    z-index: 101;
    appearance: none;
    position: relative;
    right: 41px;
    top: 18px;
    position: absolute;
}

.fixed-header #nav #hamburger-menu span {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000000;
    position: absolute;
    transition: transform 0.3s ease-in-out;
}

.fixed-header #nav #hamburger-menu span:nth-child(1) {
    top: 0;
    width: 20px;
}

.fixed-header #nav #hamburger-menu span:nth-child(2) {
    top: 50%;
    width: 30px;
    transform: translateY(-50%);
}

.fixed-header #nav #hamburger-menu span:nth-child(3) {
    bottom: 0;
    width: 40px;
}

.fixed-header #nav #hamburger-menu.active span:nth-child(1) {
    transform: translateY(calc(50% + 8.5px)) rotate(45deg);
    width: 40px;
    background: white;
}

.fixed-header #nav #hamburger-menu.active span:nth-child(2) {
    opacity: 0;
    color: white;
}

.fixed-header #nav #hamburger-menu.active span:nth-child(3) {
    transform: translateY(calc(-50% - 7.5px)) rotate(-45deg);
    width: 40px;
    background: white;
}



@media (min-width: 768px) {
    .fixed-header #nav .nav-list {
       transform: translateX(0);
    }
    .fixed-header #nav .nav-list.show {
        display: flex;
        position: static;
        height: auto;
        background-color: transparent;
        z-index: initial;

    }
    .fixed-header #nav .nav-list.show li {
        display: inline-block;
        margin: 0 10px;
        text-align: initial;

    }
    .fixed-header #nav .nav-list.show li a {
        font-size: initial;

    }



   
}




.fixed-footer .online-store-link {
  color: #fff;
  text-decoration: none;
  margin-top: 10px;
  display: block;
}


@media (min-width: 768px) { 
  .fixed-header #nav .nav-list {
       transform: translateX(0);
    }
    .fixed-header #nav .nav-list.show {
        display: flex;
        position: static;
        height: auto;
        background-color: transparent;
        z-index: initial;

    }
    .fixed-header #nav .nav-list.show li {
        display: inline-block;
        margin: 0 10px;
        text-align: initial;

    }
    .fixed-header #nav .nav-list.show li a {
        font-size: initial;

    }



    .fixed-header #nav #hamburger-menu {
        display: block;
        right: 60px;
        top: 38px;
    }
}

@media (min-width: 1280px) {  /* ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ— */
  /* å¿…è¦ã«å¿œã˜ã¦ã‚¹ã‚¿ã‚¤ãƒ«ã‚’è¿½åŠ  */
}




/* #heroã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®å…¨ç”»é¢è¡¨ç¤ºã¨ã‚¹ã‚¿ã‚¤ãƒ«è¨­å®š */
.hero-slider {
    position: relative;
    width: 100%;
    height: auto;  /* auto height to follow image ratio */
    overflow: hidden;
}

.slider-wrapper {
    position: relative;
    width: 100%;
    height: auto;
}

/* å„ã‚¹ãƒ©ã‚¤ãƒ‰ã®ã‚¹ã‚¿ã‚¤ãƒ« */
.slider-image { display:none; }

.slider-image:nth-child(1) {
    animation-delay: 0s;  
}

.slider-image:nth-child(2) {
    animation-delay: 4s; 
}

.slider-image:nth-child(3) {
    animation-delay: 8s; 
}

@keyframes fadezoom {
  70% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(1.1);
  }
}




/* ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼ã®ã‚¹ã‚¿ã‚¤ãƒ« */
.contentslider {
  width: 80vw;
  max-width: 500px;
  margin: 0 auto; /* ä¸­å¤®æƒãˆ */
    position: absolute !important;
  z-index: 1;
}

.contentslider img {
  width: 100%;
  height: auto; /* ç”»åƒã‚’å¹…ã«åˆã‚ã›ã¦ç¸¦æ¨ªæ¯”ã‚’ç¶­æŒ */
}


#section-main{background-size: cover;background-position: center;display: grid;align-content: stretch;justify-content: center;align-items: start;justify-items: center;padding-top: 0px;}
#section-main img{width: 100%;margin: 0 auto;}
#section-main div{width: 90%;padding-top: 25px;}


/* ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚¢ã‚¤ãƒ†ãƒ ã®ã‚¹ã‚¿ã‚¤ãƒ« */
#section-menu .menu-item {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #f5f5f5;
    padding: 20px 0;
}
#section-menu .menu-item img {
    max-width: 200px;
    margin-right: 20px;
}
#section-menu .menu-item h3 {
    color: #fff;
}
#section-menu .menu-item p {
    color: #fff;
}


.section-info ul {
  list-style: none; /* ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ç®‡æ¡æ›¸ãè¨˜å·ã‚’ç„¡åŠ¹ã«ã™ã‚‹ */
  padding: 0;
  margin: 0;
}

/* liè¦ç´ ã®ã‚¹ã‚¿ã‚¤ãƒ« */
.section-info  li {
  /* border: 1px solid #ddd; */ /* æž ã‚’ä½œã‚‹ */
  padding: 10px 15px 15px 15px; /* å†…å´ã®ä½™ç™½ã‚’è¨­å®š */
  margin-bottom: 10px; /* å„liè¦ç´ ã®é–“ã«ä½™ç™½ã‚’è¿½åŠ  */
   /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã‚’æ¨ªä¸¦ã³ã«ã™ã‚‹ */
   /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã®åž‚ç›´ä½ç½®ã‚’ä¸­å¤®ã«æƒãˆã‚‹ */
  /* border-radius: 10px; */ /* è§’ã‚’ä¸¸ãã™ã‚‹ */
  box-shadow: none;
  /* background-color: #ffffff; */ /* èƒŒæ™¯è‰²ã‚’è¨­å®š */
  position: relative;
}

/* å„aè¦ç´ ã®ã‚¹ã‚¿ã‚¤ãƒ« */
.section-info  a {
  text-decoration: none; /* ãƒªãƒ³ã‚¯ã®ä¸‹ç·šã‚’æ¶ˆã™ */
  color: var(--color-text); /* ãƒ†ã‚­ã‚¹ãƒˆã®è‰² */
  font-size: 16px; /* ãƒ†ã‚­ã‚¹ãƒˆã‚µã‚¤ã‚º */
  display: flex; /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã‚’æ¨ªä¸¦ã³ã«ã™ã‚‹ */
   /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã®åž‚ç›´æƒãˆ */
  gap: 10px; /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã®é–“ã«ã‚¹ãƒšãƒ¼ã‚¹ */
  width: 100%;
}


.section-info  a i {
  margin-right: 10px;
  font-size: 30px; /* ã‚¢ã‚¤ã‚³ãƒ³ã®ã‚µã‚¤ã‚ºã‚’èª¿æ•´ */
  margin-top: 5px;
  width: 30px;
}

.instaicon i {
  color: #e4405f; /* Instagramã®ãƒ–ãƒ©ãƒ³ãƒ‰ã‚«ãƒ©ãƒ¼ */
}

.lineicon i {
  color: #00c300; /* LINEã®ãƒ–ãƒ©ãƒ³ãƒ‰ã‚«ãƒ©ãƒ¼ */
}

.recruiticon i {
  color: var(--color-text); /* ã‚¹ã‚¿ãƒƒãƒ•å‹Ÿé›†ã®ã‚«ãƒ©ãƒ¼ï¼ˆé»’ï¼‰ */
}

.reserveicon i {
   /* ã”äºˆç´„ã®ã‚«ãƒ©ãƒ¼ï¼ˆã‚ªãƒ¬ãƒ³ã‚¸ï¼‰ */
}

/* å„liè¦ç´ å†…ã®spanã®ã‚¹ã‚¿ã‚¤ãƒ« */
.section-info  li span {
  font-size: 14px; /* ã‚µãƒ–ãƒ†ã‚­ã‚¹ãƒˆã®ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚ºã‚’å°‘ã—å°ã•ã‚ã« */
  color: #777; /* ã‚µãƒ–ãƒ†ã‚­ã‚¹ãƒˆã®è‰² */
  display: block; /* æ”¹è¡Œã—ã¦ã‚µãƒ–ãƒ†ã‚­ã‚¹ãƒˆã‚’è¡¨ç¤º */
  margin-top: 5px; /* ä¸Šã®ãƒ†ã‚­ã‚¹ãƒˆã¨ã®ä½™ç™½ */
  display: block;
  width: calc(100% - 60px);
  position: absolute;
  bottom: 5px;
  left: 65px;
  font-size: 0.7em;
}
/* エフェクト（既定は表示。body.anim 時のみ非表示でアニメ）*/
.fade-in, .slide-in-left { opacity: 1; transform: none; transition: all 0.5s ease; }
body.anim .fade-in, body.anim .slide-in-left { opacity: 0; transform: translateX(0); }
body.anim .slide-in-left { transform: translateX(-100px); }

.text-underline {
  /* display: inline-block; */
  position: relative;
}

.underline {
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 0;
  height: 2px;
  background-color: #808080;
  transform: translateX(-50%);
  transition: width 0.5s ease-in-out;
}

.text-underline.active .underline {
  width: 20%;
}
.contentslider2{}

.contentslider2 img { display:none }
.contentslider2{ display:none }

/* ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆä»¥é™ã¯ã‚¹ãƒ©ã‚¤ãƒ€ãƒ¼ã‚’è§£é™¤ */
@media screen and (min-width: 768px) {
  .contentslider2 { display:none }

	.section-info ul {
  list-style: none; /* ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ç®‡æ¡æ›¸ãè¨˜å·ã‚’ç„¡åŠ¹ã«ã™ã‚‹ */
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* liè¦ç´ ã®ã‚¹ã‚¿ã‚¤ãƒ« */
.section-info  li {
  /* border: 1px solid #ddd; */ /* æž ã‚’ä½œã‚‹ */
  padding: 10px 15px 15px 15px; /* å†…å´ã®ä½™ç™½ã‚’è¨­å®š */
  margin-bottom: 10px; /* å„liè¦ç´ ã®é–“ã«ä½™ç™½ã‚’è¿½åŠ  */
   /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã‚’æ¨ªä¸¦ã³ã«ã™ã‚‹ */
   /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã®åž‚ç›´ä½ç½®ã‚’ä¸­å¤®ã«æƒãˆã‚‹ */
  /* border-radius: 10px; */ /* è§’ã‚’ä¸¸ãã™ã‚‹ */
  box-shadow: none;
  /* background-color: #ffffff; */ /* èƒŒæ™¯è‰²ã‚’è¨­å®š */
  position: relative;
}

/* å„aè¦ç´ ã®ã‚¹ã‚¿ã‚¤ãƒ« */
.section-info  a {
  text-decoration: none; /* ãƒªãƒ³ã‚¯ã®ä¸‹ç·šã‚’æ¶ˆã™ */
  color: var(--color-text); /* ãƒ†ã‚­ã‚¹ãƒˆã®è‰² */
  font-size: 16px; /* ãƒ†ã‚­ã‚¹ãƒˆã‚µã‚¤ã‚º */
  display: flex; /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã‚’æ¨ªä¸¦ã³ã«ã™ã‚‹ */
   /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã®åž‚ç›´æƒãˆ */
  gap: 10px; /* ã‚¢ã‚¤ã‚³ãƒ³ã¨ãƒ†ã‚­ã‚¹ãƒˆã®é–“ã«ã‚¹ãƒšãƒ¼ã‚¹ */
  width: 100%;
}
}

.mainmenuarea {
  margin-top: 30px;
}

.category-grid {
  display: grid;
  grid-template-columns: 1fr;  /* ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯1åˆ—ï¼ˆã‚¹ãƒžãƒ›å‘ã‘ï¼‰ */
  gap: 20px;
}

.category-item {
  display: flex;
  align-items: center;
  width: 90%;
  margin: 0 auto;
  /* border-radius: 5px; */
  height: 25vw;
  max-height: 120px;
  box-shadow: 1px 1px 1px #a2a2a2;
}

.category-item img {
  width: 28%;  /* ç”»åƒéƒ¨åˆ†ãŒ50% */
  max-width: 120px;
}

.category-item p {
  font-size: 1.4em;
  margin-left: 20px;
  width: 50%;  /* ãƒ†ã‚­ã‚¹ãƒˆéƒ¨åˆ†ãŒ50% */
  text-align: center;
}

/* ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆä»¥ä¸Šã®ç”»é¢ã§æ¨ª2åˆ—ã«å¤‰æ›´ */
@media screen and (min-width: 768px) {
  .category-grid {
    grid-template-columns: 1fr 1fr 1fr;  /* ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆä»¥ä¸Šã§2åˆ— */
    gap: 10px;
  }
}

#section-news {
  padding: 40px 0px;
  background-color: #f5f5f5;
  text-align: center;
}

.news-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0px;
  margin-top: 20px;
}

.news-item {
  background-color: #ffffffdb;
  padding: 20px;
  transition: box-shadow 0.3s ease;
  width: 80%;
  margin: 0 auto;
  position: relative;
  box-shadow: 1px 1px 1px #a2a2a2;
}

.news-item:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.news-date {
  position: absolute;
  top: 10px;
  left: 20px;
  font-size: 0.9em;
  color: var(--color-gray-light);
}
.news-item h3 {
  font-size: 1.5em;
  margin-bottom: 10px;
}

.news-item p {
  color: var(--color-muted);
  font-size: 1em;
  line-height: 1em;
  margin-top: 20px;
}

.more-read {
  margin-top: 30px;
}

.more-read button {
  padding: 10px 20px;
  background-color: #656565;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.more-read button:hover {
  background-color: #252525;
}

#nav-2{}
#nav-2 ul{
    display: block;
}
#nav-2 ul li{
    box-shadow: unset;
    text-align: right;
}



#nav-2 ul li a{
    font-size: 0.9rem;
    display: block;
    text-align: right;
    margin-bottom: 10px;
}
#nav-2 ul li .sub-menu{
    display: block;
}
#nav-2 ul li .sub-menu li{
    text-align: right;
    padding: 0px;
}
#nav-2 ul li .sub-menu li a{
    text-align: right;
    display: unset;
    font-size: 0.8rem;
}
/* ãƒãƒŠãƒ¼ã‚¨ãƒªã‚¢ */
.banner-area {
  display: flex;
  justify-content: space-around;
  margin-top: 40px;
  flex-direction: column;
  align-items: center;
}

.banner {
  
  
   /* 3:5 ã®æ¯”çŽ‡ */
}

.banner1 {

}

.banner2 {
}

/* ãƒ¢ãƒã‚¤ãƒ«æ™‚ã¯1åˆ—è¡¨ç¤º */
@media screen and (max-width: 767px) {
  .news-list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .banner-area {
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
    margin-top: 30px;
  }

  .banner {
    width: 100%;
    margin-bottom: 20px;
  }
}



/* ã‚¹ãƒˆã‚¢ãƒªã‚¹ãƒˆã®ã‚¹ã‚¿ã‚¤ãƒ« */
.stores-section {
        position: relative;
        z-index: 1;
}

.stores-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; align-items:start }
@media(min-width: 900px){ .stores-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px } }

.stores-item { padding:0; width:100%; max-width: 280px }
.stores-name { margin:0 }
.stores-open {
  display:block; width:100%;
  padding: 10px 14px; border:1px solid #d2b48c; border-radius: 12px;
  background:#fff; color: var(--color-text); text-align:left; line-height:1.5; font-weight: var(--fw-medium);
  box-shadow:none; position:relative;
}
.stores-open::after{ content:'›'; position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#b48b54 }

.stores-item p{
    font-size: 1rem;
}
.stores-item span{
    font-size: 0.8rem;
    display: block;
    margin-top: -0.5rem;
}
.stores-item span.stores-close{
    font-size: 1.5rem;
    background: gray;
    padding: 5px 6px 8px 7px;
    border-radius: 20px;
    color: white;
}
.stores-item span.shopsinfo{
    display: inline-block;
    min-width: auto;
    height: auto;
    line-height: 1.6;
    padding: 2px 6px;
    border: solid 1px #ddd;
    margin-right: 6px;
    border-radius: 6px;
    margin-top: 0;
    margin-bottom: 0;
}
/* ポップアップの基本スタイル - 新しいデザインに更新済み (shop.css参照) */
/* 古いスタイルは削除されました。新しいスタイルは assets/css/shop.css をご確認ください */

/* ãƒ¢ãƒã‚¤ãƒ«å¯¾å¿œ */
@media (max-width: 768px) { .stores-grid { grid-template-columns: 1fr 1fr; padding:10px } }

/* Smartphone: center-align Stores heading and items */
@media (max-width: 640px) {
  .stores-section .section-title { text-align: center; }
  .stores-section .stores-item { margin-left: auto; margin-right: auto; }
}





/* ãƒ’ãƒ¼ãƒ­ãƒ¼ãƒãƒŠãƒ¼ã®ã‚¹ã‚¿ã‚¤ãƒ« */
#hero-banner {
    background: url('https://ichiryu.jp/wp-content/uploads/2024/10/apatissier.jpg') no-repeat center center;
    background-size: cover;
    padding: 60px 0;
    text-align: center;
    color: white;
    padding-top: 20vh;
}
body.page-id-60 #hero-banner{background: url('https://ichiryu.jp/wp-content/uploads/2024/10/8.jpg') no-repeat center center;background-position: center;background-size: cover}
body.page-id-56 #hero-banner{background: url('https://ichiryu.jp/wp-content/uploads/2025/05/ＨＰメインスライダー.png') no-repeat center center; background-position: center;background-size: cover}
body.page-id-44 #hero-banner{background: url('https://ichiryu.jp/wp-content/uploads/2019/07/strawberry.jpg') no-repeat center center;background-position: center;background-size: cover;}

#hero-banner h1 {
    font-size: 1.2rem;
    letter-spacing: 1px;
    font-weight: var(--fw-medium);
    text-align: center;
    padding-left: 20px;
    text-shadow: 1px 1px 1px #6e6e6e;
}

/* ã‚«ãƒ†ã‚´ãƒªãƒ¼ãƒªã‚¹ãƒˆã®ã‚¹ã‚¿ã‚¤ãƒ« */
.category-list {
    text-align: center;
    margin: 20px 0;
    display: none;
}
.page-id-44 .category-list {display:block;}

#holecake,#rollcake,#othercakes,#shortcake{
    margin-top: 50px;
    border-top: solid 1px;
    width: 80%;
    margin: 0 auto;
    margin-top: 50px;
    padding-top: 10px;
}

.category-list ul {
    list-style: none;
    padding: 0px 10px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.category-list ul li {
    font-size: 1.2rem;
}

.category-list ul li a {
    text-decoration: none;
    color: var(--color-text);
    padding: 10px 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    display: block;
}

.category-list ul li a:hover {
    background-color: #f0f0f0;
}

section.item{
    width: 100%;
    padding: 0px;
    padding-top: 60px;
    padding-bottom: 50px;
}

section.item:hover{
    transform: unset;
}
section.item .product-info{}

section.item .product-info .product-image{
    margin-bottom: 10px;
}
section.item .product-info h2{
    margin-top: 30px;
    font-size: 1.3rem;
}

.product-info .price{
    margin-top: 30px;
}

/* å•†å“ã‚°ãƒªãƒƒãƒ‰ã®ã‚¹ã‚¿ã‚¤ãƒ« */
.item-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 30px;
}

.item {
    padding: 5px;
    text-align: center;
    transition: transform 0.3s ease;
}
.item a{
    line-height: 1em;
    letter-spacing: unset;
}
.item a.order-button{
    border: solid 1px;
    padding: 5px 5px 7px 5px;
    display: block;
    width: 80%;
    margin: 0 auto;
    border-radius: 10px;
    font-size: 1.2rem;
}
a.memorial{
    border: solid 1px;
    padding: 6px 5px 8px 5px;
    display: block;
    width: 80%;
    margin: 0 auto;
    border-radius: 10px;
    font-size: 1.2rem;
}
p.telreserve-link{
    border: solid 1px;
    padding: 0px 5px 0px 5px;
    display: block;
    width: 80%;
    margin: 0 auto;
    border-radius: 10px;
    font-size: 1.2rem;
    margin-top: 10px;
}

.item:hover {
}

.item-tags{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
    margin-top: 0.5rem;
}
.item-tag{
    background: gray;
    color: white;
    padding: 2px 5px 3px 5px;
    border-radius: 5px;
    font-size: 0.7rem;
    margin: 0px 1px;
}
.new-item{
    background: red;
}
.store-only-item{
    background: green;
}
.memorial-item{
    background: #ff5573;
}
.ec-item{
    background: #007cff;
}
.item-image img {
    max-width: 100%;
    height: auto;
}

.item-title h3 {
    font-size: 0.8rem;
    margin-top: 10px;
    color: var(--color-text);
    font-family: source-han-sans-japanese, sans-serif;
}


.product-list-button{
    background: white;
    border: solid 1px;
    padding: 9px;
    display: block;
    width: 50%;
    margin: 0 auto;
    text-align: center;
    border-radius: 10px;
    margin-top: 25px;
}
/* ãƒ¡ãƒ‡ã‚£ã‚¢ã‚¯ã‚¨ãƒªã§ã®ãƒ¬ã‚¹ãƒãƒ³ã‚·ãƒ–ãƒ‡ã‚¶ã‚¤ãƒ³ */
@media (min-width: 768px) {
    .item-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .item-grid {
        grid-template-columns: repeat(4, 1fr);
    }
	 .fixed-header #nav #hamburger-menu {
        display: none;

    }
}



/* åŸºæœ¬ã‚¹ã‚¿ã‚¤ãƒ« */
.item-details .price {
  color: var(--color-text);
  font-weight: var(--fw-medium);
  margin-bottom: 10px;
}

.item-details .product-description {
  color: #555;
  line-height: 1.6;
  margin-top: 20px;
}

.item-details .product-description p {
  margin-bottom: 0px;
  font-size: 0.8rem;
  font-family: "Arial", sans-serif;
}

/* ã‚¹ãƒžãƒ›ç”¨ï¼ˆ480pxä»¥ä¸‹ã®ç”»é¢ï¼‰ */
@media only screen and (max-width: 480px) {
  .item-details .price {
    font-size: 0.8rem;
    margin-bottom: 8px;
  }

  .item-details .product-description {
    font-size: 14px;
  }

  .item-details .product-description p {
    line-height: 1.5;
    padding-bottom: 0px;
    font-size: 0.8rem;
  }
}

/* ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆç”¨ï¼ˆ768pxä»¥ä¸‹ã®ç”»é¢ï¼‰ */
@media only screen and (min-width: 481px) and (max-width: 768px) {
  .item-details .price {
    font-size: 18px;
    margin-bottom: 10px;
  }

  .item-details .product-description {
    font-size: 16px;
  }

  .item-details .product-description p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 0px;
  }
}

/* PCç”¨ï¼ˆ768pxä»¥ä¸Šã®ç”»é¢ï¼‰ */
@media only screen and (min-width: 769px) {
  .item-details .price {
    font-size: 20px;
    margin-bottom: 12px;
  }

  .item-details .product-description {
    font-size: 18px;
  }

  .item-details .product-description p {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 0px;
  }
}


/* åŸºæœ¬ã‚¹ã‚¿ã‚¤ãƒ« */
footer .copyright {
  font-size: 14px;
  color: var(--color-text);
  text-align: center;
  padding: 20px 0;
  margin: 0;
  background-color: #f8f8f8;
}

/* ã‚¹ãƒžãƒ›ç”¨ï¼ˆ480pxä»¥ä¸‹ã®ç”»é¢ï¼‰ */
@media only screen and (max-width: 480px) {
  footer .copyright {
    font-size: 12px;
    padding: 15px 0;
  }
}

/* ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆç”¨ï¼ˆ768pxä»¥ä¸‹ã®ç”»é¢ï¼‰ */
@media only screen and (min-width: 481px) and (max-width: 768px) {
  footer .copyright {
    font-size: 13px;
    padding: 18px 0;
  }
}

/* PCç”¨ï¼ˆ768pxä»¥ä¸Šã®ç”»é¢ï¼‰ */
@media only screen and (min-width: 769px) {
  footer .copyright {
    font-size: 14px;
    padding: 20px 0;
  }
}




/* ä¼šç¤¾ç”¨ãƒšãƒ¼ã‚¸CSS
-------------------------------------------------------------*/
body.page-template-page-company{
    background: #f5efdf;
}

#pagecontent{
    background: #f5efdf;
    display: block;
    padding-top: 50px;
    padding-bottom: 50px;
    max-width: 670px;
    margin: 0 auto;
}
.conpanydtitle{
    color: #8e7b73;
}
.conpanydata{}
.conpanydata li{
    width: 70%;
    border: solid #8e7b73;
    text-align: center;
    padding: 10%;
    margin:0 auto;
    margin-top: 30px;
    /* margin-bottom: 30px; */
    background: white;
}
.conpanydata a{
    color: #8e7b73;
    text-decoration: unset;
    font-size: 1.2rem;
    font-weight: var(--fw-medium);
    letter-spacing: 2px;
}
.conpanydata span{
    display: block;
    font-size: 0.6rem;
    font-weight: initial;
    letter-spacing: 0px;
}
/* åŸºæœ¬ã‚¹ã‚¿ã‚¤ãƒ« */
#pagecontent .company {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

#pagecontent .company th, #pagecontent .company td {
  padding: 12px;
  border: 1px solid #b2b2b2;
  text-align: left;
}

#pagecontent .company th {
  font-weight: unset;
  width: 30%;
}

#pagecontent .company td {
  font-size: 16px;
}

.widget-title {
  font-size: 24px;
  text-align: center;
  margin-bottom: 15px;
  color: var(--color-text);
  margin: 2rem 0rem;
}

/* ã‚¹ãƒžãƒ›ç”¨ï¼ˆ480pxä»¥ä¸‹ã®ç”»é¢ï¼‰ */
@media only screen and (max-width: 480px) {
  #pagecontent .company th, #pagecontent .company td {
    padding: 10px;
    font-size: 0.8rem;
    color: #8e7b73;
  }

  .widget-title {
    font-size: 20px;
    color: #8e7b73;
  }
}

/* ã‚¿ãƒ–ãƒ¬ãƒƒãƒˆç”¨ï¼ˆ768pxä»¥ä¸‹ã®ç”»é¢ï¼‰ */
@media only screen and (min-width: 481px) and (max-width: 768px) {
  #pagecontent .company th, #pagecontent .company td {
    padding: 12px;
    font-size: 15px;
  }

  .widget-title {
    font-size: 22px;
  }
}

/* PCç”¨ï¼ˆ768pxä»¥ä¸Šã®ç”»é¢ï¼‰ */
@media only screen and (min-width: 769px) {
  #pagecontent .company th, #pagecontent .company td {
    padding: 15px;
    font-size: 16px;
  }

  .widget-title {
    font-size: 24px;
  }
}



#mw-wp-modal {
    display: none; /* åˆæœŸçŠ¶æ…‹ã§ã¯éžè¡¨ç¤º */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4); /* èƒŒæ™¯ã®æš—è»¢ */
}

#mw-wp-modal .mw-wp-modal-content {
    background-color: #fff;
    margin: 10% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 600px;
}

#mw-wp-modal .mw-wp-modal-close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: var(--fw-medium);
}

#mw-wp-modal .mw-wp-modal-close:hover,
#mw-wp-modal .mw-wp-modal-close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

/* ãƒ•ã‚©ãƒ¼ãƒ ã®ã‚¹ãƒ†ãƒƒãƒ—ã”ã¨ã«éžè¡¨ç¤ºã«ã™ã‚‹ */
.mwform-step {
    display: none;
}

.mwform-step-active {
    display: block;
}

form .step {
  display: none; /* æœ€åˆã¯éžè¡¨ç¤º */
}

form .active-step {
  display: block; /* ç¾åœ¨ã®ã‚¹ãƒ†ãƒƒãƒ—ã ã‘è¡¨ç¤º */
}

form label {
  font-weight: var(--fw-medium);
  margin-bottom: 5px;
}

form input, form select, form textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background: white;
}

form .step6 p {
  background-color: #f0f0f0;
  padding: 15px;
  margin-bottom: 20px;
  border-radius: 5px;
}

form .step7 {
  text-align: center;
}

form .step7 input[type="submit"] {
  background-color: #ff6600;
  color: white;
  padding: 15px 30px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
}

@media (max-width: 768px) {
  form input, form select, form textarea {
    padding: 10px;
    font-size: 14px;
    width: 80%;
    margin: 0 auto;
    background: white;
  }
  
  form .step7 input[type="submit"] {
    padding: 12px 25px;
    font-size: 14px;
  }
}

/* 全体の共通スタイル */

section#pagecontent{
    margin-top: 50px;
}

body.page-id-710 section#pagecontent{
    background: white;
}
section#pagecontent .cform {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    border-collapse: collapse;
    font-family: 'Arial', sans-serif;
}

section#pagecontent .cform th,
section#pagecontent .cform td {
    padding: 15px;
    border: none;
    background-color: #f9f9f9;
    color: var(--color-text);
    border-bottom: 1px solid #e0e0e0;
}

section#pagecontent .cform th {
    background-color: #f4f4f4;
    text-align: left;
    font-weight: var(--fw-medium);
    font-size: 14px;
    color: var(--color-muted);
}

section#pagecontent .cform td {
    text-align: left;
    font-size: 14px;
    color: #444;
}

section#pagecontent .required-srt {
    color: red;
    font-size: 12px;
    margin-left: 5px;
}

/* スマホ用スタイル */
@media screen and (max-width: 767px) {
    section#pagecontent .cform th, section#pagecontent .cform td {
        display: block;
        width: 100%;
        text-align: left;
        padding: 10px;
    }

    section#pagecontent .cform th {
        margin-top: 10px;
        background-color: #f7f7f7;
        font-size: 16px;
    }

    section#pagecontent .cform td {
        margin-bottom: 10px;
    }
}

/* タブレット以降のスタイル */
@media screen and (min-width: 768px) {
    section#pagecontent .cform th, section#pagecontent .cform td {
        display: table-cell;
        width: 50%;
        padding: 15px;
    }
}

/* 送信ボタンのスタイル */
section#pagecontent .submit-btn {
    text-align: center;
    margin-top: 20px;
}

section#pagecontent .submit-btn input[type="submit"] {
    background-color: #8e7b73;
    color: #fff;
    padding: 10px 25px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
}

section#pagecontent .submit-btn input[type="submit"]:hover {
    background-color: #005bb5;
}

section#pagecontent p {
    text-align: center;
}

section#pagecontent p input[type="button"] {
    background-color: #aaa;
    color: #fff;
    padding: 10px 25px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
}

section#pagecontent p input[type="button"]:hover {
    background-color: var(--color-gray-light);
}

/* よりフラットなデザインのために、全体的な影を排除し、シンプルな線と色調に */
section#pagecontent .cform th, section#pagecontent .cform td {
    border-bottom: 1px solid #ddd;
    box-shadow: none;
    border-radius: 0;
}

section#pagecontent .cform th {
    background-color: #f5f5f500;
    width: 90%;
}

section#pagecontent .cform td {
    background-color: #ffffff00;
    width: 90%;
}





/* プロダクトページCSS
-------------------------------------------------------------*/

body.page-id-327{background:white; margin-top:50px;}
.productdtitle{}
.productdata{}
.productdata li{
    float: left;
    width: 46%;
    margin: 0 2%;
    text-align: center;
    padding-bottom: 18px;
    margin-top: 0px;
    margin-bottom: 0px;
    /* background: #f8f7f0; */
    /* border-bottom: solid 1px #896660; */
}
.productdata li img{
    border-radius: 0%;
    width: 100%;
    /* box-shadow: 4px 5px 6px #929292; */
}
.productdata a{
    color: #635550;
    font-size: 1.1rem;
    font-weight: var(--fw-medium);
    letter-spacing: 2px;
    text-decoration: unset;
}
.productdata p{width: 90%;margin: 0 auto;z-index: 10;padding: 5px 0px;font-size: 12px;letter-spacing: 0px;text-align: left;}
.productdata span{
    display: block;
    font-size: 10px;
    font-weight: initial;
    letter-spacing: 0px;
    margin-top: 5px;
    text-decoration: underline;
}

.kodawari{
    width: 95%;
    margin: 0 auto;
    text-align: center;
    margin-top: 50px;
}
.kodawari h4{
    font-size: 1.3rem;
    border-bottom: solid #8e7b73 1px;
    color: #8e7b73;
    padding-bottom: 10px;
    margin-top: 10px !important;
    
}
.kodawari img{
    width: 43%;
    border-radius: 50%;
}
.kodawari .kodawaritxt{
    margin-top: 10px;
    font-size: 1.3rem;
    color: #95661b;
    line-height: 1.6rem;
    margin-bottom: 20px;
    text-align: left;
}
.kodawari p{}

.widget-title span{
    font-size: 1rem;
}
.productsList{
    width: 95%;
    margin: 0 auto;
}
.productsList li{
    width: 48%;
    float: left;
    margin-left: 1%;
    margin-right: 1%;
    text-align: center;
    margin-bottom: 10px;
}
.productsList li a{
    color: #525050;
    font-size: 0.6rem;
}
.productsList li img{}


/* Namespace with .lucky-number-section to avoid conflicts */
.lucky-number-section {
    background-color: #f5f5f5;
    padding: 0px;
    font-family: Arial, sans-serif;
}

.lucky-number-section table {
    width: 90%;
    max-width: 730px;
    margin: 0 auto;
    margin-top: 50px;
    border-collapse: collapse;
}

.lucky-number-section .luckey {
    background-color: var(--color-beige);
    color: white;
    padding: 20px;
    text-align: left;
    display: table-row;
    width: 80%;
}

.lucky-number-section .luckey th {
    width: 40%;
    padding: 10px;
    text-align: left;
    vertical-align: top;
}

.lucky-number-section .luckey th p {
    font-size: 1.4em;
    font-weight: var(--fw-medium);
    margin: 0;
    color: white;
}

.lucky-number-section .luckey th span {
    display: block;
    font-size: 0.6em;
    margin-top: 5px;
}

.lucky-number-section .luckey td {
    padding: 0px;
    vertical-align: top;
    text-align: center;
}

.lucky-number-section .luckey td p {
    margin: 5px 0;
    font-size: 1.4em;
    color: white;
}

.lucky-number-section .luckey td p:last-child {
    font-size: 0.9em;
    margin-top: 15px;
    font-style: italic;
}

.lucky-number-section .present {
    background-color: white;
    color: var(--color-beige);
    padding: 20px;
}
.lucky-number-section .present p{
    font-size: 1.2em;
    font-weight: 500;
}
.lucky-number-section .present th {
    background-color: #d3b58c00;
    color: white;
    padding: 10px;
    text-align: left;
    vertical-align: top;
}

.lucky-number-section .present td {
    padding: 20px;
    text-align: left;
}

.lucky-number-section .present td a {
    color: var(--color-beige);
    font-size: 1.3em;
    text-decoration: none;
}

.lucky-number-section .present td a:hover {
    color: #37130c;
}

.lucky-number-section p.child4 {
    margin-top: 20px;
    font-size: 0.8em;
    color: #555;
    width: 90%;
    text-align: left;
    margin: 0 auto;
    padding-top: 20px;
}

/* Responsive styles */
@media screen and (max-width: 680px) {
    .lucky-number-section th, .lucky-number-section td {
        display: block;
        width: 100%;
    }

    .lucky-number-section .luckey th,
    .lucky-number-section .present th {
        text-align: center;
        width: 95%;
        margin-top: 10px;
    }

    .lucky-number-section .luckey td p,
    .lucky-number-section .present td {
        text-align: center;
        width: 80%;
        background: white;
        color: #d4b68c;
        margin: 0 auto;
        margin-bottom: 10px;
        border-radius: 30px;
        font-weight: var(--fw-medium);
    }

    .lucky-number-section .present td a {
        font-size: 1.4em;
        color: black;
        font-weight: var(--fw-medium);
    }
}
.gt_float_switcher .gt-selected .gt-current-lang {
    padding: 4px 4px !important;
    color: #32373d !important;
    font-weight: 100 !important;
}

html.lang-en .translated-text {
    transform: scale(0.5);
}

html.lang-en .translated-text {
    transform: scale(0.9);
}

html.lang-ko .translated-text {
    transform: scale(0.85);
}

html.lang-fr .translated-text {
    transform: scale(0.5);
}


body {


  margin: 0 auto !important;
}


/* 既存のCSSコンテンツはそのまま保持 */

/* ヘッダーのレスポンシブスタイル */
.fixed-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: white;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo img {
  max-height: 50px;
  width: auto;
}

#nav {
  display: flex;
  align-items: center;
}

#hamburger-menu {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 30px;
  height: 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}

#hamburger-menu span {
  width: 100%;
  height: 3px;
  background: #333;
  transition: all 0.3s ease;
}

.nav-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-list li {
  margin-left: 30px;
}

.nav-list a {
  text-decoration: none;
  color: var(--color-text);
  font-size: 1rem;
  transition: color 0.3s ease;
}

.nav-list a:hover {
  color: #007bff;
}

/* スマホ表示 */
@media (max-width: 767px) {
  .fixed-header {
    padding: 10px 15px;
  }
  
  .logo img {
    max-height: 40px;
  }
  
  #hamburger-menu {
    display: flex;
  }
  
  .nav-list {
    position: fixed;
    top: 60px;
    right: -100%;
    width: 80%;
    height: calc(100vh - 60px);
    background: white;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding-top: 20px;
    transition: right 0.3s ease;
  }
  
  .nav-list.active {
    right: 0;
  }
  
  .nav-list li {
    margin: 15px 0;
  }
  
  .nav-list a {
    font-size: 1.2rem;
  }
}

/* タブレット表示 */
@media (min-width: 768px) and (max-width: 1023px) {
  .fixed-header {
    padding: 12px 18px;
  }
  
  .logo img {
    max-height: 45px;
  }
  
  .nav-list li {
    margin-left: 20px;
  }
  
  .nav-list a {
    font-size: 0.9rem;
  }
}

/* バナーエリアのレスポンシブスタイル */
.banner-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 20px;
  margin: 40px 0;
}

.banner {
  width: 100%;
  max-width: 1200px;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.banner img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}

.banner-content {
  position: absolute;
  bottom: 20px;
  left: 20px;
  color: white;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/* スマホ表示 */
@media (max-width: 767px) {
  .banner-area {
    margin-top: 20px;
    padding: 10px;
  }
  
  .banner {
  }
  
  .banner-content {
    bottom: 10px;
    left: 10px;
  }
  
  .banner-content h3 {
    font-size: 1.2rem;
    margin-bottom: 5px;
  }
  
  .banner-content p {
    font-size: 0.9rem;
  }
}

/* タブレット表示 */
@media (min-width: 768px) and (max-width: 1023px) {
  .banner-area {
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  
  .banner {
    width: calc(50% - 10px);
    /* height: 200px; */
    margin-bottom: 20px;
  }
  
  .banner-content h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
  }
  
  .banner-content p {
    font-size: 1rem;
  }
}

/* PC表示 */
@media (min-width: 1024px) {
  .banner-area {
    flex-direction: column;
    justify-content: space-between;
  }
  
  .banner {
    /* width: calc(33.333% - 15px); */
    /* height: 250px; */
  }
  
  .banner:hover img {
    transform: scale(1.05);
  }
  
  .banner-content h3 {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }
  
  .banner-content p {
    font-size: 1.1rem;
  }
}

/* 既存のCSSコンテンツはそのまま保持 */
