@font-face {
    font-family: 'ZenMaruGothic';
    src: url('../fonts/ZenMaruGothic-Regular.woff') format('woff');
    font-display: swap;
    font-weight: 400;
}

@font-face {
    font-family: 'ZenMaruGothic';
    src: url('../fonts/ZenMaruGothic-Medium.woff') format('woff');
    font-display: swap;
    font-weight: 500;
}

@font-face {
    font-family: 'ZenMaruGothic';
    src: url('../fonts/ZenMaruGothic-Bold.woff') format('woff');
    font-display: swap;
    font-weight: 600;
}

@font-face {
    font-family: 'ZenMaruGothic';
    src: url('../fonts/ZenMaruGothic-Black.woff') format('woff');
    font-display: swap;
    font-weight: 700;
}

@font-face {
    font-family: 'Flyerltstd';
    src: url('../fonts/flyerltstd-blackcondensed.woff') format('woff');
    font-display: swap;
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0;
}

h2 {
    font-size: 1.6vw;
    font-weight: 600;
}

.en {
    font-family: "Flyerltstd", sans-serif;
}

h2 .en {
    font-size: 3.7vw;
    padding-right: 30px;
    color: #1f9f60;
}

html {
    scroll-behavior: smooth;
    margin-top: 0 !important;
}

body {
    font-family: "ZenMaruGothic", sans-serif;
    color: #333333;
    background-color: #fff;
    margin: 0;
    font-weight: 600;
    font-size: 1.15vw;
}

nav ul,
ol li,
ul li {
    list-style: none;
}

video {
    width: 100%;
}

img {
    width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    font-size: 1.22vw;
}

a:hover {
    opacity: 0.5;
    transition: 0.25s;
    color: unset;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

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

.wrap {
    max-width: 1150px;
    margin: 0 auto;
}

header {
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #ffffffeb;
    width: 100%;
    z-index: 9999;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 0 30px;
}

header nav ul.pc {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header nav {
    width: 55%;
}

header img {
    width: 12%;
    min-width: 220px;
}

header.is-show img {
    margin: 20px auto;
}

header li a {
    display: block;
    text-align: center;
    font-size: 13px;
    color: #515151;
    line-height: 4;
}

header li a:hover {
    color: #1f9f60;
    opacity: 1;
}

header .pc li:last-child a {
    color: #fff;
    display: flex;
    align-items: center;
    padding: 0 15px;
    font-weight: 500;
    min-height: 65px;
}

header .pc li:last-child img {
    width: 20%;
    min-width: 20px;
    margin-right: 10%;
}

header li a.current-page {
    color: #1f9f60;
}

header li {
    padding: 0;
}

#mv {
    margin-top: 60px;
}

#mv .wrap {
    max-width: 1200px;
    position: relative;
}

#mv h2 {
    position: absolute;
    left: 20%;
    bottom: 30%;
    font-size: 2.8vw;
    color: #fff;
    display: block;
}

#mv span {
    background: linear-gradient(to right, #98C847, #34AD3A);
    padding: 10px 50px;
}

#mv .space {
    position: relative;
    left: 55px;
    top: 40px;
    display: block;
    margin: 0;
}

#topics {
    padding: 60px 0 50px;
}

#topics h2 {
    font-size: 1.3vw;
    width: 15%;
    font-weight: 700;
}

#topics ul {
    width: 60%;
    border-right: dotted 1px #333333;
}

#topics li {
    margin-bottom: 5px;
}

#topics li a {
    color: #1f9f60;
    justify-content: normal;
}

.date {
    font-weight: 700;
    color: #1f9f60;
    margin-right: 30px;
}

#topics .btn {
    margin: auto;
    padding: 10px 60px 10px 30px;
    font-size: 1.1vw;
}

.btn {
    color: #fff;
    background-color: #1f9f60;
    border-radius: 20px;
    position: relative;
}

.btn::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30px;
    width: 23px;
    height: 11px;
    margin: auto;
    background-image: url(../img/btn_arrow.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.links {
    margin: 25px 0 0 17%;
}

.sns_link {
    align-items: center;
    width: 32%;
}

.sns_link img {
    max-width: 40px;
}

.link_box {
    width: 27%;
}

#about {
    padding: 0 0 180px;
    line-height: 2;
}

#about p {
    font-size: 1.65vw;
    margin: 60px 0 70px;
    text-align: center;
}

#about img {
    max-width: 800px;
    margin: 0 auto;
}

#about .btn {
    margin: 60px auto 0;
    text-align: center;
    padding: 15px 100px 15px 70px;
    font-size: 1.3vw;
    display: block;
    width: max-content;
    border-radius: 40px;
}

.bg_blue {
    position: relative;
}

.bg_blue::before {
    content: "";
    position: absolute;
    top: 0%;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-image: url(../img/bg_blue.png);
    background-position: top;
    background-size: auto;
    background-repeat: no-repeat;
}

.h_txt {
    font-size: 1.35vw;
    margin-top: 25px;
    line-height: 1.7;
}

#guide {
    padding: 80px 0 70px;
    position: relative;
}

#guide::before {
    content: "";
    position: absolute;
    top: -18%;
    right: 0;
    width: 100%;
    height: 110%;
    z-index: -1;
    background-image: url(../img/bg_green.png);
    background-position: top;
    background-size: cover;
}

#guide ul {
    margin: 60px 0 0;
}

#guide li {
    width: 31%;
    margin-bottom: 40px;
}

#guide h3 {
    font-size: 1.35vw;
    padding: 20px 0 10px;
    border-bottom: solid 1px #ceefcd;
    position: relative;
    font-weight: 600;
}

#guide h3::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 23px;
    height: 11px;
    background-image: url(../img/g_arrow.png);
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
}

#guide ul p {
    font-weight: 500;
    margin-top: 10px;
    font-size: 1.25vw;
}

.blank {
    opacity: 0.3;
}

#product {
    position: relative;
    padding: 0 0 150px;
}

#product::before {
    content: "";
    position: absolute;
    top: -10%;
    right: 0;
    width: 100%;
    height: 110%;
    z-index: -1;
    background-image: url(../img/bg_red.png);
    background-position: top;
    background-size: cover;
}

.s_left {
    width: 40%;
}

.s_area {
    margin: 60px auto;
    max-width: 1150px;
    margin-left: auto;
}

#product h3 {
    font-size: 1.1vw;
    color: #1f9f60;
    background-color: #fff;
    border: solid 2px #1f9f60;
    border-radius: 10px;
    padding: 10px 20px;
    margin-bottom: 25px;
    width: fit-content;
}

.p_ttl {
    font-size: 2vw;
    font-weight: 700;
}

.p_txt {
    font-size: 1.35vw;
    font-weight: 500;
    margin: 30px 0 35px;
}

.s_right {
    width: 56%;
}

.home-slider {
    max-width: 1600px;
    margin: 65px auto 0;
}

.center-mode li {
    margin: 10px;
    text-align: center;
    opacity: 0.4;
    transition: all 300ms ease;
}

.center-mode li.slick-center {
    opacity: 1;
    transform: scale(1.1);
}

.slick-slider .slick-list {
    padding: 50px 0 100px;
}

.slick-slider .slick-track {
    padding: 20px 0 20px;
}

.slick-cloned .btn {
    display: none;
}

.center-mode li h3 {
    display: none;
}

.center-mode li p {
    display: none;
}

.center-mode li a.btn {
    display: none;
}

li.slick-slide.slick-current.slick-active.slick-center h3 {
    display: block;
}

li.slick-slide.slick-current.slick-active.slick-center p {
    display: block;
}

li.slick-slide.slick-current.slick-active.slick-center a.btn {
    display: block;
}

#menu .center-mode p {
    font-size: 19px;
    margin: 35px 0 10px;
    font-weight: 500;
    color: #333333;
}

.center-mode h3 {
    line-height: 1;
    font-size: 36px;
    font-weight: 500;
}

.s_left .btn {
    padding: 15px 90px 15px 40px;
    border-radius: 40px;
    display: block;
    width: fit-content;
    margin-left: auto;
    font-size: 1.25vw;
}

#product p.s_ttl {
    font-size: 1.28vw;
    line-height: 1.2;
    height: 40px;
    margin: 15px 0 0;
}

#product p.s_txt {
    font-size: 1vw;
    line-height: 1.7;
    color: #333333;
}

.s_txt {
    font-size: 19px;

}

.s_right .btn {
    font-size: 14px;
    padding: 15px 80px 15px 30px;
    display: block;
    line-height: 1;
    border-radius: 30px;
    width: fit-content;
    margin: 30px auto 0;
}

/*
.s_right button {
    display: none !important;
}
*/
.p_img img {
    max-width: 460px;
}

.p_l {
    align-items: end;
    margin-bottom: 80px;
}

.p_l .p_txt {
    margin: 0;
}

.p_l .btn {
    font-size: 1vw;
    padding: 15px 80px 15px 30px;
    display: block;
    line-height: 1;
    border-radius: 30px;
    width: fit-content;
}

.p_r .p_txt {
    width: 56%;
    text-align: end;
}

.p_r h3 {
    margin-left: auto;
}

.p_btn {
    display: block;
    margin: 85px auto 0;
    width: fit-content;
    padding: 20px 100px 20px 70px;
    border-radius: 40px;
    font-size: 1.1vw;
}

.e_headline {
    align-items: center;
}

.e_headline .btn {
    padding: 10px 60px 10px 30px;
    font-size: 1.1vw;
}

#efforts ul {
    margin-top: 65px;
}

#efforts li {
    width: 49%;
    margin-bottom: 45px;
}

#efforts ul .flex {
    align-items: center;
}

.e_img {
    width: 48%;
}

.e_txt {
    width: 50%;
}

#efforts h3 {
    font-size: 1.6vw;
    margin-bottom: 15px;
}

#efforts p {
    font-size: 1.3vw;
}

footer {
    background-image: url(../img/bg_footer.png);
    background-size: cover;
    background-position: top;
    height: 85vw;
    position: relative;
}

footer .wrap {
    padding-top: 220px;
}

.footer_l {
    width: 43%;
}

.f_logo img {
    max-width: 385px;
}

.footer_l p {
    margin: 40px 0 10px;
    font-size: 1.35vw;
}

.f_tel {
    font-size: 2.15vw;
    font-weight: 700;
    margin-bottom: 50px;
}

.l_list1 {
    margin: 50px 0 0;
    justify-content: end;
}

.l_list1 li {
    width: 32.5%;
    margin: 2px;
}

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

.l_list2 li {
    width: 32%;
    margin-left: 2%;
}

.footer_r {
    width: 47%;
}

.f_nav_m li {
    width: 50%;
    margin-bottom: 25px;
    position: relative;
    line-height: 1;
}

.f_nav_m li a {
    font-size: 15px;
}

.f_nav_s {
    margin-top: -10px;
    padding: 10px 0;
}

.f_nav_l {
    width: 47%;
}

.f_nav_r {
    width: 47%;
}

.f_nav_r a,
.f_nav_l a {
    margin-bottom: 20px;
    font-size: 1.05vw;
    position: relative;
    display: block;
    font-weight: 700;
}

li a.ins,
li a.tw,
li a.fb {
    padding-left: 10px;
}

