/* ====================
ホーム
==================== */
.mv{
    height: max(100svh, 600px);
    line-height: 1;
    position: relative;
    overflow: hidden;
}

#mv-slider .slick-track {
	width: 100vw;
}
#mv-slider .slide {
    background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
    height: max(100svh, 600px);
}

.mv_logo {
    background-color: #00000044;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    top: 0;;
    width: 100%;
}
.mv_logo svg{
    fill: var(--wp--preset--color--base);
    width: min(180px, 40vw);
}

.intro_paragraph br{
    display: none;
}
@media (min-width:600px){
    .intro_paragraph{
        text-align: center !important;
    }
    .intro_paragraph br{
        display: block;
    }
}

.alternate {
    clear: both;
    position: relative;
}
.alternate .wp-block-image {
    max-width: min(450px, 88%);
}
.alternate br {
    display: none;
}
@media (min-width:1200px){
    .alternate {
        --wp--style--global--content-size: 1080px;
    }
    .alternate.left h2 {
        text-align: start;
    }
    .alternate.right h2 {
        text-align: end;
    }
    .alternate.left .wp-block-image {
        float: right;
        margin-top: 0;
        width: calc(100% - 40ic - 40px);
    }
    .alternate.left:last-child .wp-block-image {
        width: calc(100% - 36ic - 40px);
    }
    .alternate.right .wp-block-image {
        float: left;
        margin-top: 0;
        width: calc(100% - 40ic - 40px);
    }
    .alternate p {
        width: 40ic;
        margin-top: 20px;
    }
    .alternate.right p {
        margin-left: auto;
        text-align: end;
    }
    .alternate br {
        display: block;
    }
}

@media (min-width:801px){
    #sb_instagram .sbi_item:nth-last-child(-n+2){
        display: none !important;
    }
}

/* ====================
農園について
==================== */
.about_logo {
    line-height: 1;
}
.about_logo svg{
    fill: var(--wp--preset--color--primary);
    width: min(480px, 60vw);
}
.about_greeting .wp-block-image {
    max-width: min(600px, calc(100vw - var(--wp--preset--spacing--90-hor) - var(--wp--preset--spacing--90-hor) - 20%));
}
.about_map iframe {
    aspect-ratio: var(--wp--preset--aspect-ratio--3-2);
}

/* ====================
作っているもの
==================== */
.product_cta{
    font-size: var(--wp--preset--font-size--h-2);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.5;
}
.product_cta a{
    display: flex;
    justify-content: center;
}
.product_cta .cart{
    background-color: var(--wp--preset--color--primary);
    border-radius: 10px 0 0 10px;
    display: flex;
    padding: 0 0.5lh;
}
.product_cta :is(a:hover, a:active, a:focus) .cart{
    background-color: var(--wp--preset--color--accent);
}
.product_cta .cart svg{
    fill: var(--wp--preset--color--base);
    width: 1.6lh;
}
.product_cta .text{
    align-items: center;
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--primary);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0.6lh;
}
.product_cta :is(a:hover, a:active, a:focus) .text{
    color: var(--wp--preset--color--accent);
}
@media (min-width:600px){
    .product_cta .text{
        padding: 0.8lh 1lh;
    }
}
.product_cta .arrow{
    background-color: var(--wp--preset--color--base);
    border-radius: 0 10px 10px 0;
    display: flex;
    padding: 0.8lh 0.4lh 0.8lh 0;
}
.product_cta .arrow svg{
    fill: var(--wp--preset--color--primary);
    width: 0.8lh;
}
.product_cta :is(a:hover, a:active, a:focus) .arrow svg{
    fill: var(--wp--preset--color--accent);
}

/* ====================
農業体験農園
==================== */
.try_content {
    flex-wrap: wrap !important;
}
.try_content .wp-block-image {
    width: calc( 33vw - ( var(--wp--preset--spacing--30) * 2 / 3 ) - ( var(--wp--preset--spacing--90-hor) * 2 / 3 ) );
}
@media (min-width:1200px){
    .try_content {
        flex-wrap: nowrap !important;
    }
    .try_content .wp-block-image {
        width: 100%;
    }
}

