/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/

/* =======================================================
* common - Lightning Custom
* ======================================================= */
@font-face {
    font-family: 'Charifont';
    src: url('fonts/Charifont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Corporate-Mincho';
    src: url('fonts/Corporate-Mincho-ver3.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


body {
    background: #FAF8EC;
    color: #234D12;
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 500;
    letter-spacing: 0.1em;
}

h1, h2, h3, h4, h5 {
    background: none;
    border: none;
    font-weight: normal;
    padding: 0;
    margin: 0;
}

h3::after {
    border: none;
}

p {
    padding: 0;
    margin: 0;
}

ul, li {
    list-style: none;
    padding: 0;
    margin: 0 !important;
}

a {
    color: #234D12;
}

a:hover {
    color: inherit;
    opacity: 0.7;
    transition: 0.3s;
}

li a, p a {
    text-decoration: none;
}

img {
    vertical-align: bottom;
}

:where(figure),
:where(.wp-block-columns) {
    margin: 0;
}

.flex-block {
    display: flex;
}

.flex-between {
    display: flex;
    justify-content: space-between;
}

.flex-end {
    display: flex;
    justify-content: flex-end;
}

.sp-br { /* SP改行 */
    display: none;
}

.pc-br { /* PC改行 */
    display: block;
}

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

.txt-l {
    text-align: left !important;
}

.clr-wht {
    color: #FFF;
}

.btn-normal a,
input[type=button],
input[type=submit] { /* 16px */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 50px;
    background: #FFF;
    border: 1px solid #234D12;
    border-radius: 50px;
    color: #234D12;
    font-size: clamp(14px, 1.11vw, 16px);
    font-weight: 600;
}

/* ヘッダー */
/* デフォルトアニメーション禁止 */
.site-header {
    box-shadow: none;
	position: fixed;
}

.header_scrolled .site-header {
	top: unset;
	left: unset;
	width: 100%;
	max-width: unset;
	min-height: unset;
	box-shadow: unset;
	animation: unset;
}

.header_scrolled.admin-bar .site-header {
	animation: unset;
    left: 0;
    right: 0;
}

.header_scrolled .header-top,
.header_scrolled .site-header-logo,
.header_scrolled .site-header-sub,
.header_scrolled .vk-campaign-text {
	display: block;
}
/* ここまで */

#site-header-container {
    padding: 0 50px;
}

.site-header-logo {
    margin: 0;
    padding: 25px 0 0;
}

.header-btn-container {
    display: flex;
    gap: 14px;
    z-index: 1;
}

.header-btn-container .header-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 54px;
    border-radius: 0 0 10px 10px;
    color: #FFF;
    font-size: clamp(14px, 1.11vw, 16px);
    font-weight: 600;    
}

.header-btn-container .header-btn:first-of-type a {
    background: #408C22;
}

.header-btn-container .header-btn:last-of-type a {
    background: #89B360;
}

.header-nav-container {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 30px;
    margin-top: -25px;
}

.global-nav--layout--float-right {
    margin: 0;
    padding-bottom: 25px;
}

.nav li a {
    color: #234D12;
}

.global-nav-list > li:before {
    display: none;
}

.device-pc .global-nav-list > li > a {
    padding: 0 20px;
}

.global-nav-list > li .global-nav-name {
    font-size: 16px;
}

/* フッター */
.footer-banner {
    background: #FAF8EC;
    color: #234D12;
    font-family: 'Charifont';
    font-size: clamp(25px, 3.47vw, 50px);
    letter-spacing: -0.2em;
    text-align: center;
    padding: 30px 0;
}

.footer-banner p {
    transform: rotate(-4.38deg);
    padding-top: 18px;
}

.scrolled .page_top_btn {
    display: none;
}

footer {
    background: #408C22;
    padding: 30px 0;
}

.footer-nav,
.footer-nav-list li,
.footer-nav-list li:first-child {
    border: none;
    padding: 0;
}

.footer-nav-list {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.footer-nav-list li a {
    color: #FFF;
}

.site-footer-copyright {
    color: #FFF;
    font-size: 10px;
    text-align: center;
    padding: 40px 0 0;
}

.container,
.container-lg,
.container-md,
.container-sm,
.container-xl {
    max-width: 100%;
    padding: 0;
}

@media (min-width: 1200px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 100%;
    }
}


/* =======================================================
*   トップページ
* ======================================================= */
.site-body-bottom {
    display: none;
}

.swiper {
    margin-top: 176.39px;
}


/* キービジュアルの高さを732pxに */
.ltg-slide,
.ltg-slide .swiper-wrapper,
.ltg-slide .swiper-slide,
.ltg-slide .ltg-slide-item-img {
    height: 732px;
}

.ltg-slide .ltg-slide-item-img {
    object-fit: cover;
    width: 100%;
}

/* 画像の上にグラデーションレイヤーを配置 */
.ltg-slide .swiper-slide {
    position: relative;
}

.ltg-slide .swiper-slide::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent 0%, #FFF 100%);
    pointer-events: none;
    z-index: 1;
}

