main {
    background-color: #F5F4F1;
    padding-left: 250px;
}
ul {
    margin-top: 0;
}
h2 {
    text-align: center;
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 0.3em;
    margin-bottom: 57px;
}
.detail-btn {
    text-align: center;
    margin-bottom: 10px;
}
.detail-btn a {
    font-size: 13px;
    color: #FF8A00;
    border-bottom: 2px solid;
    padding: 0 7px 6px;
    transition: all ease .3s;
    width: 110px;
    margin: 0 auto;
}
.detail-btn a:hover {
    color: gray;
}

/*=======FV=====================*/


/*fvスライダー : テキストフェードイン*/
.splide-slide__1-1 {
    background-color: #E4E2DE;
}
/*スライダーの高さ*/
.splide__track {
    width: 100%;
    height: 100dvh;
}
/*スライドの背景画像のスタイル*/
.splide__slide {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
}
.splide__slide p {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 5%;
}
/* 表示されているスライドのテキスト */
.splide__slide.is-active .slider-h2 {
    animation-delay: 1s; /*アニメーションが始まるまでの時間*/
    animation-duration: 1s;  /*アニメーションが完了するまでの時間*/
    animation-fill-mode: both; /*アニメーションの状態保持時間。fromからto。フェードイン状態を保つ為*/
    animation-name: fadeIn-h2; /*適用するアニメーションの命名*/
    width: 550px;
    margin-bottom: 35px;
}
.splide__slide.is-active .slider-p {
    animation-delay: 1.5s;
    animation-duration: 1s;
    animation-fill-mode: both;
    animation-name: fadeIn-p;
    width: 540px;
}
/*スライド内テキストの位置*/
.splide-box {
    width: 550px;
    position: absolute;
    top: 33%;
    right: 0;
    left: 0;
    margin: 0 auto;
}
/*ページネーション*/
.splide__pagination {
    flex-direction: column;
    bottom: 2.5em;
    left: auto;
    right: 2%;
}
.splide__pagination__page {
    background: transparent;
    border: 1.5px solid #ccc;
}
.splide__pagination__page.is-active {
    border: none;
}

