@charset "UTF-8";
/* ================================
common
=================================*/

:root {
    --primary-white:#ffffff;
    --primary-lightbeige: #faf7ec;
    --primary-beige: #f9f7ec;
    --primary-darkgreen: #384019;
    --primary-green: #838C3b;
    --primary-gray: #3a3a3a;
    --primary-lightgreen: #e3e5cc;
    --primary-highlightgreen: #f5f6e2;
    --primary-orange: #d9601b;
}

html {
    font-size: 62.5%;
}

body {
    font-family:
        'Noto Sans JP',
        Arial, sans-serif ;
    font-size: 1.6rem;
    font-style: normal;
    color: var(--primary-darkgreen);
    background-color: var(--primary-lightbeige);
    line-height: 1.5;
}

img {
    max-width: 100%;
    height: auto;
}

.topic {
    text-align: center;
    font-weight: 400;
    line-height: 2.3;
}

.topic span {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
}

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

.underline::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px; /* アンダーラインの位置調整 */
    width: 0;
    height: 2px;
    background-color: var(--primary-orange);
    transition: width 1s ease-in-out;
}

.underline.active::after {
    width: 100%;
}

/* topic pc */
@media screen and (min-width:769px) {
    .topic {
        line-height: 2.81;
    }

    .topic span {
        font-size: 4.0rem;
        line-height: 1.25;
    }
}
/* pc 769px */

/*==========================
header
==========================*/

.header {
    padding: 28px 8%;
}

.header__topic{
    width: 138px;
    height: auto;
}

.logo {
    width: 111px;
    height: 35px;
}

/* .nav初期表示 */
.nav{
    background-color: var(--primary-lightgreen);
    width: 100%;
    height: 100vh;
    padding: 28px 8%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
    transform: translateX(-100%);
    transition: transform 0.5s;
}

.nav__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav__list {
    margin-top: 133px;
}

.nav__item {
    margin-top: 25px;
    line-height: 1.18;
}

/* .nav.active表示 */
.nav.active {
    transform: translateX(0);
}

.header__btn {
    display: block;
    width: 45px;
    height: 20px;
    cursor: pointer;
    position: absolute;
    top: 39px;
    right: 8%;
    margin-top: -3px;
}