/* テキストをグラデーションより上に */
.ltg-slide .ltg-slide-text-set {
    z-index: 2;
}

.ltg-slide-text-title {
    color: #234D12 !important;
    font-family: 'Charifont';
    font-size: clamp(40px, 4.17vw, 60px);
    font-weight: 500;
    letter-spacing: -0.2em; 
}

@media screen and (min-width: 769px) {
    .ltg-slide-text-title br,
    .top-banner .header-area-contents h2 br {
        display: none;
    }
}


.ltg-slide-text-title::before {
    content: "";
    display: block;
    width: 80px;
    height: 80px;
    background-image: url('/wp-content/uploads/2026/04/logo_mito-frozen-foods.svg');
    background-position: center;
    background-size: contain;
    margin: 0 auto 38px;
}

.kv-container {
    background: #FFF !important;
width: 100%;
    position: relative;
    overflow: hidden;
}

.kv-container img {
    position: relative;
    bottom: -1px;
}

.home .site-body {
    margin: 0;
    padding: 0;
}

/* 見出し */
.area-container {
    padding: 160px 0;
}

.area-container.between-asym .wid-container {
    display: flex;
    justify-content: space-between;
    gap: 70px;
}

.wid-container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 20px;
}

.between-asym .header-area-contents { /* 左（見出し） */
    max-width: 516px;
    width: 100%;
}

.header-area-contents {
    position: relative;
}

.between-asym .header-area-contents p,
.under-description,
.flow-container .header-area-contents p {
    width: 100%;
    font-size: clamp(14px, 1.389vw, 20px);
    font-weight: 600;
    position: relative;
    margin-top: -50px;
    z-index: 1;
}

.asym-area-contents { /* 右（コンテンツ） */
    width: 100%;
}

.bg-grn {
    background: #408C22;
}

.bg-wht {
    background: #FFF;
}

.header-area-contents h2 {
    font-family: 'Corporate-Mincho';   
    font-size: clamp(32px, 4.44vw, 64px);
    letter-spacing: 0.1em;
}

.base-grn h2 {
    color: #234D12;
}

.base-wht h2,
.base-wht .under-description {
    color: #FFF;
}

.header-area-contents h3 {
    font-family: 'square-peg';
    font-size: clamp(50px, 6.94vw, 100px);
}

.base-grn h3 {
    color: #CAE4B1;
}

.base-wht h3 {
    color: #89B360;
}

.top-container .btn-normal {
    padding-top: 60px;
}

/* 事業内容 */
#cont-business .wid-container,
#cont-factory .wid-container {
    gap: 34px;
}

#cont-business .product-list,
#cont-factory .product-list {
    gap: 20px;
}

#cont-business .product-list li,
#cont-factory .product-list li {
    width: 100%;
    max-width: 250px;
    padding: 15px 15px 50px;
}

#cont-business .product-list img,
#cont-factory .product-list img {
    width: 100%;
    height: auto;
    border-radius: 15px;
}

#cont-business .product-item,
#cont-factory .product-item {
    border-bottom: 0;
    padding: 25px 0 5px;
}

.product-detail {
	padding: 0 10px;
}

#cont-business .product-icon img {
    width: 55px;
    height: 55px;
    border-radius: unset;
    margin-top: 10px;
}

.top-container .asym-area-contents .btn-normal,
#cont-news .asym-area-contents .btn-normal {
    display: none;
}

/* 商品ラインナップ */
.carousel-wrapper {
    width: 100%;
    max-width: 750px;
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    padding: 20px 0;
}

.carousel-track {
    display: flex;
    align-items: stretch;
    gap: 30px;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.carousel-item {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.carousel-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.carousel-circle {
    width: 210px;
    height: 210px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    position: relative;
}

.carousel-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

/* オーバーレイ実要素 */
.carousel-overlay {
    background: #FFF;
    border-radius: 50%;
    opacity: 0.7;
    pointer-events: none;
    position: absolute;
    inset: 0;
    /* transitionはJSで付け外し */
}


@media (max-width: 768px) {
    .wid-container {
        flex-direction: column !important;
    }

    .carousel-wrapper {
        max-width: 100%;
    }

    .carousel-circle {
        width: calc((100vw - 30px * 2) / 3 - 20px);
        height: calc((100vw - 30px * 2) / 3 - 20px);
        width: 230px;
        height: 230px;
    }
}





/* 冷凍食品について */
#cont-frozen {
    padding-bottom: 70px;
}

#cont-frozen .product-list {
    max-width: 1010px;
    gap: 30px;
    margin: 0 auto !important;
    padding-top: 100px;

}