/* アニメーション */
@keyframes fadeIn-h2 {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes fadeIn-p {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/*fv内リンク*/
.fv-sec {
    position: relative;
}
.slider-link {
    display: flex;
    width: 700px;
    position: absolute;
    bottom: 2rem;
    right: 0;
    left: 0;
    margin: 0 auto;
}
.link-content__fv-slider {
    border: 1px solid #fff;
    background-color: rgba(0, 0, 0, 0.2);
    transition: all ease 0.1s;
}
.link-content__fv-slider:nth-child(2) {
    border-right: none;
    border-left: none;
}
.fv-bnr {
    width: 160px;
    position: absolute;
    top: 70px;
    right: 20px;
}

/*======= セクション２ =====================*/
.sec2 {
    padding: 170px 0;
}
.sec2 p {
    font-size: 14px;
    letter-spacing: 0.2em;
    line-height: 2rem;
    display: inline-block;
    text-align: left;
}
.text-block {
    text-align: center;
    margin-bottom: 67px;
}

/*======= セクション3 =====================*/
.sec-img-box {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 200px;
    position: relative;
}
.sec-t-box p {
    font-size: 13px;
    letter-spacing: 0.2em;
    line-height: 2rem;
    display: inline-block;
    text-align: left;
    padding: 0 40px;
}
.sec-t-box {
    width: 570px;
    margin: 0 auto;
    padding-top: 50px;
    background-color: #F5F4F1;
    position: absolute;
    right: 0;
    left: 0;
    bottom: -170px;
}
.sec-t-box h2 {
    margin-bottom: 17px;
}
.veg-set {
    display: flex;
    width: 800px;
    margin: 60px auto 0;
    justify-content: space-between;
    gap: 30px;
}
.takuhai-t-box h3{
    font-size: 15px;
}
.ex-p__sec3 {
    font-size: 13px;
    color: #71AC41;
    font-weight: 600;
    margin-bottom: 7px;
}
.veg-wrapper {
    width: 198px;
}
.takuhai-t-box p {
    font-size: 12px;
    letter-spacing: 0.07em;
}
.takuhai-t-box span {
    color: #71AC41;
    font-weight: 600;
    font-size: 18px;
}
.content-p {
    color: gray;
}
.price {
    margin-top: 0;
}
.sec3 {
    margin-bottom: 120px;
}

/*======= section4 =====================*/
.sec-4 {
    margin-bottom: 170px;
}

/*======= section5 ======================*/
.column-grid {
    margin: 77px auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: 700px;
    gap: 44px;
}
.date {
    margin-top: 12px;
    font-size: 10px;
    color: #FF8A00;
    display: inline;
    margin-right: 7px;
}
.categoly-columm {
    font-size: 10px;
    display: inline;
    color: gray;
}
.t-box__column h3 {
    font-size: 12px;
    letter-spacing: 0.03em;
    font-weight: 500;
}
.sec-5 {
    margin-bottom: 170px;
}
.sec-5 h2 {
    margin-bottom: 27px;
}

/*======= qーsection =====================*/
.q-text p {
    text-align: center;
    font-size: 13px;
}
.q-text h2 {
    margin-bottom: 27px;
}
.q-text {
    margin-bottom: 67px;
}
.fl-serch {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 37px;
}
#name,
#puldown {
    width: 250px;
    padding: 15px 12px;
    font-size: 12px;
    border: 1px solid #ccc;
    border-radius: 3px;
}
.input-box,
.puldown-box {
    position: relative;
}
.input-box::after {
    content: '';
    display: block;
    width: 15px; /* アイコンの幅 */
    height: 15px; /* アイコンの高さ */
    background: url(../img/search.png) no-repeat center;
    background-size: contain; /* アイコンをリサイズして表示 */
    position: absolute;
    right: 10px; /* 親要素の右側に寄せる */
    top: 50%; /* 縦中央揃え */
    transform: translateY(-50%); /* 中央揃えの補正 */
    pointer-events: none; /* アイコンがクリック対象にならないようにする */
}

#puldown {
    appearance: none;
}
.puldown-box::after {
    content: '';
    display: block;
    width: 15px; /* アイコンの幅 */
    height: 15px; /* アイコンの高さ */
    background: url(../img/kunoji.png) no-repeat center;
    background-size: contain; /* アイコンをリサイズして表示 */
    position: absolute;
    right: 10px; /* 親要素の右側に寄せる */
    top: 50%; /* 縦中央揃え */
    transform: translateY(-50%); /* 中央揃えの補正 */
    pointer-events: none; /* アイコンがクリック対象にならないようにする */
}

.grid-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    max-width: 880px;
    margin: 0 auto;
    gap: 10px;
    margin-bottom: 47px;
}
.q-sec .grid-box {
    background-color: #fff;
    padding: 20px 0 30px;
}
.q-sec .img-box__grid img {
    width: 100px;
}
.q-sec .img-box__grid {
    text-align: center;
    margin-bottom: 24px;
}
.q-sec .grid-box h3 {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
}
.q-sec {
    margin-bottom: 170px;
}
.q-sec .grid-box {
    border-radius: 5px;
    border: 2px solid transparent;
}
.q-sec .grid-box:hover {
    border: 2px solid #FF8A00;
}

/*======= organic-section ====================*/
.organic {
    margin-bottom: 170px;
}

/*======= instagram-section =====================*/
.instagram p {
    font-size: 13px;
    text-align: center;
    margin-bottom: 32px;
}
.instagram h2 {
    margin-bottom: 40px;
}
.grid-wrapper__insta {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 25px;
    max-width: 880px;
    margin: 0 auto 60px;
}
.instagram {
    padding-bottom: 60px;
}
.insta-btn {
    text-align: center;
}
.insta-btn a {
    background-color: #fff;
    padding: 11px 22px 13px 38px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 3px;
    box-shadow: 0px 5px 0px #E5E6DF;
    transition: .2s;
    position: relative;
    display: inline-block;
}
.insta-btn a::before {
    content: '';
    display: block;
    width: 15px; /* アイコンの幅 */
    height: 15px; /* アイコンの高さ */
    background: url(../img/insta-orang.png) no-repeat center;
    background-size: contain; /* アイコンをリサイズして表示 */
    position: absolute;
    left: 10px; /* 親要素の右側に寄せる */
    top: 50%; /* 縦中央揃え */
    transform: translateY(-50%); /* 中央揃えの補正 */
    pointer-events: none; /* アイコンがクリック対象にならないようにする */
}
.insta-btn a:hover {
    box-shadow: unset;
    transform: translateY(1px);
}
/* .grid-box__insta のスタイル */
.grid-box__insta {
    position: relative;
    overflow: hidden; /* ホバー時に子要素がはみ出ないように */
}