.trialBtn_sp_header {
    display: block;
    width: 123px;
    height: 103px;
    filter:drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.trialBtn_sp_header_link{
    display: block;
    position: fixed;
    right: 0;
    bottom: 20px;
    z-index: 100;
}

.trialBtn_lp_header_link{
    display: none;
}

/* header pc */
@media screen and (min-width:769px) {
    .header {
        padding: 48px 176px 51px 5.4%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

        .nav {
        background: transparent;/* 透明 */
        width: auto;
        height: auto;
        padding: 0;
        position: static;
        transform: translate(0);
    }

    .nav__list {
        margin-top: 0;
        display: flex;
    }

    .nav__item {
        margin-top: 0;
        font-size: 1.4rem;
        line-height: 1.5;
        margin-left: 20px;
        padding: 5px 7px;
        border-radius: 10px 0px;
    }

    
/* nav__item hover */
    .nav__item:hover {
        background-color: var(--primary-darkgreen); /* ホバー時の背景色（例: 青） */
        color: #ffffff; /* ホバー時の文字色（例: 白） */
    }

    .trialBtn_sp_header {
        display: none;
    }

    .nav__header {
        display: none;
    }

    .header__btn {
        display: none;
    }

    .nav__item:first-of-type {
        display: none;
    }

    .trialBtn_lp_header {
        display: block;
        width: 123px;
        height: 103px;
        filter:drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
    }

    .trialBtn_lp_header_link {
        display: block;
        position: fixed;
        right: 0;
        top : 0;
        z-index: 100;
    }
}

/*==========================
main
==========================*/

/* article header */
.mainVisual__txt {
    background-color: var(--primary-white);
    padding: 2px 5px;
    font-size: 2.4rem;
    font-weight: 500;
    position: absolute;
    left: 8%;
    z-index: 2;
    text-align: left;
}

.mainVisual__txt:first-of-type {
    top: 360px;
}

.mainVisual__txt:nth-child(2) {
    top: 403px;
}

.mainVisual__txt:nth-child(3) {
    top: 446px;
}

.article__header {
    position: relative;
}


/* article header pc */
@media screen and (min-width:769px) {
    .mainVisual__txt {
        font-size: 4.0rem;
        font-weight: 500;
        position: absolute;
        left: 8%;
        z-index: 2;
        text-align: left;
    }
    
    .mainVisual__txt:first-of-type {
        top: 380px;
    }
    
    .mainVisual__txt:nth-child(2) {
        top: 450px;
    }
    
    .mainVisual__txt:nth-child(3) {
        top: 520px;
    }
}


/* about */
#about{
    padding: 80px 8%;
    position: relative;
    max-width: 600px;
    margin: auto;
}

.mainTopics {
    text-align: center;
    font-size: 15px;
    line-height: 2.33;
    font-feature-settings: "palt";
}

.corn {
    position: absolute;
    width: 58px;
    height: 68px;
    left: 8%;
    top: 61px;
}

.tomato {
    position: absolute;
    width: 58px;
    height: 57px;
    left: 8%;
    top: 227px;
}

.broccoli{
    position: absolute;
    width: 59px;
    height: 59px;
    left: 8%;
    bottom: 173px;
}

.potato {
    position: absolute;
    width: 64.608px;
    height: 52.217px;
    transform: rotate(28.67deg);
    right: 7.5%;
    top: 63px;
}

.spinach {
    position: absolute;
    width: 56.836px;
    height: 54.177px;
    transform: rotate(-35.612deg);
    right: 7%;
    top: 227px;
}

.carrot {
    position: absolute;
    width: 45.277px;
    height: 78.577px;
    transform: rotate(26.551deg);
    right: 5.43%;
    bottom: 157.472px;
}


/* about pc */
@media screen and (min-width:769px) {
    #about{
        padding: 180px 5.416%;
        max-width: 1440px;
        position: relative;
        margin: auto;
    }

    .mainTopics {
        text-align: center;
        font-size: 2rem;
        line-height: 2.5;
    }

    .corn {
        position: absolute;
        width: 135px;
        height: 158px;
        left: 16.52%;
        top: 88px;
    }
    
    .tomato {
        position: absolute;
        width: 112px;
        height: 110px;
        left: 7.15%;
        top: 314px;
    }
    
    .broccoli{
        position: absolute;
        width: 132px;
        height: 131px;
        left: 14.93%;
        bottom: 257px;
    }
    
    .potato {
        position: absolute;
        width: 165.408px;
        height: 133.686px;
        transform: rotate(28.67deg);
        right: 14.21%;
        top: 95px;
    }
    
    .spinach {
        position: absolute;
        width: 141.164px;
        height: 134.56px;
        transform: rotate(-0.314deg);
        right: 7.15%;
        top: 320px;
    }
    
    .carrot {
        position: absolute;
        width: 107.878px;
        height: 187.217px;
        transform: rotate(56.392deg);
        right: 16%;
        bottom: 240px;
    }

    .spBr {
        display: none;
    }
}
/* pc 769px */

@media (min-width: 769px) and (max-width: 1109px) {
    .corn {
        position: absolute;
        width: 100px;
        height: auto;
        left: 16.52%;
        top: 88px;
    }
    
    .tomato {
        position: absolute;
        width: 80px;
        height: auto;
        left: 7.15%;
        top: 314px;
    }
    
    .broccoli{
        position: absolute;
        width: 97px;
        height: auto;
        left: 14.93%;
        bottom: 282px;
    }
    
    .potato {
        position: absolute;
        width: 115px;
        height: auto;
        transform: rotate(28.67deg);
        right: 14.21%;
        top: 95px;
    }
    
    .spinach {
        position: absolute;
        width: 102px;
        height: auto;
        transform: rotate(-0.314deg);
        right: 7.15%;
        top: 320px;
    }
    
    .carrot {
        position: absolute;
        width: 86px;
        height: auto;
        transform: rotate(56.392deg);
        right: 16%;
        bottom: 280px;
    }
}