.footer_r li a.ins::before {
    content: "";
    top: 0;
    bottom: 0;
    left: -22px;
    width: 18px;
    height: 18px;
    margin: auto;
    background-image: url(../img/instagram.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.footer_r li a.tw::before {
    content: "";
    top: 0;
    bottom: 0;
    left: -22px;
    width: 18px;
    height: 18px;
    margin: auto;
    background-image: url(../img/x.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.footer_r li a.fb::before {
    content: "";
    top: 0;
    bottom: 0;
    left: -22px;
    width: 18px;
    height: 18px;
    margin: auto;
    background-image: url(../img/facebook.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.footer_r li a::before {
    content: "▶";
    position: absolute;
    font-size: 12px;
    color: #1f9f60;
    top: 3px;
    left: -20px;
    z-index: 10;
}

.sub_nav li a {
    font-size: 1vw;
    font-weight: 500;
}

.sub_nav li a::before {
    display: none;
}

.cta {
    position: fixed;
    top: 30%;
    right: 0;
    display: block;
    z-index: 99;
    opacity: 0;
    transition: opacity 1s ease-in-out, transform 1s ease-in-out;
    transform: translateX(100%);
}

.cta.visible {
    opacity: 1;
    transform: translateX(0);
}

.cta_box {
    height: 120px;
    display: flex;
    align-items: center;
}

.cta_box a {
    font-size: 16px;
    writing-mode: vertical-rl;
    padding: 5px 5px 0 5px;
    display: flex;
    position: fixed;
    right: 0;
    align-items: center;
    background-color: #fff;
    border-radius: 16px 0 0 16px;
}


.cta_g a:hover,
.cta_r a:hover {
    padding: 5px 60px 0 5px;
    opacity: 1;
}

.cta_box a p {
    color: #1f9f60;
    font-size: 1vw;
}

.cta_g a {
    border: solid 3px #1f9f60;
}

.cta_r a {
    border: solid 3px #f688a4;
    top: 49%;
}

.cta_box img {
    max-width: 20px;
    margin: 0 0 5px;
}

a.btn:hover {
    color: #fff;
}

.mv_low {
    margin-top: 0 0 80px;
}

.mv_low p,
h2.en {
    font-size: 5.6vw;
    color: #1f9f60;
    line-height: 1;
}

.mv_low h1,
.mv_low span {
    font-size: 1.6vw;
    line-height: 1;
    font-weight: 700;
}

.low_cont p {
    font-size: 1.35vw;
    font-weight: 700;
    margin: 80px 0 90px;
}

.bread {
    margin: 90px 0;
    margin-bottom: 50px;
    font-size: 1vw;
}

.bread a {
    font-size: 1vw;
}

.bread span {
    margin: 0 10px;
    position: relative;
    top: -1px;
}

.low_cont {
    padding: 0 0 120px;
}

.s_guide {
    padding: 0 0 70px;
}

.s_guide ul {
    margin-top: 55px;
}

.s_guide li {
    width: 46%;
    margin-bottom: 40px;
    position: relative;
}

.s_guide li::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: -15px;
    width: 15%;
    height: 3px;
    background: #1f9f60;
    z-index: 10;
}

.s_guide li::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -15px;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #A5D4F2, #E1F3FC);
}

.s_guide li a {
    padding: 5px;
    font-size: 1.28vw;
    display: block;
    width: 100%;
}

.s_guide li img,
.np_btn_in img {
    max-width: 25px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto;
}

.n_watch {
    padding: 0 0 100px;
}

.n_watch ul {
    margin: 55px 0 80px;
}

.n_watch li {
    width: 48%;
    margin-bottom: 25px;
}

.n_watch li a {
    padding: 10px 30px;
    position: relative;
    border: solid 4px #1f9f60;
    border-radius: 15px;
    display: block;
    background-color: #fff;
    font-size: 1.7vw;
    color: #1f9f60;
}

.n_watch li a::before {
    content: "";
    position: absolute;
    background-image: url(../img/g_arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    width: 40px;
    height: 13px;
}

.n_links a {
    width: 48%;
}

.bg_green2 {
    background-image: url(../img/bg_green2.png);
    background-size: cover;
    background-position: top;
}

.c_inner {
    width: 95%;
    margin-left: auto;
}

.low_cont ul {
    margin: 100px 0 50px;
}

.low_cont li {
    width: 32%;
}

.low_cont h3 {
    font-size: 1.35vw;
    margin: 5px 0 10px;
}

.low_cont li p {
    font-weight: 500;
    font-size: 1.2vw;
    line-height: 1.5;
    margin: 0;
}

.f_tel img {
    max-width: 22px;
    display: unset;
    margin-right: 10px;
}

#topics li h3,
.date {
    font-weight: 600;
    font-size: 1.2vw;
}


.low_cont .slick-slider .slick-list {
    padding: 15px 0 0;
}

.low_cont .slick-slider .slick-track {
    padding: 0;
}

.low_cont .slider.slick-initialized .slick-slide {
    transform: scale(1);
}

.low_cont .slick-initialized .slick-slide {
    transform: scale(0.95);
}

.low_cont .thumbnail {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 20px 0 0;
}

.low_cont .thumbnail-img {
    position: relative;
    z-index: 1;
    cursor: pointer;
    width: 16%;
}

.low_cont .thumbnail-img::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(86, 183, 70, 0.3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    border-radius: 4px;
}

.low_cont .thumbnail-img.no-overlay::after {
    display: none;
}

.six_img {
    width: 70%;
    margin: 0px auto 90px;
}

.map_img {
    margin: 0 auto 100px;
}

.about h2 {
    margin-bottom: 40px;
    font-weight: 700;
}

.about h3,
.facility_list h3 {
    font-size: 1.65vw;
    color: #1f9f60;
    margin-bottom: 15px;
}

.a_box p,
.fl_txt p {
    font-size: 1.22vw;
    line-height: 1.9;
}

.a_wrap {
    margin-bottom: 80px;
}

.a_box {
    margin-bottom: 40px;
}

.a_box_img,
.fl_img {
    width: 37%;
}

.a_box_txt,
.fl_txt {
    width: 60%;
    position: relative;
}

.a_company {
    margin: 150px 0 170px;
}

.a_company img {
    margin: -10px 0 0;
}

.map_link {
    margin-left: auto;
    display: table;
    position: relative;
}

.map_link::before {
    content: "▶";
    position: absolute;
    font-size: 16px;
    color: #1f9f60;
    top: 0px;
    left: -20px;
    z-index: 10;
}

.a_company .flex {
    margin: 20px 0;
    width: 90%;
}

.a_company p {
    font-size: 1.3vw;
    line-height: 1.8;
}

.tel_area a {
    font-size: 1.5vw;
}

.train img {
    max-width: 23px;
    display: unset;
    margin-right: 10px;
}

.car img {
    max-width: 19px;
    display: unset;
    position: relative;
    top: 7px;
    margin-right: 10px;
}

.tel_area img {
    max-width: 19px;
    display: unset;
    position: relative;
    top: 0;
    margin-right: 10px;
}

.c_box {
    width: 42%;
}

.a_company .btn {
    display: block;
    width: 80%;
    text-align: center;
    padding: 15px 0;
    border-radius: 30px;
}

.a_company table {
    margin: 70px 0 30px;
    border-spacing: 0;
    font-size: 19px;
}

.a_company td,
.a_company th {
    padding: 25px 0px 15px 50px;
    font-size: 1.35vw;
}

.a_company th {
    color: #1f9f60;
    text-align: left;
    border-bottom: solid 3px #1f9f60;
    width: 20%;
}

.a_company td {
    border-bottom: solid 3px #A5D4F2;
}

.adjust::before {
    display: none;
}

.low_cont #guide {
    padding: 0;
}

.low_cont #guide:before {
    display: none;
}

.facility_nav {
    margin: 70px 0 60px;
}

.facility_nav a {
    width: 11.1%;
    display: block;
    text-align: center;
    position: relative;
}

.facility_nav a:after {
    background: #E1F3FC;
    border-radius: 3px;
    content: "";
    display: block;
    height: 6px;
    position: absolute;
    bottom: -25px;
    width: 100%;
    transition: 0.25s;
}

.facility_nav a.current,
.facility_nav a:hover {
    color: #1f9f60;
    opacity: 1;
}

.facility_nav a.blank:hover {
    color: unset;
    opacity: 0.3;
}

.facility_nav a.current:after,
.facility_nav a:hover:after {
    background: #1f9f60;
    opacity: 1;
}

.facility_info {
    margin: 50px 0 -150px;
    align-items: flex-start;
}

.fi_l,
.fi_r {
    width: 49%;
}

.fi_l {
    border-right: dotted 1px #333333;
}

.fi_r p {
    margin: 0;
    font-weight: 600;
    padding-right: 10px;
}

.facility_info th,
.facility_info td {
    font-size: 1.3vw;
    text-align: left;
    padding: 3px 10px 3px 0;
}

.facility_info th {
    width: 20%;
}

.facility_list {
    padding: 150px 0;
}

.facility_list .flex {
    align-items: center;
}

.facility_list li {
    margin-bottom: 60px;
}

.facility_list li:last-child {
    margin: 0;
}

img.mov_titleimage {
    width: auto;
}

.aguri_table,
.store_table,
.restaurant_table {
    position: relative;
}

.aguri_table::before {
    position: absolute;
    content: "";
    top: 0;
    right: 25%;
    width: 150px;
    height: 90px;
    background-image: url(../img/aguri_logo.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.store_table::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0%;
    width: 160px;
    height: 50px;
    background-image: url(../img/9NnVlo.tif.jpg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.restaurant_table::before {
    position: absolute;
    content: "";
    top: 0;
    right: 2%;
    width: 190px;
    height: 60px;
    background-image: url(../img/restaurant_logo.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.fl_txt small {
    font-size: 1.2vw;
    margin-left: 25px;
}

.farmland {
    position: relative;
    padding: 0 0 150px;
}

.farmland::before {
    content: "";
    position: absolute;
    top: -5%;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-image: url(../img/bg_red.png);
    background-position: bottom;
    background-size: inherit;
    background-repeat: no-repeat;
}

.f_calendar {
    margin-bottom: 150px;
}

.sdgs_logo {
    max-width: 110px;
}

.sdgs_wrap .flex {
    align-items: flex-end;
    margin-bottom: 100px;
}

.sdgs_wrap p {
    font-size: 1.8vw;
    font-weight: 700;
    width: 35%;
}

.sdgs_wrap img {
    width: 40%;
}

.sdgs_wrap a {
    width: 20%;
    text-align: center;
    padding: 15px 0px;
    border-radius: 30px;
}

.sdgs_box {
    flex-direction: row-reverse;
}

.sdgs_box div {
    margin-left: auto;
    width: 50%;
}

.sdgs_box p {
    width: 100%;
    text-align: end;
}

.sdgs_box a {
    width: 40%;
    margin-top: 30px;
    margin-left: auto;
    display: block;
}

.sdgs_box img {
    margin-left: 5%;
}

.store_info {
    padding: 160px 0 0;
}

.s_calendar img {
    width: 48%;
}

.s_calendar {
    padding: 70px 0 120px;
	padding-top:0;
}

.store_wrap h3 {
    font-size: 1.6vw;
    font-weight: 600;
    padding-bottom: 10px;
    border-bottom: solid 3px #A5D4F2;
    line-height: 1;
    margin: 70px 0 30px;
}

.store .marche-ul li {}

.store_wrap h3 span {
    border-bottom: solid 3px #1f9f60;
    padding-bottom: 5px;
}

.store_wrap .store_midashi {
    color: #1f9f60;
    margin-top: 3%;
    margin-bottom: -2%;
    font-size: 1.6vw;
}

.store_wrap ul.kakouhin li {
    border: none;
    display: block;
}

.store_wrap ul.kakouhin li .store_r {
    height: auto;
    border: none;
    width: 100%;
}

.store_wrap ul.kakouhin li .store_r h4 {
    color: #515151;
}

.store_wrap ul {
    margin: 50px 0 60px;
    justify-content: normal;
}

.store_wrap li {
    width: calc(33.3% - 10px);
    margin-right: 10px;
    border: solid 4px #1f9f60;
    border-radius: 15px;
    margin-bottom: 15px;
    align-items: center;
}

.store_r {
    width: 80%;
    border-left: solid 3px #d7f3fd;
    height: 100%;
    padding: 5px 5px 5px 10px;
}

.store_r h4 {
    font-size: 1.35vw;
    color: #1f9f60;
    font-weight: 600;
    line-height: 1;
}

.store_r h4 span {
    font-size: 1.2vw;
    float: right;
}

.store_r p {
    color: #1f9f60;
    margin-top: 10px;
    font-size: 1.1vw;
    line-height: 1.2;
}

.store_l {
    width: 20%;
    padding: 5px;
}

.store_wrap .btn {
    padding: 15px 0;
    border-radius: 30px;
    width: 22%;
    display: block;
    margin: 40px auto 0;
    text-align: center;
}

.fl_txt .btn,
.a_box_txt .btn {
    padding: 15px 0;
    border-radius: 30px;
    width: 36%;
    display: block;
    margin: 20px 0 0 auto;
    text-align: center;
}

.store_ttl {
    margin: 80px 0 0;
}

.kc_calendar {
    padding: 70px 0 0;
}

.kc_list {
    padding: 0px 0 150px;
}

.r_fc {
    padding: 0;
}

.restaurant {
    padding: 100px 0 0;
    position: relative;
}

.restaurant::before {
    content: "";
    position: absolute;
    top: 0%;
    right: 0;
    width: 100%;
    height: 105%;
    z-index: -1;
    background-image: url(../img/bg_purple.png);
    background-position: top;
    background-size: cover;
}

.restaurant_box {
    align-items: center;
    margin: 0 0 80px;
}

.restaurant .r_tel {
    font-size: 2.6vw;
}

.r_tel img {
    max-width: 4.5%;
    display: inline-block;
    margin-right: 10px;
}

.rest_l {
    width: 50%;
}

.rest_l h3 {
    font-size: 1.65vw;
    color: #1f9f60;
}

.rest_l p {
    font-size: 1.22vw;
    margin: 15px 0 50px;
}

.rest_l .btn {
    display: block;
    width: 50%;
    text-align: center;
    padding: 15px 0;
    border-radius: 30px;
    margin-top: 10px;
}

.rest_r {
    width: 43%;
}

.facility_list table {
    width: 100%;
}

.nutrition {
    margin-top: 30px;
    font-weight: 700;
}

.fl_txt strong {
    border: solid 2px #1f9f60;
    margin: 3px 5px;
    padding: 0 2px;
    display: inline-block;
}

.other h2 {
    margin-bottom: 35px;
}

.other h3 {
    font-size: 1.35vw;
    margin: 5px 0 10px;
}

.other li p,
.other li a {
    font-size: 1.35vw;
}

.other li {
    width: 32%;
    margin-bottom: 45px;
}

.of1 ul:after {
    content: "";
    display: block;
    width: 32%;
    height: 0;
}

.other_facility {
    margin-bottom: 100px;
}

.a_btn {
    margin: 30px 0;
    text-align: center;
}

.a_btn a {
    width: 42%;
    margin: 0 auto;
    display: block;
    text-align: center;
    padding: 20px 0;
    border-radius: 40px;
}

.a_bottom {
    margin: 100px 0 150px;
}

.a_sdgs {
    margin-top: 150px;
}

.processing_btn {
    margin: 100px 0 0;
}

.processing_btn a {
    margin: 30px auto 0;
    width: 30%;
    padding: 15px 0;
}

.restaurant_info {
    align-items: flex-start;
}

.efforts_nav {
    align-items: end;
}

.efforts_nav a {
    width: 14.22%;
    font-size: 1.1vw;
}

.efforts_info {
    align-items: flex-start;
    margin: 50px 0 -20px;
}

.efforts_info p {
    margin: 0;
    font-weight: 600;
}

.efforts_info span {
    color: #00b4e9;
    margin-top: 5px;
}

.recycle {
    padding: 0 0 140px;
    position: relative;
}

.recycle::before {
    content: "";
    position: absolute;
    top: -5%;
    right: 0;
    width: 10%;
    height: 12%;
    z-index: -1;
    background-image: url(../img/recycle_loop.png);
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
}

.recycle h2 {
    width: 55%;
}

.recycle .flex {
    margin: 30px 0 90px;
    justify-content: flex-start;
    align-items: center;
}

.recycle .flex p {
    width: 55%;
    font-size: 1.8vw;
    font-weight: 500;
}

.recycle .flex img {
    width: 40%;
    margin-left: 5%;
}

.pamphlet {
    padding: 0 0 50px;
}

.pamphlet img {
    padding: 30px 0 40px;
}

p.aw_txt {
    display: none;
}

.foodloss_zero {
    padding: 0 0 140px;
}

.low_contact {
    margin: -60px 0 150px;
}

.lc_txt {
    width: 45%;
}

.lc_form {
    width: 50%;
}

.lc_form div.wpcf7 {
    padding: 0 !important;
    border: none;
}

.lc_form table {
    width: 100%;
    border-spacing: 15px;
}

.lc_form .must {
    color: #fff;
    background-color: #ff0000;
    border-radius: 2px;
    font-size: 0.7vw;
    float: right;
    margin-top: 5px;
}

.lc_form th,
.lc_form td {
    font-weight: 500;
    text-align: left;
    vertical-align: middle;
}

.lc_form th {
    width: 24%;
}

.lc_form input {
    border: solid 1px #1f9f60;
    border-radius: 15px;
    height: 30px;
    width: 100%;
    padding: 15px 10px;
    vertical-align: middle;
}

.lc_form .btn:hover {
    cursor: pointer;
    background-color: #ffffff;
    border: solid 2px #1f9f60;
    color: #1f9f60;
}

.lc_form textarea {
    border: solid 1px #1f9f60;
    width: 100%;
    font-size: 1.1vw;
}

input.btn {
    padding: 15px 0;
    height: auto;
    width: 50%;
    margin: 30px auto 0;
    display: block;
    font-size: 1.4vw;
    border-radius: 40px;
    font-weight: 600;
}

#guide.ef_guide h3 {
    padding: 20px 15px 10px 0;
}

.cb_low {
    position: relative;
}

.cb_low::before {
    content: "";
    position: absolute;
    top: 10%;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-image: url(../img/bg_red.png);
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
}

.cb_box {
    margin-bottom: 90px;
}

.cb_single {
    align-items: center;
}

.cb_box_b {
    flex-direction: row-reverse;
}

.cb_box_c .cb_txt .flex {
    position: relative;
}

.cb_box_c .cb_txt .flex::after {
    content: "";
    display: block;
    width: 31%;
    height: 0;
}

.cb_img {
    width: 40%;
}

.cb_txt {
    width: 58%;
}

.cb_txt h3 {
    color: #1f9f60;
    font-size: 1.65vw;
    margin-bottom: 15px;
}

.cb_txt h3 small {
    display: block;
}

.cb_txt h3 span {
    float: right;
    font-size: 1.35vw;
}

.cb_txt .flex {
    margin-top: 50px;
}

.cb_txt .flex img {
    width: 31%;
    margin-bottom: 20px;
}

.colabo_link {
    padding: 100px 0px 80px;
}

.colabo_link li {
    width: 24%;
    margin-bottom: 40px;
}

.colabo_link h3 {
    color: #333333;
    font-size: 1.35vw;
    margin-top: 10px;
}

footer .footer-under {
    position: absolute;
    bottom: 0;
    background-color: #1f9f60;
    width: 100%;
    padding: 10px 0;
}

footer .footer-under p {
    color: #fff;
    font-size: 14px;
}

.p_top {
    position: fixed;
    bottom: 5%;
    right: 80px;
    z-index: 10;
}

.p_top a {
    background-color: #000000;
    color: #fff;
    display: block;
    padding: 5px 14px;
}

.p_top .fa-angle-up:before {
    font-size: 2.5vw;
}

#news_topics ul {
    margin: 50px 0 80px;
}

#news_topics li {
    border-bottom: dotted 4px #ceefcd;
    width: 100%;
}

#news_topics li a {
    justify-content: flex-start;
    align-items: center;
    padding: 18px 0 13px;
}

#news_topics li p {
    margin-right: 5%;
}

#news_topics li p,
#news_topics li h2 {
    color: #1f9f60;
    font-weight: 700;
    font-size: 1.35vw;
}

.news_topics .main_np_cont a {
    color: #2077ed;
    font-size: 15px;
}

.news_topics .np_img img {
    width: 80%;
    margin: 0 auto;
}

.news_topics .main_np_cont img {
    width: 80%;
    margin: 0 auto;
}

.wanted {
    margin: -50px 0 150px;
}

.wanted table {
    margin: 0;
}

.wanted th {
    vertical-align: middle;
}

.lc_form .file input {
    border: none;
    padding: 30px 10px;
    margin-top: -20px;
}

.point_list li {
    text-align: center;
    margin-bottom: 40px;
    width: 29%;
}

.point_list h3 {
    margin-top: 5px;
    font-size: 1.35vw;
}

.fc_new {
    margin: -50px 0 180px;
}

.fc_new .section3 {
    background-color: #fff;
    padding: 0 0 60px;
}

.fc_new h2 {
    padding: 0;
    color: #000;
    border-left: none;
    margin-bottom: 40px;
}

.fc_new .section3 .flow>li dl {
    z-index: 10;
}

.fc_new .a_btn a {
    width: 25%;
}

.g_btn a {
    width: 30%;
    margin: 100px auto 0;
}

.news_topics .low_cont {
    padding: 0 0 40px;
}

.cont_head {
    border-bottom: dotted 4px #ceefcd;
    margin: 60px 0 0;
}

.cont_head p {
    margin: 0;
    color: #1f9f60;
}

.cont_head h1 {
    font-size: 1.65vw;
    color: #1f9f60;
    margin: 10px 0;
}

.np_img {
    margin-bottom: 40px;
}

.np_cont {
    padding-bottom: 120px;
}

.np_cont p {
    margin-bottom: 30px;
}

.np_nav {
    margin: 80px 0px 30px;
}

.np_nav a {
    font-size: 1.35vw;
    font-weight: 500;
    display: flex;
}

.np_nav img {
    width: 3%;
    display: inline-block;
    vertical-align: middle;
    margin-right: 1.5%;
}

.np_btn_in {
    padding: 5px;
    font-size: 1.28vw;
    display: block;
    width: 40%;
    position: relative;
    margin: 50px 0 30px;
}

.np_btn_in::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: -15px;
    width: 15%;
    height: 3px;
    background: #1f9f60;
    z-index: 10;
}

.np_btn_in::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -15px;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #A5D4F2, #E1F3FC);
}