.grid-box__insta img {
    width: 100%;
    transition: 0.3s ease; /* 画像の色変化をスムーズに */
}

/* 文字の「詳しくはこちら」の初期状態 */
.grid-box__insta .read-more {
    position: absolute;
    top: 30%; /* 画像の中央に配置 */
    left: 50%;
    transform: translate(-50%, 100%); /* 初期状態で下に隠れている */
    color: #fff;
    padding: 8px 16px;
    font-size: 12px;
    width: 100%;
    text-align: center;
    transition: transform 0.3s ease, opacity 0.3s ease; /* スライドインと透明度の変化 */
    opacity: 0; /* 初期状態で透明 */
}

/* ホバー時のスタイル */
.grid-box__insta:hover img {
    filter: brightness(50%); /* 画像が暗くなる */
}

.grid-box__insta:hover .read-more {
    transform: translate(-50%, 0); /* 下からスライドして出てくる */
    opacity: 1; /* 透明度を1に */
}
.heart {
    border: 1px solid;
    display: inline-block;
    padding: 10px 5px;
    border-radius: 100%;
}

/*======= footer =====================*/
footer {
    background-color: #585649;
    color: #fff;
    margin-left: 250px;
    padding-top: 30px;
}
footer a {
    color: #fff;
    margin-right: 13px;
    padding-left: 13px;
    transition: .3s;
    position: relative;
}

.kunoji::before,
.kunoji::after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 8px;
    height: 2px;
    border-radius: 9999px;
    background-color: #fff;
    transform-origin: calc(100% - 1px) 50%;
}

.kunoji::before {
    transform: rotate(45deg);
}

.kunoji::after {
    transform: rotate(-45deg);
}

footer a:hover {
    opacity: .4;
}
footer h3 {
    margin-top: 0;
    font-size: 16px;
    margin-right: 24px;
}
.sns-box__footer {
    width: 24px;
}
.fl-sns-link__footer {
    display: flex;
    gap: 13px;
}
.takuhai-img-box__footer {
    width: 100px;
}
.takuhai-link {
    display: flex;
    height: 90px;
}
.wrapper-1 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
    width: 90%;
    margin: 0 auto 30px;
}
.wrapper-footer {
    width: 90%;
    margin: 0 auto 30px;
    font-size: 10px;
    padding-bottom: 30px;
    border-bottom: 1px solid #ccc;
    display: flex;
}
.wrapper-footer:last-child {
    margin-bottom: 0;
    border-bottom: none;
}
.wrapper-6 p {
    margin: 0;
    font-size: 9px;
}

/*======= 縦ヘッダー ======================*/
.header-tate {
    position: fixed;
    top: 0;
    left: 0;
    height: 100dvh;
    width: 250px;
    background-color: #F5F4F1;
    border-right: 1px solid #ccc;
    padding-top: 20px;
}
.tate-logo-box {
    width: 170px;
    margin: 0 auto;
}
.tate-h2 {
    font-size: 15px;
    font-weight: 700;
    margin-top: 6px;
    margin-bottom: 43px;
}
.tate-ul-box a {
    font-size: 13px;
}
.tate-ul-box {
    padding-left: 27px;
}
.tate-ul-box li {
    margin-bottom: 16px;
}
.tel-box {
    position: fixed;
    bottom: 30px;
    left: 47px;
}
.tel-box a {
    font-size: 18px;
    letter-spacing: 0.07em;
    position: relative;
}
.tel-box a::before {
    content: '';
    display: block;
    width: 18px; /* アイコンの幅 */
    height: 18px; /* アイコンの高さ */
    background: url(../img/tel.png) no-repeat center;
    background-size: contain; /* アイコンをリサイズして表示 */
    position: absolute;
    left: -24px; /* 親要素の右側に寄せる */
    top: 55%; /* 縦中央揃え */
    transform: translateY(-50%); /* 中央揃えの補正 */
    pointer-events: none; /* アイコンがクリック対象にならないようにする */
}
.top-header {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    background-color: #fff;
    display: flex;
    margin: 0;
    padding: 15px 0px;
}
.top-header a {
    font-size: 12px;
    transition: .3s;
}
.top-header a:hover {
    color: #FF8A00;
}
#hamburger-icon:hover  {
    background-color: #FF8A00;
}
.top-header li {
    border-right: 1px solid #ddd;
    padding: 0 35px;
}
.top-header li:last-child {
    border-right: none;
}