#cont-frozen .product-list li {
    max-width: 230px;
    width: calc((100% - 90px) / 4); /* gap 30px × 3 = 90px */
    position: relative;
    margin-top: 100px !important;
    padding-bottom: 56px;
}

#cont-frozen .product-list li img {
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#cont-frozen .product-item {
    border: none;
    padding-top: 100px;
}

/* 採用情報 */
#cont-recruit {
    background-image: linear-gradient(rgba(59, 59, 59, 0.5), rgba(59, 59, 59, 0.5)), url(/wp-content/uploads/2026/04/cover_recruit.jpg)
}

.top-banner {
    padding: 240px 0 60px !important;
}

.top-banner .header-area-contents {
    padding-bottom: 120px;
}

.top-banner .header-area-contents h2,
.top-banner .header-area-contents h3 {
    color: #FFF;
    font-family: 'Charifont';
    letter-spacing: -0.2em;
}

.top-banner .header-area-contents h2 {
    font-size: clamp(42px, 5vw, 72px);
}

.top-banner .header-area-contents h3 {
    font-size: clamp(26px, 2.36vw, 34px);
}

.top-container #cont-recruit .header-area-contents h3 br {
    display: none;
}

.top-banner img:last-of-type {
    top: unset;
    bottom: -1px;
}

.top-container #cont-recruit .header-area-contents .btn-normal {
    display: block;
}

/* お知らせ */
.news-list {
    padding-top: 80px;
}

.news-item {
    display: flex;
    align-items: center;
    gap: 30px;
    border-bottom: 1px solid #234D12;
    padding: 20px 30px;
}

.news-item .post-date {
    max-width: 100px;
	width: 100%;
    font-size: clamp(12px, 1.11vw, 16px);
}

.news-item .post-category {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    min-width: 140px;
    height: 34px;
    border-radius: 50px;
    color: #FFF;
    font-size: clamp(10px, 0.972vw, 14px);
    font-weight: 600;   
}

.news-item .news {
    background: #408C22;
}

.news-item .harvest-information {
    background: #89B360;
}

.news-item a {
    font-weight: 600;
}

@media screen and (max-width: 1395px) {
    #cont-business .wid-container,
    #cont-factory .wid-container,
    #cont-products .wid-container,
    #cont-news .wid-container,
    .blog .area-container.between-asym .wid-container {
        flex-direction: column !important;
    }
    
    .area-container.between-asym .wid-container {
        gap: 30px;
    }

    .carousel-wrapper {
        padding: 0 0 46px;
    }

    .between-asym .header-area-contents {
        padding-bottom: 40px;
    }

    .product-list {
        gap: 15px;
        bottom: 20px;
    }

    #cont-business .product-list,
    #cont-factory .product-list {
        justify-content: center;
    }

    .top-container .header-area-contents .btn-normal,
    #cont-news .header-area-contents .btn-normal {
        display: none;
    }

    .top-container .asym-area-contents .btn-normal,
    #cont-news .asym-area-contents .btn-normal {
        display: block;
        padding: 0;
    }

    .top-container .asym-area-contents .btn-normal a {
        margin: 0 auto;
    }

    .news-item a {
        flex: 1 1 100%;
    }
    
    .news-list {
        padding: 0 20px;
    }

    #cont-news .asym-area-contents .btn-normal {
        padding-top: 60px;
    }

    #cont-news .asym-area-contents .btn-normal a {
        margin: 0 auto;
    }
}

/* =======================================================
*   下層ページ
* ======================================================= */
.page-header,
.breadcrumb {
    display: none;
}

.site-body {
    padding: 80px 0 0;
    margin: 178px 0 160px;
}

.post-name-company .site-body,
.post-name-business .site-body {
    padding: 0;
}


.main-section--col--two {
    width: auto;
    float: unset;
}



/* 下層ヘッダー有 */
.under-header-container {
    max-width: 100%;
    height: 600px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.layer-wave {
    width: 100%;
    position: absolute;
    bottom: -1px;
    z-index: 2;
}

.under-header-container + .under-area-container {
    max-width: 100%;
    background: #408C22;
}
/* end */




.under-area-container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 20px 160px;
}


/* =======================================================
*   /company/ - 会社概要
* ======================================================= */
.post-name-company .under-header-container {
    background-image: linear-gradient(rgba(59, 59, 59, 0.5), rgba(59, 59, 59, 0.5)), url(/wp-content/uploads/2026/04/cover_company.jpg);
}