.cb_product.cb_low::before {
    height: 120%;
    background-position: center;
}

.product_mv {
    margin-bottom: 30px;
}

.product_nav a {
    width: 14.2%;
}

.product_info {
    padding: 90px 0 0;
    text-align: center;
}

.product_info h2 {
    font-size: 1.85vw;
    margin: 20px 0 30px;
}

.pd_img {
    margin: 35px 0 40px;
}

.p_main_txt {
    font-size: 1.35vw;
    line-height: 1.9;
}

.comp_img {
    width: 60%;
    margin: 20px auto 60px;
}

.product_main ul {
    margin: 50px 0 80px;
}

.product_main li {
    width: 19%;
    font-size: 1.25vw;
}

.product_main li img {
    width: 45%;
    margin: 0 auto 15px;
}

.product_main li h3 {
    font-size: 1.35vw;
    font-weight: 600;
    margin-bottom: 5px;
}

.product_list {
    padding: 50px 0 0;
    text-align: left;
}

.product_list h2 {
    color: #1f9f60;
    border: solid 3px #1f9f60;
    border-radius: 15px;
    width: max-content;
    padding: 10px 10%;
    margin: 0 auto;
    font-size: 1.1vw;
}

.product_wrap {
    margin: 60px 0;
    align-items: center;
}

.product_img {
    width: 36%;
}

.product_txt {
    width: 60%;
    position: relative;
}

.product_txt h3 {
    color: #1f9f60;
    border: solid 2px #1f9f60;
    border-radius: 10px;
    width: max-content;
    padding: 8px 6%;
    margin: 0 0 20px;
    font-size: 1.1vw;
}

.product_txt p {
    font-size: 2vw;
    font-weight: 700;
    margin-bottom: 90px;
}

.product_txt .btn {
    position: absolute;
    padding: 18px 14%;
    border-radius: 30px;
    bottom: 0;
    right: 0;
}

.product_wrap_b {
    flex-direction: row-reverse;
}

.product_wrap_b .product_txt {
    text-align: right;
}

.product_wrap_b .product_txt h3 {
    margin: 0 0 20px auto;
}

.product_process {
    padding: 30px 0 140px;
}

.product_process li {
    margin-bottom: 7%;
}

.product_process li {
    position: relative;
}

.product_process li::after {
    position: absolute;
    content: " ";
    bottom: -25%;
    left: 4%;
    width: 30%;
    height: 20%;
    margin: auto;
    background-image: url(../img/product_arrow.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.product_process li:last-child::after {
    display: none;
}

.product_process h2 {
    text-align: center;
}

.p_banner {
    margin: 100px 0px 30px;
}

.how_to {
    margin: 140px 0 50px;
}

.how_to h2 {
    position: relative;
}

.how_to h2::before {
    position: absolute;
    content: " ";
    top: -180%;
    left: 3%;
    width: 100%;
    height: 200%;
    background-image: url(../img/oishii.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.how_to ul {
    margin: 70px 0 0;
}

.how_to li {
    width: 24%;
    font-size: 1.35vw;
}

.how_to li img {
    margin-bottom: 15px;
}

.flavor {
    display: block;
    margin-bottom: 10px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin: 0 auto 10px;
}

.product_main li:nth-child(1) .flavor {
    background-color: #f499c7;
}

.product_main li:nth-child(2) .flavor {
    background-color: #ffe970;
}

.product_main li:nth-child(3) .flavor {
    background-color: #41bbf4;
}

.product_main li:nth-child(4) .flavor {
    background-color: #92da73;
}

.product_main li:nth-child(5) .flavor {
    background-color: #ffe4e7;
}

.product_sub {
    margin: 100px 0 70px;
}

.product_sub img {
    width: 10%;
    min-width: 100px;
    margin: 0 auto 20px;
}

.product_sub h3 {
    font-size: 1.35vw;
    margin-bottom: 10px;
    font-weight: 600;
}

.product_sub p {
    font-size: 1.25vw;
}

.gentei {
    display: block;
    text-align: center;
    font-size: 1.35vw;
    margin: 20px 0 90px;
}

.main_form {
    width: 80%;
}

.main_form p {
    margin: 0 0 10px;
    line-height: 1.3;
}

.main_form p.bl_recaptcha {
    font-size: 15px
}

.agree_wrap {
    justify-content: normal;
    align-items: center;
}

.agree .first {
    display: flex;
    align-items: center;
}

.agree .wpcf7-list-item-label {
    display: block;
    width: 100%;
}

.label_check {
    width: 30%;
}

.agree input {
    height: 20px !important;
    width: 8%;
    margin-right: 10px;
}

.main_form th,
.main_form td {
    font-size: 1.8vw;
}

.main_form select {
    border: solid 1px #1f9f60;
    border-radius: 20px;
    height: auto;
    width: 100%;
    padding: 5px 10px;
    font-size: 1.3vw;
}

.main_form table {
    margin: 30px 0;
    border-spacing: 0 30px;
    margin-bottom: 0;
}

.main_form input {
    height: auto;
    font-size: 1.1vw;
    border-radius: 25px;
}

.about_tr th {
    width: 55%;
}

.main_form .must {
    border-radius: 2px;
    font-size: 1vw;
    float: none;
    margin-left: 20px;
    padding: 0 3px;
    margin-top: 0;
    vertical-align: middle;
    font-weight: 500;
}

.bt_menu p {
    color: #1f9f60;
}

.bt_menu strong {
    color: #515151;
}

.bl_recaptcha {
    font-size: 15px;
    margin-bottom: 5%;
}

.bl_recaptcha a {
    font-size: 15px;
    color: #3f7bd8;
}

p.bt_txt {
    margin: 20px 0 10px;
}

.bt_menu table {
    margin: 10px 0;
    border-spacing: 0 0px;
}

.bt_menu td,
.bt_menu th {
    font-weight: 700;
    color: #1f9f60;
    font-size: 1.22vw;
}

.facility_list .bt_menu .flex {
    align-items: normal;
}

.bento ul {
    margin: 0 0 30px;
}

@media screen and (min-width: 2500px) {
    header img {
        max-width: 55%;
    }

    .recycle {
        margin-top: 250px;
    }

    .product_txt p {
        margin-bottom: 12%;
    }
}

@media screen and (min-width: 1460px) {

    .wrap {
        max-width: 80%;
    }

    #mv .wrap,
    .s_area {
        max-width: 80%;
    }

    .p_box {
        max-width: 96%;
    }

    footer {
        height: 65vw;
    }

    .cta_box {
        height: 8vw;
    }

    .tel_area img,
    .f_tel img {
        max-width: 5%;
    }

    .train img {
        max-width: 4%;
    }

    .f_logo img {
        max-width: 80%;
    }
}

@media screen and (max-width: 1350px) {
    .n_header nav {
        width: 75%;
    }

    #mv .wrap {
        max-width: 85%;
    }

    .wrap {
        max-width: 81%;
    }

    .s_area {
        max-width: 81%;
    }

    #mv h2 {
        font-size: 32px;
        height: auto;
    }

    .p_img img {
        max-width: 380px;
    }

    .p_ttl {
        font-size: 26px;
    }

    .s_right .btn {
        padding: 15px 65px 15px 20px;
    }

    .sns_link {
        width: 40%;
    }

    .s_right {
        width: 60%;
    }

    .s_guide li {
        width: 48%;
    }

    .s_guide li a {
        font-size: 17px;
    }

    .l_list1 li {
        width: 31%;
    }

    .about_tr th {
        width: 60%;
    }
}

@media screen and (max-width: 1200px) {
    #mv .wrap {
        max-width: 80%;
    }

    .wrap {
        max-width: 76%;
    }

    .s_area {
        max-width: 76%;
    }

    #mv h2 {
        font-size: 30px;
    }

    #mv .space {
        top: 30px;
    }

    #mv span {
        padding: 10px 40px;
    }

    .h_txt {
        font-size: 17px;
    }

    #topics h2 {
        font-size: 16px;
        width: 14%;
    }

    h2 {
        font-size: 20px;
    }

    h2 .en {
        font-size: 45px;
        padding-right: 25px;
    }

    #topics li a {
        font-size: 16px;
    }

    .btn::after {
        right: 25px;
        width: 18px;
    }

    #about p {
        font-size: 20px;
        margin: 40px 0 50px;
    }

    #about img {
        max-width: 720px;
    }

    #guide h3::after {
        width: 18px;
    }

    #guide ul p,
    #efforts p {
        font-size: 16px;
    }

    .p_ttl {
        font-size: 23px;
    }

    .p_txt {
        font-size: 17px;
    }

    .p_img img {
        max-width: 330px;
    }

    #efforts h3 {
        font-size: 20px;
    }

    #efforts li {
        width: 50%;
    }

    .footer_l p {
        margin: 25px 0 10px;
        font-size: 16px;
    }

    .f_tel {
        font-size: 25px;
        margin-bottom: 0px;
    }

    .s_left .btn {
        padding: 15px 60px 15px 35px;
        font-size: 17px;
    }

    .cta_box a {
        font-size: 14px;
        padding: 5px 10px 0 5px;
    }

    .cta_r a {
        top: 47%;
    }

    .cta_g a:hover,
    .cta_r a:hover {
        padding: 5px 25px 0 5px;
    }

    #topics ul {
        width: 55%;
    }

    #topics h2 {
        width: 16%;
    }

    #topics .btn {
        margin: 30px 0px;
        padding: 10px 50px 10px 20px;
        font-size: 14px;
    }

    .links {
        margin: 25px 0 0 0;
    }

    .s_right .btn {
        padding: 15px 50px 15px 20px;
        font-size: 12px;
    }

    .p_r .p_txt {
        width: 58%;
    }

    footer .wrap {
        padding-top: 150px;
    }

    a.ins::before,
    a.tw::before,
    a.fb::before {
        left: -15px;
    }

    .s_guide li a {
        font-size: 16px;
    }

    .n_watch li a {
        font-size: 21px;
    }

    .s_guide li {
        width: 49%;
    }

    main {
        margin-top: 65px;
    }

    .a_company .flex {
        width: 100%;
    }

    .footer_r {
        width: 55%;
    }

    .footer_l {
        width: 35%;
    }

    .aguri_table::before {
        right: 10%;
        width: 120px;
        height: 70px;
    }

    .store_table::before {
        right: 2%;
        width: 120px;
        height: 40px;
    }

    .store_r h4 span {
        font-size: 1vw;
    }

    .store_r h4 {
        font-size: 1.2vw;
    }

    .restaurant_table::before {
        width: 140px;
        height: 40px;
    }

    .processing_btn {
        font-size: 16px;
    }
}

@media screen and (max-width: 1100px) {
    .p_img img {
        max-width: 290px;
    }

    #efforts h3 {
        font-size: 18px;
    }

    .s_left .btn {
        padding: 15px 50px 15px 25px;
        font-size: 15px;
    }

    .p_r .p_txt {
        width: 60%;
    }

    .p_l .btn {
        font-size: 14px;
        padding: 15px 65px 15px 20px;
    }

    .f_nav_r {
        width: 43%;
    }

    #mv h2 {
        font-size: 24px;
    }

    .p_ttl {
        font-size: 20px;
    }

    .f_nav_s {
        margin-top: 0px;
    }

    .s_guide li {
        width: 70%;
    }

    .c_box {
        width: 47%;
    }
}

