@charset "UTF-8";

/* Scss Document */
.flex_30 {
    width: 30%;
}

.flex_31 {
    width: 31%;
}

.flex_32 {
    width: 32%;
}

.flex_33 {
    width: 33%;
}

.flex_34 {
    width: 34%;
}

.flex_35 {
    width: 35%;
}

.flex_36 {
    width: 36%;
}

.flex_37 {
    width: 37%;
}

.flex_38 {
    width: 38%;
}

.flex_39 {
    width: 39%;
}

.flex_40 {
    width: 40%;
}

.flex_41 {
    width: 41%;
}

.flex_42 {
    width: 42%;
}

.flex_43 {
    width: 43%;
}

.flex_44 {
    width: 44%;
}

.flex_45 {
    width: 45%;
}

.flex_46 {
    width: 46%;
}

.flex_47 {
    width: 47%;
}

.flex_48 {
    width: 48%;
}

.flex_49 {
    width: 49%;
}

.flex_50 {
    width: 50%;
}

.flex_51 {
    width: 51%;
}

.flex_52 {
    width: 52%;
}

.flex_53 {
    width: 53%;
}

.flex_54 {
    width: 54%;
}

.flex_55 {
    width: 55%;
}

.flex_56 {
    width: 56%;
}

.flex_57 {
    width: 57%;
}

.flex_58 {
    width: 58%;
}

.flex_59 {
    width: 59%;
}

.flex_60 {
    width: 60%;
}

.flex_61 {
    width: 61%;
}

.flex_62 {
    width: 62%;
}

.flex_63 {
    width: 63%;
}

.flex_64 {
    width: 64%;
}

.flex_65 {
    width: 65%;
}

.flex_66 {
    width: 66%;
}

.flex_67 {
    width: 67%;
}

.flex_68 {
    width: 68%;
}

.flex_69 {
    width: 69%;
}

.flex_70 {
    width: 70%;
}

.padding100 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.padding110 {
    padding-top: 110px;
    padding-bottom: 110px;
}

.padding120 {
    padding-top: 120px;
    padding-bottom: 120px;
}

.padding130 {
    padding-top: 130px;
    padding-bottom: 130px;
}

.padding140 {
    padding-top: 140px;
    padding-bottom: 140px;
}

.padding150 {
    padding-top: 150px;
    padding-bottom: 150px;
}

.padding160 {
    padding-top: 160px;
    padding-bottom: 160px;
}

.padding170 {
    padding-top: 170px;
    padding-bottom: 170px;
}

.padding180 {
    padding-top: 180px;
    padding-bottom: 180px;
}

.padding190 {
    padding-top: 190px;
    padding-bottom: 190px;
}

.padding200 {
    padding-top: 200px;
    padding-bottom: 200px;
}

.padding210 {
    padding-top: 210px;
    padding-bottom: 210px;
}

.padding220 {
    padding-top: 220px;
    padding-bottom: 220px;
}

.padding230 {
    padding-top: 230px;
    padding-bottom: 230px;
}

.padding240 {
    padding-top: 240px;
    padding-bottom: 240px;
}

.padding250 {
    padding-top: 250px;
    padding-bottom: 250px;
}

.padding260 {
    padding-top: 260px;
    padding-bottom: 260px;
}

.padding270 {
    padding-top: 270px;
    padding-bottom: 270px;
}

.padding280 {
    padding-top: 280px;
    padding-bottom: 280px;
}

.padding290 {
    padding-top: 290px;
    padding-bottom: 290px;
}

.padding300 {
    padding-top: 300px;
    padding-bottom: 300px;
}

.margin100 {
    margin-top: 100px;
    margin-bottom: 100px;
}

.margin110 {
    margin-top: 110px;
    margin-bottom: 110px;
}

.margin120 {
    margin-top: 120px;
    margin-bottom: 120px;
}

.margin130 {
    margin-top: 130px;
    margin-bottom: 130px;
}

.margin140 {
    margin-top: 140px;
    margin-bottom: 140px;
}

.margin150 {
    margin-top: 150px;
    margin-bottom: 150px;
}

.margin160 {
    margin-top: 160px;
    margin-bottom: 160px;
}

.margin170 {
    margin-top: 170px;
    margin-bottom: 170px;
}

.margin180 {
    margin-top: 180px;
    margin-bottom: 180px;
}

.margin190 {
    margin-top: 190px;
    margin-bottom: 190px;
}

.margin200 {
    margin-top: 200px;
    margin-bottom: 200px;
}

.margin210 {
    margin-top: 210px;
    margin-bottom: 210px;
}

.margin220 {
    margin-top: 220px;
    margin-bottom: 220px;
}

.margin230 {
    margin-top: 230px;
    margin-bottom: 230px;
}

.margin240 {
    margin-top: 240px;
    margin-bottom: 240px;
}

.margin250 {
    margin-top: 250px;
    margin-bottom: 250px;
}

.margin260 {
    margin-top: 260px;
    margin-bottom: 260px;
}

.margin270 {
    margin-top: 270px;
    margin-bottom: 270px;
}

.margin280 {
    margin-top: 280px;
    margin-bottom: 280px;
}

.margin290 {
    margin-top: 290px;
    margin-bottom: 290px;
}

.margin300 {
    margin-top: 300px;
    margin-bottom: 300px;
}

.pt-110 {
    padding-top: 110px;
}

.pt-120 {
    padding-top: 120px;
}

.pt-130 {
    padding-top: 130px;
}

.pt-140 {
    padding-top: 140px;
}

.pt-150 {
    padding-top: 150px;
}

.pt-160 {
    padding-top: 160px;
}

.pt-170 {
    padding-top: 170px;
}

.pt-180 {
    padding-top: 180px;
}

.pt-190 {
    padding-top: 190px;
}

.pt-200 {
    padding-top: 200px;
}

.pt-210 {
    padding-top: 210px;
}

.pt-220 {
    padding-top: 220px;
}

.pt-230 {
    padding-top: 230px;
}

.pt-240 {
    padding-top: 240px;
}

.pt-250 {
    padding-top: 250px;
}

.pt-260 {
    padding-top: 260px;
}

.pt-270 {
    padding-top: 270px;
}

.pt-280 {
    padding-top: 280px;
}

.pt-290 {
    padding-top: 290px;
}

.pt-300 {
    padding-top: 300px;
}

.pb-110 {
    padding-bottom: 110px;
}

.pb-120 {
    padding-bottom: 120px;
}

.pb-130 {
    padding-bottom: 130px;
}

.pb-140 {
    padding-bottom: 140px;
}

.pb-150 {
    padding-bottom: 150px;
}

.pb-160 {
    padding-bottom: 160px;
}

.pb-170 {
    padding-bottom: 170px;
}

.pb-180 {
    padding-bottom: 180px;
}

.pb-190 {
    padding-bottom: 190px;
}

.pb-200 {
    padding-bottom: 200px;
}

.pb-210 {
    padding-bottom: 210px;
}

.pb-220 {
    padding-bottom: 220px;
}

.pb-230 {
    padding-bottom: 230px;
}

.pb-240 {
    padding-bottom: 240px;
}

.pb-250 {
    padding-bottom: 250px;
}

.pb-260 {
    padding-bottom: 260px;
}

.pb-270 {
    padding-bottom: 270px;
}

.pb-280 {
    padding-bottom: 280px;
}

.pb-290 {
    padding-bottom: 290px;
}

.pb-300 {
    padding-bottom: 300px;
}

.mt-110 {
    margin-top: 110px;
}

.mt-120 {
    margin-top: 120px;
}

.mt-130 {
    margin-top: 130px;
}

.mt-140 {
    margin-top: 140px;
}

.mt-150 {
    margin-top: 150px;
}

.mt-160 {
    margin-top: 160px;
}

.mt-170 {
    margin-top: 170px;
}

.mt-180 {
    margin-top: 180px;
}

.mt-190 {
    margin-top: 190px;
}

.mt-200 {
    margin-top: 200px;
}

.mt-210 {
    margin-top: 210px;
}

.mt-220 {
    margin-top: 220px;
}

.mt-230 {
    margin-top: 230px;
}

.mt-240 {
    margin-top: 240px;
}

.mt-250 {
    margin-top: 250px;
}

.mt-260 {
    margin-top: 260px;
}

.mt-270 {
    margin-top: 270px;
}

.mt-280 {
    margin-top: 280px;
}

.mt-290 {
    margin-top: 290px;
}

.mt-300 {
    margin-top: 300px;
}

.mb-110 {
    margin-bottom: 110px;
}

.mb-120 {
    margin-bottom: 120px;
}

.mb-130 {
    margin-bottom: 130px;
}

.mb-140 {
    margin-bottom: 140px;
}

.mb-150 {
    margin-bottom: 150px;
}

.mb-160 {
    margin-bottom: 160px;
}

.mb-170 {
    margin-bottom: 170px;
}

.mb-180 {
    margin-bottom: 180px;
}

.mb-190 {
    margin-bottom: 190px;
}

.mb-200 {
    margin-bottom: 200px;
}

.mb-210 {
    margin-bottom: 210px;
}

.mb-220 {
    margin-bottom: 220px;
}

.mb-230 {
    margin-bottom: 230px;
}

.mb-240 {
    margin-bottom: 240px;
}

.mb-250 {
    margin-bottom: 250px;
}

.mb-260 {
    margin-bottom: 260px;
}

.mb-270 {
    margin-bottom: 270px;
}

.mb-280 {
    margin-bottom: 280px;
}

.mb-290 {
    margin-bottom: 290px;
}

.mb-300 {
    margin-bottom: 300px;
}

* {
    text-decoration: none !important;
}

.top_movie {
    position: relative;
    width: 90%;
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
}

.top_movie:before {
    content: "";
    display: block;
    padding-top: 56.25%;
}

.top_movie video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: 0.5s ease;
    pointer-events: none;
}

#play img {
    width: min(10.5vw, 77px);
    height: auto;
}

#play.hidden {
    opacity: 0;
}

/************************/
.logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 94%;
    max-width: 1760px;
    top: 70px;
    z-index: 900;
}

/*****************/
.top_main {
    height: 1233px;
    position: relative;
    z-index: 400;
}

.main_img {
    height: 100%;
}

.main_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top_title {
    position: absolute;
    bottom: 280px;
    padding: 0 20px 0 320px;
    z-index: 300;
}

.top_title img {
    max-width: 100%;
    height: auto;
}

.scroll {
    position: absolute;
    left: 60px;
    bottom: 150px;
    z-index: 500;
}