.post-name-company .site-body {
    margin-bottom: 0;
}


.table-list {
    width: 100%;
    padding-top: 112px;
}

.table-list ul li {
    display: flex;
    border-bottom: 1px solid #234D12;
    padding: 22px 0;
    flex: 1;
}

.table-list ul li span {
    flex: 0 0 25%;   /* 幅に関わらず常に25% */
    max-width: 25%;
}

.list-year {
    width: 5em;
    display: inline-block;
}

.table-list ul li .btn-normal {
    padding-top: 8px;
}

.post-name-company .table-list {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 40px;
}

.access-banner .header-area-contents {
    max-width: 1090px;
    margin: 0 auto;
    padding: 0 40px;
}

.access-banner .flex-block {
    gap: 80px;
}

.access-banner .flex-block .clr-wht {
    font-size: 14px;
}

.access-banner .flex-block .btn-normal {
    padding-top: 42px;
}

.under-banner,
.contact-banner,
.access-banner {
    max-width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    margin: 0;
}

.under-banner {
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), 
        url('/wp-content/uploads/2026/04/sample.jpeg');
    padding: 160px 0 345px !important;
}

.contact-banner {
    background-image: 
        linear-gradient(rgba(59, 59, 59, 0.5), rgba(59, 59, 59, 0.5)), 
        url('/wp-content/uploads/2026/04/sample.jpeg');
    padding: 325px 0 20px !important;
}

.access-banner {
    background-image: 
        linear-gradient(rgba(59, 59, 59, 0.5), rgba(59, 59, 59, 0.5)), 
        url('/wp-content/uploads/2026/04/cover_access.jpg');
    padding: 325px 0 160px !important;
}

.under-banner img,
.contact-banner img,
.access-banner img {
    width: 100%;
    position: absolute;
}

.under-banner img {
    bottom: -1px;
}

.contact-banner img,
.access-banner img {
    top: 0;
}

iframe {
    margin: 0;
}

/* =======================================================
*   /business/ - 事業内容
* ======================================================= */
.post-name-business .under-header-container {
    background-image: linear-gradient(rgba(59, 59, 59, 0.5), rgba(59, 59, 59, 0.5)), url(/wp-content/uploads/2026/04/cover_business.jpg);
}

.post-name-business #cont-efforts {
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), 
        url('/wp-content/uploads/2026/05/cover_business_01.jpg');
}

.post-name-business #cont-factory {
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), 
        url('/wp-content/uploads/2026/04/cover_access.jpg');
}


.post-name-business .contact-banner {
    background-image: linear-gradient(rgba(59, 59, 59, 0.5), rgba(59, 59, 59, 0.5)), url(/wp-content/uploads/2026/06/cover_products.jpg);
    padding: 325px 0 80px !important;
}

.loop-slider {
    width: 100%;
    display: flex;
    overflow: hidden;
    padding: 80px 0;
}

/* スライドさせる中身 */
.loop-slider__track {
    display: flex;
    width: max-content;
    animation: side-scroll 200s linear infinite; /* 速度をさらに微調整（お好みで） */
}

/* 1枚あたりのサイズ設定 */
.loop-slider__item {
    /* 1920pxの時に「4枚 + 左右0.5枚ずつ = 計5枚」に見える計算 */
    /* 100vw / 4 とすることで、両端が半分ずつ見切れます */
    width: 25vw; 
    flex-shrink: 0;
    padding: 0 20px; /* 画像間の余白 */
    box-sizing: border-box;
}

.loop-slider__item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 15px;
    pointer-events: none;
}

/* アニメーション：右から左へ */
@keyframes side-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* スマホ（440px以下）の設定 */
@media (max-width: 440px) {
    .loop-slider__item {
        /* 440pxの時に「2枚 + 左右0.5枚ずつ = 計3枚」に見える計算 */
        /* 100vw / 2 とすることで、両端が半分ずつ見切れます */
        width: 50vw;
    }
}

/* 中間層（タブレットなど）でも不自然にならないよう調整 */
@media (min-width: 441px) and (max-width: 1024px) {
    .loop-slider__item {
        width: 33.333vw; /* 3枚 + 左右見切れ = 計4枚風 */
    }
}

.between-symm.base-wht,
.between-symm.base-grn {
    padding-bottom: 160px;
}

.between-symm.base-wht {
    background: #408C22;
}

.between-symm.base-grn {
    background: #FAF8EC;
}

.between-symm .wid-container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 140px;
}

.between-symm .wid-container img {
    width: 50%;
    border-radius: 15px;
    object-fit: cover;
}