@media screen and (max-width: 980px) {

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    html {
        margin-top: 0px !important;
    }

    html #wpadminbar {
        display: none !important;
    }

    .clone-nav {
        display: none !important;
    }


    #mv .wrap {
        max-width: 95%;
    }

    .wrap {
        max-width: 90%;
        margin: 0 auto;
    }

    .s_area {
        max-width: 90%;
        margin: 60px auto;
    }

    .footer_r {
        width: 50%;
    }

    .footer_l {
        width: 40%;
    }

    .f_nav_m li {
        margin-bottom: 15px;
    }

    .f_nav_r a,
    .f_nav_l a,
    .sub_nav li a {
        font-size: 13px;
        margin-bottom: 15px;
    }

    .date {
        margin-right: 15px;
    }

    .sns_link p {
        font-size: 14px;
    }

    .mv_low p,
    h2.en {
        font-size: 58px;
    }

    .mv_low h1,
    .mv_low span {
        font-size: 20px;
    }

    .low_cont p {
        font-size: 17px;
        margin: 80px 0 0px;
    }

    .low_cont ul {
        margin: 80px 0 20px;
    }

    .n_watch li a {
        padding: 10px 20px;
        font-size: 19px;
    }

    .low_cont h3,
    .low_cont li p {
        font-size: 17px;
    }

    #sb_instagram {
        margin-top: 50px !important;
    }

    header {
        max-width: 100%;
        width: 100%;
        z-index: 9999;
        height: auto;
        overflow: unset;
        background-color: #fff;
        padding: 0;
    }

    header .pc,
    header nav ul.pc {
        display: none;
    }

    header .sp {
        display: block;
    }

    .sp-menu {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: 100vh;
        z-index: 999;
        background-color: #ffffffe3;
        transition: 0.3s ease-in-out;
        transform: scaleY(0);
        transform-origin: top;
    }

    .sp-menu ul {
        width: 40%;
        margin: 40px auto 0;
    }

    .menu-btn:checked~header {
        height: 100%;
    }

    .menu-btn:checked~.sp-menu {
        transform: scaleY(1);
    }

    .menu-icon {
        cursor: pointer;
        position: absolute;
        top: 50%;
        right: 10px;
        height: 30px;
        width: 40px;
    }

    .navicon,
    .close-icon {
        background: #00b26e;
        display: block;
        height: 3px;
        width: 30px;
        position: relative;
        margin: 0 auto;
        z-index: 99999;
    }

    .menu-btn {
        display: none;
    }

    .navicon::before {
        content: "";
        display: block;
        height: 100%;
        width: 80%;
        bottom: 9px;
        position: absolute;
        background: #00b26e;
        transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
    }

    .navicon::after {
        content: "";
        display: block;
        height: 100%;
        width: 80%;
        top: 9px;
        position: absolute;
        background: #00b26e;
        transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
    }

    .menu-btn:checked~.menu-icon .navicon:before {
        transform: rotate(-45deg);
        bottom: 0;
    }

    .menu-btn:checked~.menu-icon .navicon:after {
        transform: rotate(45deg);
        top: 0;
    }

    .menu-btn:checked~.menu-icon .navicon {
        background: 0;
    }

    .menu-btn:checked~.menu-icon .close-icon:before,
    .menu-btn:checked~.menu-icon .close-icon:after {
        background: #00b26e;
    }

    .menu-btn:checked~.menu-icon .close-icon:before {
        transform: rotate(45deg);
    }

    .menu-btn:checked~.menu-icon .close-icon:after {
        transform: rotate(-45deg);
    }

    header img {
        max-width: 220px;
        margin: 15px 0 15px 20px;
    }

    header h1 a {
        width: max-content;
        display: block;
        margin: 0 auto;
    }

    .a_company td,
    .a_company th {
        padding: 25px 0px 15px 20px;
    }

    .low_cont .container {
        margin-top: 45px;
    }

    #topics li h3,
    .date {
        font-size: 14px;
    }

    .cta_box {
        height: 200px;
    }

    .cta_box a p {
        font-size: 11px;
    }

    #product p.s_txt {
        font-size: 11px;
    }

    #product p.s_ttl,
    .product_list h2,
    .product_list h3 {
        font-size: 14px;
    }

    #product h3 {
        font-size: 15px;
    }

    #guide h3,
    .other h3,
    .other li p,
    .other li a {
        font-size: 15px;
    }

    .e_headline .btn {
        font-size: 12px;
    }

    .p_btn,
    #about .btn {
        font-size: 15px;
    }

    .bread,
    .bread a {
        font-size: 12px;
    }

    .fi_r p,
    .fi_l p {
        margin: 0;
        font-size: 1.35vw;
    }

    .map_link {
        font-size: 12px;
    }

    .map_link::before {
        font-size: 12px;
        top: 2px;
    }

    .fi_l p {
        padding-right: 10px;
    }

    #news_topics li p,
    #news_topics li h2 {
        font-size: 16px;
    }

    .cont_head p {
        margin: 0;
    }

    .cont_head h1 {
        font-size: 23px;
    }

    .np_cont p,
    .np_btn_in,
    .np_nav a {
        font-size: 15px;
    }

    .np_btn_in {
        width: 55%;
    }

    .gentei {
        font-size: 18px;
    }

    .about_tr th {
        width: 50%;
    }

    .main_form p {
        margin: 0 0 10px;
    }

    header li a {
        font-size: 16px;
        line-height: 3;
    }
}

@media screen and (max-width: 780px) {

    .p_img img {
        max-width: 100%;
    }

    .p_img {
        width: 35%;
    }

    .s_left {
        width: 100%;
    }

    .s_right {
        width: 100%;
    }

    .p_txt,
    .p_r .p_txt {
        width: 63%;
    }

    .p_box {
        align-items: center;
    }

    .e_txt,
    .e_img {
        width: 93%;
    }

    .s_left .p_txt {
        width: 100%;
    }

    .p_l .btn {
        margin: 20px 0 0 37%;
    }

    .p_ttl,
    .product_txt p {
        font-size: 18px;
    }

    .f_nav_l {
        width: 55%;
    }

    .f_nav_r {
        width: 40%;
    }

    .cta_box a {
        padding: 5px 5px 0 5px;
    }

    #topics ul {
        width: 100%;
        border: none;
        margin-top: 20px;
    }

    #topics h2 {
        width: 100%;
    }

    .link_box {
        width: 47%;
    }

    .sns_link {
        width: 100%;
        margin: 50px auto 0;
        justify-content: center;
    }

    .links {
        margin: 20px 0 0;
    }

    h2,
    .product_info h2 {
        font-size: 18px;
    }

    .about h2 {
        margin-bottom: 30px;
    }

    .about h3,
    .facility_list h3 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    h2 .en {
        font-size: 40px;
        padding-right: 15px;
    }

    .a_box p,
    .fl_txt p,
    .rest_l p,
    p.bt_txt,
    .bt_menu td,
    .bt_menu th {
        font-size: 14px;
    }

    #about p {
        font-size: 18px;
        margin: 40px 0 50px;
    }

    #guide li {
        width: 48%;
    }

    footer {
        background-image: url(../img/bg_green.png);
        background-position: center;
        height: auto;
        padding: 0 0 80px;
    }

    .f_logo img {
        max-width: 275px;
    }

    .f_nav_l {
        width: 55%;
    }

    .footer_l {
        width: 100%;
    }

    .footer_r {
        width: 100%;
        justify-content: center;
        margin: 50px auto 0;
    }

    .f_nav_m li {
        width: 27%;
    }

    .f_nav_r {
        width: 35%;
        margin: 0;
    }

    #mv h2 {
        font-size: 25px;
    }

    .sns_link img {
        margin: 0 10px;
    }

    .p_txt {
        font-size: 14px;
    }

    .wrap {
        max-width: 93%;
    }

    .s_area {
        max-width: 93%;
    }

    .s_left .btn {
        margin: 0;
    }

    .c_inner {
        width: 100%;
    }

    .s_guide li {
        width: 75%;
    }

    .n_watch li {
        width: 49%;
    }

    .n_watch li a::before {
        right: 15px;
        width: 25px;
        height: 12px;
    }

    .a_company p,
    .a_company table {
        font-size: 17px;
    }

    .tel_area a {
        font-size: 19px;
    }

    .f_tel img {
        max-width: 20px;
    }

    .order {
        order: 1;
    }

    .facility_nav a {
        width: 33.3%;
        margin-bottom: 30px;
        font-size: 14px;
    }

    .facility_nav a:after {
        bottom: -15px;
    }

    .car img {
        max-width: 23px;
        top: 3px;
    }

    .a_company .btn {
        font-size: 2vw;
    }

    .processing_btn a {
        font-size: 2vw;
        width: 40%;
    }

    .fl_txt small {
        font-size: 1.8vw;
        margin-left: 15px;
    }

    .sdgs_logo {
        max-width: 70px;
    }

    .store_wrap h3 {
        font-size: 18px;
		margin-top: 0;
    }

    .store_txt {
        font-size: 16px;
    }

    .store_r h4 {
        font-size: 13px;
    }

    .store_wrap .store_midashi {
        font-size: 18px;
        margin-bottom: -10%;
    }

    .facility_list {
        padding-top: 0;
    }

    .store_r h4 span {
        font-size: 10px;
    }

    .store_r p {
        font-size: 12px;
    }

    .fl_txt p a {
        font-size: 16px;
    }

    .rest_l h3 {
        font-size: 18px;
    }

    .restaurant .r_tel {
        font-size: 21px;
    }

    .rest_l .btn {
        font-size: 14px;
        width: 60%;
    }

    p.nutrition {
        font-size: 11px;
    }

    .low_cont .thumbnail {
        margin: 10px 0 0;
        flex-wrap: wrap;
    }

    .low_cont .thumbnail-img {
        width: 32.5%;
        margin-bottom: 5px;
    }

    .other_facility {
        margin-bottom: 100px;
        margin-top: -50px;
    }

    .other li {
        width: 48%;
        margin-bottom: 45px;
    }

    .lc_txt {
        width: 100%;
        font-size: 14px;
        margin-bottom: 30px;
    }

    .lc_form {
        width: 85%;
        margin: 0 auto;
    }

    .lc_form th,
    .lc_form td {
        font-size: 14px;
    }

    .lc_form .must {
        font-size: 10px;
        margin-top: 0px;
    }

    input.btn {
        width: 40%;
        font-size: 16px;
    }

    .cb_txt h3 {
        font-size: 18px;
    }

    .cb_txt h3 small,
    .cb_txt h3 span,
    .colabo_link h3 {
        font-size: 15px;
    }

    .cb_txt p {
        font-size: 14px;
    }

    .p_top {
        right: 10px;
    }

    .p_top a {
        padding: 6px 11px;
    }

    .p_top .fa-angle-up:before {
        font-size: 20px;
    }

    .point_list li {
        width: 45%;
    }

    .point_list h3 {
        font-size: 17px;
    }

    .fc_new .a_btn a {
        width: 65%;
    }

    .p_main_txt {
        font-size: 15px;
    }

    .product_main li {
        width: 48%;
        margin-bottom: 30px;
        font-size: 14px;
    }

    .product_main li img {
        width: 30%;
        margin: 0 auto 15px;
    }

    .product_main li h3 {
        font-size: 16px;
    }

    .comp_img {
        width: 80%;
    }

    .product_txt .btn {
        font-size: 14px;
        padding: 15px 15%;
        right: 0;
        left: 0;
        margin: 0 auto;
        width: fit-content;
    }

    .product_wrap_b .product_txt h3 {
        margin: 0 0 20px 0;
    }

    .product_wrap_b .product_txt {
        text-align: left;
    }

    .product_txt {
        margin-top: 30px;
    }

    .how_to li {
        width: 48%;
        font-size: 16px;
        margin-bottom: 30px;
    }

    .product_sub p {
        font-size: 14px;
    }

    .product_sub h3 {
        font-size: 16px;
    }

    .main_form {
        width: 100%;
        margin-top: 60px;
    }

    .main_form .must {
        font-size: 13px;
        margin-left: 5px;
    }

    .product_nav a {
        width: 50%;
    }
}