/* trialBtn */
.trialBtn {
    transition-property: opacity;
    transition-duration: 0.5s;
    }

.trialBtn:hover {
    opacity: 0.7; 
    }

.trialBtn_lp {
    display: none;
}

.trialBtn_sp {
    width: 315px;
    margin: auto;
    display: block;
    padding-top: 70px;
}

/* trialBtn pc */
@media screen and (min-width:769px) {
    .trialBtn_sp {
        display: none;
    }
    
    .trialBtn_lp {
        width: 509px;
        margin: auto;
        display: block;
        padding-top: 120px;
    }

}
/* pc 769px */

/* reason */
.section--reason {
    background-color: var(--primary-highlightgreen);
    padding: 80px 8%;
}

.reason_item {
    margin: 0 auto;
    display: block;
    width: 298.319px;
    position: relative;
    z-index: 1;
}

.reason_item img {
    margin-top: 50px;
    height: 200px;
    border-radius: 30px 30px 0 0;
    object-fit: cover;/* 画像を中心に配置する */
    display: block;
}

.reason_no {
    color: #444b29;
    top: -62px;
    left: -15px;
    font-size: 6.4rem;
    font-family: "Source Serif 4", serif;
    font-weight: 900;
    line-height: 1.875; 
    text-align: center;
    position: absolute;
}

/* hover時に傾ける調整 */
.reason_item::after {
    content: "";
	display: block;
	position: absolute;
	width: 298.319px;
	height: 100%;
    border-radius: 30px;
	background-color: rgba(137, 146, 105, 1);
	top: 0;
    transform: rotate(0deg); /* 初期状態では回転させない */
    transition: transform 0.5s ease; /* 回転のアニメーションを追加 */
    transform-origin:left bottom;
    /* 左下固定を指定する*/
	z-index: -1;
}

.reason_item:hover::after {
    transform: rotate(3deg); /*1.5 ホバー時回転させる */
}

.reason_item:nth-of-type(2)::after{
    background-color: rgba(181, 187, 133, 1);
}

.reason_item:nth-of-type(3)::after{
    background-color: rgba(217, 150, 111, 1);
}
/* after要素と〇番目を一緒に使う */

.reason_content {
    height: 281.67px;
    padding: 15px 18px;
    border-radius: 0px 0px 30px 30px;
    background: var(--primary-white);
}

.reason_title {
    font-size: 20px;
    font-weight: 500;
    line-height: normal;
}

.reason_txt {
    color: var(--primary-gray);
    line-height: 1.75;
    margin-top: 10px;
    letter-spacing: -0.8px;
    font-feature-settings: "palt";
    }

/* reason pc */
@media screen and (min-width:769px) {
    .section--reason {
        padding: 100px 5.41%;
        height: auto;
    }

    .reason--topic {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin: 0 auto;
        max-width: 1140px;
    }

    .reason_item {
        width: 320px;
    }

/* img の調整 */
    .reason_item img {
        margin-top: 90px;
        height: 163px;
        border-radius: 30px 30px 0 0;
        object-fit: cover;/* 画像を中心に配置する */
        display: block;
    }

/* 背景色の幅調整 */
    .reason_item::after {
        width: 320px;
        height: 431px;
    }

/* 背景色と番号の位置調整 */
    .reason_item::after,
    .reason_item .reason_no {
        margin-top: 90px;
    }

/* 番号の調整 */
    .reason_no {
        color: #444b29;
        width: 45px;
        height: 49.39px;
        line-height: 1.875; /* 187.5% */
        text-align: center;
        position: absolute;
    }

    .sp {
        display: none;
    }

    .reason_content {
        padding: 20px;
    }

    /* hover時に傾ける調整 */
    .reason_item::after {
        transform: rotate(0deg); /* 初期状態では回転させない */
        transition: transform 0.5s ease; /* 回転のアニメーションを追加 */
        transform-origin:left bottom;/* 左下固定を指定する*/
    }

    .reason_item:hover::after {
        transform: rotate(6deg); /* ホバー時回転させる */
    }
}
/* pc 769px */