.between-symm h2 {
    display: inline;
    background: linear-gradient(transparent 70%, #89B360 70%);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    font-family: 'Corporate-Mincho';
    font-size: clamp(23px, 3.19vw, 46px);
    letter-spacing: 0.1em;
    line-height: 1.6;
}

.symm-area-contents ul {
    display: flex;
    flex-direction: column;
    color: #FFF;
    gap: 40px;
    padding-top: 30px;
}

.between-symm h3 {
    color: #FFF;
    font-family: 'Corporate-Mincho';
    font-size: clamp(24px, 2.083vw, 30px);
    padding-bottom: 20px;
}

.between-symm.base-grn .symm-area-contents ul,
.between-symm.base-grn h3 {
    color: #234D12;
}

/* =======================================================
*   /product/ - 商品ラインナップ
* ======================================================= */
.post-name-products .site-body {
    margin-bottom: 0;
}

.post-name-products .under-area-container {
    padding-bottom: 0 !important;
}

.post-name-products .wid-container {
    max-width: 1050px;
}

[id^="cat-"]  {
    padding: 80px 0 45px;
}

.product-category {
    font-weight: 600;
    padding-bottom: 80px;
}

.product-category ul {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 60px 0 15px;
}

.product-category ul li a {
    display: block;
    background: #FFF;
    border: 1px solid #234D12;
    border-radius: 50px;
    font-size: clamp(12px, 0.972vw, 14px);
    padding: 7px 34px;
}

.product-category p {
    font-size: clamp(12px, 1.11vw, 16px);
}

.post-name-products .wid-container h2 {
    font-size: clamp(23px, 3.19vw, 46px);
}

.post-name-products .wid-container h3 {
    font-size: clamp(36px, 5.21vw, 75px);
    z-index: 2;
}

.product-list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    position: relative;
    bottom: 35px;
    z-index: 1;
}

.product-list img {
    display: block;
    border-radius: 50%;
    width: 200px;
    height: 200px;
    object-fit: cover;
    margin: 0 auto;
}

.product-list li {
    width: calc((100% - 40px * 2) / 3);
    background: #FFF;
    border-radius: 20px;
    padding: 20px 15px;
}

.tag-area {
    display: flex;
    gap: 10px;
}

@media screen and (min-width: 769px) {
    .tag-area {
        justify-content: flex-end;
    }
}

[class^="product-tag-"] {
    padding: 3px 18px;
    display: block;
    width: fit-content;
    border-radius: 50px;
    color: #FFF;
    font-size: clamp(10px, 0.833vw, 12px);
    margin-left: auto;
    margin-top: 10px;
}

.tag-area [class^="product-tag-"] {
    margin-left: 0;
}

.product-tag-iqf {
    background: #408C22;
}

.product-tag-bqf {
    background: #89B360;
}

.product-tag-non {
    background: #898989;
}

.product-tag-none {
    background: #DD453A;
}

.product-item {
    border-bottom: 1px solid #234D12;
    font-size: clamp(16px, 1.25vw, 18px);
    font-weight: 600;
    margin-bottom: 10px;
    padding: 10px 0;
}

.post-name-products .contact-banner {
    background-image: linear-gradient(rgba(59, 59, 59, 0.5), rgba(59, 59, 59, 0.5)), url(/wp-content/uploads/2026/04/cover_contact.jpg);
    padding: 300px 0 80px !important;
}

.contact-banner .btn-normal a {
    margin: 60px auto 120px;
}

/* =======================================================
*   /recruit/ - 採用情報
* ======================================================= */
.post-name-recruit .site-body {
    padding: 0;
}

.post-name-recruit .under-header-container {
    background-image: url('/wp-content/uploads/2026/04/cover_recruit.jpg');
}

.layer-wave {
    width: 100%;
    position: absolute;
    bottom: -1px;
    z-index: 2;
}

.page-under-container {
    display: flex;
    flex-direction: column;
    gap: 80px;
    padding: 160px 0 0;
}

.page-under-container .area-container.between-asym {
    padding: 0;
}

.table-img {
    display: flex;
    gap: 40px;
    padding-top: 40px;
}

.table-img img {
    flex: 1;
    min-width: 0;
    height: auto;
    border-radius: 20px;
}

.flow-container {
    padding-bottom: 0;
}

.flow-container .wid-container {
    max-width: 1010px;
    background: #FFF;
    border-radius: 50px;
    padding: 80px 20px;
}

.flow-chart {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    padding-top: 80px;
}


.flow-step {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    position: relative;
    padding-bottom: 40px;
}

.flow-step:last-child {
    padding-bottom: 0;
}