@media screen and (max-width: 650px) {
    #mv .wrap {
        max-width: 100%;
    }

    #mv span {
        padding: 5px 15px;
    }

    #mv h2 {
        font-size: 18px;
        bottom: 20%;
    }

    #mv .space {
        left: 35px;
        top: 15px;
    }

    #mv {
        padding: 0px 0 30px;
    }

    header h1 a {
        margin: unset;
    }

    #topics li a {
        font-size: 14px;
        display: block;
    }

    #topics li {
        margin-bottom: 10px;
    }

    #topics h2 {
        font-size: 18px;
    }

    .cta_box a {
        padding: 3px 2px 3px;
        border-radius: 10px 0 0 10px;
        display: flex;
        height: 100px;
        justify-content: center;
    }

    .cta_r a {
        top: 46%;
    }

    .cta_box img {
        max-width: 16px;
        margin: 0 auto 5px;
    }

    .link_box {
        width: 80%;
    }

    h2 .en {
        font-size: 35px;
        display: block;
        line-height: 1;
    }

    h2 {
        font-size: 17px;
        line-height: 1.5;
    }

    #about p {
        font-size: 17px;
    }

    #guide li {
        width: 100%;
    }

    .p_img {
        width: 80%;
        margin: 0 auto;
    }

    .p_txt,
    .p_r .p_txt {
        width: 100%;
    }

    #efforts li {
        width: 100%;
    }

    .e_txt,
    .e_img {
        width: 100%;
    }

    .e_img {
        margin-bottom: 15px;
    }

    .f_nav_m {
        width: 96%;
        margin: 0 auto;
    }

    .f_nav_m li {
        width: 50%;
    }

    .f_nav_r a {
        font-size: 13px;
    }

    .f_nav_m li a {
        font-size: 13px;
    }

    header img {
        max-width: 200px;
        margin: 15px 0 15px 20px;
        width: auto;
        min-width: auto;
    }

    .sp-menu ul {
        width: 75%;
    }

    .p_box {
        flex-direction: row-reverse;
        justify-content: center;
    }

    .p_r h3 {
        margin-left: unset;
    }

    .p_r .p_txt {
        text-align: left;
    }

    .p_ttl {
        font-size: 16px;
    }

    .p_r {
        flex-direction: column-reverse;
    }

    .s_area {
        margin: 60px auto 90px;
    }

    .p_r .p_txt {
        margin: 0;
    }

    .center-mode li p.s_ttl {
        font-size: 14px !important;
    }

    .center-mode li p.s_txt {
        font-size: 12px !important;
    }

    .low_cont li {
        width: 100%;
        margin-bottom: 45px;
    }

    .low_cont li iframe {
        height: 220px;
    }

    .n_watch li {
        width: 100%;
    }

    .s_guide li {
        width: 100%;
    }

    .n_watch li a {
        font-size: 17px;
    }

    .n_links a {
        width: 100%;
    }

    .mv_low p,
    h2.en {
        font-size: 48px;
    }

    .mv_low h1,
    .mv_low span {
        font-size: 18px;
    }

    .low_cont {
        padding: 0 0 60px;
    }

    .six_img,
    .a_box_img,
    .a_box_txt,
    .fl_txt,
    .fl_img {
        width: 100%;
    }

    .a_box_img,
    .fl_img {
        margin-bottom: 30px;
    }

    .c_box {
        width: 100%;
        margin-bottom: 20px;
    }

    .a_company .btn {
        width: 70%;
        margin: 0 auto;
        font-size: 3vw;
    }

    .processing_btn a {
        width: 70%;
        font-size: 3vw;
    }

    .a_company td,
    .a_company th {
        padding: 25px 0px 15px 10px;
        font-size: 2.5vw;
    }

    .fi_l,
    .fi_r {
        width: 100%;
    }

    .fi_l {
        border-right: none;
        border-bottom: dotted 1px #333333;
        margin-bottom: 15px;
        padding-bottom: 10px;
    }

    .facility_info th,
    .facility_info td {
        font-size: 2vw;
    }

    .fi_r p,
    .fi_l p {
        font-size: 14px;
    }

    .sdgs_wrap img {
        width: 90%;
        margin: 0 auto;
    }

    .sdgs_wrap p {
        font-size: 3vw;
        margin: 20px 0 30px;
        width: 100%;
    }

    .sdgs_wrap a {
        width: 50%;
        font-size: 2.2vw;
        margin: 0 auto;
    }

    .efforts_info span {
        font-size: 13px;
    }

    .sdgs_box p {
        text-align: left;
    }

    .sdgs_box div {
        width: 100%;
    }

    .sdgs_box img {
        margin-left: auto;
    }

    .sdgs_box a {
        width: 50%;
    }

    .fl_txt small {
        font-size: 13px;
    }

    .store_wrap li {
        width: calc(50% - 10px);
    }

    .store_wrap .btn {
        width: 40%;
        font-size: 14px;
    }

    .fl_txt .btn,
    .a_box_txt .btn {
        width: 40%;
        margin: 20px auto 0;
        font-size: 14px;
    }

    .rest_l,
    .rest_r {
        width: 100%;
    }

    .restaurant_box {
        flex-direction: column-reverse;
    }

    .rest_r {
        margin-bottom: 20px;
    }

    .restaurant .r_tel {
        font-size: 30px;
        text-align: center;
        display: block;
    }

    .r_tel img {
        max-width: 7%;
        margin-right: 5px;
    }

    .rest_l .btn {
        font-size: 14px;
        width: 65%;
        margin: 10px auto 0;
    }

    .recycle .flex p {
        width: 100%;
        font-size: 2.3vw;
        margin-bottom: 20px;
    }

    .recycle h2 {
        width: 70%;
    }

    .recycle .flex img {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    .recycle {
        margin-top: 90px;
    }

    .recycle::before {
        top: -7%;
        right: 0;
        width: 15%;
        height: 12%;
    }

    .efforts_nav a {
        width: 50%;
    }

    .fi_l p {
        padding-right: 0px;
    }

    .aw_info .fi_l,
    .aw_info .fi_r {
        display: none;
    }

    p.aw_txt {
        display: block;
        font-size: 14px;
        margin: 0;
    }

    .lc_form {
        width: 100%;
    }

    .lc_form th {
        width: 35%;
    }

    input.btn {
        width: 65%;
    }

    .cb_img {
        width: 80%;
        margin: 0 auto;
    }

    .cb_txt {
        width: 100%;
        margin-top: 30px;
    }

    .colabo_link li {
        width: 48%;
    }

    .cb_txt .flex {
        margin-top: 30px;
    }

    #news_topics li {
        margin-bottom: 0;
    }

    #news_topics li a {
        display: block;
    }

    .a_btn a {
        font-size: 12px;
        width: 100%;
    }

    .g_btn a {
        width: 65%;
    }

    .np_btn_in,
    .product_img,
    .product_txt {
        width: 100%;
    }

    .np_nav img {
        width: 100%;
        max-width: 23px;
    }

    .product_process li {
        margin-bottom: 20%;
    }

    .product_process li::after {
        bottom: -20%;
        left: 0;
        right: 0;
        width: 15%;
        height: 10%;
    }

    .product_info {
        padding: 160px 0 0;
    }

    .gentei {
        font-size: 19px;
    }

    .about_tr th {
        width: 50%;
    }

    .main_form p {
        width: 100%;
        font-size: 14px;
        line-height: 1.7;
    }

    .main_form input,
    .main_form select {
        font-size: 14px;
    }

    .news_topics .np_img img {
        width: 100%;
    }

    .news_topics .main_np_cont img {
        width: 100%;
    }
}

@media screen and (max-width: 450px) {

    .low_cont h3,
    .low_cont li p {
        font-size: 15px;
    }

    .s_guide li a {
        font-size: 14px;
        padding: 5px 0;
    }

    .s_guide li img,
    .np_btn_in img {
        max-width: 17px;
        right: 5px;
    }

    .s_guide li::after {
        bottom: -10px;
    }

    .s_guide ul {
        margin-top: 35px;
    }

    .n_watch ul {
        margin: 35px 0 30px;
    }

    .a_company p,
    .a_company table {
        font-size: 14px;
    }

    .a_company th {
        width: 27%;
    }

    .f_nav_r a,
    .f_nav_l a,
    .sub_nav li a {
        font-size: 12px;
    }

    .footer_r li a::before {
        font-size: 12px;
        top: 0;
        left: -15px;
    }

    .footer_r li a.ins::before,
    .footer_r li a.tw::before,
    .footer_r li a.fb::before {
        left: -15px;
    }

    .f_nav_r {
        width: 40%;
    }

    .a_company .btn,
    .processing_btn a {
        font-size: 4vw;
    }

    .a_company td,
    .a_company th {
        font-size: 3vw;
    }

    .facility_info th,
    .facility_info td {
        font-size: 14px;
    }

    .facility_nav {
        margin: 70px 0 40px;
    }

    .sdgs_wrap p {
        font-size: 18px;
    }

    .sdgs_wrap a {
        font-size: 3.2vw;
    }

    .s_calendar img {
        width: 100%;
        margin-bottom: 30px;
    }

    .s_calendar {
        padding: 20px 0 60px;
    }

    .store_wrap li {
        width: 100%;
    }

    .store_wrap .btn,
    .fl_txt .btn,
    .a_box_txt .btn {
        width: 70%;
    }
	
	.store_wrap .btn{
        margin-bottom:10%;
    }
	
    .restaurant_table::before {
        width: 110px;
        height: 30px;
    }

    .other h3,
    .other li p,
    .other li a {
        font-size: 14px;
    }

    .recycle h2 {
        width: 85%;
    }

    .recycle .flex p {
        font-size: 4.3vw;
    }

    .recycle .flex img,
    .comp_img {
        width: 100%;
    }

    .lc_form table {
        border-spacing: 10px;
    }

    .point_list h3 {
        font-size: 16px;
    }

    .cont_head h1 {
        font-size: 20px;
    }

    .product_process li::after {
        bottom: -15%;
    }

    .how_to li {
        width: 49%;
        font-size: 14px;
    }

    .how_to {
        margin: 140px 0 0px;
    }

    .product_nav a {
        font-size: 13px;
    }

    .main_form table {
        border-spacing: 0 20px;
    }

    .bt_menu td,
    .bt_menu th {
        font-size: 12px;
    }
	
	.store_wrap ul{
		margin-bottom:0;
	}
}

.fl_slide.slick-dotted.slick-slider {
    padding: 0 0 30px;
}

.fl_slide.slick-initialized .slick-slide {
    transform: scale(1);
}

.fl_slide.slick-slider .slick-list {
    padding: 0;
}

.fl_slide .slick-prev,
.fl_slide .slick-next {
    top: 60%;
    width: 35px !important;
    height: 35px !important;
}

.fl_slide .slick-prev {
    left: 0% !important;
}


.fl_slide .slick-next {
    right: 0% !important;
}

.mv_slide li.slick-center {
    transform: scale(1);
}

.mv_slide li {
    transition: transform .5s;
}

.mv_wrap {
    margin: 100px 0 0;
    position: relative;
}

.mv_wrap .slick-dots li button:before {
    font-size: 80px;
}

.mv_wrap .slick-dots li {
    width: 30px;
    height: 60px;
}

.mv_wrap .slick-dots li button {
    width: 80px;
    height: 80px;
}

@media screen and (max-width: 1080px) {
    .mv_wrap .slick-dots li {
        width: 20px;
        height: 20px;
    }

    .mv_wrap .slick-dots li button {
        width: 60px;
        height: 60px;
    }

    .mv_wrap .slick-dots {
        bottom: -25px !important;
    }
}

@media screen and (max-width: 780px) {
    #mv h2 {
        left: 0%;
    }
}

#guide ul li a {
    position: relative;
}

#guide ul li a::before {
    position: absolute;
    content: "";
    top: -6%;
    left: -40%;
    width: 100%;
    height: 12%;
}

.f_icon1::before {
    background: url(../img/facility_icon01.png) center / contain no-repeat;
}

.f_icon2::before {
    background: url(../img/facility_icon02.png) center / contain no-repeat;
}

.f_icon3::before {
    background: url(../img/facility_icon03.png) center / contain no-repeat;
}

.f_icon4::before {
    background: url(../img/facility_icon04.png) center / contain no-repeat;
}

.f_icon5::before {
    background: url(../img/facility_icon05.png) center / contain no-repeat;
}

.f_icon6::before {
    background: url(../img/facility_icon06.png) center / contain no-repeat;
}

/* 2025 */

#mv {
    background: url(../img/bg_mv.png) bottom / contain no-repeat;
    padding: 120px 0 20px;
    margin: 0;
}

#mv .slick-slide img {
    border-radius: 32px;
}

.mv_wrap {
    margin: 0;
}

.main_body {
    font-family: "kozuka-gothic-pro", sans-serif;
}

.main_head {
    text-align: center;
}

.main_head p {
    font-size: 1.25vw;
    font-weight: 500;
    letter-spacing: 2px;
    color: #56B746;
}

.main_head h2 {
    font-size: 2.2vw;
    line-height: 1.6;
    font-weight: 700;
}

.n_btn {
    display: block;
    text-align: center;
    width: 30%;
    min-width: 260px;
    margin: auto;
    color: #fff;
    background: #56B746;
    border: solid 2px #56B746;
    font-size: .85vw;
    line-height: 3.5;
    border-radius: 45px;
    position: relative;
    font-weight: 500;
}

.n_btn::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5%;
    background: url(../img/n_arrow1.png) center / contain no-repeat;
    width: 20px;
    height: 100%;
    transition: .25s;
    opacity: 1;
}

.n_btn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5%;
    background: url(../img/n_arrow2.png) center / contain no-repeat;
    width: 20px;
    height: 100%;
    transition: .25s;
    opacity: 0;
}

.n_btn:hover {
    background: #fff;
    color: #56B746;
    opacity: 1;
}

.n_btn:hover::before {
    opacity: 1;
}

.n_btn:hover::after {
    opacity: 0;
}

.btn_r {
    background: #fff;
    color: #56B746;
    border: solid 2px #fff;
}

.btn_r::before {
    background: url(../img/n_arrow1.png) center / contain no-repeat;
}

.btn_r::after {
    background: url(../img/n_arrow2.png) center / contain no-repeat;
}

.btn_r:hover {
    background: #56B746;
    color: #fff;
    border: solid 2px #56B746;
}

@media screen and (max-width: 1200px) {
    .main_body main {
        margin: 0;
    }

    .mv_wrap .slick-dots {
        bottom: 25px !important;
    }

    .main_head h2 {
        font-size: 2.6vw;
    }

    .main_head p {
        font-size: 1.5vw;
    }

    .n_btn {
        font-size: 1.3vw;
        line-height: 3.2;
    }
}

@media screen and (max-width: 1023px) {
    #mv .slick-dotted.slick-slider {
        padding-bottom: 7%;
    }
}

@media screen and (max-width: 780px) {
    .mv_wrap .slick-dots li button:before {
        font-size: 60px;
    }

    #mv {
        padding: 70px 0 30px;
    }

    .mv_wrap .slick-dots {
        bottom: 10px !important;
    }

    .main_head p {
        font-size: 16px;
    }

    .main_head h2 {
        font-size: 22px;
    }
}

/* サービス */

#service {
    padding: 120px 0 100px;
}

#service ul {
    margin: 80px auto 0;
}

#service ul li {
    width: 18.5%;
    margin: 0 0 40px;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#service ul li a {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

#service ul li a:hover {
	opacity:1;
}

.s_head {
    text-align: center;
    background: #56B746;
    color: #fff;
    padding: 10px 0 5px;
}

.s_head span {
    display: block;
    background: #fff;
    color: #56B746;
    padding: 0 5%;
    font-size: .7vw;
    width: fit-content;
    margin: auto;
    line-height: 1.7;
    font-weight: 700;
}

.s_head h3 {
    font-size: 0.9vw;
    font-weight: 500;
    line-height: 1.4;
    margin: 5px 0 0;
}

.s_body {
    flex-grow: 1;
}

.s_body div {
    opacity: 0;
    transition: .25s;
    background: rgba(51, 51, 51, .65);
    padding: 45px 10% 40px;
    height: 100%;
}

#service ul li:hover div {
    opacity: 1;
}

.s_body p {
    font-size: .7vw;
    color: #fff;
    font-weight: 500;
    line-height: 2;
    margin: 0 auto 15px;
}

.s_body .n_btn {
    font-size: .6vw;
    line-height: 3.5;
    min-width: auto;
    width: 80%;
    border: solid 1px #fff;
}

#service .n_btn::after,
#service .n_btn::before {
    width: 15px;
}

#service ul li:nth-child(1) .s_body {
    background: url(../img/service1.jpg) center / cover no-repeat;
}

#service ul li:nth-child(2) .s_body {
    background: url(../img/service2.jpg) center / cover no-repeat;
}

#service ul li:nth-child(3) .s_body {
    background: url(../img/service3.jpg) center / cover no-repeat;
}

#service ul li:nth-child(4) .s_body {
    background: url(../img/service4.jpg) center / cover no-repeat;
}

#service ul li:nth-child(5) .s_body {
    background: url(../img/service5.jpg) center / cover no-repeat;
}

#service ul li:nth-child(6) .s_body {
    background: url(../img/service6.jpg) center / cover no-repeat;
}

#service ul li:nth-child(7) .s_body {
    background: url(../img/service7.jpg) center / cover no-repeat;
}

#service ul li:nth-child(8) .s_body {
    background: url(../img/service8.jpg) center / cover no-repeat;
}

#service ul li:nth-child(9) .s_body {
    background: url(../img/service9.jpg) center / cover no-repeat;
}

#service ul li:nth-child(10) .s_body {
    background: url(../img/service10.jpg) center / cover no-repeat;
}

.s_body img {
    display: none;
}

.s_head strong {
	font-weight:500;
}

@media screen and (max-width: 1200px) {
    #service ul li {
        width: 30%;
    }

    .s_head h3 {
        font-size: 1.4vw;
    }

    .s_head span {
        font-size: 1vw;
    }
}