/* trial */
.section--trial {
    background-color: var(--primary-lightgreen);
    padding: 80px 8%;
}

.trial_shop {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column; /* 子要素を縦方向に並べる */
    align-items: center; /* 子要素を中央に配置 */
}

.trial_shop li{
    margin-top: 50px;
}

.topic--b {
    font-size: 1.8rem;
    font-weight: 500;
}

.trialImg{
    width: 84vw;
    height: auto;
    max-width: 400px;
    object-fit: cover;
}

/* trial pc */
@media screen and (min-width:769px) {
    .section--trial {
        padding: 100px 5.41%;
    }
    
    .trial_shop {
        padding: 0;
        margin-top: 90px;
        display: flex;
        align-items: center; /* 子要素を中央に配置 */
        justify-content: center;
        flex-direction: row;
        gap: 60px;
    }

    .trial_shop li {
        margin-top: 0px;
    }

    .trialImg{
        width: 100%;
        max-width: 415px; /* 画像の幅を指定 */
        height: auto; /* 画像の高さを指定 */
    }

}
/* pc 769px */

/* farmer */
.section--farmer {
    background-color: var(--primary-highlightgreen);
    padding: 80px 8%;
}

.farmer_contents {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column; /* 子要素を縦方向に並べる */
    align-items: center; /* 子要素を中央に配置 */
}