.flow-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 55px;
    left: 27.5px;
    bottom: 0;
    width: 1px;
    background: #234d12;
}

.flow-num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    background: #234d12;
    border-radius: 50%;
    box-sizing: border-box;
    color: #FFF;
    font-size: clamp(16px, 1.39vw, 20px);
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.flow-txt {
    padding-top: 13px;
}

.flow-label {
    text-align: left;
}

.flow-label .btn-normal {
    margin-top: 10px;
}






/* =======================================================
*   /news/ - お知らせ（一覧）
* ======================================================= */
.blog .post-list.vk_posts,
.sub-section {
    display: none;
}

.blog .site-body {
    background: #FFF;
    padding: 0;
    margin-top: 80px;
}

/* =======================================================
*   /news/xxx/ - お知らせ（詳細）
* ======================================================= */
.veu_followSet,
.veu_adminEdit,
.veu_socialSet,
.entry-footer,
.next-prev,
.comments-area {
    display: none;
}

.single-post .news-item {
    display: block;
    padding: 0;
}

.single-post .news-item .flex-block {
    align-items: center;
    gap: 30px;
}

.single-post .main-section--col--two {
    padding: 0 20px;
}

.single-post .entry {
    max-width: 1420px;
    background: #FFF;
    border-radius: 50px;
    margin: 0 auto;
    padding: 80px 60px;
}

.entry-title {
    font-size: clamp(16px, 2.22vw, 32px);
    font-weight: 600;
    letter-spacing: 0.1em;
    margin: 0;
    padding: 15px 0;
}

.single-post .entry figure {
    text-align: center;
    margin-bottom: 60px;
    padding: 60px 0 0;
}

.single-post .entry figure img {
    border-radius: 20px;
}

.single-post .entry .btn-normal {
    margin-top: 60px;
}

.single-post .entry .btn-normal a {
    margin: 0 auto;
}


/* =======================================================
*   /contact/ - お問い合わせ
* ======================================================= */
.wpcf7-spinner {
    display: none;
}