/* ====================
農業体験農園
==================== */
.wpcf7-form{
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--20);
    line-height: 1.5;
}
.wpcf7-form dt{
    margin-bottom: var(--wp--preset--spacing--5);
}
.wpcf7-form :is(input, textarea){
    background-color: #eee;
    border: 0;
    padding: 0.4lh 0.6lh;
    width: 100%;
}
.wpcf7-form [type="checkbox"]{
    width: auto;
}
.wpcf7-form [type="submit"]{
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
    width: auto;
}
.wpcf7-form :is([type="submit"]:hover, [type="submit"]:active, [type="submit"]:focus){
    background-color: var(--wp--preset--color--accent);
}
.wpcf7-form label::before {
    border-radius: 3px;
    color: #fff;
    cursor: auto;
    display: inline-block;
    font-size: 80%;
    font-weight: normal;
    line-height: 1;
    margin-right: 0.5em;
    padding: 0.2em 0.3em 0.3em;
}
.wpcf7-form .must::before {
    background-color: var(--wp--preset--color--primary);
    content: "必須";
}
.wpcf7-form .optional::before {
    background-color: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--primary);
    content: "任意";
}
.wpcf7-not-valid-tip{
    font-size: var(--wp--preset--font-size--small) !important;
    margin-top: var(--wp--preset--spacing--5);
}


/* ====================
下層ページヘッダー
==================== */
.header_page.header_page{
    padding-top: calc( var(--wp--preset--spacing--120-ver) + var(--wp--preset--spacing--90));
}
.header_page .wp-block-heading {
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.6);
}

/* ====================
ヘッダー
==================== */
.header{
    background-color: #00000070;
    color: var(--wp--preset--color--base);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10;
}
.header_logo {
    line-height: 1;
    margin-right: auto;
    z-index: 12;
}
.header_logo svg{
    fill: var(--wp--preset--color--base);
    width: 120px;
}
.header > .alignfull{
    align-items: center;
    display: flex;
    gap: var(--wp--preset--spacing--40);
    justify-content: flex-end;
    padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--40);
}

.nav_global{
    display: none;
}
.nav_global_inner {
    display: flex;
    gap: var(--wp--preset--spacing--30);
}
.nav_global :is(a:hover, a:active, a:focus){
    opacity: var(--wp--custom--opacity--7);
}
@media (min-width:900px){
    .nav_global{
        display: block;
    }
}

/* ====================
ハンバーガーメニュー
==================== */
.nav_offcanvus {
    align-items: center;
    background-color: #412210ee;
    display: flex;
    height: 100dvh;
    justify-content: center;
    left: 0;
    opacity: 0;
    overflow: scroll;
    position: fixed;
    top: 0;
    transition: .3s;
    visibility: hidden;
    width: 100%;
    z-index: -1;
}
.nav_offcanvus ul{
    font-size: 1.5em;
	text-align: center;
}
.nav_offcanvus li {
	position: relative;
}
.nav_offcanvus a {
    display: inline-block;
    padding: 0.6em 0;
}
.nav_offcanvus :is(a:hover, a:active, a:focus) {
    opacity: var(--wp--custom--opacity--7);
}
.nav_offcanvus li::before {
	background-color: #ffffff80;
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	margin: 0 auto;
	position: absolute;
	right: 0;
	width: 40px;
}
.nav_offcanvus li:last-child::before {
	content: none;
}
body.js-open .nav_offcanvus {
    opacity: 1;
    visibility: visible;
    z-index: 11;
}

/* ====================
ハンバーガーボタン
==================== */
#btn_toggle {
    aspect-ratio: 1.1 / 1;
    border: 0;
    cursor: pointer;
    display: block;
    padding: 0;
    position: relative;
    width: min(40px, 10vw);
    z-index: 12;
}
:is(#btn_toggle:hover, #btn_toggle:active, #btn_toggle:focus) {
    opacity: var(--wp--custom--opacity--7);
}
#btn_toggle span {
    background-color: #fff;
    display: block;
    height: 4px;
    position: absolute;
    transition: .3s;
    width: 100%;
}
#btn_toggle span:nth-child(1) {
	top: 0;
}
#btn_toggle span:nth-child(2) {
    top: 50%;
    translate: 0 -50%;
}
#btn_toggle span:nth-child(3) {
	bottom: 0;
}
body.js-open #btn_toggle span:nth-of-type(1) {
    rotate: -45deg;
    top: calc(50% - 2px);
}
body.js-open #btn_toggle span:nth-of-type(2) {
	opacity: 0;
}
body.js-open #btn_toggle span:nth-of-type(3) {
    bottom: calc(50% - 2px);
    rotate: 45deg;
}
@media (min-width:900px){
    #btn_toggle{
        display: none;
    }
}