.farmer_item {
    margin-top: 50px;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

.farmer_item.show {
    opacity: 1;
    transform: translateY(0);
}


.farmer_img {
    width: 315px; /* 画像の幅を指定 */
    height: 250px; /* 画像の高さを指定 */
    object-fit: cover; /* 画像を枠内に収める */
    border-radius: 30px;
}

.farmer_about {
    font-size: 1.4rem;
    line-height: 1.78; /* 178.571% */
}

.farmerName {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.56;
}

.farmer_item div {
    width: 315px; /* テキストの幅をli全体に広げる */
}

.farmer_about {
    margin-top: 20px;
}

.farmer_txt {
    margin-top: 12px; /* テキストと画像の間に余白を追加 */
    line-height: 25px; /* 156.25% */
    font-feature-settings: "palt";
}

/* farmer pc */
@media screen and (min-width:769px) {
    .section--farmer {
        padding: 100px 16.66%;
    }
    
    .farmer_contents {
        margin-top: 30px;
    }

    .farmer_item {
        padding: 0;
        margin-top: 60px;
        display: flex;
        align-items: center; /* 子要素を中央に配置 */
    }

    .farmer_item div {
        width: 496px;
        margin-left: 60px;
    }


    .farmer_about{
        font-weight: 500;
        margin-top: 0;
        line-height: 1.87; /* 187.5% */
    }

    .farmerName {
        font-size: 20px;
        font-weight: 600;
        line-height: 1.5;
    }

    .farmer_txt {
        margin-top: 30px;
        text-align: justify;
        line-height: 1.75; /* 175% */
    }

}

/* voice */
.section--voice {
    padding: 80px 8%;
}

.voice_contents {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column; /* 子要素を縦方向に並べる */
    align-items: center; /* 子要素を中央に配置 */
}

.voice_item {
    border-radius: 30px 0px;
    background-color: var(--primary-white);
    margin-top: 50px;
    width: 315px;
}

.voice_item div {
    display: flex;
    padding: 25px;
}

.voice_img {
    width: 72px;
    height: 96px;
    object-fit: cover;/* 画像を中心に配置する */
    display: block;
}

.voice_about {
    width: 184px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5; /* 150% */
}

.voice_about span {
    color: var(--primary-gray);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5; /* 100% */
    margin-top:10px;
    display:block;
    /* margin block要素にしないと効かない*/
}

.voice_txt {
    color: var(--primary-gray);
    padding: 0px 25px 25px 25px;
    font-feature-settings: "palt";
}

.voice_txt span {
    color: var(--primary-orange);
    font-weight: 700;
    line-height: 25px;
}

/* voice pc */
@media screen and (min-width:769px) {
    .section--voice {
        padding: 100px 7.15%;
    }

    .voice_contents {
        margin-top: 90px;
        flex-direction: row; /* 子要素を横方向に並べる */
        justify-content: center;/* 子要素を中央揃え */
        flex-wrap: wrap;
        gap: 60px;
    }

    .voice_item {
        margin-top: 0;
        width: 370px;
        height: 383px;
    }

    .voice_about {
        font-size: 2.4rem;
        width: 220px;
    }
    

    .voice_img {
        width: 100px;
        height: 133px;
    }

    .voice_txt {
        padding: 0px 35px 30px 35px;
        text-align: justify;
    }

}
/* pc 769px */

/* faq */
.section--faq {
    padding: 80px 8%;
}

.topic span.topic_faq {
    font-family: "Roboto Condensed";
    font-size: 4.8rem;
    font-weight: 700;
    letter-spacing: 1.92px;
}

.faq_item {
    margin-top: 50px;
}

.faq_item div {
    display: flex;
    gap: 10px;
}

.qmark {
    font-family: "Roboto Condensed";
    font-size: 2.4rem;
    font-weight: 700;
    background-color: var(--primary-darkgreen);
    width: 41px;
    height: 41px;
    display: inline-block;
    color: var(--primary-white);
    border-radius: 50%;
    text-align:center;
    line-height: 40px;
    flex-shrink: 0; /* これで小さくならない */
}

.amark {
    color: #384019;
    font-family: "Roboto Condensed";
    font-size: 2.4rem;
    font-weight: 700;
    background-color: var(--primary-white);
    width: 41px;
    height: 41px;
    display: inline-block;
    color: var(--primary-darkgreen);
    border-radius: 50%;
    text-align:center;
    line-height: 41px;
    flex-shrink: 0; /* これで小さくならない */
}

.faq_item div:nth-of-type(2) {
    margin-top: 20px;
}

.question_txt {
    font-size: 2.0rem;
    font-weight: 600;
    font-feature-settings: "palt";
}

.answer_txt {
    color: var(--primary-gray);
    line-height: 1.5; /* 156.25% */
    font-feature-settings: "palt";
}

    
.section--faq {
    padding: 104px 16.66%;
}


/* faq pc */
@media screen and (min-width:769px) {
    .section--faq {
        padding: 100px 16.66%;
    }

    .faq_item {
        margin-top: 90px;
    }

    .question_txt {
        font-size: 2.4rem;
    }
}
/* pc 769px */

/*==========================
footer
==========================*/
.footer {
    background-color: var(--primary-darkgreen);
    color: #F9F4E5;
    padding: 60px 35.89%;
    text-align: center;
}

.footerNav__item {
    margin-top: 25px;
    line-height: 1.18;
}

.nav__sns {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 33px;
    margin-top: 40px;
}

.X {
    width: 30.6px;
    height: 30px;
}

.instagram {
    width: 30px;
    height: 30px;
}

.logo2 {
    width: 88px;
    height: auto;
    margin-top: 40px;
}

.copy {
    font-size: 12px;
    margin-top: 12px;
}

/* footer pc */
@media screen and (min-width:769px) {
    .footer {
        padding: 104px 7.29% 0;
    }
    
    .footerNav {
        display: flex;
        justify-content: space-between; /* 左右に要素を配置 */
        align-items: flex-start; /* 各要素を上揃え */
        }

    .footerNav__list {
        display: flex;
        flex-direction: column; /* 縦並び */
        text-align: left; /* 左寄せ */
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .nav__content {
        display: flex;
        flex-direction: column; /* 縦並び */
        align-items: center;
        margin: 0;
    }

    .nav__sns {
        margin-top: 130px;
        gap: 20px;
    }
    
    .logo2 {
        width: 106px;
        margin-top: 17px; /* 余白を追加して調整 */
    }

    .copy {
        margin: 15px  0 29px 0;
    }
/* pc 769px */

}










