@charset "UTF-8";
/* 
	font-family: "Roboto", sans-serif;
	font-family: "Public Sans", sans-serif;

	font-family: "din-2014", sans-serif;
	font-weight: 700;
	font-style: italic;
*/
@font-face {
  font-family: 'agri-oc-2025';
  src:
    url('fonts/agri-oc-2025.ttf?pj78m6') format('truetype'),
    url('fonts/agri-oc-2025.woff?pj78m6') format('woff'),
    url('fonts/agri-oc-2025.svg?pj78m6#agri-oc-2025') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'agri-oc-2025' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-icon_ig:before {
  content: "\69";
}
.icon-icon_x:before {
  content: "\78";
}



@font-face {
  font-family: 'dinprocb';
  src: url('fonts/dinpro-cond-bold.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.ff-din { font-family: 'dinprocb'; }

@font-face {
  font-family: 'dinpb';
  src: url('fonts/dinpro-bold.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.ff-dinpb { font-family: 'dinpb'; }

@font-face {
  font-family: 'yugob';
  src: url('fonts/yugothic-bold.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.ff-dinpb { font-family: 'dinpb'; }
.ff-din2014 { font-family: "din-2014", sans-serif; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; -webkit-box-sizing: border-box; box-sizing: border-box; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
.text-align-center { text-align: center; }
.text-align-right { text-align: right; }
.display-block { display: block; }
.hidden { display: none !important; visibility: hidden; }
.clearfix::before, .clearfix::after { content: ""; display: table; }
.clearfix::after { clear: both; }
.clear { clear: both; }
.sp-only { display: none !important; }
.sp-only-2 { display: none !important; }
.pc-only { display: block !important; }
.pc-only-2 { display: inline-block !important; }
.bold { font-weight: bold; }
html, body { height: 100%; }
html { font-size: 62.5%; }
body { font-family: YakuHanJP_Noto,"Noto Sans JP",sans-serif; font-size: 1.4rem; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; color: #1a1a1a; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
input,
textarea,
select,
button { font-family: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; }
select::-ms-expand { display: none; }
button { border: none; padding: 0; cursor: pointer; font-size: inherit; color: inherit; }
pre { padding: 15px; background: #eee; font-size: 1.2rem; line-height: 1.2; }

.ofi-cover { width: 100%; height: 100%; object-fit: cover; }

/*-------------
		Base
-------------*/
.l-body { width: 100%; } /*	 overflow-x: hidden;	*/
.cont-wrap { overflow: hidden; }
.l-body.is-fixed,
.l-body.is-opening { position: fixed; overflow: hidden; }

.l-header { position: fixed; top: 10px; left: 50%; transform: translateX(-50%); display: flex; justify-content: space-between; align-items: center; width: calc(100% - 20px); max-width: 1100px; height: 60px; border-radius: 30px; padding-left: 25px; z-index: 1000; transition: .4s; }



.l-navi { display: none; width: calc(100% + 20px); height: 100vh; background-color: rgba(22,21,115,0.9); overflow-y: scroll; z-index: 100; }

.l-wrapper { position: relative; width: calc(100% - 40px); max-width: 1000px; margin-left: auto; margin-right: auto; }
.l-content { padding-bottom: 110px; }
.menu-btn { width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; position: relative; background-color: transparent; padding: 0; border: none; z-index: 1200; border-radius: 10px; }
.menu-btn::before { content: ""; width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; border-radius: 10px; opacity: 0; transition: .4s; }
/* background: url(../img/bg_menu_btn.png) no-repeat center/cover;*/
.menu-btn.bg-yellow::before { opacity: 1; }
.menu-btn span { background: #000; display: block; width: 15px; height: 2px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: .4s; }
.menu-btn span:nth-child(1) { margin-top: -6px; }
.menu-btn span:nth-child(3) { margin-top: 6px; }
.menu-btn span.menu-btn__text { background: none; }
.menu-btn.is-opend span:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); margin-top: -0; }
.menu-btn.is-opend span:nth-child(2) { opacity: 0; }
.menu-btn.is-opend span:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); margin-top: 0; }
.header-logo { position: relative; display: flex; align-items: center; z-index: 200; }
.header-logo a { cursor: pointer; }
.header-logo__img { width: 98px; }
.header-logo__text { font: 500 1.0rem 'yugob'; margin-left: 13px; color: #000; white-space: nowrap; transition: .4s; }




.l-footer { position: relative; background: url("../img/bg_footer_sp.jpg") no-repeat 50% 100%/cover; padding-top: 30px; padding-bottom: 148px; z-index: 3; }
.footer__bnr { display: block; }
.footer__cta { display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 30px; }
.footer__cta__label { display: flex; justify-content: center; align-items: center; width: 110px; height: 30px; background: linear-gradient(to right, rgba(141,195,56,1) 0%,rgba(3,183,219,1) 100%);
 border-radius: 15px; margin-bottom: 20px; padding-bottom: 2px; font-size: 1.3rem; font-weight: 700; line-height: 1; text-align: center; color: #fff; }
.footer__cta__ttl { font-size: 1.4rem; font-weight: 700; line-height: 1; }
.footer__cta__txt { margin-top: 8px; margin-left: -15px; margin-right: -15px; }
.footer__cta__txt a { display: flex; justify-content: center; align-items: center; margin-left: auto; margin-right: auto; font: 700 2.0rem "Roboto",sans-serif; color: #000 !important; text-decoration: none !important; }
.footer__cta__txt a::before { width: 26px; height: 26px; background: url("../img/icon_mail.svg") no-repeat #000 center/100% auto; border-radius: 50%; margin-right: 10px; content: ""; }
.footer-mask { display: none; }
.copyright { background: #000; padding: 13px 0 13px; font-size: 1.0rem; line-height: 1; text-align: center; color: #fff; }

@media screen and (max-width: 375px) {
	/*
	.footer__cta__ttl { font-size: 1.2rem; }
	.footer__cta__txt a { font-size: 1.5rem; }
	*/
}
@media screen and (max-width: 680px) {
	.footer__nav { display: none; }
}

@media screen and (min-width: 681px) {
	.l-footer { background-image: url("../img/bg_footer_pc.jpg"); background-size: 1792px auto; padding-top: 120px; padding-bottom: 50px; z-index: 3; }
	.footer__bnr { width: 900px; margin-left: auto; margin-right: auto; transition: .4s; }
	.footer__bnr:hover { filter: brightness(110%); }
	.footer__cta { margin-top: 100px; }
	.footer__cta__label { width: 160px; height: 40px; border-radius: 20px; margin-bottom: 20px; font-size: 1.8rem; }
	.footer__cta__ttl { font-size: 1.5rem; }
	.footer__cta__txt a { font-size: 3.0rem; }
	.footer__cta__txt a::before { width: 35px; height: 35px; margin-right: 10px; }
	
	.footer__nav { display: flex; justify-content: space-between; align-items: center; width: 800px; height: 80px; background: #fff; border-radius: 40px; margin-top: 300px; margin-left: auto; margin-right: auto; padding-left: 30px; padding-right: 22px; }
	.footer__nav__logo { width: auto; height: 36px; }
	.footer__nav__navi { display: flex; justify-content: flex-end; align-items: center; }
	
	.footer__nav .navi__item--sns__item img { width: 36px; }
	
	.copyright { padding: 14px 0 15px; font-size: 1.1rem; }
	
}
@media screen and (min-width: 1793px) {
	.l-footer { background-color: #ddeefe; }
	.footer-mask { position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 1792px; height: 100%; z-index: 100; pointer-events: none; }
	.footer-mask::before,
	.footer-mask::after { position: absolute; top: 0; display: block; width: 300px; height: 100%; content: ""; }
	.footer-mask::before { left: 0; background: linear-gradient(to right, rgba(221,238,254,1) 0%,rgba(255,255,255,0) 100%); }
	.footer-mask::after { right: 0; background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(221,238,254,1) 100%); }
}

.l-header--white { background: #fff; }
.l-header--white .menu-btn span,
.menu-btn.is-opend span { background: #000; }


@media screen and (max-width: 680px) {
	.header-logo__text { display: none; }
	.l-header::before { position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 100%; height: 60px; background: #fff; border-radius: 30px; content: ""; z-index: 150; }
	.l-navi { position: absolute; top: -10px; left: -10px; }
}
@media screen and (min-width: 681px) {
	
}
@media screen and (min-width: 1201px) {
	
}








.btn { display: flex; justify-content: center; align-items: center; height: 50px; font-weight: 700; line-height: 1; transition: .3s; }
.btn--jp { font-size: 1.5rem; letter-spacing: 0.05em; text-indent: 0.05em; }
.btn--en { font-family: 'Work Sans', sans-serif; font-size: 1.6rem; }
.btn--black { background: #1a1a1a; color: #fff; }
.btn--white { background: #fff; border: 1px solid #000; color: #000; }
.btn--orange { background: #f15a24; color: #fff; }
.btn:hover { background: #000; color: #fff; }

@media screen and (max-width: 680px) {
/*	.btn { width: 275px; margin-left: auto; margin-right: auto; }*/
}
@media screen and (min-width: 681px) {
	.l-body { min-width: 1200px; position: relative; }
	.l-body::before { content: ""; width: 100%; height: calc(100% - 500px); display: block; position: absolute; top: 500px; left: 0; }
	.l-header { top: 20px; background: #fff; height: 80px; border-radius: 40px; }
	.l-navi { flex: 1; display: block; background: none; width: auto; height: 100%; overflow: hidden; }
	.l-wrapper { width: 1000px; }
	.l-wrapper--pc-sm { max-width: 900px; }
	.l-content { padding-bottom: 215px; }
	.l-footer .l-wrapper { width: 1000px; }
	.menu-btn { display: none; }
	.menu-btn span { width: 23px; }
	.menu-btn span:nth-child(1) { margin-top: -15px; }
	.menu-btn span:nth-child(2) { margin-top: -7px; }
	.menu-btn span:nth-child(3) { margin-top: 1px; }
	.menu-btn span.menu-btn__text { font: 500 1.138rem "Roboto",sans-serif; margin-top: 9px; margin-left: -5px; }
	.menu-btn.is-opend span:nth-child(1) { margin-top: -8px; }
	.menu-btn.is-opend span:nth-child(3) { margin-top: -8px; }
	.header-logo { padding-left: 8px; z-index: 200; }
	.header-logo__img { width: 135px; }
	
	.header-logo__text { font-size: 1.5rem; letter-spacing: 0.05em; margin-left: 22px; }
	
}


/*		Navigation: Menu: ;*/
.navi-wrap { height: 100%; min-height: 400px; display: flex; align-items: center; justify-content: center; }
.navi { width: 100%; }
.navi__item { font-size: 1.5rem; font-weight: 700; text-align: center; }
/*
.navi__item:not(:last-child) { position: relative; }
.navi__item:not(:last-child)::before { content: ""; width: 100%; height: 1px; display: block; background: url(../img/line_navi.png) no-repeat center/cover; position: absolute; bottom: 0; left: 0; }
*/
.navi__item a { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 80px;  color: #fff; transition: .4s; cursor: pointer; }
/*
.navi__item a[target="_blank"]::after { content: ""; width: 11px; height: 11px; display: inline-block; background: url(../img/icon_external_black.svg) no-repeat center/contain; margin-left: 10px; }
*/
.navi__item__en { margin-bottom: 4px; font-family: "din-2014", sans-serif; font-size: 2.1rem; font-weight: 700; font-style: italic; line-height: 1; letter-spacing: 0.05em; text-indent: 0.05em; text-align: center; }
.navi__item__jp { font-size: 1.3rem; font-weight: 700; line-height: 1; letter-spacing: 0.05em; text-indent: 0.05em; text-align: center; }


.l-header--white .navi__item a { color: #000; }

.navi__item--sns { display: flex; justify-content: center; align-items: center; }
.navi__item--sns__item img { width: 36px; }
.navi__item--sns__item:not(:first-of-type) { margin-left: 20px; }
@media screen and (max-width: 680px) {
	.navi-wrap { align-items: flex-start; padding-top: 120px; }
	.navi { display: flex; flex-wrap: wrap; justify-content: space-between; }
	.navi__item { width: 50%; border-top: 1px solid #5c5b9d; }
	.navi__item--schedule,
	.navi__item--request,
	.navi__item--sns { width: 100%; }
	.navi__item--events,
	.navi__item--faq,
	.navi__item--research { border-right: 1px solid #5c5b9d; }
	.navi__item--pc { display: none; }
	.navi__item--request .navi__item__jp { font-size: 1.6rem; }
}
@media screen and (min-width: 681px) {
	.navi__item--sp { display: none; }
	.navi__item--access .navi__item__en { display: none; }
	.navi-wrap { min-height: 0; padding: 0 22px 0 30px; }
	.navi { display: flex; justify-content: flex-end; align-items: center; }
	.navi__item { font-size: 1.3rem; }
	.navi__item:not(:first-child) { margin-left: 50px; }
	.navi__item a { transition: .3s; color: #000; }
	.navi__item a:hover { opacity: 0.5; }
	.navi__item a[target="_blank"]::after { content: none; }
	.navi__item--sns__item:not(:first-of-type) { margin-left: 10px; }
}



/*		Common Css - Responsive Ctrl		*/
@media screen and (max-width: 680px) {
	.sp-only { display: block !important; }
	.sp-only-2 { display: inline-block !important; }
	.pc-only { display: none !important; }
	.pc-only-2 { display: none !important; }
}


/*-------------
		Sub Page
-------------*/
.l-content--subpage { position: relative; background: rgb(242,249,255); background: linear-gradient(0deg, rgba(242,249,255,1) 0%, rgba(206,218,236,1) 100%); padding-bottom: 54px; }
.l-content--subpage::before { position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 100%; height: 100%; background: url("../img/bg_sub_mv_sp.png") no-repeat 50% 0/441px auto; content: ""; z-index: 0; }
.page-head-wrap { position: relative; padding-top: 82px; padding-bottom: 70px; text-align: center; color: #fff; z-index: 10; }
.page-head__en,
.page-head__jp { display: block; }
.page-head__en { margin-bottom: 5px; font-family: "din-2014", sans-serif; font-size: 3.6rem; font-weight: 700; font-style: italic; line-height: 1; letter-spacing: 0.05em; text-indent: 0.05em; }
.page-head__jp { font-size: 1.4rem; font-weight: 700; font-style: italic; line-height: 1; letter-spacing: 0.05em; text-indent: 0.05em; }
@media screen and (min-width: 442px) {
	.l-content--subpage::before { background-size: 100% auto; }
}
@media screen and (min-width: 681px) {
	.l-content--subpage { padding-bottom: 120px; }
	.l-content--subpage::before { background-image: url("../img/bg_sub_mv_pc.png"); background-size: 1400px auto; }
	.page-head-wrap { padding-top: 160px; padding-bottom: 160px; }
	.page-head__en { margin-bottom: 10px; font-size: 5.0rem; }
	.page-head__jp { font-size: 2.2rem; }
}
@media screen and (min-width: 1401px) {
	.l-content--subpage::before { background-size: 100% auto; }
}



.undercon { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; font-weight: 700; text-align: center; }
.undercon::before { width: 40px; height: 40px; background: url("../img/icon_undercon.svg") no-repeat center/contain; content: ""; margin-bottom: 32px; }
.undercon__ttl { margin-bottom: 30px; font-size: 3.0rem; line-height: 1; letter-spacing: 0.05em; text-indent: 0.05em; }
.undercon__txt { margin-bottom: 42px; font-size: 1.5rem; line-height: 2; letter-spacing: 0.1em; text-indent: 0.1em; }
.undercon .btn { min-width: 300px; }