/* ====================
フッター
==================== */
.footer{
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
    padding-bottom: var(--wp--preset--spacing--120-ver);
    padding-top: var(--wp--preset--spacing--120-ver);
    text-align: center;
}
.footer_logo {
    flex-shrink: 0;
    line-height: 1;
    margin-bottom: var(--wp--preset--spacing--60);
}
.footer_logo svg{
    fill: var(--wp--preset--color--base);
    width: min(180px, 60vw);
}
.footer_text {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--10);
}
.footer_btnShop{
    justify-content: center;
    margin: var(--wp--preset--spacing--20) 0;
}
.nav_footer_inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
    justify-content: center;
}
.nav_footer_inner :is(a:hover, a:active, a:focus) {
    opacity: var(--wp--custom--opacity--7);
}
.nav_footer_sub_inner {
    display: flex;
    flex-wrap: wrap;
    font-size: var(--wp--preset--font-size--small);
    gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
    justify-content: center;
    opacity: var(--wp--custom--opacity--7);
}
.footer_btnSns{
    margin: var(--wp--preset--spacing--20) 0;
}
.footer_btnSns img{
    width: 50px;
}
.footer_copy{
    font-size: var(--wp--preset--font-size--small);
    opacity: var(--wp--custom--opacity--7);
}
@media (min-width:750px){
    .footer{
        text-align: start;
    }
    .footer > .alignwide{
        display: flex;
        gap: 0 var(--wp--preset--spacing--90-hor);
        justify-content: space-between;
    }
    .nav_footer_inner{
        justify-content: flex-start;
    }
    .nav_footer_sub_inner{
        justify-content: flex-start;
    }
    .footer_btnShop{
        justify-content: flex-start;
    }
}

/* ====================
フッター追従ボタン
==================== */
.btnFollow {
    bottom: 0;
    color: var(--wp--preset--color--base);
    font-size: min(var(--wp--preset--font-size--h-6), 3.6vw);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.4;
    position: fixed;
    text-align: center;
    width: 100%;
    z-index: 10;
}
.btnFollow_list {
    display: flex;
}
.btnFollow_shop{
    background-color: #008899;
    display: block;
    width: 50%;
}
.btnFollow_contact{
    background-color: #CC9944;
    display: block;
    width: 50%;
}
.btnFollow a{
    align-items: center;
    display: flex;
    gap: 0.5em;
    justify-content: center;
    padding: 0.6lh 0;
}
.btnFollow svg{
    fill: var(--wp--preset--color--base);
    width: 1.5ic;
}
.btnFollow span{
    display: inline-block;
}
.btnFollow :is(a:hover, a:active, a:focus) span{
    opacity: var(--wp--custom--opacity--7);
}
@media (min-width:600px) and (min-height: 600px){
    .btnFollow {
        bottom: 50%;
        right: 0;
        text-orientation: upright;
        translate: 0 50%;
        width: auto;
        writing-mode: vertical-rl;
    }
    .btnFollow a{
        height: max-content;
        padding: 0.8lh 0.5lh;
    }
}