/*======= ハンバーガーメニュー ====================*/
/* ハンバーガーアイコン */
.hamburger {
    width: 22px;
    height: 0px;
    position: relative;
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    background-color: transparent;
    cursor: pointer;
    top: 7px;
    left: -27px;
    transform: scale(-1, 1);
}

.hamburger span,
.hamburger span::after,
.hamburger span::before {
    position: absolute;
    display: block;
    content: "";
    width: 18px;
    height: 2px;
    background-color: #333;
    transition: all 0.3s;
}

.hamburger span::before {
    top: -6px;
    width: 22px;
}

.hamburger span::after {
    bottom: -6px;
    width: 14px;
}

/* ハンバーガーアイコンが開いたときのアニメーション */
.hamburger.open span {
    background-color: transparent;
}

.hamburger.open span::before {
    top: 0;
    transform: rotate(45deg);
    width: 22px;
}

.hamburger.open span::after {
    bottom: 0;
    transform: rotate(-45deg);
    width: 22px;
}

/* メニューのスタイル */
.hamburger-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 547px;
    height: 100%;
    background-color: #fff;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.hamburger-menu ul {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.hamburger-menu li {
    padding: 15px;
    position: relative;
}

.hamburger-menu li a {
    font-size: 11px;
    color: #fff;
    text-decoration: none;
    display: block;
}

.hamburger-menu.show {
    opacity: 1;
    visibility: visible;
    z-index: 7;
    background-color: #585649;
    padding-top: 110px;
}
.fl-ham {
    display: flex;
    justify-content: center;
    position: relative;
}
.fl-ham::before{
    content: "";
    display: block;
    width: 370px;
    height: 1px;
    background-color: #79786D;
    position: absolute;
    top: 0;
    left: 80px;
}
.yokobou,
.yokobou2,
.yokobou3,
.sitabou {
    position: relative;
}
.yokobou::after{
    content:"";
    display:inline-block;
    width:1px;
    height:43px;
    background-color:#79786D;
    position:absolute;
    top: 30px;
    right: 5px;
}
.yokobou2::after{
    content:"";
    display:inline-block;
    width:1px;
    height:160px;
    background-color:#79786D;
    position:absolute;
    top: 30px;
    right: -34px;
}
.yokobou3::after{
    content:"";
    display:inline-block;
    width:1px;
    height:200px;
    background-color:#79786D;
    position:absolute;
    top: 30px;
    right: -24px;
}
.sitabou::after{
    content: "";
    display: block;
    width: 360px;
    height: 1px;
    background-color: #79786D;
    position: absolute;
    bottom: 0;
    left: 90px;
}
.hamburger-menu a:hover,
.fl-ham .ham2-content a:hover {
    opacity: .6;
}

.ham1 div {
    width: 21%;
}
.ham2,
.ham3 {
    gap: 70px;
}




/* メニューリンクのホバー */
.hamburger-menu li a:hover {
    opacity: .6;
}





/*ホバーアクション*/
/* .grid-box__column のスタイル */
.grid-box__column {
    position: relative;
    overflow: hidden; /* ホバー時に子要素がはみ出ないように */
}

a {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* 画像のスタイル */
.img-box__column {
    position: relative;
}

.img-box__column img {
    width: 100%;
    transition: 0.3s ease; /* 画像の色変化をスムーズに */
}

/* 文字の「詳しくはこちら」の初期状態 */
.read-more {
    position: absolute;
    top: 50%; /* 画像の中央に配置 */
    left: 50%;
    transform: translate(-50%, 100%); /* 初期状態で下に隠れている */
    color: #fff;
    padding: 8px 16px;
    font-size: 12px;
    width: 100%;
    text-align: center;
    transition: transform 0.3s ease, opacity 0.3s ease; /* スライドインと透明度の変化 */
    opacity: 0; /* 初期状態で透明 */
}

/* ホバー時のスタイル */
.grid-box__column:hover .img-box__column img {
    filter: brightness(50%); /* 画像が暗くなる */
}

.grid-box__column:hover .read-more {
    transform: translate(-50%, 0); /* 下からスライドして出てくる */
    opacity: 1; /* 透明度を1に */
}