@media screen and (max-width: 780px) {
    #service {
        padding: 90px 0 100px;
		padding-bottom:0;
    }

    #service ul {
        margin: 50px auto 0;
    }

    #service ul li {
        width: 47%;
        border-radius: 10px;
		margin-bottom:0;
    }

    .s_body img {
        display: block;
        border-radius: 0 0 10px 10px;
        object-fit: cover;
        height: 120px;
        margin: 0 0 10px;
    }

    .s_head {
        padding: 5px 0;
    }

    .s_head span {
        font-size: 12px;
    }

    .s_head h3 {
        font-size: 18px;
    }
	
	.s_head.s_head2 h3 {
        margin-top: 9px;
    }

    .s_body div {
        opacity: 1;
        padding: 0 0 30px;
        display: flex;
        flex-direction: column;
        background: transparent;
    }

    .s_body p {
        font-size: 12px;
        flex-grow: 1;
        color: #515151;
    }

    .s_body .n_btn {
        font-size: 11px;
        line-height: 3.2;
        width: 70%;
        max-height: 30px;
        flex-grow: 1;
        background: #56b746;
        color: #fff;
    }

    .s_body .n_btn::after {
        background: no-repeat center / contain url(../img/n_arrow1.png);
    }

    #service ul li .s_body {
        background: none !important;
    }
}

@media screen and (max-width: 550px) {
    .s_head h3 {
        font-size: 15px;
    }

    .s_head span {
        font-size: 9px;
    }

    .s_body .n_btn {
        width: 90%;
        line-height: 2.8;
    }
	
.s_head strong {
	font-weight:500;
	font-size:10px;
	display:block;
}
	.s_head {
        min-height: 65px;
    }
}

/* オリジナル商品紹介 */

.p_top_img {
    width: 88%;
    margin: auto;
}

.products_box {
    background: #56B746;
    position: relative;
    max-width: 80%;
    margin: 0 0 0 auto;
    top: -220px;
    padding: 40px 0 0px;
}

.products_wrap {
    position: relative;
    z-index: 5;
    margin: 0 0 0 auto;
    max-width: 95%;
}

#products .main_head {
    text-align: left;
    width: 30%;
}

.products_btn {
    width: 70%;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

#products .main_head p,
#products .main_head h2 {
    color: #fff;
}

#products .n_btn {
    border: solid 2px #fff;
    width: 25%;
}

#products .sp {
    display: none;
}

.products_cont {
    margin: 0 .4%;
    position: relative;
}

.products_cont::after {
    content: "";
    position: absolute;
    background: no-repeat center / contain url(../img/n_arrow4.png);
    right: 0;
    bottom: -20px;
    width: 24px;
    height: 24px;
    transition: .25s;
    opacity: 1;
}

.products_cont::before {
    content: "";
    position: absolute;
    background: no-repeat center / contain url(../img/n_arrow3.png);
    right: 0;
    bottom: -20px;
    width: 24px;
    height: 24px;
    transition: .25s;
    opacity: 0;
}

.products_cont:hover::before {
    opacity: 1;
}

.products_cont:hover::after {
    opacity: 0;
}

.products_cont img {
    border-radius: 15px;
    margin-bottom: 20px;
    height: 280px;
    object-fit: cover;
}

.products_slide .slick-list {
    padding: 0 5% 0 0 !important;
}

.products_slide .slick-dots {
    display: flex;
    justify-content: space-between;
    width: 70%;
    right: 10%;
    bottom: 16% !important;
}

.products_slide .slick-dots li {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 3px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    background: #98F995;
    overflow: hidden;
}

.products_slide .slick-dots li.slick-active button {
    background: #fff;
    width: 0;
}

.products_slide .slick-dots li button:before {
    content: none;
}

#products .slick-dotted.slick-slider {
    padding: 0;
}

#products .slick-prev,
#products .slick-next {
    top: auto;
    bottom: 0;
    background: transparent !important;
}

#products .slick-prev {
    left: 0 !important;
}

#products .slick-next {
    right: auto;
    left: 12% !important;
}

#products .slick-initialized .slick-slide {
    transform: scale(0.9);
}

#products .slick-next:before {
    background: no-repeat center / contain url(../img/products_next.png);
    content: "";
    width: 65px;
    height: 24px;
    display: block;
    opacity: 1;
}

#products .slick-prev:before {
    background: no-repeat center / contain url(../img/products_prev.png);
    content: "";
    width: 65px;
    height: 24px;
    display: block;
    opacity: 1;
}

#products .slick-slider .slick-track {
    padding: 20px 0 150px;
}

.products_cont h3 {
    color: #fff;
    font-size: .95vw;
    margin: 10px 0 5px;
}

.products_cont p {
    color: #fff;
    font-size: .9vw;
    font-weight: 400;
}

.products_cont a:hover {
    opacity: 1;
}

@media screen and (max-width: 1200px) {
    .products_cont h3 {
        font-size: 1.6vw;
    }

    .products_cont p {
        font-size: 1.4vw;
    }

    .products_box {
        max-width: 90%;
        padding: 60px 0 0px;
    }

    .products_cont img {
        height: 200px;
    }
}

@media screen and (max-width: 780px) {
    .products_box {
        max-width: 100%;
        padding: 50px 0 0px;
    }

    .products_btn {
        display: none;
    }

    #products .main_head {
        text-align: center;
        width: 100%;
    }

    .products_cont h3 {
        font-size: 18px;
    }

    .products_cont p {
        font-size: 14px;
    }

    #products .slick-next {
        right: 10% !important;
    }

    .products_slide .slick-dots {
        width: 85%;
        right: 0;
        left: 0;
        margin: auto;
        bottom: 25% !important;
    }

    #products .sp {
        display: block;
        width: 100%;
    }

    #products .n_btn {
        font-size: 14px;
        width: 70%;
        margin: 0 auto 20px;
    }

    .products_box {
        padding: 50px 0 40px;
        top: -30px;
    }
}

/* エイジェックファームについて */

#about-us {
    padding: 0 0 140px;
    margin: -50px 0 0;
    background: no-repeat bottom / contain url(../img/bg_about.png);
}

.about_txt {
    font-size: .9vw;
    text-align: center;
    margin: 60px 0 40px;
    line-height: 2.5;
}

#about-us img {
    width: 55%;
    margin: 20px auto;
}

#about-us .map_img {
    margin: 70px auto 0;
}

#about-us .btn_area {
    display: flex;
    width: 80%;
    margin: 0 auto;
    margin-bottom: 5%;
}

#about-us .n_btn {
    line-height: 4.5;
    color: #56B746;
    background: #fff;
    border: solid 2px #56B746;
    font-weight: bold;
}

#about-us .n_btn::after {
    background: url(../img/n_arrow2.png) center / contain no-repeat;
}

#about-us .n_btn::before {
    background: url(../img/n_arrow1.png) center / contain no-repeat;
}

#about-us .n_btn:hover {
    color: #fff;
    background: #56B746;
    border: solid 2px #56B746;
}


@media screen and (max-width: 1200px) {

    .about_txt {
        font-size: 1.4vw;
    }

    #about-us img {
        width: 85%;
        margin: 20px auto;
    }
}

@media screen and (max-width: 900px) {

    #about-us .btn_area {
        width: 100%;
    }
}

@media screen and (max-width: 780px) {
    .about_txt {
        font-size: 14px;
        text-align: left;
    }

    .about_txt br {
        display: none;
    }

    #about-us img {
        width: 100%;
    }

    #about-us {
        margin: 40px 0 0;
    }

    #about-us .btn_area {
        display: block;
        width: 90%;
        margin-bottom: 15%;
    }

    #about-us .n_btn {
        font-size: 14px;
        width: 50%;
        margin-bottom: 6%;
        line-height: 3.5;
    }
}

/* お知らせ */

#news {
    padding: 130px 0;
}

#news .n_btn {
    margin: 60px 0 70px;
    width: 85%;
    line-height: 4;
}

#news .main_head {
    text-align: left;
}

.sns_box {
    text-align: center;
    font-size: 1.2vw;
    font-weight: 700;
}

.sns_box a {
    display: inline-block;
    margin: 30px 3% 0;
}

.news_head {
    width: 30%;
}

.news_body {
    width: 65%;
}

.news_body ul li {
    margin: 0 0 15px;
    padding: 0 0 15px;
    border-bottom: solid 1px #56B746;
    position: relative;
}

.news_body ul li::after {
    content: "";
    position: absolute;
    background: no-repeat center / contain url(../img/n_arrow4.png);
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 24px;
    height: 24px;
    transition: .25s;
    opacity: 1;
}

.news_body ul li::before {
    content: "";
    position: absolute;
    background: no-repeat center / contain url(../img/n_arrow3.png);
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 24px;
    height: 24px;
    transition: .25s;
    opacity: 0;
}

.news_body ul li:hover::before,
.news_body ul li:hover a {
    opacity: 1;
}

.news_body ul li:hover::after {
    opacity: 0;
}

.news_img {
    width: 21%;
}

.news_img img {
    border-radius: 17px;
}

.news_txt {
    width: 70%;
}

.news_txt p {
    font-size: .8vw;
    font-weight: 400;
}

.news_txt h3 {
    font-size: 1vw;
    font-weight: 600;
    transition: .25s;
}

.news_body ul li a {
    align-items: center;
}

.news_body ul li a:hover h3 {
    color: #56B746;
}

@media screen and (max-width: 1200px) {
    #news .n_btn {
        line-height: 3.2;
        min-width: 170px;
    }

    .news_txt p {
        font-size: 1.3vw;
        margin: 0 0 20px;
    }

    .news_txt h3 {
        font-size: 1.35vw;
    }
}

@media screen and (max-width: 780px) {
    #news {
        padding: 70px 0;
    }

    #news .main_head {
        text-align: center;
    }

    .news_head {
        width: 100%;
    }

    .news_body {
        width: 100%;
        margin: 40px 0 0;
    }

    #news .n_btn {
        margin: 30px auto 50px;
        width: 70%;
        font-size: 14px;
    }

    .sns_box {
        font-size: 18px;
    }

    .sns_box a {
        margin: 10px 3% 0;
        max-width: 40px;
    }

    .news_img {
        width: 20%;
    }

    .news_txt {
        width: 76%;
    }

    .news_txt h3 {
        font-size: 14px;
        line-height: 1.6;
    }

    .news_txt p {
        font-size: 12px;
        margin: 0 0 5px;
    }

    .news_body li a {
        align-items: center;
        padding: 0 8% 0 0;
    }
}

/* 取り組み */

#effort {
    padding: 20px 0 160px;
    background: no-repeat bottom / contain url(../img/bg_efforts_top.jpg);
}

#effort ul {
    margin: 70px 0 0;
}

#effort ul li {
    width: 22%;
    margin: 0 0 70px;
}

#effort ul li h3 {
    font-size: 1vw;
    margin: 10px 0;
    position: relative;
    transition: .25s;
    line-height: 1.7;
}

#effort ul li h3::after {
    content: "";
    position: absolute;
    background: no-repeat center / contain url(../img/n_arrow5.png);
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 24px;
    height: 24px;
    transition: .25s;
    opacity: 1;
}

#effort ul li h3::before {
    content: "";
    position: absolute;
    background: no-repeat center / contain url(../img/n_arrow4.png);
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 24px;
    height: 24px;
    transition: .25s;
    opacity: 0;
}

#effort ul li a:hover h3 {
    color: #56B746;
}

#effort ul li a:hover h3::before,
#effort ul li a:hover {
    opacity: 1;
}

#effort ul li a:hover h3::after {
    opacity: 0;
}

#effort ul li p {
    font-size: .8vw;
    line-height: 2;
}

@media screen and (max-width: 1200px) {
    #effort .wrap {
        max-width: 76%;
    }

    #effort ul {
        justify-content: space-evenly;
    }

    #effort ul li {
        width: 28%;
    }

    #effort ul li h3 {
        font-size: 1.5vw;
    }

    #effort ul li p {
        font-size: 1.35vw;
    }
}

@media screen and (max-width: 780px) {
    #effort .wrap {
        max-width: 93%;
    }

    #effort ul li {
        width: 45%;
    }

    #effort ul li img {
        width: 60%;
        margin: 0 auto;
    }

    #effort ul li h3 {
        font-size: 18px;
    }

    #effort ul li p {
        font-size: 14px;
    }
}

@media screen and (max-width: 550px) {
    #effort ul li h3 {
        font-size: 16px;
        padding: 0 15% 0 0;
    }

    #effort ul li img {
        width: 100%;
    }

    #effort ul li h3:after,
    #effort ul li h3:before {
        width: 15px;
        height: 15px;
    }
}

/* グループ関連 */

#group {
    padding: 100px 0 120px;
}

#group .wrap {
    max-width: 60%;
}

#group ul {
    margin: 70px 0 0;
}

#group ul li {
    width: 31%;
    margin: 0 0 60px;
}

#group ul.logo_list {
    border-top: solid 1px #56B746;
    padding: 60px 0 0;
    margin: 0;
}

@media screen and (max-width:1200px) {
    #group .wrap {
        max-width: 76%;
    }
}

@media screen and (max-width:780px) {
    #group .wrap {
        max-width: 93%;
    }

    #group ul li {
        width: 48%;
        margin: 0 0 20px;
    }

    #group ul.logo_list {
        padding: 20px 0 0;
    }
}

/* フッター */

.n_footer {
    position: relative;
}

.copy_wright {
    position: absolute;
    bottom: 0;
    font-size: .8vw;
    color: #fff;
    background: #56B746;
    line-height: 4;
    width: 100%;
    text-align: center;
}

.main_body .p_top a {
    padding: 5px 10px 0px;
}

@media screen and (min-width: 1460px) {
    footer.n_footer {
        height: 75vw;
    }
}

@media screen and (max-width:1200px) {
    .copy_wright {
        font-size: 12px;
        line-height: 3;
    }
}

/* ナビ */

header.n_header {
    padding: 0 0 0 2%;
}

.n_header h1,
.n_header nav {
    display: inline-block;
}

.n_header nav {
    width: 55%;
    position: relative;
    z-index: 99;
}

.search_btn {
    color: #669900;
    position: relative;
    font-size: 1.1vw;
    width: 2%;
    text-align: center;
}

.h_contact_btn {
    width: 20%;
}

.h_contact_btn a {
    border-radius: 30px;
    border: solid 2px #669900;
    line-height: 3;
    color: #669900;
}

.h_contact_btn a:hover {
    background-color: #669900;
    color: #fff;
}

ul#search-menu {
    width: 30%;
}

#search-menu form {
    border-bottom: solid 2px #525252;
    position: relative;
}

#search-menu form button {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    background: transparent;
    border: none;
}

#search-menu form input {
    width: 100%;
    line-height: 3;
    border: none;
}

#dropdown-container {
    display: none;
    position: fixed;
    top: 6.5%;
    left: 0;
    right: 0;
    justify-items: center;
    width: 100%;
    padding: 1% 0 2%;
    z-index: 50;
    background: #fff;
}

#g-nav p a {
    border-bottom: 1.5px dotted #555;
    line-height: 1.4;
    padding: 0 0 5px;
    font-size: 1.1vw;
    font-weight: 700;
}

#g-nav p a:hover {
    cursor: pointer;
}

#g-nav p a:hover {
    color: #669900;
}

#g-nav .box {
    margin: 0 0 20px auto;
    width: 85%;
}

#g-nav p span {
    display: block;
    font-size: .6vw;
    line-height: 1.7;
    color: #669900;
    font-weight: 500;
    text-align: left;
}