/* ====================
アーカイブ・記事
==================== */
.list_post.list_post {
    gap: var(--wp--preset--spacing--60);
    grid-template-columns: repeat(1, 1fr);
    margin-top: var(--wp--preset--spacing--90);
}
.list_post a{
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--10);
}
.list_post .post_img {
    margin-bottom: var(--wp--preset--spacing--10);
    position: relative;
}
.list_post .post_img::before{
    background-color: var(--wp--preset--color--base);
    content: "";
    height: var(--wp--preset--spacing--40);
    mask: url(../icon_arrow.svg) no-repeat center / contain;
    opacity: 0;
    position: absolute;
    right: var(--wp--preset--spacing--5);
    top: 50%;
    translate: 0 -50%;
    width: var(--wp--preset--spacing--40);
    z-index: 1;
}
.list_post :is(a:hover, a:active, a:focus) .post_img::before{
    opacity: 1;
}
.list_post .post_img::after{
    align-items: center;
    background-color: #dd6600b3;
    color: var(--wp--preset--color--base);
    content: "日記を読む";
    display: flex;
    font-size: var(--wp--preset--font-size--h-3);
    height: 100%;
    justify-content: center;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.list_post :is(a:hover, a:active, a:focus) .post_img::after{
    opacity: 1;
}
.list_post img {
    aspect-ratio: var(--wp--preset--aspect-ratio--3-2);
    object-fit: cover;
}
.list_post :is(a:hover, a:active, a:focus) .post_title {
    color: var(--wp--preset--color--accent);
}
.list_post .post_except{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: var(--wp--preset--font-size--small);
    overflow: hidden;
}
@media (min-width:600px){
    .list_post.list_post {
        gap: var(--wp--preset--spacing--90) var(--wp--preset--spacing--60);
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width:1200px){
    .list_post.list_post {
        grid-template-columns: repeat(3, 1fr);
    }
}

.post_date{
    opacity: 0.5;
}

/* ====================
ページャー
==================== */
.wp-pagenavi.wp-pagenavi {
    margin-block-end: var(--wp--preset--spacing--40);
    margin-block-start: var(--wp--preset--spacing--90);
}
.wp-pagenavi{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--wp--preset--spacing--5);
}
.wp-pagenavi :where(a, span){
    border: 1px solid var(--wp--preset--color--tertiary);
    display: block;
    font-size: var(--wp--preset--font-size--small);
    padding: 0.1lh 0.5lh;
}
.wp-pagenavi :is(a:hover, a:active, a:focus){
    border-color: var(--wp--preset--color--accent);
    color: var(--wp--preset--color--accent);
}
.wp-pagenavi .extend{
    border: 0;
    padding: 0.1lh 0.0;
}
.wp-pagenavi .current{
    border: 0;
    font-weight: 700;
}
.wp-pagenavi .extend::before{
    content: "…";
}

.post_nav.post_nav {
    margin-block-start: var(--wp--preset--spacing--90);
}
.post_nav_inner{
    display: flex;
    justify-content: center;
    gap: var(--wp--preset--spacing--5);
}
.post_nav_inner a{
    border: 1px solid var(--wp--preset--color--tertiary);
    display: block;
    font-size: var(--wp--preset--font-size--small);
    padding: 0.1lh 0.5lh;
}
.post_nav_inner :is(a:hover, a:active, a:focus) {
    border-color: var(--wp--preset--color--accent);
    color: var(--wp--preset--color--accent);
}

:where(.blog, .archive, .single) aside h1{
    border-bottom: 1px solid var(--wp--preset--color--tertiary);
    padding-bottom: 0.5em;
}

/* ====================
最近の記事
==================== */
.list_recent.list_recent {
    gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
    grid-template-columns: repeat(1, 1fr);
}
.list_recent .post_date{
    font-size: var(--wp--preset--font-size--small);
}
.list_recent .post_title{
    font-size: var(--wp--preset--font-size--default);
    font-weight: 400;
}
.list_recent :is(a:hover, a:active, a:focus) {
    color: var(--wp--preset--color--accent);
}
@media (min-width:600px){
    .list_recent.list_recent{
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ====================
年別アーカイブ
==================== */
.list_year.list_year {
    gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
}
.list_year :is(a:hover, a:active, a:focus) {
    color: var(--wp--preset--color--accent);
}

/* ====================
その他サイト共通
==================== */
@media (min-width:600px){
    body {
        --wp--style--root--padding-right: var(--wp--preset--spacing--120-ver) !important;
    }
    .secRightSpace{
        padding-right: var(--wp--preset--spacing--120-ver) !important;
    }
}

*, ::before, ::after {
    transition: .3s;
}

:is(a:hover, a:active, a:focus) :where(img, svg){
    opacity: var(--wp--custom--opacity--7);
}

img {
    width: 100%;
    user-select: none; /* 画像保存対策 */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.ib{
    display: inline-block;
}

.alignFit{
    max-width: none;
    width: fit-content;
}

.grecaptcha-badge {
    visibility: hidden;
}

/* ====================
透明画像のオーバーレイ
==================== */
.img-wrapper {
  position: relative;
  display: inline-block;
  user-select: none;
  -webkit-user-select: none; 
}
.img-wrapper img {
  pointer-events: none;
}
.img-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 10;
  cursor: default;
}