.scroll a {
    width: 190px;
    height: 192px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sc_circle {
    position: absolute;
    top: 0;
    left: 0;
    animation: scroll 10s linear infinite;
}

@keyframes scroll {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

/********/
.bg_fcfcf0 {
    background-color: #fcfcf0;
}

.sec01_cont {
    margin-top: -120px;
}

.sec01_title {
    text-align: center;
    font-size: 82px;
    line-height: 1.2em;
    font-feature-settings: "palt";
    padding-left: 80px;
}

.sec01_title span {
    font-size: 90px;
}

.sec01_eng {
    text-align: center;
    color: #86b275;
    font-size: 24px;
    margin-top: 40px;
    letter-spacing: 0.1em;
}

.w880_auto {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}

.w1400_auto {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

.sec01_ab1 {
    position: absolute;
    right: 0;
    bottom: 0;
}

.sec01_text p {
    font-weight: 900;
    font-size: 20px;
    text-align: center;
    line-height: 2.6em;
}

.sec01_text p:nth-child(n+2) {
    margin-top: 50px;
}

.more {
    width: 330px;
    font-weight: 900;
    font-size: 17px;
    line-height: 1.5em;
    position: relative;
}

.more a {
    display: block;
    background-color: #eccc39;
    width: 100%;
    padding: 25px 0;
    text-align: center;
    position: relative;
    color: inherit;
    z-index: 500;
    background: linear-gradient(45deg, transparent 13px, #eccc39 13px), linear-gradient(135deg, transparent 13px, #eccc39 13px), linear-gradient(225deg, transparent 13px, #eccc39 13px), linear-gradient(315deg, transparent 13px, #eccc39 13px);
    background-position: bottom left, top left, top right, bottom right;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

.more:after {
    content: "";
    background-color: #eccc39;
    height: 5px;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.more.more_c {
    margin-left: auto;
    margin-right: auto;
}

.more .arrow {
    position: absolute;
    right: 35px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s ease;
}

.more:hover .arrow {
    right: 25px;
}

.sec01_ab2 {
    position: absolute;
    bottom: 100px;
    left: 0;
    width: 20%;
    max-width: 335px;
}

.sec01_ab2 img {
    width: 100%;
    height: auto;
}

.sec01_ab3 {
    position: absolute;
    top: 120px;
    right: 0;
    width: 20%;
    max-width: 335px;
}

.sec01_ab3 img {
    width: 100%;
    height: auto;
}

.sec01_bg_left {
    position: absolute;
    left: 0;
    top: 200px;
}

.sec01_bg_right {
    position: absolute;
    right: 0;
    top: 150px;
}

/******************/
.sec02_cont {
    background-color: #6a4a37;
}

.sec02_on {
    background: url("../images/top8.png") 50% 0/1920px 36px repeat-x;
    width: 100%;
    height: 36px;
    position: absolute;
    top: 0;
    left: 0;
}

.title52 {
    font-size: 52px;
    line-height: 1.3em;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.center {
    text-align: center;
}

.eng23 {
    font-size: 23px;
    letter-spacing: 0.12em;
    margin-top: 10px;
}

.sec02_flex {
    display: flex;
    justify-content: space-between;
}

.sec02_flex>div {
    width: 31.33%;
    max-width: 360px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.sec02_flex h3 {
    font-size: 30px;
    text-align: center;
    font-weight: 700;
    line-height: 1.4em;
    margin: 30px 0;
}

.sec02_flex h3:after {
    content: "";
    display: block;
    margin: 20px auto 0;
    background: url("../images/top9.png") 50% 0/100% 100% no-repeat;
    width: 101px;
    height: 9px;
}

.sec02_flex p {
    font-size: 15px;
    padding: 0 5px;
    line-height: 2em;
}

.sec02_num {
    text-align: center;
}

.sec02_img {
    margin-top: 40px;
    text-align: center;
}

.sec02_img img {
    max-width: 100%;
    height: auto;
}

.sec02_under {
    background: url("../images/top13.png") 50% 0/1920px 43px repeat-x;
    width: 100%;
    height: 43px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.sec02_ab1 {
    position: absolute;
    top: -215px;
    right: 220px;
}

.sec02_ab2 {
    position: absolute;
    top: -70px;
    right: 80px;
}

/****************************/
.green_86b275 {
    color: #86b275;
}

.sec03_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sec03_left {
    width: 48%;
}

.sec03_width {
    max-width: 600px;
    margin-left: auto;
}

.sec03_title {
    color: #FFF;
    letter-spacing: 0.13em;
}

.sec03_title span {
    display: inline-block;
    background-color: #86b275;
    padding: 18px 20px;
    font-size: 35px;
    margin: 5px 0;
    border-radius: 5px;
}

.sec03_title span.last_span {
    padding-right: 0;
}

.line_height24 {
    line-height: 2.4em;
}

.sec03_right {
    width: 48%;
    max-width: 731px;
}

.sec03_right img {
    width: 100%;
    height: auto;
}

.sec03_ab {
    position: absolute;
    top: 140px;
    left: 0;
}

/*****************/
.sec04_cont {
    position: relative;
    background-color: #58a36f;
    padding: 350px 0 140px;
}

.sec04_on {
    background: url("../images/top18.png") 70% 0/1920px 100% no-repeat;
    width: 100%;
    height: 316px;
    position: absolute;
    top: 0;
    left: 0;
}

.line_height20 {
    line-height: 2em;
}

.sec04_item_name {
    color: #FFF;
    font-size: 33px;
    text-align: center;
    font-weight: 700;
    margin-top: 40px;
    line-height: 1.3em;
}

.more.sec04_more {
    width: 470px;
    font-weight: 900;
    font-size: 20px;
    line-height: 1.5em;
    margin-left: auto;
    margin-right: auto;
}

.more.sec04_more a {
    display: block;
    background-color: #eccc39;
    width: 100%;
    padding: 30px 0;
    text-align: center;
    position: relative;
    color: inherit;
    background: linear-gradient(45deg, transparent 15px, #eccc39 15px), linear-gradient(135deg, transparent 15px, #eccc39 15px), linear-gradient(225deg, transparent 15px, #eccc39 15px), linear-gradient(315deg, transparent 15px, #eccc39 15px);
    background-position: bottom left, top left, top right, bottom right;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

.more.sec04_more .arrow {
    right: 30px;
}

.more.sec04_more:hover .arrow {
    right: 25px;
}

.more.sec04_more .cart {
    margin: -5px 25px 0 -35px;
}

.sec04_ab {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 1600px;
    top: -40px;
}

.sec04_ab2 {
    position: absolute;
    right: 70px;
    top: 80px;
}

.sec04_under {
    background: url("../images/top20.png") 70% 0/1920px 100% no-repeat;
    width: 100%;
    height: 38px;
    position: absolute;
    bottom: -38px;
    left: 0;
}

/***************************/
.sec05_img img {
    width: 100%;
    height: 620px;
    object-fit: cover;
}

.sec05_flex {
    display: flex;
    justify-content: space-between;
}

.sec05_left {
    width: 300px;
    display: flex;
    align-items: center;
    padding: 60px 0;
    margin-top: -360px;
    background-color: #FFF;
    border-radius: 10px;
    writing-mode: vertical-rl;
}

.sec05_left h2 {
    font-size: 35px;
    letter-spacing: -0.3em;
    font-weight: 500;
}

.sec05_left p {
    font-size: 22px;
    letter-spacing: 0.15em;
    padding-top: 15px;
}

.sec05_right {
    width: calc(100% - 350px);
    max-width: 870px;
    padding-right: 55px;
}

.more.more_r {
    margin-left: auto;
}

/********/
.sec05_banner {
    padding-left: 180px;
}

.sec05_banner img {
    max-width: 100%;
    height: auto;
}

.sec05_ab {
    position: absolute;
    bottom: 30px;
    left: 0;
}

/*******************************/
.sec06_img img {
    max-height: 820px;
    min-height: 600px;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.sec06_flex {
    display: flex;
    justify-content: space-between;
}

.sec06_left {
    width: 50%;
    background-color: #f0ebea;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
}

.sec06_logo {
    text-align: center;
    margin-bottom: 20px;
}

.sec06_text {
    font-size: 18px;
}

.sec06_tel {
    line-height: 1.5em;
    font-size: 32px;
    display: flex;
    align-items: center;
    margin: 20px 0 0;
}

.sec06_tel img {
    margin-right: 15px;
}

.sec06_right {
    width: 50%;
    height: 800px;
}

.sec06_right iframe {
    width: 100%;
    height: 100%;
}

/******************/
.n_flex {
    display: flex;
    justify-content: space-between;
}

.n_left {
    width: 320px;
}

.n_right {
    width: calc(100% - 330px);
}

.news {
    border-top: 1px dashed #c3b9b4;
}

.news a {
    display: flex;
    justify-content: space-between;
    color: inherit;
    padding: 45px 5px;
    border-bottom: 1px dashed #c3b9b4;
}

.news p {
    line-height: 1.6em;
}

.n_cell1 {
    font-size: 15px;
    width: 140px;
    position: relative;
    top: 3px;
}

.n_cell2 {
    font-size: 18px;
    width: calc(100% - 140px);
}

/****************/
.f_minus {
    margin-top: -40px;
}

.cy_footer {
    position: relative;
}

.f_on {
    background: url("../images/top28.png") 50% 0/1920px 100% repeat-x;
    width: 100%;
    height: 38px;
    margin-top: -20px;
    position: relative;
    top: 2px;
}

.f_bg {
    background-color: #59493f;
    padding: 150px 0 70px;
    color: #FFF;
}

.f_flex {
    display: flex;
    justify-content: space-between;
}

.f_logo {
    width: 320px;
}

.f_right {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 410px);
    font-size: 17px;
}

.f_nav {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 320px);
    max-width: 500px;
}

.f_nav ul li:nth-child(n+2) {
    margin-top: 20px;
}

.f_nav a {
    color: #FFF;
    padding-left: 20px;
    position: relative;
    font-size: 16px;
}

.f_nav a:before {
    content: "";
    background-color: #FFF;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.f_more {
    width: 290px;
}

.f_more a {
    background-color: #4d6d50;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    position: relative;
    border-radius: 5px;
    padding: 20px 0;
}

.f_more a .cart {
    margin-right: 20px;
    margin-left: -25px;
}

.f_more .arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s ease;
}

.f_more a:hover .arrow {
    right: 15px;
}

.copy {
    text-align: center;
    font-size: 14px;
    margin-top: 130px;
}

.f_ab1 {
    position: absolute;
    width: 94%;
    max-width: 1760px;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 500;
}

.f_ab2 {
    position: absolute;
    right: 0;
    top: -210px;
    z-index: 500;
}

/*****************************************************************

    初めての方へ

*****************************************************************/
.main_in {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 740px;
    position: relative;
    text-align: center;
    padding-top: 120px;
}

.main_in h2,
.main_in p {
    position: relative;
    z-index: 500;
}

.main_in h2 {
    font-size: 65px;
    line-height: 1.3em;
    font-weight: 700;
}

.main_in p {
    font-size: 33px;
    line-height: 1.3em;
    margin-top: 5px;
    letter-spacing: 0.15em;
}

.main_left {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100;
}

.main_right {
    position: absolute;
    right: 0;
    top: 0;
}

/***************/
.g_icon {
    margin-bottom: 40px;
}

.g_title {
    font-size: 70px;
    line-height: 1.3em;
    margin-right: -40px;
}

.g_title span {
    font-size: 80px;
}

.g_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.g_right {
    width: 55%;
    padding-right: 20px;
}

.g_right p {
    line-height: 2.4em;
    font-size: 18px;
}

.g_right p:nth-child(n+2) {
    margin-top: 40px;
}

.g_width {
    max-width: 740px;
}

.g_left {
    width: 41%;
    position: relative;
    max-width: 780px;
}

.g_left .img100 {
    overflow: hidden;
}

.g_left .img100 img {
    object-fit: cover;
}

.g_left .img100:nth-of-type(1) {
    border-radius: 0 300px 20px 0;
}

.g_left .img100:nth-of-type(1) img {
    height: 750px;
}

.g_left .img100:nth-of-type(2) {
    margin-top: 30px;
    border-radius: 0 20px 20px 0;
}

.g_left .img100:nth-of-type(2) img {
    height: 530px;
}

.g_ab1 {
    position: absolute;
    bottom: -25px;
    right: -30px;
}

.g_ab2 {
    position: absolute;
    right: 128px;
    top: 220px;
}

/******************/
.g_sec02_top {
    background: url("../images/begin7.png") 50% 0/1920px 100% repeat-x;
    width: 100%;
    height: 16px;
}

.bg_6a4a37 {
    background-color: #6a4a37;
}

.g_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 55px;
    row-gap: 40px;
}

.g_grid h3 {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    margin-top: 20px;
}

.g_grid h3:after {
    content: "";
    background: url("../images/begin11.png") 50% 0/100% 100% no-repeat;
    width: 30px;
    height: 5px;
    display: block;
    margin: 10px auto 0;
}

.g_grid p {
    margin-top: 20px;
}

.g_sec02_ab1 {
    position: absolute;
    right: 100px;
    top: -180px;
}

.g_sec02_ab2 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: right;
    bottom: -80px;
    max-width: 1610px;
    width: 90%;
}

/*********************/
.title30 {
    font-size: 30px;
    font-weight: 500;
}

.g_sec03_ab1 {
    position: absolute;
    left: -250px;
    bottom: -40px;
}

.g_sec03_ab2 {
    position: absolute;
    right: -220px;
    bottom: -40px;
}

.g_border {
    background: url("../images/begin_bg.jpg") 50% 0/100% 100% no-repeat;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    padding: 65px 35px;
}

.sdgs_grid {
    display: flex;
    justify-content: space-between;
    max-width: 910px;
    margin: 0 auto;
}

.sdgs_grid>div {
    width: 19%;
}

.sdgs_grid img {
    max-width: 100%;
    height: auto;
}

/************/
.g_sec04_top {
    background: url("../images/begin23.png") 50% 0/1920px 100% repeat-x;
    height: 24px;
}

.bg_fbf9f3 {
    background-color: #fbf9f3;
}

.g_flex2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.g_flex2>div {
    max-width: 600px;
    width: 48%;
}

.g_flex2>div:nth-child(n+3) {
    margin-top: 70px;
}

.g_flex2>div p {
    margin-top: 20px;
}

.g_sec04_ab {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 1700px;
    top: -130px;
}

/*****************************************************************

    美味しさの秘密

*****************************************************************/
.se_flex {
    display: flex;
    justify-content: space-between;
}

.se_right {
    width: 54.5%;
    padding-top: 40px;
}

.se_right h3 {
    position: relative;
    padding-left: 70px;
    font-size: 35px;
    font-weight: 700;
    line-height: 1.3em;
}

.se_right h3 img {
    position: absolute;
    top: calc(50% - 20px);
    transform: translateY(-50%);
    left: -30px;
}

.se_width {
    width: 90%;
    max-width: 730px;
}

.se_left {
    width: 40%;
    max-width: 760px;
}

.se_left .img100 img {
    width: 100%;
    height: 500px;
    object-fit: cover;
}

.brs_right {
    overflow: hidden;
    border-radius: 0 20px 20px 0;
}

.brs_left {
    overflow: hidden;
    border-radius: 20px 0 0 20px;
}

.se_width_right {
    width: 90%;
    max-width: 730px;
    margin-left: auto;
}

.title27 {
    font-size: 27px;
    font-weight: 700;
}

.se_ab1 {
    position: absolute;
    right: 95px;
    top: -260px;
}

.se_ab2 {
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -955px;
}

.se_ab3 {
    position: absolute;
    right: 0;
    bottom: -200px;
}

.se_ab4 {
    position: absolute;
    left: 80px;
    top: 400px;
}

.se_width2 {
    max-width: 810px;
    margin-left: auto;
}

/*****************************************************************

    牛の家族ご紹介

*****************************************************************/
.gree_ab1 {
    position: absolute;
    left: -170px;
    top: 125px;
}

.gree_ab2 {
    position: absolute;
    right: -140px;
    bottom: 150px;
}

.gree_title {
    font-size: 42px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    display: inline;
    line-height: 2.2;
    background-image: linear-gradient(to right, #86b275 10px, transparent 10px);
    background-size: 17px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
    padding: 0 0 18px;
    font-weight: 700;
}

.gree_text p {
    line-height: 2.2em;
}

.gree_text p:nth-child(n+2) {
    margin-top: 30px;
}

.gree_ab3 {
    position: absolute;
    right: -45px;
    top: 55px;
    width: 27.5%;
}

.gree_ab3 img {
    width: 100%;
    height: auto;
}

.gree_name {
    font-size: 20px;
}

.gree_name span {
    font-size: 26px;
}

/****************/
.gree_box {
    background-color: #FFF;
    position: relative;
    padding: 100px 40px 70px 40px;
    border-radius: 10px;
}

.gree_width {
    max-width: 720px;
    margin: 0 auto;
}

.gree_width p {
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    display: inline;
    line-height: 3.2;
    background-image: linear-gradient(to right, #c3b9b4 3px, transparent 3px);
    background-size: 7px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    padding: 0 0 15px;
}

.gree_ab4 {
    position: absolute;
    left: 38px;
    top: 30px;
}

.gree_ab5 {
    position: absolute;
    right: 0;
    top: 0;
}

.gree_ab6 {
    position: absolute;
    right: -75px;
    bottom: -50px;
}

.gree_ab6 img {
    width: 190px;
    height: auto;
    display: inline-block;
    transform: rotate(6.5deg);
}

.gree_under {
    background: url("../images/greeting9.png") 50% 0/1920px 100% repeat-x;
    height: 16px;
    width: 100%;
}

.gree_ab7 {
    position: absolute;
    right: 80px;
    top: -60px;
}

.gree_minus {
    margin-top: -16px;
}

/* ------------------------------
   loopSlider
------------------------------ */
.loopSliderWrap {
    top: 0;
    left: 0;
    height: 430px;
    overflow: hidden;
    position: absolute;
}

.loopSlider {
    margin: 0 auto 0;
    width: 100%;
    height: 430px;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.loopSlider ul {
    height: 430px;
    float: left;
    display: flex;
    overflow: hidden;
}

.loopSlider ul li {
    height: 430px;
    float: left;
    display: inline;
    overflow: hidden;
    width: 540px;
}

.loopSlider ul li img {
    height: auto;
    width: 100%;
}

/* ------------------------------
   CLEARFIX ELEMENTS
------------------------------ */
.loopSliderWrap:after {
    content: "";
    display: none;
    clear: none;
}

/********************/
.gree_border {
    background: url("../images/greeting17.jpg") 50% 0/100% 100% no-repeat;
    padding: 80px 40px;
}

.history {
    max-width: 840px;
    margin: 0 auto;
}

.history>div {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding: 20px 0 20px 50px;
}

.history>div:before {
    content: "";
    background: url("../images/greeting15.png") left 0/100% 100% no-repeat;
    width: 25px;
    height: 25px;
    position: absolute;
    left: 0;
    top: 28px;
}

.history>div:after {
    content: "";
    background: url("../images/greeting16.png") left 0/4px 13px repeat-y;
    width: 4px;
    height: calc(100% - 20px);
    position: absolute;
    top: 40px;
    left: 10.8px;
}

.history>div:last-child:after {
    display: none;
}

.his_cell1 {
    width: 110px;
    font-size: 23px;
    position: relative;
    top: -2px;
}

.his_cell2 {
    width: calc(100% - 110px);
    font-size: 20px;
}

.gree_ab8 {
    position: absolute;
    left: -125px;
    bottom: -13px;
}

.gree_ab9 {
    position: absolute;
    right: -132px;
    bottom: 0;
}

/*****************************************************************

    商品紹介

*****************************************************************/
.pro_img1 {
    position: absolute;
    top: 0;
    left: 0;
    width: 33.3%;
}

.pro_img1 img {
    width: 100%;
    height: auto;
}

.pro_flex {
    position: relative;
    z-index: 500;
    padding-top: 110px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.pro_left {
    width: 38%;
}

.pro_width {
    padding-left: 160px;
    width: calc(100% + 150%);
    position: relative;
    z-index: 500;
    padding-bottom: 80px;
}

.pro_width h2 {
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    display: inline;
    line-height: 2.3;
    background: linear-gradient(90deg, #86b275, #86b275);
    color: #FFF;
    padding: 5px 25px 10px;
    font-size: 35px;
    border-radius: 50px;
    font-weight: 500;
}

.pro_right {
    width: 62%;
}

.pro_right img {
    border-radius: 20px;
    width: 100%;
    height: 730px;
    object-fit: cover;
}

/***/
.pro_flex2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pro_left2 {
    width: 69%;
}

.pro_right2 {
    max-width: 335px;
    width: 29%;
}

.pro_right2 img {
    min-height: 380px;
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.line_height22 {
    line-height: 2.2em;
}

/******/
.sec04_item_name.colo_black {
    color: #231815;
}

/*********/
.faq_box {
    background-image: linear-gradient(to right, #9d8c83 4px, transparent 3px);
    background-size: 7px 1px;
    background-repeat: repeat-x;
    background-position: left top;
}

.faq_box>div {
    padding: 55px 10px;
    background-image: linear-gradient(to right, #9d8c83 4px, transparent 3px);
    background-size: 7px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
}

.faq_table {
    display: flex;
    justify-content: space-between;
}

.q_cell1 {
    width: 60px;
}

.q_cell2,
.a_cell2 {
    width: calc(100% - 80px);
}

.q_cell2 {
    font-size: 25px;
    line-height: 1.6em;
}

.a_cell2 {
    font-size: 20px;
    line-height: 1.6em;
    padding-top: 13px;
}

.pro_ab1 {
    position: absolute;
    right: 120px;
    top: -75px;
    z-index: 500;
}

.pro_ab2 {
    position: absolute;
    left: 50%;
    top: 200px;
    z-index: 300;
    max-width: 1560px;
    width: 90%;
    transform: translateX(-50%);
}

/*****************************************************************

    ご推薦の声

*****************************************************************/

.rec_tab {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    grid-row-gap: 30px;
    column-gap: 30px;
}
.rec_tab > p {
    flex-grow: 2;
    min-width: 300px;
    text-align: center;
}
.rec_tab a {
    display: block;
    position: relative;
    background-color: #eccc39;
    color: inherit;
    width: 100%;
    font-size: 17px;
    padding: 18px;
    transition: 0.3s ease;
    border: 1px solid #eccc39;
}
.rec_tab a:hover {
    background-color: #FFF;
}
.rec_tab .arrow {
    background: url("../images/rec_arrow.png") 50% 0/100% 100% no-repeat;
    width: 17px;
    height: 12px;
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
}

.rec_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rec_left {
    width: 340px;
}

.rec_right {
    width: calc(100% - 390px);
}

.rec_title {
    background-image: linear-gradient(to right, #86b275 9px, transparent 9px);
    background-size: 17px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
    font-size: 35px;
    font-weight: 700;
    display: inline-block;
    padding-bottom: 10px;
    letter-spacing: 0.05em;
}

.rec_ab1 {
    position: absolute;
    left: -40px;
    bottom: -10px;
}

.rec_ab2 {
    position: absolute;
    right: -125px;
    bottom: -25px;
}

/**********/
.rec_img img {
    height: 610px;
    width: 100%;
    object-fit: cover;
    border-radius: 30px;
}

.rec_flex2 {
    display: flex;
    justify-content: space-between;
}

.rec_left2 {
    width: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 500;
    margin-top: -100px;
}

.rec_left2 h3 {
    writing-mode: vertical-rl;
    font-size: 35px;
}

.rec_left2 h3 span {
    letter-spacing: -0.35em;
    color: #FFF;
    display: inline-block;
    background-color: #86b275;
    padding: 20px 0 25px;
    border-radius: 50px;
    margin: 0 5px;
    font-weight: 500;
}

.rec_right2 {
    width: calc(100% - 330px);
    padding-top: 60px;
}

.rec01_absolute {
    position: absolute;
    top: 1212px;
    right: 100px;
}
/******************/

.rec02_bg {
    background: url("../images/voice_bg.png") 50% 0/1920px 100% no-repeat;
    width: 100%;
    height: 40px;
    position: relative;
    top: 2px;
}
.rec02_absolute {
    position: absolute;
    top: 430px;
    right: 0;
}
.rec02_absolute2 {
    position: absolute;
    top: 1340px;
    right: 100px;
}
.rec02_absolute3 {
    position: absolute;
    bottom: 1100px;
    left: 160px;
}
.rec02_absolute4 {
    position: absolute;
    right: -15px;
    bottom: -30px;
}


/*****************************************************************

    牧場概要

*****************************************************************/
.over_ab {
    position: absolute;
    right: 30px;
    bottom: -35px;
}

.over_under {
    background: url("../images/overview3.png") 50% 0/1920px 100% no-repeat;
    width: 100%;
    height: 54px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.over_table {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.over_table>div {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 45px 20px;
    position: relative;
    border-bottom: 1px solid #a6937c;
    font-size: 18px;
}

.o_cell1 {
    width: 280px;
}

.o_cell2 {
    width: calc(100% - 280px);
}

/*********************/
.over_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 70px;
    row-gap: 60px;
}

.over_grid p {
    text-align: center;
    margin-top: 10px;
    font-size: 27px;
}

.over_grid>div {
    position: relative;
}

.over_ab2 {
    position: absolute;
    top: -10px;
    left: -65px;
}

.over_ab3 {
    position: absolute;
    right: -165px;
    bottom: 70px;
}

/***************/
.map {
    position: relative;
}

.map iframe {
    width: 100%;
    height: 630px;
}

.map_on {
    background: url("../images/overview15.png") 50% 0/1920px 100% no-repeat;
    height: 22px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 500;
}

.map_under {
    background: url("../images/overview16.png") 50% 0/1920px 100% no-repeat;
    height: 21px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}

.over_ab4 {
    position: absolute;
    right: 80px;
    bottom: -45px;
}

.over_ab5 {
    position: absolute;
    width: 90%;
    max-width: 1640px;
    left: 50%;
    transform: translateX(-50%);
    top: 280px;
}

/***************/
.over_access {
    position: absolute;
    top: -40px;
    left: 0;
}

.plr40 {
    padding-left: 40px;
    padding-right: 40px;
}

.img1200 img {
    width: 100%;
    height: auto;
}

.over_bg {
    background-color: #fbf9f3;
    border-radius: 20px;
    padding: 60px 30px;
}

.over_grid2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 30px;
    row-gap: 30px;
    max-width: 770px;
    margin-left: auto;
    margin-right: auto;
}

.over_grid2>p {
    background-color: #FFF;
    text-align: center;
    font-size: 23px;
    line-height: 1.5em;
    border-radius: 10px;
    padding: 30px 10px;
    border-radius: 10px;
}

.pc_none {
    display: none;
}

.sp_none {
    display: block;
}

/*****************************************************************

    定期購入のお申し込み

*****************************************************************/
.contact_border {
    background: url("../images/sub4.jpg") 50% 0/100% 100% no-repeat;
    padding: 60px 20px;
    text-align: center;
}

.contact_title {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    font-size: 22px;
    margin: 0 auto;
    font-weight: 500;
}

.contact_title:before,
.contact_title:after {
    content: "";
    background: url("../images/sub3.jpg") left 0/100% 100% no-repeat;
    width: 13px;
    height: 30px;
}

.contact_title:before {
    margin-right: 20px;
}

.contact_title:after {
    margin-left: 20px;
    transform: scale(-1, 1);
}

.contact_tel {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    letter-spacing: 0.03em;
    line-height: 1.5em;
}

.contact_tel img {
    margin-right: 20px;
    position: relative;
    top: 1px;
}

/********************/
.c_table {
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
}

.c_table>div {
    display: flex;
    justify-content: space-between;
    margin: 25px 0;
}

.c_cell1 {
    position: relative;
    width: 230px;
    font-size: 17px;
    font-weight: 500;
    padding-top: 10px;
}

.c_cell1 span {
    position: absolute;
    right: 0;
    top: 17px;
    font-size: 13px;
    background-color: #eccc39;
    display: inline-block;
    border-radius: 50px;
    padding: 2px 5px 0;
    line-height: 1.3em;
}

.c_cell2 {
    width: calc(100% - 250px);
}

.size1,
.size2,
.size3,
.area {
    background-color: #f0ebea;
    padding: 10px 15px;
    border-radius: 5px;
    border: 0;
    width: 100%;
}

.size1,
.size2,
.size3 {
    height: 55px;
}

.size1 {
    max-width: 400px;
}

.size3 {
    max-width: 300px;
}

.area {
    height: 180px;
}

.pos_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 255px;
}

.pos_l {
    width: 25px;
}

.pos_r {
    width: calc(100% - 25px);
}

.pri_p {
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
    font-size: 17px;
    letter-spacing: 0.1em;
}

.pri_p a {
    color: #86b275;
    border-bottom: 1px solid #86b275;
    padding-bottom: 5px;
}

.submit {
    width: 330px;
    font-weight: 900;
    font-size: 17px;
    line-height: 1.5em;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    background-color: #eccc39;
    text-align: center;
    position: relative;
    color: inherit;
    z-index: 500;
    background: linear-gradient(45deg, transparent 13px, #eccc39 13px), linear-gradient(135deg, transparent 13px, #eccc39 13px), linear-gradient(225deg, transparent 13px, #eccc39 13px), linear-gradient(315deg, transparent 13px, #eccc39 13px);
    background-position: bottom left, top left, top right, bottom right;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

.submit:after {
    content: "";
    background-color: #eccc39;
    height: 5px;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.submit input {
    background: none;
    border: 0;
    display: block;
    padding: 25px 0;
    width: 100%;
    font-size: 17px;
    letter-spacing: 0.1em;
}

.submit .arrow {
    position: absolute;
    right: 35px;
    top: calc(50% - 2px);
    transform: translateY(-50%);
    transition: 0.3s ease;
    z-index: 100;
}

.indent_p {
    text-indent: -1.1em;
    padding-left: 1.1em;
}
.indent_p2 {
    text-indent: -1em;
    padding-left: 1em;
}

/*****************************************************************

    プライバシーポリシー

*****************************************************************/
.title_circle {
    font-size: 30px;
    position: relative;
    padding-left: 30px;
    font-weight: 500;
}

.title_circle:before {
    content: "";
    background-color: #eccc39;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    position: absolute;
    top: 23px;
    left: 0;
}

.indent_list p {
    text-indent: -1.1em;
    padding-left: 1.1em;
}
.link_text{color: #231815;}
.link_text:hover{
	color: #231815;
	text-decoration: none;
}
.break-word{overflow-wrap: break-word;}
/*****************************************************************

    ブログ

*****************************************************************/
/*Pagenation*/
.pagenation {
    text-align: center;
    margin: 40px auto 0;
    position: relative;
    font-weight: bold;
}

.pagenation:after,
.pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

.pagenation ul {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pagenation li.active {
    color: #0a1e52;
    position: relative;
    background-color: #eccc39;
}

.pagenation li {
    font-size: 19px;
    margin: 0 10px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #f0ebea;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagenation li a {
    color: inherit;
    width: 100%;
    height: 100%;
    transition: 0.5s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.pagenation li:not(.prev):not(.next) a:hover {
    background-color: #eccc39;
}

.pagenation .prev,
.pagenation .next {
    font-size: 22px;
    line-height: 1.3em;
    width: auto;
    height: auto;
    background-color: rgba(0, 0, 0, 0);
}

.pagenation .prev img,
.pagenation .next img {
    position: relative;
    top: -2px;
}

.pagenation .prev {
    left: 0;
}

.pagenation .prev img {
    margin-right: 10px;
    display: inline-block;
    transform: scale(-1, 1);
}

.pagenation .next {
    right: 0;
}

.pagenation .next img {
    margin-left: 10px;
}

/*****************************************************************

    定期購入

*****************************************************************/
.cart_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
    row-gap: 20px;
}

.cart_box {
    width: 100%;
    background-color: #4d6d50;
    border-radius: 5px;
    border: 2px solid #4d6d50;
    text-align: left;
    position: relative;
}

.cart_box:hover .subsc_arrow {
    right: 10px;
}

.cart_icon {
    position: absolute;
    top: calc(50% - 3px);
    left: 35px;
    transform: translateY(-50%);
}

.cart_icon img {
    width: 25px;
    height: auto;
}

.cart_text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    padding: 0 50px 0 80px;
    font-size: 22px;
    color: #FFF;
}

.cart_text .yellow_eccc39 {
    font-size: 24px;
}

.cart_text .big {
    font-size: 38px;
    margin: 0 3px;
}

.subsc_arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 500;
    transition: 0.5s ease;
}

.cart_submit {
    text-align: left;
    display: block;
    width: 100%;
    padding: 30px 50px 30px 80px;
    border: 0;
    background: none;
    color: #FFF;
    font-size: 20px;
    position: relative;
    z-index: 500;
    color: rgba(0, 0, 0, 0);
}

/**************/
.subsc_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
    row-gap: 20px;
}

.subsc_grid a {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 180px;
    background-color: #4d6d50;
    border: 2px solid #4d6d50;
    border-radius: 10px;
    color: #FFF;
    padding: 30px 0;
    text-align: center;
    font-size: 20px;
    transition: 0.5s ease;
}

.subsc_grid a:hover {
    background-color: #FFF;
    color: #86b275;
}

.subsc_grid a:hover .off {
    opacity: 0;
}

.subsc_grid a:hover .on {
    opacity: 1;
}

.subsc_grid a.active {
    background-color: #FFF;
    color: #4d6d50;
}

.subsc_grid a.active .off {
    opacity: 0;
}

.subsc_grid a.active .on {
    opacity: 1;
}

.subsc_grid p {
    line-height: 1.6em;
}

.subsc_grid .yellow_eccc39 {
    font-size: 26px;
}

.subsc_grid .yellow_eccc39 .big {
    font-size: 40px;
    margin: 0 5px;
}

.sub_icon {
    margin-bottom: 15px;
    position: relative;
}

.sub_icon img {
    width: 45px;
    height: auto;
    transition: 0.5s ease;
}

.sub_icon .on {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
}

.subsc_posi {
    position: relative;
    width: 100%;
    max-width: 430px;
    margin-left: auto;
    margin-right: auto;
}

.subsc_posi:hover .subsc_arrow {
    right: 20px;
}

.subsc_posi:before {
    content: "";
    background-color: #eccc39;
    width: 5px;
    height: 100%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    left: 50%;
}

.subsc_posi:after {
    content: "";
    background-color: #eccc39;
    width: 100%;
    height: 5px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.subsc_submit {
    display: block;
    background-color: #eccc39;
    color: #FFF;
    border: 0;
    text-align: center;
    width: 100%;
    margin: 30px auto 0;
    padding: 25px;
    font-size: 22px;
    position: relative;
    color: inherit;
    z-index: 400;
    background: linear-gradient(45deg, transparent 13px, #eccc39 13px), linear-gradient(135deg, transparent 13px, #eccc39 13px), linear-gradient(225deg, transparent 13px, #eccc39 13px), linear-gradient(315deg, transparent 13px, #eccc39 13px);
    background-position: bottom left, top left, top right, bottom right;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

.subsc_submit:after {
    content: "";
    background-color: #eccc39;
    height: 100%;
    width: 5px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.sub_padding {
    padding: 120px 0 0;
}

.yellow_eccc39 {
    color: #eccc39;
}

.subsc_title {
    font-size: 32px;
    font-weight: bold;
}

.subsc_title .yellow_eccc39 {
    font-size: 40px;
}

.subsc_title .yellow_eccc39 .big {
    font-size: 54px;
    margin: 0 5px;
}

/* PC用
------------------------------------------------------------*/
@media only screen and (max-width: 1400px) {

    /*****************************************************************

    美味しさの秘密

*****************************************************************/
    .se_ab1 {
        position: absolute;
        right: 95px;
        top: -110px;
    }

    .se_ab1 img {
        width: 250px;
        height: auto;
    }
}

@media only screen and (max-width: 1300px) {

    /****************/
    .cy_footer {
        position: relative;
    }

    .f_on {
        background: url("../images/top28.png") 50% 0/1920px 100% repeat-x;
        width: 100%;
    }

    .f_bg {
        background-color: #59493f;
        padding: 150px 0 70px;
        color: #FFF;
    }

    .f_flex {
        display: block;
    }

    .f_logo {
        width: 100%;
    }

    .f_right {
        display: flex;
        justify-content: space-between;
        width: 100%;
        font-size: 17px;
        margin-top: 70px;
    }
}

@media only screen and (max-width: 1024px) {
    .padding100 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding110 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding120 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding130 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding140 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding150 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding160 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding170 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding180 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding190 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding200 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding210 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding220 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding230 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding240 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding250 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding260 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding270 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding280 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding290 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .padding300 {
        padding-top: 120px;
        padding-bottom: 120px;
    }

    .margin100 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin110 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin120 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin130 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin140 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin150 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin160 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin170 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin180 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin190 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin200 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin210 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin220 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin230 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin240 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin250 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin260 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin270 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin280 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin290 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .margin300 {
        margin-top: 120px;
        margin-bottom: 120px;
    }

    .pt-120 {
        padding-top: 120px;
    }

    .pt-130 {
        padding-top: 120px;
    }

    .pt-140 {
        padding-top: 120px;
    }

    .pt-150 {
        padding-top: 120px;
    }

    .pt-160 {
        padding-top: 120px;
    }

    .pt-170 {
        padding-top: 120px;
    }

    .pt-180 {
        padding-top: 120px;
    }

    .pt-190 {
        padding-top: 120px;
    }

    .pt-200 {
        padding-top: 120px;
    }

    .pt-210 {
        padding-top: 120px;
    }

    .pt-220 {
        padding-top: 120px;
    }

    .pt-230 {
        padding-top: 120px;
    }

    .pt-240 {
        padding-top: 120px;
    }

    .pt-250 {
        padding-top: 120px;
    }

    .pt-260 {
        padding-top: 120px;
    }

    .pt-270 {
        padding-top: 120px;
    }

    .pt-280 {
        padding-top: 120px;
    }

    .pt-290 {
        padding-top: 120px;
    }

    .pt-300 {
        padding-top: 120px;
    }

    .pb-120 {
        padding-bottom: 120px;
    }

    .pb-130 {
        padding-bottom: 120px;
    }

    .pb-140 {
        padding-bottom: 120px;
    }

    .pb-150 {
        padding-bottom: 120px;
    }

    .pb-160 {
        padding-bottom: 120px;
    }

    .pb-170 {
        padding-bottom: 120px;
    }

    .pb-180 {
        padding-bottom: 120px;
    }

    .pb-190 {
        padding-bottom: 120px;
    }

    .pb-200 {
        padding-bottom: 120px;
    }

    .pb-210 {
        padding-bottom: 120px;
    }

    .pb-220 {
        padding-bottom: 120px;
    }

    .pb-230 {
        padding-bottom: 120px;
    }

    .pb-240 {
        padding-bottom: 120px;
    }

    .pb-250 {
        padding-bottom: 120px;
    }

    .pb-260 {
        padding-bottom: 120px;
    }

    .pb-270 {
        padding-bottom: 120px;
    }

    .pb-280 {
        padding-bottom: 120px;
    }

    .pb-290 {
        padding-bottom: 120px;
    }

    .pb-300 {
        padding-bottom: 120px;
    }

    .mt-120 {
        margin-top: 120px;
    }

    .mt-130 {
        margin-top: 120px;
    }

    .mt-140 {
        margin-top: 120px;
    }

    .mt-150 {
        margin-top: 120px;
    }

    .mt-160 {
        margin-top: 120px;
    }

    .mt-170 {
        margin-top: 120px;
    }

    .mt-180 {
        margin-top: 120px;
    }

    .mt-190 {
        margin-top: 120px;
    }

    .mt-200 {
        margin-top: 120px;
    }

    .mt-210 {
        margin-top: 120px;
    }

    .mt-220 {
        margin-top: 120px;
    }

    .mt-230 {
        margin-top: 120px;
    }

    .mt-240 {
        margin-top: 120px;
    }

    .mt-250 {
        margin-top: 120px;
    }

    .mt-260 {
        margin-top: 120px;
    }

    .mt-270 {
        margin-top: 120px;
    }

    .mt-280 {
        margin-top: 120px;
    }

    .mt-290 {
        margin-top: 120px;
    }

    .mt-300 {
        margin-top: 120px;
    }

    .mb-120 {
        margin-bottom: 120px;
    }

    .mb-130 {
        margin-bottom: 120px;
    }

    .mb-140 {
        margin-bottom: 120px;
    }

    .mb-150 {
        margin-bottom: 120px;
    }

    .mb-160 {
        margin-bottom: 120px;
    }

    .mb-170 {
        margin-bottom: 120px;
    }

    .mb-180 {
        margin-bottom: 120px;
    }

    .mb-190 {
        margin-bottom: 120px;
    }

    .mb-200 {
        margin-bottom: 120px;
    }

    .mb-210 {
        margin-bottom: 120px;
    }

    .mb-220 {
        margin-bottom: 120px;
    }

    .mb-230 {
        margin-bottom: 120px;
    }

    .mb-240 {
        margin-bottom: 120px;
    }

    .mb-250 {
        margin-bottom: 120px;
    }

    .mb-260 {
        margin-bottom: 120px;
    }

    .mb-270 {
        margin-bottom: 120px;
    }

    .mb-280 {
        margin-bottom: 120px;
    }

    .mb-290 {
        margin-bottom: 120px;
    }

    .mb-300 {
        margin-bottom: 120px;
    }

    /********/
    .sec01_title {
        text-align: center;
        font-size: 62px;
        line-height: 1.2em;
        font-feature-settings: "palt";
    }

    .sec01_title span {
        font-size: 70px;
    }

    /***************************/
    .sec05_img img {
        height: 400px;
    }

    .sec05_left {
        margin-top: -100px;
    }

    .sec05_ab {
        position: absolute;
        bottom: 30px;
        left: -40px;
    }

    /******************/
    .n_flex {
        display: block;
    }

    .n_left {
        width: 100%;
    }

    .n_right {
        width: 100%;
        margin-top: 40px;
    }

    .f_ab1 {
        top: -60px;
    }

    .f_ab1 img {
        width: 150px;
        height: auto;
    }

    .f_ab2 {
        top: -120px;
    }

    .f_ab2 img {
        width: 250px;
        height: auto;
    }

    /*****************************************************************

    初めての方へ

*****************************************************************/
    .main_left {
        top: auto;
        bottom: 0;
    }

    .main_left img {
        width: 450px;
        height: auto;
    }

    .main_right {
        top: auto;
        bottom: 0;
    }

    .main_right img {
        width: 450px;
        height: auto;
    }

    /***************/
    .g_sec02_ab1 {
        position: absolute;
        right: 40px;
        top: -130px;
    }

    .g_sec02_ab1 img {
        width: 220px;
        height: auto;
    }

    .g_sec02_ab2 {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        text-align: right;
        bottom: -80px;
        max-width: 1610px;
        width: 90%;
    }

    /*****************************************************************

    牛の家族ご紹介

*****************************************************************/
    .gree_title {
        font-size: 30px;
    }

    .gree_ab3 {
        position: absolute;
        right: -45px;
        top: -40px;
        width: 27.5%;
    }

    .gree_ab3 img {
        width: 100%;
        height: auto;
    }

    .gree_ab9 {
        display: none;
        position: absolute;
        right: -132px;
        bottom: 0;
    }

    /*****************************************************************

    商品紹介

*****************************************************************/
    .pro_width {
        padding-left: 0;
    }

    /*****************************************************************

    定期購入

*****************************************************************/
    .cart_list {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        column-gap: 0;
        row-gap: 10px;
    }
}

@media only screen and (max-width: 740px) {
    .flex_30 {
        width: 100%;
    }

    .flex_31 {
        width: 100%;
    }

    .flex_32 {
        width: 100%;
    }

    .flex_33 {
        width: 100%;
    }

    .flex_34 {
        width: 100%;
    }

    .flex_35 {
        width: 100%;
    }

    .flex_36 {
        width: 100%;
    }

    .flex_37 {
        width: 100%;
    }

    .flex_38 {
        width: 100%;
    }

    .flex_39 {
        width: 100%;
    }

    .flex_40 {
        width: 100%;
    }

    .flex_41 {
        width: 100%;
    }

    .flex_42 {
        width: 100%;
    }

    .flex_43 {
        width: 100%;
    }

    .flex_44 {
        width: 100%;
    }

    .flex_45 {
        width: 100%;
    }

    .flex_46 {
        width: 100%;
    }

    .flex_47 {
        width: 100%;
    }

    .flex_48 {
        width: 100%;
    }

    .flex_49 {
        width: 100%;
    }

    .flex_50 {
        width: 100%;
    }

    .flex_51 {
        width: 100%;
    }

    .flex_52 {
        width: 100%;
    }

    .flex_53 {
        width: 100%;
    }

    .flex_54 {
        width: 100%;
    }

    .flex_55 {
        width: 100%;
    }

    .flex_56 {
        width: 100%;
    }

    .flex_57 {
        width: 100%;
    }

    .flex_58 {
        width: 100%;
    }

    .flex_59 {
        width: 100%;
    }

    .flex_60 {
        width: 100%;
    }

    .flex_61 {
        width: 100%;
    }

    .flex_62 {
        width: 100%;
    }

    .flex_63 {
        width: 100%;
    }

    .flex_64 {
        width: 100%;
    }

    .flex_65 {
        width: 100%;
    }

    .flex_66 {
        width: 100%;
    }

    .flex_67 {
        width: 100%;
    }

    .flex_68 {
        width: 100%;
    }

    .flex_69 {
        width: 100%;
    }

    .flex_70 {
        width: 100%;
    }

    .padding100 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding110 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding120 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding130 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding140 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding150 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding160 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding170 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding180 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding190 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding200 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding210 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding220 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding230 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding240 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding250 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding260 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding270 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding280 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding290 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .padding300 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .margin100 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin110 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin120 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin130 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin140 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin150 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin160 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin170 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin180 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin190 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin200 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin210 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin220 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin230 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin240 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin250 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin260 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin270 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin280 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin290 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .margin300 {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    .pt-110 {
        padding-top: 80px;
    }

    .pt-120 {
        padding-top: 80px;
    }

    .pt-130 {
        padding-top: 80px;
    }

    .pt-140 {
        padding-top: 80px;
    }

    .pt-150 {
        padding-top: 80px;
    }

    .pt-160 {
        padding-top: 80px;
    }

    .pt-170 {
        padding-top: 80px;
    }

    .pt-180 {
        padding-top: 80px;
    }

    .pt-190 {
        padding-top: 80px;
    }

    .pt-200 {
        padding-top: 80px;
    }

    .pt-210 {
        padding-top: 80px;
    }

    .pt-220 {
        padding-top: 80px;
    }

    .pt-230 {
        padding-top: 80px;
    }

    .pt-240 {
        padding-top: 80px;
    }

    .pt-250 {
        padding-top: 80px;
    }

    .pt-260 {
        padding-top: 80px;
    }

    .pt-270 {
        padding-top: 80px;
    }

    .pt-280 {
        padding-top: 80px;
    }

    .pt-290 {
        padding-top: 80px;
    }

    .pt-300 {
        padding-top: 80px;
    }

    .pb-110 {
        padding-bottom: 80px;
    }

    .pb-120 {
        padding-bottom: 80px;
    }

    .pb-130 {
        padding-bottom: 80px;
    }

    .pb-140 {
        padding-bottom: 80px;
    }

    .pb-150 {
        padding-bottom: 80px;
    }

    .pb-160 {
        padding-bottom: 80px;
    }

    .pb-170 {
        padding-bottom: 80px;
    }

    .pb-180 {
        padding-bottom: 80px;
    }

    .pb-190 {
        padding-bottom: 80px;
    }

    .pb-200 {
        padding-bottom: 80px;
    }

    .pb-210 {
        padding-bottom: 80px;
    }

    .pb-220 {
        padding-bottom: 80px;
    }

    .pb-230 {
        padding-bottom: 80px;
    }

    .pb-240 {
        padding-bottom: 80px;
    }

    .pb-250 {
        padding-bottom: 80px;
    }

    .pb-260 {
        padding-bottom: 80px;
    }

    .pb-270 {
        padding-bottom: 80px;
    }

    .pb-280 {
        padding-bottom: 80px;
    }

    .pb-290 {
        padding-bottom: 80px;
    }

    .mt-110 {
        margin-top: 80px;
    }

    .mt-120 {
        margin-top: 80px;
    }

    .mt-130 {
        margin-top: 80px;
    }

    .mt-140 {
        margin-top: 80px;
    }

    .mt-150 {
        margin-top: 80px;
    }

    .mt-160 {
        margin-top: 80px;
    }

    .mt-170 {
        margin-top: 80px;
    }

    .mt-180 {
        margin-top: 80px;
    }

    .mt-190 {
        margin-top: 80px;
    }

    .mt-200 {
        margin-top: 80px;
    }

    .mt-210 {
        margin-top: 80px;
    }

    .mt-220 {
        margin-top: 80px;
    }

    .mt-230 {
        margin-top: 80px;
    }

    .mt-240 {
        margin-top: 80px;
    }

    .mt-250 {
        margin-top: 80px;
    }

    .mt-260 {
        margin-top: 80px;
    }

    .mt-270 {
        margin-top: 80px;
    }

    .mt-280 {
        margin-top: 80px;
    }

    .mt-290 {
        margin-top: 80px;
    }

    .mt-300 {
        margin-top: 80px;
    }

    .mb-110 {
        margin-bottom: 80px;
    }

    .mb-120 {
        margin-bottom: 80px;
    }

    .mb-130 {
        margin-bottom: 80px;
    }

    .mb-140 {
        margin-bottom: 80px;
    }

    .mb-150 {
        margin-bottom: 80px;
    }

    .mb-160 {
        margin-bottom: 80px;
    }

    .mb-170 {
        margin-bottom: 80px;
    }

    .mb-180 {
        margin-bottom: 80px;
    }

    .mb-190 {
        margin-bottom: 80px;
    }

    .mb-200 {
        margin-bottom: 80px;
    }

    .mb-210 {
        margin-bottom: 80px;
    }

    .mb-220 {
        margin-bottom: 80px;
    }

    .mb-230 {
        margin-bottom: 80px;
    }

    .mb-240 {
        margin-bottom: 80px;
    }

    .mb-250 {
        margin-bottom: 80px;
    }

    .mb-260 {
        margin-bottom: 80px;
    }

    .mb-270 {
        margin-bottom: 80px;
    }

    .mb-280 {
        margin-bottom: 80px;
    }

    .mb-290 {
        margin-bottom: 80px;
    }

    .mb-300 {
        margin-bottom: 80px;
    }

    /************************/
    .logo {
        width: 90%;
        top: 30px;
    }

    .logo img {
        width: 260px;
        height: auto;
    }

    /*****************/
    .top_main {
        padding-top: 100px;
        height: auto;
        position: relative;
        overflow: hidden;
    }

    .main_img {
        height: 100%;
        width: calc(100% + 60px);
        margin-left: -30px;
    }

    .main_img img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .top_title {
        position: absolute;
        bottom: 20px;
        top: auto;
        padding: 0 20px 0 20px;
        z-index: 300;
    }

    .top_title img {
        max-width: 330px;
        width: 100%;
        height: auto;
    }

    .scroll {
        display: none;
        position: absolute;
        left: 60px;
        bottom: 0;
        z-index: 500;
    }

    .scroll a {
        width: 190px;
        height: 192px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .sc_circle {
        position: absolute;
        top: 0;
        left: 0;
        animation: scroll 10s linear;
    }

    .sc_circle img {
        width: 100px;
        height: 100%;
    }

    /********/
    .sec01_cont {
        margin-top: 0;
    }

    .sec01_title {
        text-align: center;
        font-size: 42px;
        line-height: 1.5em;
        font-feature-settings: "palt";
        padding-left: 25px;
    }

    .sec01_title span {
        font-size: 50px;
    }

    .sec01_eng {
        font-size: 20px;
        margin-top: 20px;
    }

    .sec01_ab1 {
        display: none;
        position: absolute;
        right: 0;
        bottom: 0;
    }

    .sec01_text p {
        font-weight: 900;
        font-size: 20px;
        text-align: center;
        line-height: 2.4em;
    }

    .sec01_text p:nth-child(n+2) {
        margin-top: 30px;
    }

    .flex740 {
        display: flex;
        justify-content: space-between;
        margin-top: 50px;
    }

    .flex740>div {
        width: 49%;
    }

    .sec01_ab2 {
        position: static;
        bottom: 0;
        left: 0;
        width: 49%;
        max-width: 49%;
    }

    .sec01_ab2 img {
        width: 100%;
        height: auto;
    }

    .sec01_ab3 {
        position: static;
        top: 0;
        right: 0;
        width: 49%;
        max-width: 49%;
    }

    .sec01_ab3 img {
        width: 100%;
        height: auto;
    }

    .sec01_bg_left {
        position: absolute;
        left: 0;
        top: 80px;
    }

    .sec01_bg_left img {
        width: 130px;
        height: auto;
    }

    .sec01_bg_right {
        position: absolute;
        right: 0;
        top: 80px;
    }

    .sec01_bg_right img {
        width: 150px;
        height: auto;
    }

    .more a {
        font-size: 18px;
    }

    /******************/
    .sec02_cont {
        background-color: #6a4a37;
    }

    .sec02_on {
        background: url("../images/top8.png") 50% 0/800px 15px repeat-x;
        width: 100%;
        height: 15px;
        position: absolute;
        top: 0;
        left: 0;
        margin-top: -2px;
    }

    .title52 {
        font-size: 38px;
    }

    .center.minita-l {
        text-align: left;
    }

    .eng23 {
        font-size: 18px;
        letter-spacing: 0.12em;
    }

    .sec02_flex {
        display: block;
    }

    .sec02_flex>div {
        width: 100%;
        max-width: 100%;
        display: block;
    }

    .sec02_flex>div:nth-child(n+2) {
        margin-top: 60px;
    }

    .sec02_flex h3 {
        font-size: 26px;
        line-height: 1.4em;
        margin: 30px 0;
    }

    .sec02_flex h3:after {
        content: "";
        display: block;
        margin: 20px auto 0;
        background: url("../images/top9.png") 50% 0/100% 100% no-repeat;
        width: 101px;
        height: 9px;
    }

    .sec02_flex p {
        font-size: 17px;
        padding: 0 5px;
        line-height: 2em;
    }

    .sec02_num {
        text-align: center;
    }

    .sec02_num img {
        height: 50px;
        width: auto;
    }

    .sec02_img {
        margin-top: 30px;
        text-align: center;
    }

    .sec02_img img {
        max-width: 100%;
        height: auto;
    }

    .sec02_under {
        background: url("../images/top13.png") 50% 0/893px 20px repeat-x;
        height: 20px;
    }

    .sec02_ab1 {
        position: absolute;
        top: -80px;
        right: 100px;
    }

    .sec02_ab1 img {
        width: 100px;
        height: auto;
    }

    .sec02_ab2 {
        position: absolute;
        top: -20px;
        right: 20px;
    }

    .sec02_ab2 img {
        width: 130px;
        height: auto;
    }

    /****************************/
    .sec03_flex {
        display: block;
    }

    .sec03_left {
        width: 100%;
    }

    .sec03_width {
        max-width: 600px;
        margin-left: auto;
    }

    .sec03_title {
        color: #FFF;
        letter-spacing: 0.13em;
        text-align: center;
    }

    .sec03_title span {
        padding: 10px 15px;
        font-size: 28px;
        margin: 5px 0;
    }

    .line_height24 {
        line-height: 2.4em;
    }

    .sec03_right {
        width: 100%;
        max-width: 731px;
        margin: 40px auto 0;
    }

    .sec03_right img {
        width: 100%;
        height: auto;
    }

    .sec03_ab {
        position: absolute;
        top: 20px;
        left: 0;
    }

    .sec03_ab img {
        width: 250px;
        height: auto;
    }

    /*****************/
    .sec04_cont {
        position: relative;
        background-color: #58a36f;
        padding: 220px 0 80px;
    }

    .sec04_on {
        background: url("../images/top18.png") 70% 0/1215px 100% no-repeat;
        width: 100%;
        height: 200px;
        position: absolute;
        top: 0;
        left: 0;
        margin-top: -2px;
    }

    .sec04_item_name {
        font-size: 23px;
        margin-top: 40px;
        line-height: 1.5em;
    }

    .more.sec04_more {
        width: 400px;
        font-weight: 900;
        font-size: 20px;
    }

    .more.sec04_more .arrow {
        right: 20px;
    }

    .more.sec04_more .cart {
        margin: -8px 15px 0 -35px;
    }

    .sec04_ab {
        top: -40px;
    }

    .sec04_ab img {
        width: 150px;
        height: auto;
    }

    .sec04_ab2 {
        position: absolute;
        right: 40px;
        top: 80px;
    }

    .sec04_ab2 img {
        width: 150px;
        height: auto;
    }

    .sec04_under {
        background: url("../images/top20.png") 70% 0/1010px 100% no-repeat;
        height: 20px;
        bottom: -20px;
        left: 0;
    }

    /***************************/
    .sec05_img img {
        height: 400px;
    }

    .sec05_flex {
        display: block;
    }

    .sec05_left {
        width: 100%;
        display: flex;
        align-items: center;
        padding: 0;
        margin-top: 0;
        background-color: #FFF;
        border-radius: 10px;
        writing-mode: horizontal-tb;
    }

    .sec05_left h2 {
        font-size: 30px;
        letter-spacing: 0.05em;
        font-weight: 500;
    }

    .sec05_left p {
        font-size: 18px;
        padding-top: 10px;
    }

    .sec05_right {
        width: 100%;
        max-width: 870px;
        padding-right: 0;
        margin-top: 30px;
    }

    .more.more_r {
        margin-left: auto;
        margin-right: auto;
    }

    /********/
    .sec05_banner {
        padding-left: 0;
        padding-top: 30px;
    }

    .sec05_banner img {
        max-width: 100%;
        height: auto;
    }

    .sec05_ab {
        position: absolute;
        bottom: auto;
        top: -40px;
        left: auto;
        right: 20px;
    }

    .sec05_ab img {
        width: 150px;
        height: auto;
        transform: rotate(10deg);
        display: inline-block;
    }

    /*******************************/
    .sec06_img img {
        max-height: 820px;
        min-height: 300px;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    .sec06_flex {
        display: block;
    }

    .sec06_left {
        width: 100%;
        background-color: #f0ebea;
        display: block;
        justify-content: center;
        align-items: center;
        padding: 40px 20px 60px;
        text-align: center;
    }

    .sec06_left .more {
        margin-left: auto;
        margin-right: auto;
    }

    .sec06_logo {
        text-align: center;
        margin-bottom: 20px;
    }

    .sec06_logo img {
        width: 200px;
        height: auto;
    }

    .sec06_text {
        font-size: 18px;
    }

    .sec06_tel {
        justify-content: center;
    }

    .sec06_right {
        width: 100%;
        height: 400px;
    }

    /******************/
    .n_flex {
        display: block;
    }

    .n_left {
        width: 100%;
    }

    .n_right {
        width: 100%;
        margin-top: 40px;
    }

    .news a {
        padding: 25px 5px;
    }

    .n_cell1 {
        font-size: 15px;
        width: 120px;
        position: relative;
        top: 3px;
    }

    .n_cell2 {
        font-size: 18px;
        width: calc(100% - 120px);
    }

    /****************/
    .f_on {
        background: url("../images/top28.png") 50% 0/1107px 100% repeat-x;
        width: 100%;
        height: 34px;
    }

    .f_bg {
        padding: 90px 0 60px;
    }

    .f_minus {
        margin-top: -15px;
    }

    .f_flex {
        display: block;
    }

    .f_logo {
        width: 100%;
        text-align: center;
    }

    .f_logo img {
        width: 250px;
        height: auto;
    }

    .f_right {
        display: block;
        font-size: 17px;
        margin-top: 50px;
    }

    .f_nav {
        display: flex;
        justify-content: space-between;
        width: 100%;
        max-width: 100%;
    }

    .f_nav ul li:nth-child(n+2) {
        margin-top: 20px;
    }

    .f_nav a {
        font-size: 15px;
        padding-left: 15px;
        position: relative;
    }

    .f_more {
        width: 290px;
        margin: 40px auto 0;
    }

    .f_more a {
        background-color: #4d6d50;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #FFF;
        position: relative;
        border-radius: 5px;
        padding: 20px 0;
    }

    .f_more a .cart {
        margin-right: 20px;
        margin-left: -25px;
    }

    .f_more .arrow {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        transition: 0.3s ease;
    }

    .f_more a:hover .arrow {
        right: 15px;
    }

    .copy {
        text-align: center;
        font-size: 14px;
        margin-top: 50px;
    }

    .f_ab1 {
        top: -25px;
    }

    .f_ab1 img {
        width: 80px;
        height: auto;
    }

    .f_ab2 {
        position: absolute;
        right: 0;
        top: -70px;
    }

    .f_ab2 img {
        width: 160px;
        height: auto;
    }

    /*****************************************************************

    初めての方へ

*****************************************************************/
    .main_in {
        height: 400px;
        padding-top: 20px;
    }

    .main_in h2 {
        font-size: 38px;
        line-height: 1.3em;
        font-weight: 700;
    }

    .main_in p {
        font-size: 24px;
        line-height: 1.3em;
        margin-top: 5px;
        letter-spacing: 0.15em;
    }

    .main_left {
        position: absolute;
        left: 0;
        top: auto;
        bottom: 0;
        z-index: 100;
    }

    .main_left img {
        width: 290px;
        height: auto;
    }

    .main_right {
        position: absolute;
        right: 0;
        top: auto;
        bottom: 0;
    }

    .main_right img {
        width: 300px;
        height: auto;
    }

    /***************/
    .g_icon {
        margin-bottom: 20px;
    }

    .g_icon img {
        width: 100px;
        height: auto;
    }

    .g_title {
        font-size: 40px;
        line-height: 1.6em;
        margin-right: -40px;
        letter-spacing: 0.25em;
    }

    .g_title span {
        font-size: 60px;
    }

    .g_flex {
        display: block;
    }

    .g_right {
        width: 90%;
        margin: auto;
        padding-right: 0;
    }

    .g_right p {
        line-height: 2.2em;
        font-size: 17px;
    }

    .g_right p:nth-child(n+2) {
        margin-top: 20px;
    }

    .g_width {
        max-width: 740px;
    }

    .g_left {
        width: 97%;
        margin-top: 40px;
    }

    .g_left .img100 {
        overflow: hidden;
    }

    .g_left .img100 img {
        object-fit: cover;
    }

    .g_left .img100:nth-of-type(1) {
        border-radius: 0 150px 15px 0;
    }

    .g_left .img100:nth-of-type(1) img {
        height: 400px;
    }

    .g_left .img100:nth-of-type(2) {
        margin-top: 20px;
        border-radius: 0 15px 15px 0;
    }

    .g_left .img100:nth-of-type(2) img {
        height: 300px;
    }

    .g_ab1 {
        position: absolute;
        bottom: -25px;
        right: -10px;
    }

    .g_ab1 img {
        width: 100px;
        height: auto;
    }

    .g_ab2 {
        position: absolute;
        right: 20px;
        top: 40px;
    }

    .g_ab2 img {
        width: 80px;
        height: auto;
    }

    /******************/
    .g_sec02_top {
        background: url("../images/begin7.png") 50% 0/840px 100% repeat-x;
        width: 100%;
        height: 13px;
    }

    .posi_minus {
        position: relative;
        top: -1px;
    }

    .g_grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        column-gap: 0px;
        row-gap: 50px;
    }

    .g_grid h3 {
        font-size: 24px;
        margin-top: 20px;
    }

    .g_grid p {
        margin-top: 20px;
    }

    .g_sec02_ab1 {
        position: absolute;
        right: 40px;
        top: -60px;
    }

    .g_sec02_ab1 img {
        width: 200px;
        height: auto;
    }

    .g_sec02_ab2 {
        bottom: -50px;
    }

    .g_sec02_ab2 img {
        width: 180px;
        height: auto;
    }

    /*********************/
    .title30 {
        font-size: 24px;
        font-weight: 500;
    }

    .g_sec03_ab1 {
        position: absolute;
        left: -20px;
        bottom: -10px;
    }

    .g_sec03_ab1 img {
        width: 150px;
        height: auto;
    }

    .g_sec03_ab2 {
        position: absolute;
        right: -20px;
        bottom: -20px;
    }

    .g_sec03_ab2 img {
        width: 150px;
        height: auto;
    }

    .g_border {
        background: url("../images/begin_bg.jpg") 50% 0/100% 100% no-repeat;
        max-width: 1080px;
        margin-left: auto;
        margin-right: auto;
        padding: 20px 20px;
    }

    .sp_border {
        background: none !important;
        border: 2px solid #6a4a37 !important;
        border-radius: 10px !important;
    }

    .sdgs_grid {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        max-width: 910px;
        margin: 0 auto;
    }

    .sdgs_grid>div {
        width: 32.33%;
        margin: 0.5%;
    }

    /************/
    .g_sec04_top {
        background: url("../images/begin23.png") 50% 0/1920px 100% repeat-x;
        height: 24px;
    }

    .bg_fbf9f3 {
        background-color: #fbf9f3;
    }

    .g_flex2 {
        display: block;
    }

    .g_flex2>div {
        max-width: 100%;
        width: 100%;
    }

    .g_flex2>div:nth-child(n+2) {
        margin-top: 40px;
    }

    .g_flex2>div p {
        margin-top: 10px;
    }

    .g_sec04_ab {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
        max-width: 1700px;
        top: -50px;
    }

    .g_sec04_ab img {
        width: 150px;
        height: auto;
    }

    /*****************************************************************

    美味しさの秘密

*****************************************************************/
    .se_flex {
        display: block;
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    .se_right {
        width: 100%;
        padding-top: 20px;
    }

    .se_right h3 {
        position: relative;
        padding-left: 80px;
        font-size: 25px;
        font-weight: 700;
        line-height: 1.3em;
    }

    .se_right h3 img {
        position: absolute;
        top: calc(50% - 20px);
        transform: translateY(-50%);
        left: -10px;
    }

    .se_width {
        width: 100%;
        max-width: 100%;
    }

    .se_left {
        width: 100%;
        max-width: 760px;
    }

    .se_left .img100 img {
        width: 100%;
        height: 300px;
        object-fit: cover;
    }

    .brs_right {
        overflow: hidden;
        border-radius: 15px;
        margin-top: 30px;
    }

    .brs_left {
        overflow: hidden;
        border-radius: 15px;
        margin-top: 30px;
    }

    .se_width_right {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
    }

    .title27 {
        font-size: 27px;
        font-weight: 700;
    }

    .se_ab1 {
        position: absolute;
        right: 20px;
        top: -50px;
    }

    .se_ab1 img {
        width: 200px;
        height: auto;
    }

    .se_ab2 {
        position: absolute;
        left: 50%;
        bottom: 0;
        margin-left: -955px;
        display: none;
    }

    .se_ab3 {
        position: absolute;
        right: 0;
        bottom: -120px;
    }

    .se_ab3 img {
        width: 200px;
        height: auto;
    }

    .se_ab4 {
        position: absolute;
        left: auto;
        top: 280px;
        right: 20px;
    }

    .se_ab4 img {
        width: 80px;
        height: auto;
    }

    .se_width2 {
        max-width: 100%;
        margin-left: auto;
    }

    /*****************************************************************

    牛の家族ご紹介

*****************************************************************/
    .gree_ab1 {
        position: absolute;
        left: -20px;
        top: 10px;
    }

    .gree_ab1 img {
        width: 100px;
        height: auto;
    }

    .gree_ab2 {
        position: absolute;
        right: -20px;
        bottom: 10px;
    }

    .gree_ab2 img {
        width: 100px;
        height: auto;
    }

    .gree_title {
        font-size: 22px;
        line-height: 2.4;
        padding: 0 0 10px;
        font-weight: 700;
    }

    .gree_text p {
        line-height: 2.2em;
    }

    .gree_text p:nth-child(n+2) {
        margin-top: 30px;
    }

    .gree_ab3 {
        position: absolute;
        right: -10px;
        top: 20px;
        width: 35.5%;
    }

    .gree_ab3 img {
        width: 100%;
        height: auto;
    }

    /****************/
    .gree_box {
        background-color: #FFF;
        position: relative;
        padding: 100px 40px 70px 40px;
        border-radius: 10px;
    }

    .gree_width {
        max-width: 720px;
        margin: 0 auto;
    }

    .gree_width p {
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
        display: inline;
        line-height: 3.2;
        background-image: linear-gradient(to right, #c3b9b4 3px, transparent 3px);
        background-size: 7px 1px;
        background-repeat: repeat-x;
        background-position: left bottom;
        padding: 0 0 15px;
    }

    .gree_ab4 {
        position: absolute;
        left: 10px;
        top: 10px;
    }

    .gree_ab4 img {
        width: 100px;
        height: auto;
    }

    .gree_ab5 {
        position: absolute;
        right: 0;
        top: 0;
    }

    .gree_ab5 img {
        width: 60px;
        height: auto;
    }

    .gree_ab6 {
        position: absolute;
        right: -45px;
        bottom: -50px;
    }

    .gree_ab6 img {
        width: 190px;
        height: auto;
        display: inline-block;
        transform: rotate(6.5deg);
    }

    .gree_ab7 {
        position: absolute;
        right: 20px;
        top: -30px;
    }

    .gree_ab7 img {
        width: 150px;
        height: auto;
    }

    /* ------------------------------
   loopSlider
------------------------------ */
    .loopSliderWrap {
        top: 0;
        left: 0;
        height: 238px;
        overflow: hidden;
        position: absolute;
    }

    .gree_minus {
        margin-top: -16px;
    }

    .loopSlider {
        width: 100%;
        height: 238px;
        text-align: left;
        position: relative;
        overflow: hidden;
    }

    .loopSlider ul {
        height: 238px;
        float: left;
        display: flex;
        overflow: hidden;
    }

    .loopSlider ul li {
        height: 238px;
        float: left;
        display: inline;
        overflow: hidden;
        width: 300px;
    }

    .loopSlider ul li img {
        height: auto;
        width: 100%;
    }

    /********************/
    .gree_border {
        padding: 30px 30px;
    }

    .gree_ab8 {
        position: absolute;
        left: -20px;
        bottom: -13px;
    }

    .gree_ab8 img {
        width: 100px;
        height: auto;
    }

    .gree_ab9 {
        display: none;
        position: absolute;
        right: -132px;
        bottom: 0;
    }

    /*****************************************************************

    商品紹介

*****************************************************************/
    .pro_img1 {
        display: none;
        position: absolute;
        top: 0;
        left: 0;
        width: 33.3%;
    }

    .pro_img1 img {
        width: 100%;
        height: auto;
    }

    .pro_flex {
        padding-top: 0;
        display: block;
    }

    .pro_left {
        width: 100%;
    }

    .pro_width {
        width: 100%;
        padding-bottom: 0;
    }

    .pro_width h2 {
        line-height: 2.3;
        padding: 5px 15px 10px;
        font-size: 22px;
        border-radius: 50px;
        font-weight: 500;
    }

    .pro_right {
        width: 100%;
        margin-top: 40px;
    }

    .pro_right img {
        border-radius: 15px;
        height: 350px;
    }

    /***/
    .pro_flex2 {
        display: block;
    }

    .pro_left2 {
        width: 100%;
    }

    .pro_right2 {
        max-width: 100%;
        width: 100%;
        margin-top: 40px;
    }

    .pro_right2 img {
        min-height: 350px;
        height: 350px;
        width: 100%;
        object-fit: cover;
        border-radius: 20px;
    }

    .line_height22 {
        line-height: 2em;
    }

    /*********/
    .faq_box>div {
        padding: 30px 10px;
    }

    .faq_table {
        display: flex;
        justify-content: space-between;
    }

    .q_cell1 {
        width: 45px;
    }

    .q_cell1 img {
        width: 100%;
        height: auto;
    }

    .q_cell2,
    .a_cell2 {
        width: calc(100% - 55px);
    }

    .q_cell2 {
        font-size: 21px;
        line-height: 1.6em;
    }

    .a_cell2 {
        font-size: 18px;
        line-height: 1.6em;
        padding-top: 13px;
    }

    .pro_ab1 {
        position: absolute;
        right: 20px;
        top: -45px;
        z-index: 500;
    }

    .pro_ab1 img {
        width: 150px;
        height: auto;
    }

    .pro_ab2 {
        position: absolute;
        left: 50%;
        top: 170px;
        z-index: 300;
        max-width: 1560px;
        width: 90%;
        transform: translateX(-50%);
    }

    .pro_ab2 img {
        width: 100px;
        height: auto;
    }

    /*****************************************************************

    ご推薦の声

*****************************************************************/
.rec_tab {
    width: 100%;
    justify-content: space-between;
    grid-row-gap: 10px;
    column-gap: 10px;
}
.rec_tab > p {
    min-width: auto;
    text-align: center;
}
.rec_tab a {
    padding: 13px;
}
.rec_tab .arrow {
    right: 10px;
}

    
    .rec_flex {
        display: block;
    }

    .rec_left {
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
    }

    .rec_right {
        width: 100%;
        margin-top: 20px;
    }

    .rec_title {
        font-size: 25px;
        padding-bottom: 15px;
        letter-spacing: 0.05em;
        display: block;
        text-align: center;
    }

    .rec_ab1 {
        position: absolute;
        left: -40px;
        bottom: -10px;
    }

    .rec_ab2 {
        position: absolute;
        right: -125px;
        bottom: -25px;
    }

    /**********/
    .rec_img img {
        height: 350px;
        width: 100%;
        object-fit: cover;
        border-radius: 30px;
    }

    .rec_flex2 {
        display: block;
        justify-content: space-between;
    }

    .rec_left2 {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 500;
        margin-top: -40px;
    }

    .rec_left2 h3 {
        writing-mode: vertical-rl;
        font-size: 25px;
    }

    .rec_left2 h3 span {
        letter-spacing: -0.35em;
        color: #FFF;
        display: inline-block;
        background-color: #86b275;
        padding: 20px 0 25px;
        border-radius: 50px;
        margin: 0 5px;
        font-weight: 500;
    }

    .rec_right2 {
        width: 100%;
        padding-top: 30px;
    }
/************/
.rec02_bg {
    background: url("../images/voice_bg.png") 50% 0/1920px 100% no-repeat;
    width: 100%;
    height: 40px;
}
.rec02_absolute {
    position: absolute;
    top: 360px;
    right: 0;
}
.rec02_absolute img {
    width: 150px;
    height: auto;
}
.rec02_absolute2 {
    right: 10px;
}
.rec02_absolute3 {
    position: absolute;
    bottom: 1120px;
    left: 20px;
}

/*****************************************************************

    牧場概要

*****************************************************************/
    .over_ab {
        position: absolute;
        right: 30px;
        bottom: -15px;
    }

    .over_ab img {
        width: 60px;
        height: auto;
    }

    .over_under {
        background: url("../images/overview3.png") 50% 0/740px 100% no-repeat;
        height: 30px;
    }

    .over_table>div {
        width: 100%;
        display: flex;
        padding: 20px 10px;
        position: relative;
        border-bottom: 1px solid #a6937c;
        font-size: 17px;
    }

    .o_cell1 {
        width: 100px;
    }

    .o_cell2 {
        width: calc(100% - 100px);
    }

    /*********************/
    .over_grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 15px;
        row-gap: 20px;
    }

    .over_grid p {
        text-align: center;
        margin-top: 10px;
        font-size: 18px;
    }

    .over_grid>div {
        position: relative;
    }

    .over_ab2 {
        position: absolute;
        top: -10px;
        left: -15px;
    }

    .over_ab2 img {
        width: 30px;
        height: auto;
    }

    .over_ab3 {
        position: absolute;
        right: -110px;
        bottom: 40px;
    }

    .over_ab3 img {
        width: 110px;
        height: auto;
    }

    /***************/
    .map {
        position: relative;
    }

    .map iframe {
        width: 100%;
        height: 330px;
    }

    .map_on {
        background: url("../images/overview15.png") 50% 0/740px 100% no-repeat;
        height: 12px;
        top: -1px;
    }

    .map_under {
        background: url("../images/overview16.png") 50% 0/740px 100% no-repeat;
        height: 12px;
        bottom: 0;
    }

    .over_ab4 {
        position: absolute;
        right: 20px;
        bottom: -45px;
    }

    .over_ab4 img {
        width: 130px;
        height: auto;
    }

    .over_ab5 {
        position: absolute;
        width: 90%;
        max-width: 1640px;
        left: 50%;
        transform: translateX(-50%);
        top: 280px;
    }

    .over_ab5 img {
        width: 40px;
        height: auto;
    }

    /***************/
    .over_access {
        position: static;
        text-align: center;
        top: -40px;
        left: 0;
        margin-bottom: 20px;
    }

    .over_access img {
        width: 150px;
        height: auto;
    }

    .plr40 {
        padding-left: 20px;
        padding-right: 20px;
    }

    .img1200 img {
        width: 100%;
        height: auto;
    }

    .over_bg {
        border-radius: 10px;
        padding: 30px 20px;
    }

    .over_grid2 {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        column-gap: 0;
        row-gap: 10px;
        max-width: 770px;
        margin-left: auto;
        margin-right: auto;
    }

    .over_grid2>p {
        font-size: 21px;
        padding: 20px 10px;
    }


    .pc_none {
        display: block;
    }

    .sp_none {
        display: none;
    }

    /*****************************************************************

    定期購入のお申し込み

*****************************************************************/
    .contact_border {
        padding: 30px 20px;
        text-align: center;
    }

    .contact_tel {
        font-size: 38px;
    }

    /********************/
    .c_table>div {
        display: block;
        margin: 25px 0;
    }

    .c_cell1 {
        width: 100%;
        font-size: 20px;
        padding-top: 0;
    }

    .c_cell1 span {
        position: absolute;
        right: 0;
        top: 7px;
        font-size: 13px;
    }

    .c_cell2 {
        width: 100%;
        margin-top: 10px;
    }

    .size1,
    .size2,
    .size3,
    .area {
        background-color: #f0ebea;
        padding: 10px 15px;
        border-radius: 5px;
        border: 0;
        width: 100%;
    }

    .size1,
    .size2,
    .size3 {
        height: 45px;
    }

    .size1 {
        max-width: 100%;
    }

    .size3 {
        max-width: 100%;
    }

    .area {
        height: 180px;
    }

    .pos_flex {
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 255px;
    }

    .pos_l {
        width: 25px;
    }

    .pos_r {
        width: calc(100% - 25px);
    }

    .pri_p {
        max-width: 460px;
        margin-left: auto;
        margin-right: auto;
        font-size: 17px;
        letter-spacing: 0.1em;
    }

    .pri_p a {
        color: #86b275;
        border-bottom: 1px solid #86b275;
        padding-bottom: 5px;
    }

    .submit {
        width: 330px;
        font-weight: 900;
        font-size: 17px;
        line-height: 1.5em;
        position: relative;
        margin-left: auto;
        margin-right: auto;
        background-color: #eccc39;
        text-align: center;
        position: relative;
        color: inherit;
        z-index: 500;
        background: linear-gradient(45deg, transparent 13px, #eccc39 13px), linear-gradient(135deg, transparent 13px, #eccc39 13px), linear-gradient(225deg, transparent 13px, #eccc39 13px), linear-gradient(315deg, transparent 13px, #eccc39 13px);
        background-position: bottom left, top left, top right, bottom right;
        background-size: 50% 50%;
        background-repeat: no-repeat;
    }

    .submit:after {
        content: "";
        background-color: #eccc39;
        height: 5px;
        width: 100%;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
    }

    .submit input {
        background: none;
        border: 0;
        display: block;
        padding: 25px 0;
        width: 100%;
        font-size: 17px;
        letter-spacing: 0.1em;
    }

    .submit .arrow {
        position: absolute;
        right: 35px;
        top: calc(50% - 2px);
        transform: translateY(-50%);
        transition: 0.3s ease;
        z-index: 100;
    }

    /*****************************************************************

    定期購入

*****************************************************************/
    .cart_icon {
        top: calc(50% - 3px);
        left: 20px;
    }

    .cart_text {
        padding: 0 30px 0 60px;
        font-size: 22px;
    }

    .cart_text .yellow_eccc39 {
        font-size: 26px;
    }

    .cart_text .big {
        font-size: 38px;
        margin: 0 3px;
    }

    .subsc_arrow {
        right: 10px;
    }

    .cart_submit {
        text-align: left;
        display: block;
        width: 100%;
        padding: 30px 50px 30px 80px;
        border: 0;
        background: none;
        color: #FFF;
        font-size: 20px;
        position: relative;
        z-index: 500;
        color: rgba(0, 0, 0, 0);
    }

    /******************************/
    .subsc_grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 10px;
        row-gap: 10px;
    }

    .subsc_grid a {
        min-height: 0;
        padding: 20px 0;
        font-size: 19px;
        transition: 0.5s ease;
    }

    .subsc_grid a:hover {
        background-color: #FFF;
        color: #4d6d50;
    }

    .subsc_grid a:hover .off {
        opacity: 0;
    }

    .subsc_grid a:hover .on {
        opacity: 1;
    }

    .subsc_grid a.active {
        background-color: #FFF;
        color: #4d6d50;
    }

    .subsc_grid a.active .off {
        opacity: 0;
    }

    .subsc_grid a.active .on {
        opacity: 1;
    }

    .subsc_grid .yellow_eccc39 {
        font-size: 24px;
    }

    .subsc_grid .yellow_eccc39 .big {
        font-size: 38px;
        margin: 0 3px;
    }

    .sub_icon {
        margin-bottom: 18px;
        position: relative;
    }

    .sub_icon img {
        width: 30px;
        height: auto;
        transition: 0.5s ease;
    }

    .sub_icon .on {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0;
    }

    .subsc_posi {
        max-width: 280px;
    }

    .subsc_posi:hover .subsc_arrow {
        right: 15px;
    }

    .subsc_submit {
        padding: 20px 15px;
        font-size: 20px;
    }

    .sub_padding {
        padding: 60px 0 60px;
    }

    .sub_padding img {
        width: 22px;
        position: relative;
        top: -2px;
        height: auto;
    }

    .subsc_title {
        font-size: 26px;
    }

    .subsc_title .yellow_eccc39 {
        font-size: 32px;
    }

    .subsc_title .yellow_eccc39 .big {
        font-size: 45px;
        margin: 0 5px;
    }
}

/* スマートフォン 縦(ポートレート) */