.form-container {
    max-width: 720px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.form-container label {
    display: flex;
    gap: 48px;
}

.form-container p {
    padding-bottom: 30px;
}

.form-title {
    width: 195px;
}

input, button, textarea, select {
    margin: 0;
    padding: 0;
    outline: none;
    border: 1px solid #234D12 !important;
    border-radius: 50px !important;
    background: #ECF2E7 !important;
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0 !important;
}

.wpcf7-form-control-wrap {
    width: 100%;
}

input[type="radio"] {
    width: 20px;
    height: 20px;
    position: relative;
    background: #ECF2E7;
    border-radius: 50%;
    margin: 0;
}

input[type="radio"]::before {
    width: 12px;
    height: 12px;
    background: #234D12;
    border-radius: 50%;
    bottom: 0;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    opacity: 0;
    margin: auto;
}

input[type="radio"]:checked::before {
    opacity: 1;
}

.wpcf7-radio {
    display: flex;
    gap: 15px;
}

.wpcf7-list-item {
    display: flex;
    align-items: center;
    margin: 0;
}

.wpcf7-list-item-label {
    padding-left: 8px;
}

textarea {
    border-radius: 20px !important;
    padding: 15px;
}

input[type=button],
input[type=submit] {
    color: #234D12;
    font-size: 14px;
    letter-spacing: 0.1em;
}

input[type=button] {
    background: #ECF2E7  !important;
}

input[type=submit] {
    background: #FFF !important;

}


input[type=button]:not(:disabled):hover,
input[type=submit]:not(:disabled):hover {
    color: unset;
    opacity: 0.7;
}

.form-btn {
    display: flex;
    justify-content: center;
    padding-top: 30px;
}

.form-btn p {
    display: flex;
    justify-content: center;
    gap: 34px;
    padding: 0;
}

.under-description.txt-l {
    font-weight: normal;
}


/* =======================================================
*   /privacy-policy/ - プライバシーポリシー
* ======================================================= */
.privacy-policy .entry-body {
    max-width: 1010px;
    margin: 0 auto;
}

.privacy-policy .entry-body h4 {
    font-size: clamp(16px, 1.67vw, 24px);
    font-weight: 600;
    padding: 0 20px 12px;
}

.privacy-policy .entry-body p {
    font-size: 14px;
    padding: 0 20px;
}

/* =======================================================
*   max-width: 991px
* ======================================================= */
@media screen and (max-width: 991px) {
    /* ヘッダー */
    .header-btn-container {
        display: none;
        margin: 0;
    }

    header {
        padding: 0 20px;
    }

    #site-header-container,
    .site-header-logo {
        padding: 0;
    }

    .site-header-logo {
        text-align: left;
    }

    .site-header-logo img {
        display: inline-block;
        max-height: 36px;
        margin: 14px 0;
    }

    .header-nav-container {
        display: flex;
        align-items: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0 auto;
    }

    .header-nav-container img {
        width: 156px;
    }

    /* ハンバーガー デフォルトリセット */
    .admin-bar .vk-mobile-nav-menu-btn {
        top: calc(43px + 5px);
    }

    .vk-mobile-nav-menu-btn {
        background: url(/wp-content/uploads/2026/04/mobile-nav-menu-btn.svg) no-repeat;
        background-size: 24px 24px;
        background-position: center;
        border: none;
        top: 15px;
    }

    .vk-mobile-nav-menu-btn.menu-open {
        background: var(--vk-mobile-nav-menu-btn-close-bg-src) center 50% no-repeat rgb(250 248 236 / 0%);
        border: none;
    }

    .mobile-nav-btn-right .vk-mobile-nav-menu-btn,
    .vk-mobile-nav-menu-btn.position-right {
        right: 15px;
    }
    /* end */

    .vk-mobile-nav {
        background: #FAF8EC;
        border: none;
        padding: 80px 0 0;
    }

    .vk-mobile-nav nav ul {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 30px;
        border: none;
    }

    .vk-mobile-nav nav ul li a {
        border: none;
        color: #234D12;
        font-size: 18px;
        font-weight: 600;
        padding: 0;
    }

    .vk-mobile-nav .vk-mobile-nav-menu-outer {
        margin-bottom: 45px;
    }

    .vk-mobile-nav-widget .btn-normal.btn-grn {
        padding-bottom: 40px;
    }

    .vk-mobile-nav-widget .btn-normal.btn-grn a {
        background: #408C22;
        border: none;
        color: #FFF;
        margin: 0 auto;
    }

    .vk-mobile-nav-widget .top-banner img {
        top: -1px;
    }
    
    .vk-mobile-nav-widget .top-banner {
        padding: 110px 0 80px !important;
    }

    .vk-mobile-nav-widget .top-banner .header-area-contents h3 {
        padding-top: 20px;
    }

    .vk-mobile-nav-widget .top-banner .header-area-contents .btn-normal a {
        margin-bottom: 0;
    }

    .site-body {
        margin: 0;
        padding: 64px 0 0;
    }

    /* =======================================================
    *   トップページ
    * ======================================================= */
    .ltg-slide,
    .ltg-slide .swiper-wrapper,
    .ltg-slide .swiper-slide,
    .ltg-slide .ltg-slide-item-img {
        height: 600px;
    }

    .area-container {
        padding: 80px 0 !important;
    }

    .between-asym .header-area-contents p,
    .under-description,
    .flow-container .header-area-contents p {
        margin-top: -30px;
    }
    
    .between-asym .header-area-contents {
        padding-bottom: 40px;
    }

    #cont-products .wid-container {
        padding: 0;
    }

    #cont-products .wid-container .header-area-contents {
        padding: 0 20px 40px;
    }

    .swiper {
        margin: 0;
    }

    /* 冷凍食品について */
    #cont-frozen .product-list {
        gap: 15px;
        justify-content: center;
    }

    #cont-frozen .product-list li {
        width: calc((100% - 15px) / 2);
        margin-top: 70px !important;
    }

    .product-list img {
        width: 140px;
        height: 140px;
    }

    #cont-frozen .product-item {
        padding: 65px 0 5px;
    }

    /* 採用情報 */
    #cont-recruit {
        padding: 136px 0 80px !important;
    }

    .top-container #cont-recruit .header-area-contents h3 br,
    .top-container #cont-recruit .header-area-contents .btn-normal {
        display: block;
    }

    .top-banner .header-area-contents h3 {
        padding-top: 24px;
    }

    #cont-recruit.contact-banner .btn-normal {
        padding-top: 20px;
    }

    #cont-recruit.contact-banner .btn-normal a {
        margin: 0 auto;
    }