#g-nav.panelactive {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}

.circle-bg {
    position: fixed;
    z-index: 998;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #EFF5D9;
    transform: scale(0);
    top: -50px;
    left: calc(50% - 50px);
    transition: all .6s;
}

.circle-bg.circleactive {
    transform: scale(50);
}

#g-nav-list {
    display: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav-list .left,
#g-nav-list .center2,
#g-nav-list .right,
#g-nav-list .center {
    width: 25%;
}

#g-nav.panelactive #g-nav-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 95%;
    margin: 1% auto 0;
}

#g-nav {
    opacity: 0;
}

#g-nav.panelactive {
    opacity: 1;
    overflow-y: auto;
}

#g-nav .box ul {
    margin: 10px 0;
}

#g-nav .box ul li {
    position: relative;
}

#g-nav .box ul li::after {
    content: '\f061';
    font-family: "Font Awesome 5 Free";
    font-size: 1vw;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    transition: .5s;
    font-weight: 600;
}

#g-nav .box ul li:hover::after {
    color: #669900;
}

#g-nav .box ul li a {
    font-size: 0.9vw;
    display: block;
    font-weight: 600;
    line-height: 2.5;
}

#g-nav .box ul li a:hover {
    color: #669900;
}

#g-nav.panelactive ul li,
#g-nav-list .right h2,
#g-nav-list .left .p-oc .link,
#g-nav-list p,
#g-nav-list img {
    animation-name: gnaviAnime;
    animation-duration: 1s;
    animation-delay: .2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes gnaviAnime {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.openbtn {
    position: relative;
    top: 0;
    right: 0;
    z-index: 9999;
    background: #669900;
    cursor: pointer;
    width: 90px;
    height: 90px;
    overflow: hidden;
}

.openbtn .openbtn-area {
    transition: all .4s;
}

.openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    height: 1px;
    background: #fff;
    width: 60%;
}

.openbtn span:nth-of-type(1) {
    top: 14px;
}

.openbtn span:nth-of-type(2) {
    top: 30px;
}

.openbtn span:nth-of-type(3) {
    top: 46px;
}

.openbtn.active .openbtn-area {
    transform: rotateX(360deg);
}

.openbtn.active span:nth-of-type(1) {
    top: 24px;
    transform: translateY(6px) rotate(-135deg);
    width: 50%;
}

.openbtn.active span:nth-of-type(2) {
    opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
    top: 35px;
    transform: translateY(-6px) rotate(135deg);
    width: 50%;
}

.openbtn p {
    position: absolute;
    border: 0;
    text-align: center;
    bottom: 18%;
    left: 0;
    right: 0;
    letter-spacing: .034em;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
}

.nav_img {
    width: 100%;
    margin: 0 0 4%;
}

.nav_img img {
    width: 23%;
    min-width: 180px;
}

.main_body header .pc li:last-child a {
    color: #515151;
    display: block;
    text-align: left;
    align-items: unset;
    padding: 0;
    font-weight: 700;
    min-height: auto;
}

#g-nav .box {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 20px;
}

#g-nav .sub_nav {
    margin: 0;
    margin-left: 10%;
}

#g-nav .sna_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1vw;
    text-align: left;
    width: 70%;
    margin: 0 auto;
    margin-top: 15%;
}

.main_body header .pc li:last-child img {
    width: 15%;
    min-width: 30px;
    margin: 0;
}

#g-nav .sna_box a {
    width: 5%;
}


@media screen and (max-width:1350px) {
    .n_header nav {
        width: 75%;
    }

    .n_header h1 {
        width: 30%;
    }

    header li a {
        font-size: 12px;
    }
}

@media screen and (max-width:980px) {
    .n_header h1 {
        width: auto;
    }

    .main_body header nav ul.pc {
        display: block;
    }

    .n_header nav {
        width: auto;
    }

    .main_body .main_menu,
    .h_contact_btn {
        display: none;
    }

    .main_body header img {
        margin: 10px 0 10px 20px;
    }

    #g-nav.panelactive #g-nav-list {
        width: 95%;
    }

    #g-nav p a {
        font-size: 1.6vw;
    }

    #g-nav p span {
        font-size: 1.2vw;
    }

    #g-nav .box ul li a {
        font-size: 1.45vw;
    }

    #g-nav .box {
        width: 90%;
    }

    #g-nav .sna_box {
        font-size: 1.2vw;
    }

    .main_body header .pc li:last-child img {
        min-width: 20px;
    }

    .sub_nav li a {
        margin-bottom: 0px;
    }
}

@media screen and (max-width:780px) {
    #g-nav.panelactive ul li {
        width: 100%;
    }

    .openbtn {
        width: 50px;
        height: 50px;
    }

    .openbtn span:nth-of-type(1) {
        top: 10px;
    }

    .openbtn span:nth-of-type(2) {
        top: 15px;
    }

    .openbtn span:nth-of-type(3) {
        top: 20px;
    }

    .openbtn p {
        letter-spacing: .045em;
        font-size: .75rem;
    }

    .openbtn.active span:nth-of-type(1),
    .openbtn.active span:nth-of-type(3) {
        top: 15px;
        transform: rotate(135deg);
    }

    .openbtn.active span:nth-of-type(1) {
        transform: rotate(-135deg);
    }

    #g-nav-list .left,
    #g-nav-list .center,
    #g-nav-list .center2,
    #g-nav-list .right {
        width: 100%;
    }

    #g-nav .box,
    #g-nav .sub_nav {
        margin: 0 0 20px;
        width: 100%;
    }

    #g-nav p,
    #g-nav p a {
        font-size: 1.6rem;
    }

    #g-nav p span {
        font-size: 12px;
    }

    #g-nav .box ul li a,
    #g-nav .box ul li::after {
        font-size: 1.3rem;
    }

    #g-nav.panelactive #g-nav-list {
        margin: 8% auto 0;
    }

    .nav_img img {
        width: 220px !important;
        margin: 10px 0 10px 0px;
    }

    #g-nav p,
    #g-nav p a {
        font-size: 16px;
        padding: 0;
        min-height: auto;
    }

    #g-nav .sna_box {
        margin: 40px 0 40px auto;
    }

    #g-nav .sna_box p {
        font-size: 14px;
    }

    .main_body header .pc li:last-child img {
        width: 60%;
    }

    #g-nav .sna_box a {
        width: 15%;
    }

    #g-nav .box ul li a,
    #g-nav .box ul li::after {
        font-size: 14px;
    }
}

@media screen and (max-width:650px) {
    .main_body header img {
        max-width: 200px;
        margin: 10px 0 10px 15px;
    }
}

/* 検索結果 */

.s_results {
    width: 80%;
    margin: 70px auto 0;
}

.s_results h2 {
    font-weight: 500;
    color: #000;
    font-size: 1.2vw;
}

.s_results ul {
    margin: 30px 0 60px;
}

.s_results ul li {
    width: 100%;
    border-top: solid 1px;
    padding: 30px 0;
}

.s_results ul li:last-child {
    border-bottom: solid 1px;
}

.s_results ul li h3 {
    margin: 0;
}

@media screen and (max-width: 980px) {
    .s_results h2 {
        font-size: 16px;
    }

    .s_results {
        width: 100%;
    }
}

@media screen and (max-width: 650px) {
    .s_results ul li {
        padding: 15px 0;
        margin: 0;
    }

    .main_form a.link {
        font-size: 14px;
    }
}

@media screen and (max-width: 450px) {
    .s_results ul li h3 {
        font-size: 16px;
    }

    .s_results ul li p {
        font-size: 14px;
    }
}

/*リキャプチャ非表示*/
.grecaptcha-badge {
    display: none;
}

/*販売所　笠間店追加*/
.store_wrap .kasama_detail {
    background-color: #f9ffef;
    padding: 3%;
    margin-top: 2%;
	font-size:15px;
}

.main_form .wpcf7-previous {
    background: #333;
    border: solid 1px #333;
}

.lc_form #wpcf7cpcnf th {
    width: 40%;
}

.wpcf7cp-btns button {
    color: #fff;
    position: relative;
    padding: 15px 0px;
    vertical-align: middle;
    font-weight: 600;
    width: 50%;
    height: auto;
    font-size: 1.1vw;
    border-radius: 25px;
    display: block;
    background: rgb(51, 51, 51);
    border-width: 1px;
    border-style: solid;
    border-color: rgb(51, 51, 51);
    border-image: initial;
    cursor: pointer;
}

.wpcf7cp-btns button.wpcf7cp-cfm-edit-btn {
    margin-top: 30px;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
}

.wpcf7cp-btns button.wpcf7-submit {
    border-color: rgb(31, 159, 96);
    background-color: rgb(31, 159, 96);
    margin-top: 30px;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
}

.store_info .bnr_kasama{
	width: 70%;
    margin: 0 auto;
    margin-top: 3%;
}

@media screen and (max-width:640px){
.store_wrap h3 span {
    line-height: 35px;
}
.store_info .bnr_kasama{
	width: 100%;	
}
}


/* イオン笠間店LP */

.lp_kasama h2 {
    font-size: 1.9vw;
    text-align: center;
}

.lp_kasama .kasama_ttl {
    text-align: center;
    margin: 0 0 50px;
}

.lp_kasama .kasama_ttl h2 {
    margin: 0 0 10px;
    line-height: 1.5;
    color: #518741;
}

.lp_kasama .kasama_ttl p {
    font-size: .8vw;
    color: #518741;
}

.lp_kasama .kasama_ttl small {
    color: #518741;
}

.lp_kasama .kasama_o {
    color: #FF580E;
}

.page_lp .lp_nav ul.pc {
    justify-content: end;
}

.page_lp .lp_nav ul.pc .main_menu {
    margin: 0 3%;
}

.main_body.page_lp header .pc li.lp_c_btn a {
    background: #FF580E;
    color: #fff;
    padding: 0 2rem;
    margin: 0;
    font-size: .9vw;
}

.lp_kasama #mv-kasama {
    background: #FDFFE6;
    text-align: center;
    padding: 0 0 90px;
    margin: 3.5% 0 0;
}

.lp_kasama #mv-kasama h2 {
    color: #3C4754;
    margin: 0 0 30px;
    position: relative;
}

.lp_kasama #mv-kasama h2 strong {
    color: #518741;
    font-size: 2.4vw;
}

.lp_kasama #mv-kasama p {
    font-size: 1.1vw;
    line-height: 2.4;
}

.lp_kasama .kasama_images {
    display: flex;
    flex-wrap: wrap;
}

.lp_kasama .kasama_images img {
    display: block;
    width: 20%;
}

.lp_kasama #products-kasama {
    padding: 70px 0 90px;
    text-align: center;
    background: no-repeat center / cover url(../img/bg_product.jpg);
}

.lp_kasama #products-kasama h2 {
    font-size: 20px;
    color: #825C33;
    margin: 0 0 50px;
}

.lp_kasama #products-kasama ul li {
    width: 17%;
}

.lp_kasama #products-kasama ul li p {
    color: #825C33;
    font-size: 1.1vw;
    margin: 20px 0 0;
    font-weight: 700;
}

.lp_kasama #events {
    padding: 70px 0 80px;
}

.lp_kasama #events ul {
    margin: 0 0 50px;
}

.lp_kasama .event_slide {
    width: 29%;
    box-shadow: 5px 5px 5px #00000021;
}

.lp_kasama #events ul li div {
    padding: 10px 5% 20px;
}

.lp_kasama #events ul li p {
    font-size: 15px;
}

.lp_kasama #events ul li h3 {
    font-size: 1vw;
    line-height: 1.5;
}


.lp_kasama #shop-info {
    padding: 70px 0;
    background: no-repeat center / cover url(../img/bg_shop.jpg);
}

.lp_kasama #shop-info .kasama_ttl p,
.lp_kasama #shop-info .kasama_ttl h2,
.lp_kasama #kasama-contact .kasama_ttl p,
.lp_kasama #kasama-contact .kasama_ttl h2 {
    color: #fff;
}

.lp_kasama .shop_box {
    background: #fff;
    border-radius: 45px;
    padding: 55px 8%;
}

.lp_kasama .shop_table {
    width: 55%;
}

.lp_kasama .shop_table th,
.lp_kasama .shop_table td {
    border-bottom: solid 1px #D7D7D7;
    padding: 15px 0;
    text-align: left;
}

.lp_kasama .shop_table tr:last-child th,
.lp_kasama .shop_table tr:last-child td {
    border: none;
}

.lp_kasama .shop_table th {
    color: #518741;
    width: 25%;
}

.lp_kasama .shop_img {
    width: 40%;
}

.lp_kasama #revitalization {
    background: #F3FFDF;
    padding: 90px 0 110px;
}

.lp_kasama #revitalization .kasama_ttl {
    margin: 0 0 20px;
}

.lp_kasama .shake_hands {
    width: 15%;
    min-width: 120px;
    margin: auto;
}

.lp_kasama .relation_txt {
    width: 55%;
    min-width: 320px;
    margin: 50px auto 60px;
}

.lp_kasama .r_catch {
    color: #518741;
    text-align: center;
    line-height: 2.4;
}

.lp_kasama .r_main_list {
    width: fit-content;
    margin: 50px auto 60px;
}

.lp_kasama .r_main_list li {
    font-weight: 700;
    margin: 0 0 10px;
    position: relative;
    line-height: 1.5;
}

.lp_kasama .r_main_list li::before {
    content: "";
    position: absolute;
    background: no-repeat center / contain url(../img/kasama_check.png);
    top: 0;
    bottom: 0;
    left: -8%;
    margin: auto;
    width: 35px;
    height: 100%;
}

.lp_kasama #revitalization h3 {
    font-size: 1.9vw;
    color: #518741;
    text-align: center;
    position: relative;
    margin: 0 0 70px;
}

.lp_kasama #revitalization h3::before {
    content: "";
    position: absolute;
    background: #518741;
    height: 2px;
    width: 40%;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.lp_kasama #revitalization h3::after {
    content: "";
    position: absolute;
    background: #518741;
    height: 2px;
    width: 40%;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.lp_kasama .r_parent {
    width: 31%;
    border-radius: 30px;
    background: #fff;
    padding: 40px 2.5% 30px;
    box-shadow: 0px 0px 20px #00000029;
    position: relative;
    margin: 0 0 60px;
}

.lp_kasama .r_parent::before {
    content: "";
    position: absolute;
    top: -4%;
    left: 0;
    right: 0;
    margin: auto;
    width: 45px;
    height: 45px;
}

.lp_kasama .r_parent:nth-child(1)::before {
    background: no-repeat center / contain url(../img/kasama_1.png);
}

.lp_kasama .r_parent:nth-child(2)::before {
    background: no-repeat center / contain url(../img/kasama_2.png);
}

.lp_kasama .r_parent:nth-child(3)::before {
    background: no-repeat center / contain url(../img/kasama_3.png);
}

.lp_kasama .r_parent:nth-child(4)::before {
    background: no-repeat center / contain url(../img/kasama_4.png);
}

.lp_kasama .r_parent:nth-child(5)::before {
    background: no-repeat center / contain url(../img/kasama_5.png);
}