.post-name-business .products-banner .header-area-contents {
    padding-top: 200px !important;
}
	
    /* お知らせ */
    #cont-news.between-asym .header-area-contents {
        padding: 0;
    }

    .news-item {
        flex-wrap: wrap;
        gap: 14px;
        padding: 20px 0;
    }

    .news-item .post-date {
        width: 90px;
    }

    .news-item .post-category {
        width: auto;
        min-width: auto;
        height: auto;
        padding: 5px 14px;
    }

    

    /* =======================================================
    *   下層ページ
    * ======================================================= */
    /* 下層ヘッダー有 */
    .under-header-container {
        height: 250px;
    }

    .under-header-container + .under-area-container {
        padding: 28px 20px 80px !important;
    }

    /* 下層ヘッダー無し */
    .page-under-container {
        padding-top: 80px;
    }

    .under-area-container .header-area-contents.txt-c {
        padding: 0 20px;
    }

    /* =======================================================
    *   /recruit/ - 採用情報
    * ======================================================= */
    .area-container.flow-container {
        padding: 80px 20px !important;
    }

    .post-name-recruit .area-container.between-asym {
        padding: 0 !important;
    }

    .post-name-recruit .area-container.between-asym .wid-container {
        gap: 0;
    }

    .post-name-recruit .table-list {
        padding-top: 0;
    }

    /* =======================================================
    *   /news/ - お知らせ（一覧）
    * ======================================================= */
    .blog .site-body,
    .single-post .site-body {
        margin-top: 104px;
    }

    .blog .area-container.between-asym {
        padding-top: 40px !important;
    }

    .blog  .between-asym .header-area-contents {
        padding-bottom: 20px;
    }

    .blog .area-container.between-asym .wid-container {
        gap: unset;
    }

    /* =======================================================
    *   /news/xxx/ - お知らせ（詳細）
    * ======================================================= */
    .single-post .site-body {
        padding: 0;
    }

    .single-post .entry {
        border-radius: 30px;
        padding: 30px 20px 40px;
    }

    .single-post .entry-header {
        padding: 0;
    }

    .single-post .entry figure {
        margin-bottom: 30px;
        padding: 30px 0 0;
    }

    .single-post .entry .btn-normal {
        margin-top: 30px;
    }

    /* =======================================================
    *   /contact/ - お問い合わせ
    * ======================================================= */
    .form-container label {
        flex-direction: column;
        gap: 8px;
    }

    .form-btn {
        padding: 0;
    }

    .form-btn p {
        gap: 10px;
    }

    input[type=button],
    input[type=submit] {
        width: 100%;
        padding: .5em 2em;
    }
}



/* =======================================================
*   max-width: 768px
* ======================================================= */
@media screen and (max-width: 768px) {
    /* フッター */
    .footer-nav {
        display: none;
    }

    .site-footer {
        padding: 15px 10px;
    }

    .site-footer-copyright {
        padding: 0;
    }

    #cont-business .product-list,
    #cont-factory .product-list {
        flex-direction: column;
        align-items: center;
    }

    /* =======================================================
    *   /company/ - 会社概要
    * ======================================================= */
    .table-list ul li {
        gap: 0;    
    }

    .table-list ul li span {
        max-width: 7em;
        width: 100px;
    }

    .list-year {
        max-width: 5em;
        width: 100%;
    }

    .access-banner .flex-block {
        flex-direction: column;
        gap: 40px;
    }

    .access-banner .flex-block .btn-normal a {
        margin: 0 auto;
    }

    /* =======================================================
    *   /business/ - 事業内容
    * ======================================================= */
    .loop-slider {
        padding: 40px 0;
    }

    .loop-slider__item {
        padding: 0 10px;
    }

    .between-symm .wid-container {
        gap: 20px;
        padding-top: 40px;
    }

    .between-symm .wid-container .symm-area-contents {
        order: 2;
    }

    .between-symm .wid-container img {
        width: 100%;
        order: 1;
    }

    .between-symm.base-wht,
    .between-symm.base-grn {
        padding-bottom: 40px;
    }

    .contact-banner {
        padding: 110px 0 80px !important;
    }

    

    .contact-banner .btn-normal a {
        margin-bottom: 0;
    }

    /* =======================================================
    *   /product/ - 商品ラインナップ
    * ======================================================= */
    /*.product-category {
        padding: 0 0 40px 0;
    }*/
    
    .product-category ul {
        padding-top: 30px;
    }

    .product-list {
        gap: 15px;
        bottom: 20px;
    }

    .product-list li {
        width: calc((100% - 15px * 1) / 2);
    }

    [class^="product-tag-"] {
        margin: 20px 0 0;
    }

    .product-category ul li a {
        padding: 7px 14px;
    }

    /* =======================================================
    *   /privacy-policy/ - プライバシーポリシー
    * ======================================================= */
    .post-name-privacy-policy .main-section--col--two {
        margin-bottom: 80px;
    }
}

/* =======================================================
*   max-width: 440px
* ======================================================= */
@media screen and (max-width: 440px) {
    .ltg-slide-text-title::before {
        width: 60px;
        height: 60px;
    }

    .table-list ul li {
        flex-direction: column;
        gap: 5px;
    }

    .post-name-business .contact-banner .header-area-contents {
        padding-top: 10px !important;
    }

    .post-name-products .contact-banner {
        padding-top: 100px !important;
    }

}