.lp_kasama .r_parent:nth-child(6)::before {
    background: no-repeat center / contain url(../img/kasama_6.png);
}

.lp_kasama .r_parent:nth-child(7)::before {
    background: no-repeat center / contain url(../img/kasama_7.png);
    top: -1.5%;
}

.lp_kasama .r_parent h4 {
    text-align: center;
    color: #518741;
    margin: 20px 0;
    line-height: 1.5;
}

.lp_kasama .r_parent p {
    font-size: 15px;
    line-height: 30px;
}

.lp_kasama .r_parent:last-child {
    width: 100%;
    padding: 40px 5% 60px;
}

.lp_kasama .r_parent:last-child ul {
    margin: 40px 0 50px;
}

.lp_kasama .r_parent:last-child h4 {
    font-size: 1.6vw;
}

.lp_kasama .r_parent:last-child p {
    text-align: center;
}

.lp_kasama .r_child {
    width: 30%;
    margin: 0 0 40px;
}

.lp_kasama .r_child p {
    font-size: 1.2vw;
    color: #518741;
    margin: 20px 0 0;
}

.lp_kasama .r_seven {
    width: 70%;
    margin: auto;
}

.lp_kasama .r_seven h5 {
    font-size: 1.4vw;
    text-align: center;
    position: relative;
    color: #518741;
}

.lp_kasama .r_seven h5::before {
    content: "";
    position: absolute;
    background: #518741;
    height: 2px;
    width: 40%;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.lp_kasama .r_seven h5::after {
    content: "";
    position: absolute;
    background: #518741;
    height: 2px;
    width: 40%;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.lp_kasama .r_seven ul {
    margin: 20px 0 0 !important;
}

.lp_kasama .r_seven ul li {
    border-bottom: solid 1px #BFBFBF;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    padding: 10px 0 10px 6%;
}

.lp_kasama .r_seven ul li:last-child {
    border: none;
}

.lp_kasama .r_seven h6 {
    font-size: 1.2vw;
    width: 40%;
    font-weight: 700;
    color: #518741;
}

.lp_kasama #revitalization .r_seven ul li p {
    font-size: 1.2vw;
    width: 60%;
    font-weight: 700;
    text-align: left;
}

.lp_kasama .r_seven ul li::before {
    content: "";
    position: absolute;
    background: no-repeat center / contain url(../img/kasama_check.png);
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 35px;
    height: 100%;
}

.lp_kasama #gallery {
    padding: 90px 0 100px
}

.lp_kasama #gallery ul {
    margin: 60px 0 0;
}

.lp_kasama #gallery ul li {
    width: 30%;
    margin: 0 0 60px;
}

.lp_kasama #kasama-contact {
    background: #518741;
    padding: 100px 0 120px;
}

.lp_kasama .kasama_contact {
    background: #fff;
    border-radius: 45px;
    padding: 60px 0;
}

.lp_kasama .main_form input,
.lp_kasama .main_form textarea {
    font-size: 1.35vw;
}

.lp_kasama .main_form p.ks_txt {
    font-size: 1.35vw;
    margin: 0 0 50px;
}

.lp_kasama .main_form {
    margin: auto;
}

footer.kasama_footer {
    height: auto;
    background: none;
    padding: 40px 0 0;
}

footer.kasama_footer .wrap {
    padding-top: 0;
}

footer.kasama_footer .copy_wright {
    position: relative;
    background: #000;
}

footer.kasama_footer .ks_links {
    display: flex;
    justify-content: center;
    margin: 0 0 40px;
}

footer.kasama_footer .ks_links a {
    text-align: center;
    display: block;
    font-size: 14px;
	margin:0 10px;
}

footer.kasama_footer .kasama_footer_logo {
    width: 25%;
    margin: 0 auto;
    margin-bottom: 3%;
}



.fadeUpTrigger,
.zoomInTrigger,
.flipLeftTopTrigger,
.flipRightTopTrigger {
    opacity: 0;
}

.zoomIn {
    animation-name: zoomInAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
    from {
        transform: scale(0.6);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.lp_kasama .si_wrap {
    display: flex;
    overflow: hidden;
}

.lp_kasama .si_list {
    display: flex;
    list-style: none;
    padding: 0;
}

.lp_kasama .si_item {
    width: calc(100vw / 5);
}

.lp_kasama .si_right {
    animation: scroll-right 30s infinite linear 0.5s both;
}

@keyframes scroll-right {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

.lp_kasama .event_area .wrap {
    max-width: 1000px;
    width: 100%;
}

.lp_kasama .event_mv {
    margin: 3.5% 0 0;
    padding: 120px 0;
    background: no-repeat center / cover url(../img/bg_event.jpg);
}

.lp_kasama .event_mv p,
.lp_kasama .event_mv h1 {
    text-align: center;
    color: #fff;
    font-weight: 500;
    font-size: 48px;
}

.lp_kasama .event_bread {
    background: #518741;
    color: #fff;
    margin: 0;
    font-size: 15px;
    font-weight: 400;
    padding: 10px 0;
}

.lp_kasama .event_bread a {
    color: #fff;
    font-size: 15px;
}

.lp_kasama .event_main {
    padding: 90px 0 100px;
}

.lp_kasama .event_archive ul li {
    align-items: center;
    padding: 30px 0;
    border-bottom: solid 1.5px #518741;
}

.lp_kasama .event_img {
    width: 30%;
}

.lp_kasama .event_info {
    width: 65%;
}

.lp_kasama .event_date {
    font-size: 15px;
}

.lp_kasama .event_info h3 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 20px;
    color: #000000;
}

.lp_kasama .event_disc {
    font-size: 15px;
}

.lp_kasama .event_disc a {
    color: #518741;
    font-size: 15px;
}

.lp_kasama footer.event_f {
    background: #F3FFDF;
}

.lp_kasama .event_head {
    border-bottom: solid 2px #518741;
    padding: 0 0 20px;
    margin: 0 0 40px;
}

.lp_kasama .event_head h1 {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.5;
    color: #000000;
}

.lp_kasama .event_main_cont {
    margin: 40px 0 120px;
}

.lp_kasama .event_main_cont p {
    font-size: 15px;
    line-height: 35px;
}

.lp_kasama .event_vm {
    width: 280px;
    display: block;
    margin: auto;
    color: #fff;
    background: #518741;
    font-size: 20px;
    text-align: center;
    padding: 10px 0;
    border: solid 1px #518741;
}

.lp_kasama .event_vm:hover {
    color: #518741;
    background: #fff;
    opacity: 1;
}

.event_slider {
    position: relative;
}

.lp_kasama .slick-prev,
.lp_kasama .slick-next {
    position: absolute;
    top: 50%;
    width: 30px !important;
    height: 30px !important;
    background: #979B91 !important;
    border-radius: 50% !important;
}

.lp_kasama .slick-next {
    right: 0 !important;
}

.lp_kasama .slick-prev {
    left: 0 !important;
}

.lp_kasama .slick-list {
    padding: 0;
}

.lp_kasama .slick-dots li button:before {
    font-size: 80px;
}

.lp_kasama .slick-initialized .slick-slide {
    transform: scale(0.8);
}

.lp_kasama .slick-next:before {
    content: "\f054";
    font-weight: 900;
    font-size: 14px !important;
    color: #fff !important;
    font-family: 'Font Awesome 5 Free';
}

.lp_kasama .slick-prev:before {
    content: "\f053";
    font-weight: 900;
    font-size: 14px !important;
    color: #fff !important;
    font-family: 'Font Awesome 5 Free';
}

.lp_kasama .main_form th,
.lp_kasama .main_form td {
	    font-size: 1.35vw;
	font-weight:700;
}

.kasama_contact .bl_recaptcha {
	text-align:center;
}

@media screen and (max-width: 1200px) {
    .lp_kasama .event_area .wrap {
        max-width: 93%;
    }

    .lp_kasama header li a {
        font-size: 12px;
    }

    .lp_kasama .n_header nav {
        width: 100%;
    }

    .lp_kasama h2,
    #products-kasama h2 {
        font-size: 23px;
    }

    .lp_kasama .kasama_ttl h2 {
        margin: 0;
    }

    .lp_kasama #mv-kasama h2 strong {
        font-size: 28px;
    }

    .lp_kasama .kasama_ttl p,
    .lp_kasama .r_parent h4 small {
        font-size: 13px;
    }

    .lp_kasama .kasama_ttl small {
        font-size: 14px;
    }

    .lp_kasama #mv-kasama p,
    .lp_kasama #products-kasama ul li p,
    .lp_kasama .r_catch,
    .lp_kasama .r_main_list li,
    .lp_kasama .r_child p,
    .lp_kasama .r_seven h6,
    .lp_kasama .r_parent:last-child h4,
    .lp_kasama .kasama_contact .main_form p.ks_txt {
        font-size: 16px;
    }

    .lp_kasama #events ul li h3,
    .lp_kasama #events ul li p,
    .lp_kasama .r_parent p,
    .lp_kasama #revitalization .r_seven ul li p,
    .lp_kasama .ks_links a,
    .lp_kasama .n_btn,
    .lp_kasama .kasama_contact a,
    .lp_kasama .main_form input,
    .lp_kasama .main_form textarea {
        font-size: 14px;
    }

    .lp_kasama .shop_table th,
    .lp_kasama .shop_table td {
        font-size: 16px;
        padding: 10px 0;
    }

    .lp_kasama .shop_box {
        padding: 45px 3%;
    }

    .lp_kasama .shop_table {
        width: 65%;
    }

    .lp_kasama .shop_img {
        width: 30%;
    }

    .lp_kasama #revitalization h3 {
        font-size: 20px;
        margin: 0 0 50px;
    }

    .lp_kasama .r_seven h5 {
        font-size: 18px;
    }

    .lp_kasama .r_parent::before {
        width: 35px;
        height: 35px;
    }

    .lp_kasama .r_parent h4 {
        margin: 15px 0;
        font-size: 16px;
    }

    .lp_kasama .r_seven {
        width: 100%;
    }

    .lp_kasama .r_seven ul li::before,
    .lp_kasama .r_main_list li::before {
        width: 25px;
    }
}

@media screen and (max-width: 980px) {
    .page_lp header .pc li.lp_c_btn a {
        display: none;
    }
}

@media screen and (max-width: 780px) {

    .lp_kasama .ac_l {
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .lp_kasama .ac_r {
        position: absolute;
        bottom: 0;
        right: 0;
    }

    .lp_kasama #mv-kasama {
        margin: 60px 0 0;
    }

    .lp_kasama #mv-kasama h2 {
        margin: 20px 0 30px;
        font-size: 20px;
    }

    .lp_kasama #mv-kasama h2 strong {
        font-size: 25px;
    }

    .lp_kasama #products-kasama ul li {
        width: 45%;
        margin: 0 0 30px;
    }

    .lp_kasama .event_slide {
        width: 100%;
        margin: 0 0 40px;
    }

    .lp_kasama .lp_kasama .shop_table,
    .lp_kasama #revitalization .r_seven ul li p,
    .lp_kasama .r_seven h6 {
        width: 100%;
    }

    .lp_kasama .shop_img {
        width: 100%;
        margin: 30px 0 0;
    }

    .lp_kasama .shop_table {
        width: 100%;
    }

    .lp_kasama .shop_table th,
    .lp_kasama .shop_table td {
        font-size: 14px;
    }

    .lp_kasama .shop_table th {
        width: 30%;
    }

    .lp_kasama .r_main_list li {
        padding: 0 0 0 9%;
    }

    .lp_kasama .r_seven ul li::before,
    .lp_kasama .r_main_list li::before {
        width: 20px;
        left: 0;
    }

    .lp_kasama .r_parent {
        width: 100%;
        padding: 40px 5% 30px;
    }

    .lp_kasama #revitalization h3::before,
    .lp_kasama #revitalization h3::after,
    .lp_kasama .r_seven h5::before,
    .lp_kasama .r_seven h5::after {
        width: 30%;
    }

    .lp_kasama .r_child {
        width: 48%;
        margin: 0 0 30px;
    }

    .lp_kasama .r_parent:last-child p {
        text-align: left;
    }

    .lp_kasama .r_parent:last-child .r_child p {
        text-align: center;
    }

    .lp_kasama .r_seven ul li {
        padding: 10px 0 10px 10%;
    }

    .lp_kasama #gallery ul li {
        width: 48%;
        margin: 0 0 20px;
    }

    .lp_kasama .kasama_contact {
        padding: 60px 5%;
    }

    .lp_kasama .ks_links a {
        width: 40%;
    }

    .lp_kasama .si_item {
        width: calc(100vw / 2);
    }

    .lp_kasama .event_mv {
        margin: 60px 0 0;
        padding: 60px 0;
    }

    .lp_kasama .event_mv p,
    .lp_kasama .event_mv h1 {
        font-size: 22px;
    }

    .lp_kasama .event_bread,
    .lp_kasama .event_bread a {
        font-size: 12px;
    }

    .lp_kasama .event_img {
        width: 100%;
        margin: 0 0 20px;
    }

    .lp_kasama .event_info {
        width: 100%;
    }

    .lp_kasama .event_info h3 {
        font-size: 18px;
        margin: 0 0 10px;
    }

    .lp_kasama .event_disc,
    .lp_kasama .event_disc a {
        font-size: 14px;
    }

    .lp_kasama .event_head h1 {
        font-size: 18px;
    }

    .lp_kasama .event_vm {
        width: 240px;
        font-size: 16px;
    }

    .page_lp header.n_header {
        padding: 0;
    }

    .page_lp .menu-icon {
        top: 30px;
    }

    .page_lp .n_header nav {
        position: absolute;
        top: 0;
        width: 100%;
    }

    .page_lp .sp-menu ul {
        margin: 70px auto 0;
    }
	
	footer.kasama_footer .kasama_footer_logo {
        width: 60%;
        margin-bottom: 8%;
    }

	.lp_kasama #events .kasama_ttl {
       margin-bottom: 0;
    }
}

/*食堂ページ修正　20250808*/
.shokudou .summer{
	margin-top:8%;
	margin-bottom: -2%;
}
.shokudou .summer .inner{
	background-color: #fffbb9;
    padding: 2%;
}
.shokudou .summer .inner h2{
    color: #1f9f60;
}
.shokudou .summer .inner p{
   font-size: 15px;	
}
.shokudou .summer .inner p span{
	margin: 10px 0;
    display: block;
}
.shokudou .summer .inner a{
    font-size: 15px;
	color:#1f9f60;
}

@media screen and (max-width: 650px) {
.shokudou .summer{
	margin-top:25%;	
    margin-bottom: -15%;
}
}
@media screen and (max-width: 450px) {
.shokudou .summer{
	margin-top:30%;	
    margin-bottom: -20%;
}
.shokudou .summer .inner{
    padding: 5%;
}
}

@media screen and (max-width: 650px) {
.bl_recaptcha {
    font-size: 10px;
}
.bl_recaptcha a{
    font-size: 10px;
}	
.main_form p.bl_recaptcha {
    font-size: 10px;
}
}	
	
.kojinjouhou a.link {
    color: #518840;
}

/*産学連携*/
.kojinjouhou .agree{
	font-size: 14px;
}