@charset "utf-8";
/* CSS Document */

html { scroll-behavior: smooth; }

body {
	font-weight: 400;
	font-family: "Noto Sans Japanese";
	height: auto;
	margin: 0;
	overflow-x: hidden;
	position: relative;
}

div {
	box-sizing: border-box;
}

p {
	margin: 20px 0 0;
	font-size: 1rem;
	line-height: 2;
}

h2,h3 {
	color: #222;
}

dl,dt,dd {
	margin: 0;
}

ul {
	list-style: none;
}

button {
	padding: 0;
	background: none;
	border: 0;
}


/************************* HEADER *************************/

#header {
	position: relative;
}
.hd-inner {
    padding: 1em 3em;
}
.hd-inner__info {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.hd-inner__info .info-logo {}
.hd-inner__info .info-tel {}
.hd-inner__info .info-tel .number {
	display: flex;
	align-items: center;
	font-family: 'Roboto', sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
}
.hd-inner__info .info-tel .number span {
	padding: 0.1em 1em;
	margin-right: 15px;
	font-family: "Noto Sans Japanese";
	font-size: 0.8rem;
	font-weight: 500;
	border-radius: 50px;
}
.hd-inner__info .info-tel .number:nth-child(1) {
	color: #00a74d;
}
.hd-inner__info .info-tel .number:nth-child(1) span {
	border: 2px #00a74d solid;
}
.hd-inner__info .info-tel .number:nth-child(2) {
	color: #ff9d00;
}
.hd-inner__info .info-tel .number:nth-child(2) span {
	border: 2px #ff9d00 solid;
}

.hd-nav { background: #00a74d; }
.hd-nav .menu-list {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
}
.hd-nav .menu-list .menu-listItem {
	flex: 0 0 16.66666%;
	border-right: 1px #4ccc82 solid;
	box-sizing: border-box;
}
.hd-nav .menu-list .menu-listItem:last-of-type {
	border-right: 0;
}
.hd-nav .menu-list .menu-listItem a.link {
	display: flex;
    align-items: center;
    justify-content: center;
	height: 100%;
	padding: 1em;
	font-size: 1.05rem;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background: #00a74d;
	box-sizing: border-box;
	transition: .3s;
}
/*.hd-nav .menu-list .menu-listItem a:hover.link {
	background: #8cc11f;
}*/

/* 2層目の設定 */
nav li.has-child a {
	text-decoration: none;
}
nav li.has-child ul {
	position: absolute;
	right: 20vw;
	top: 100%;
	width: 40vw;
	padding: 2em;
	display: flex;
	justify-content: space-between;
	visibility: hidden;
	list-style: none;
	background: #fff;
	border-radius: 10px;
	box-shadow: 5px 5px 15px #555;
	opacity: 0;
	transition: all .3s;
	z-index: 4;
}
/* 2階層目以降の画像設定 */
nav ul li.has-child img {
	position: relative;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
    transition: all .5s;
    transform-origin: center;
    object-fit: cover;
}
nav ul li.has-child img:hover {
	transform: scale(1.1);
}
nav ul li.has-child dl { margin: 0; }
nav ul li.has-child dt {
	overflow: hidden;
	margin-bottom: 15px;
	border-radius: 10px;
}
nav ul li.has-child dd {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 600;
	text-align: left;
}

/* hoverしたら表示 */
nav li.has-child:hover > ul {
	visibility: visible;
	opacity: 1;
	animation-name: fadeup;
    animation-duration: .5s;
	animation-iteration-count: 1;
}

/* 各ナビゲーション横幅 */
nav li.has-child ul li {
	width: 49%;
	padding: 0 .5em; 
	box-sizing: border-box;
}

/* ナビゲーションaタグの形状 */
nav li.has-child ul li a { color: #222; margin: 0; }
nav li.has-child ul li a::after { transform: scale(0,1); }
nav li.has-child ul li a:hover::after { transform: scale(0,1); }

@keyframes fadeup {
	from {
		opacity: 0;
		transform: translateY(40px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}


.btn {
    position: relative;
	overflow: hidden;
	text-decoration: none;
	display: inline-block;
    padding: 10px 30px;
    text-align: center;
    outline: none;
    transition: ease .2s;
}
.btn span {
	position: relative;
	z-index: 3;
	color: #fff;
}

.bgcenterx:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background: #8cc11f;
	width: 100%;
	height: 100%;
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: top;
}
.bgcenterx:hover:before {
	transform: scale(1, 1);
}

/* ※SMARTPHONE MENU */
.button_container { display: none; }
.overlay { display: none; }


/************************* FOOTER *************************/

#footer {
	position: relative;
	background: #025c54;
}
.ft-inner {
	width: 90%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 100px 0;
}

.footer__items {
	display: flex;
	justify-content: space-between;
}

.footer__items .items-data {}
.footer__items .items-data h2 { margin: 0; }
.footer__items .items-data dl {
	display: flex;
	margin-bottom: 20px;
	margin-top: 20px;
	line-height: 1.8;
}
.footer__items .items-data dl dt {
	font-size: 0.9rem;
	color: #fff;
	text-indent: -8px;
}
.footer__items .items-data dl dd {
	font-size: 0.9rem;
	color: #fff;
}

.footer__items .items-menu {
	width: 55%;
}
.footer__items .items-menu .menu-lv01 {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}
.footer__items .items-menu .menu-lv01 li {
	width: 30%;
	margin-left: 20px;
}
.footer__items .items-menu .menu-lv01 li a {
	display: block;
	padding-bottom: 10px;
	margin-bottom: 20px;
	font-size: 0.9rem;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	border-bottom: 1px #318c81 solid;
}
.footer__items .items-menu .menu-lv01 li .menu-lv02 {
	padding: 0;
	margin: 0 0 20px 0;
}
.footer__items .items-menu .menu-lv01 li .menu-lv02 li {
	width: 100%;
	margin: 0;
}
.footer__items .items-menu .menu-lv01 li .menu-lv02 li a {
	padding: 0;
	margin: 0 0 5px 0;
	font-weight: normal;
	border: 0;
}

.footer__connection {
	margin-top: 50px;
	padding: 30px 0;
	border-top: 1px #318c81 solid;
	border-bottom: 1px #318c81 solid;
}
.connection-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
	margin: 0;
}
.connection-nav li {
	width: 25%;
	margin: 3px 0;
}
.connection-nav li a {
	position: relative;
	padding-left: 25px;
	font-size: 0.9rem;
	color: #fff;
	text-decoration: none;
}
.connection-nav li a::before {
	content: "";
	position: absolute;
	top: 50%;
    left: 0%;
    transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background: url("../images/common/footer_ct_link_icon.png") no-repeat;
}

.footer__copy {
	margin-top: 50px;
	font-size: 0.9rem;
	color: #fff;
	text-align: center;
}


/************************ TOP PAGE ************************/

.page-content {
	min-height: calc(100vh - 155px);
}

/* スライド */
#vegas {
    width: 100%;
    height: calc(100vh - 175px);
	margin: auto;
	position: relative;
}
#vegas .bg { background-color: rgba(0,0,0,0.1); width: 100%; height: 100%; }

.move-wave {
	width: 100%;
	height: 30px;
	position: absolute;
	left: 0;
	bottom: 0;
	overflow: hidden;
	z-index: 500;
}
.move-wave.top {
	bottom: initial;
	top: 0;
}
.move-wave.top.yellow {
	top: -29px;
}

.move-wave .waves {
	position: relative;
	width: 100%;
	height: 30px;
	margin-bottom: -7px;
}
.move-wave .waves.reverse {
	transform: scale(1, -1);
}

.move-wave .parallax > use {
	animation: move-forever 4s cubic-bezier(0.55, 0.5, 0.45, 0.5) infinite;
}

@keyframes move-forever {
	0% {
		transform: translate3d(-90px, 0, 0);
	}
	100% {
		transform: translate3d(85px, 0, 0);
	}
}

/* リード文 */

.main-lead {
	max-width: 1320px;
	margin: 0 auto;
	padding: 100px 0;
	text-align: center;
}

.lead__en {
	display: inline;
	position: relative;
	padding-left: 25px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
	color: #00a74d;
	letter-spacing: 0.1rem;
}
.lead__en::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	border-radius: 50px;
	background: #00a74d;
}

.lead__headline {}
.lead__headline h1 {
	margin: 40px 0 0;
	color: #222;
}
.lead__headline .main {
	margin: 15px 0 0;
	font-size: 3rem;
	font-weight: 600;
	font-feature-settings: "palt";
	color: #222;
}
.lead__headline .main span {
	letter-spacing: -2rem;
}

.lead__txt {
	margin: 40px 0 0;
	font-weight: 500;
}

/* お知らせ */

.main-info {
	width: 100%;
    height: auto;
	margin: 0 auto;
	background: #fffbf3;
    overflow: hidden;
}
.main-info .main-info-inner {
	width: 90%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 100px 0;
}
.main-info .main-info-inner .info__en {
	position: relative;
	padding-left: 25px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
	color: #ff9d00;
	letter-spacing: 0.1rem;
}
.main-info .main-info-inner .info__en::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	border-radius: 50px;
	background: #ff9d00;
}

.info__headline {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 20px;
	margin-bottom: 50px;
	border-bottom: 2px #ff9d00 solid;
}
.info__headline h2 {
	margin: 20px 0 0;
	font-size: 2.5rem;
	color: #222;
}
.info__headline .more-button {}
.info__headline .more-button a {
	position: relative;
	padding-right: 30px;
	font-weight: 500;
	color: #222;
	text-decoration: none;
}
.info__headline .more-button a::after {
	content: "";
	position: absolute;
	top: 3px;
	right: 0;
	width: 20px;
	height: 20px;
	background: url("../images/common/top_news_link_icon.png") no-repeat;
}

.main-info .info-list {
	padding: 0;
	margin: 0;
}
.main-info .info-list li {
	display: flex;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px rgba(0,0,0,.1) solid;
}
.main-info .info-list li:last-of-type { margin-bottom: 0; }
.main-info .info-list li .day {
	margin-right: 20px;
}
.main-info .info-list li .cate {
	padding: 0.2em 1.5em;
	margin-right: 20px;
	font-size: 0.85rem;
	color: #fff;
	background: #ff9d00;
	border-radius: 50px;
}
.main-info .info-list li .cate-important {
	color: #fff;
	background: #ff0000;
}

.main-info .info-list li a {
	font-weight: 500;
	color: #222;
	text-decoration: none;
	transition: .3s;
}
.main-info .info-list li a:hover {
	color: #888;
	text-decoration: underline;
}

/* 土地改良区について */

.main-about { padding: 100px 0; }

.about__headline { text-align: center; }
.about__headline .about__en {
    display: inline;
	position: relative;
	padding-left: 25px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
	color: #00a74d;
	letter-spacing: 0.1rem;
}
.about__headline .about__en::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	border-radius: 50px;
	background: #00a74d;
}
.about__headline h2 {
	font-size: 2.5rem;
	color: #222;
}

.main-about .flex-box {
    display: flex;
    align-items: center;
	margin-top: 60px;
}
.main-about .flex-box .sec_img {
	width: 50%;
	border-radius: 0 20px 20px 0;
}
.main-about .flex-box .sec_img img {
	width: 100%;
    height: 600px;
    object-fit: cover;
	max-width: 100%;
    vertical-align: bottom;
}
.main-about .flex-box .text-area {
	width: 50%;
	padding: 0 5%;
	box-sizing: border-box;
}
.main-about .flex-box .text-area .ttl {
	margin: 0;
	font-size: 2rem;
	line-height: 1.8;
}
.main-about .flex-box .text-area p {
	padding-top: 30px;
	margin: 0;
}
.main-about .flex-box .text-area button {
    width: 370px;
	margin-top: 40px;
}
.main-about .flex-box .text-area button a {
	display: block;
	position: relative;
	padding: 1em 2em;
	font-family: "Noto Sans Japanese";
	font-size: 1rem;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	background: #00a74d;
	border-radius: 50px;
}
.main-about .flex-box .text-area button a::before{
	content: "";
	position: absolute;
	top: 23px;
	right: 25px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
.main-about .flex-box .text-area button a span {
	padding-right: 30px;
	border-right: 1px #fff solid;
}

/* 組合員向け情報 */

.main-member { position: relative; padding: 100px 0; }
.main-member::after {
	content: "";
	position: absolute;
    bottom: 0;
    left: 0;
    width: 70vw;
    height: 300px;
    background-color: #ffef8f;
	border-radius: 0 20px 20px 0;
    z-index: -5;
}
.main-member .flex-box {
    display: flex;
    align-items: center;
}

.member__headline {
	width: 30%;
    padding: 0 5% 0 10%;
}
.member__headline h2 {
	position: relative;
	min-height: 380px;
	padding: 4em 2em 1em;
	letter-spacing: 0.1rem;
	writing-mode: vertical-rl;
	background: #fff;
	box-sizing: border-box;
	border-radius: 20px;
}
.member__headline h2::before {
	content: "";
	position: absolute;
	top: 1em;
	left: 50%;
    transform: translateX(-50%);
	width: 69px;
	height: 48px;
	background: url("../images/common/top_memder_logo.png") no-repeat;
}

.main-member .member__itemList {
	width: 70%;
	display: flex;
    align-items: center;
	justify-content: space-between;
}
.main-member .member__itemList .item {
	display: block;
	width: 33.2222%;
	background: #fff;
	border-radius: 20px;
}
.main-member .member__itemList .item a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2em;
	min-height: 380px;
	text-decoration: none;
	border-radius: 20px;
	box-sizing: border-box;
	transition: .4s;
}
.main-member .member__itemList .item a:hover {
	opacity: 0.7;
}
.main-member .member__itemList .item:nth-child(1) a {
	background: url("../images/common/top_memder_back01.png") no-repeat;
	background-position: center;
}
.main-member .member__itemList .item:nth-child(2) a {
	background: url("../images/common/top_memder_back02.png") no-repeat;
	background-position: center;
}
.main-member .member__itemList .item:nth-child(3) a {
	background: url("../images/common/top_memder_back03.png") no-repeat;
	background-position: center;
	border-radius: 20px 0 0 20px;
}
.main-member .member__itemList .item span {
	width: fit-content;
	padding: 0.2em 1em;
	font-family: 'Roboto', sans-serif;
	font-size: 0.85rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.05rem;
	border: 2px #fff solid;
	border-radius: 50px;
}
.main-member .member__itemList .item h3 {
	margin: 15px 0 0;
	font-size: 1.5rem;
	color: #fff;
}
.main-member .member__itemList .item p {
	margin: 10px 0 0;
	font-size: 0.9rem;
	color: #fff;
}

/* マップ */

.main-map {
	display: flex;
	justify-content: space-between;
	width: 90%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 100px 0;
}
.main-map .map__item { width: 47%; }
.main-map .map__item h3 {
	margin-bottom: 30px;
	text-align: center;
}
.main-map .map__item button {
	display: block;
	width: 280px;
	margin: 30px auto 0;
}
.main-map .map__item button a {
	display: block;
	position: relative;
	padding: 1em 2em;
	font-family: "Noto Sans Japanese";
	font-size: 1rem;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	background: #00a74d;
	border-radius: 50px;
}
.main-map .map__item button a::before{
	content: "";
	position: absolute;
	top: 23px;
	right: 25px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
.main-map .map__item button a span {
	padding-right: 30px;
	border-right: 1px #fff solid;
}

/* お問い合わせ */

.main-contact {
	width: 100%;
    height: auto;
	margin: 0 auto;
	border-top: 1px #ccc solid;
    overflow: hidden;
}
.main-contact .main-contact-inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 100px 0;
}

.contact__headline {
	padding-bottom: 30px;
	margin-bottom: 30px;
	text-align: center;
	border-bottom: 1px #666 solid;
}
.contact__headline .about__en {
    display: inline;
	position: relative;
	padding-left: 25px;
	font-family: 'Roboto', sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
	color: #00a74d;
	letter-spacing: 0.1rem;
}
.contact__headline .about__en::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	border-radius: 50px;
	background: #00a74d;
}
.contact__headline h2 {
	margin: 30px 0 0;
	font-size: 2.5rem;
	color: #222;
}

.main-contact .flex-box {
    display: flex;
}
.main-contact .flex-box .ct-item {
	width: 50%;
	text-align: center;
}
.main-contact .flex-box .ct-item:first-of-type {
	border-right: 1px #666 solid;
}
.main-contact .flex-box .ct-item h3 {
	margin: 0;
	font-size: 1.5rem;
}
.main-contact .flex-box .ct-item span {
	display: block;
	margin-top: 10px;
}
.main-contact .flex-box .ct-item h4 {
	margin: 10px 0 0;
	font-family: 'Roboto', sans-serif;
	font-size: 2.5rem;
	color: #00a74d;
	letter-spacing: 0.05rem;
}
.main-contact .flex-box .ct-item h4 span {
	display: inline;
	margin-right: 5px;
	font-size: 1.5rem;
}
.main-contact .flex-box .ct-item p { margin: 0; }


/************************* COMMON *************************/

.page-header {
	position: relative;
    width: 100vw;
    margin: 0 0 0 auto;
    min-height: 30rem;
}
.page-header-inner {
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 50px 100px 50px 10%;
    background: #fff;
    border-radius: 0 50px 0 0;
}
.page-header-inner::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: -50px;
    width: 50px;
    height: 50px;
    background: url("../images/page_head/pagehead_curve.png") no-repeat;
}
.page-header-inner h1 {
	margin: 0;
}

h1.page-header-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 3rem;
    font-weight: 800;
    text-align: left;
}
h1.page-header-title::before {
    content: "";
	display: inline-block;
	position: absolute;
    left: -50%;
    top: 120px;
    width: 100%;
    height: 1px;
    background: #00a74d;
}
h1.page-header-title .ttl__en {
	position: relative;
	padding-left: 20px;
	font-family: 'Roboto', sans-serif;
	font-size: 1rem;
	color: #00a74d;
	letter-spacing: 0.05rem;
}
h1.page-header-title .ttl__en::before {
	content: "";
    position: absolute;
    top: 3px;
    left: 0;
    width: 13px;
    height: 13px;
    border-radius: 50px;
    background: #00a74d;
}
h1.page-header-title .ttl__jp {
	position: relative;
	left: -20px;
	padding: 0 15px;
	margin-top: 10px;
	color: #222;
	letter-spacing: 0.05em;
	background: #fff;
}

#bread {
	padding: 30px 0;
	margin: 0 10%;
}
#bread .bread-box {}
#bread .bread-box a {
	color: #222;
	text-decoration: none;
}
#bread .bread-box a:after {
    content: ">";
	margin-left: 0.5em;
    margin-right: 0.5em;
}

.content {
	width: 90%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 80px 0;
}

h2.sub-ttl {
	position: relative;
	padding: 1em 0 0;
	margin: 1em 0 1em;
	font-size: 2.2rem;
}
h2.sub-ttl::after, h2.sub-ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0.2rem;
    background-color: #1eaa39;
    transform-origin: left center;
    transform: scaleX(.1);
}
h2.sub-ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0.2rem;
    background-color: #1eaa39;
    transform-origin: left center;
    transform: scaleX(.05);
}
h2.sub-ttl::after {
    right: 0;
    left: auto;
    width: 95%;
    background-color: rgba(37,30,28,.1);
    transform: none;
}
h2.sub-ttl .small { font-size: 1.5rem; }

h3.sub-ttl {
	position: relative;
	padding: 0.5em 2em;
    margin: 60px 0 40px;
	font-size: 1.7rem;
	background: #f2f2f2;
	border-radius: 7px;
}
h3.sub-ttl::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
    width: 0.3rem;
    height: 2rem;
    background-color: #00a74d;
    border-radius: 0.5rem;
}

h3.center-ttl {
	margin-top: 0;
	font-size: 1.7rem;
	color: #222;
	text-align: center;
}

a.green { color: #00a74d; }
.url b { font-size: 1.2rem; }

.spase { height: 80px; }
.spase-30 { height: 30px; }

.red { color: #E20800; }

.br-sp { display: none; }


/*********************** OVERVIEW *************************/

.overview_cv {}

.overview_cv .ov_map { margin-top: 60px; }

.overview_cv .ov-images {
	width: auto;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: 100px;
	max-width: 100vw;
}
.overview_cv .ov-images img {
	max-width: 100%;
	width: 100%;
	height: 500px;
	object-fit: cover;
}

.overview_cv .ov-table {
	width: 100%;
	padding: 0;
	margin-top: 50px;
	table-layout: fixed;
	border-collapse: collapse;
}
.overview_cv .ov-table tr {
	padding: .35em;
	border-bottom: 1px solid #aec1ba;
}
.overview_cv .ov-table tr:first-of-type {
	padding: .35em;
	border-top: 1px solid #aec1ba;
}
.overview_cv .ov-table th,
.overview_cv .ov-table td {
	padding: 2em 1em 2em 2em;
}
.overview_cv .ov-table th {
	width: 20%;
	padding: 2em 1em 2em 2em;
	font-weight: 500;
	text-align: left;
	background: #ebf4f1;
	box-sizing: border-box;
}
.overview_cv .ov-table td .post {
	display: inline-block;
	padding: 0.1em 1.5em;
	margin: 5px 10px 5px 0;
	background: #ebf4f1;
	border-radius: 50px;
}

.overview_cv .ov-organization {
	margin-top: 80px;
	text-align: center;
}


/************************* NEWS ***************************/

.news_cv {}

.topics { margin: 80px 0; }
.topics .topics__info-list {
	padding: 0;
	margin: 0;
}
.topics .topics__info-list li {
	display: flex;
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px rgba(0,0,0,.1) solid;
}
.topics .topics__info-list li:last-of-type { margin-bottom: 0; }
.topics .topics__info-list li .day {
	margin-right: 20px;
}
.topics .topics__info-list li .cate {
	padding: 0.2em 1.5em;
	margin-right: 20px;
	font-size: 0.85rem;
	color: #fff;
	background: #ff9d00;
	border-radius: 50px;
}
.topics .topics__info-list li .cate {
	color: #fff;
	background: #ff0000;
}

.topics .topics__info-list li a {
	font-weight: 500;
	color: #222;
	text-decoration: none;
	transition: .3s;
}
.topics .topics__info-list li a:hover {
	color: #888;
	text-decoration: underline;
}

.single {}
.single h2.news-ttl {
	position: relative;
	padding: 1em 0 0;
	margin: 1em 0 2em;
	font-size: 1.8rem;
}
.single h2.news-ttl::after, .single h2.news-ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0.2rem;
    background-color: #1eaa39;
    transform-origin: left center;
    transform: scaleX(.1);
}
.single h2.news-ttl::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0.2rem;
    background-color: #1eaa39;
    transform-origin: left center;
    transform: scaleX(.05);
}
.single h2.news-ttl::after {
    right: 0;
    left: auto;
    width: 95%;
    background-color: rgba(37,30,28,.1);
    transform: none;
}


/*********************** DOWNLOAD *************************/

.download_cv {}

.dl-document-box { margin-bottom: 30px; }
.dl-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0;
}
.dl-list li {
	width: 49%;
	margin-bottom: 20px;
}
.dl-list li a {
	display: block;
	position: relative;
	padding: 1.2em 1.5em 1.2em 4em;
	font-weight: 500;
	color: #222;
	background: #f8f8f8;
	border-radius: 7px;
	transition: .3s;
}
.dl-list li a:hover {
	color: #2b579a;
	text-decoration: none;
	background: #efefef;
}

.dl-list li a::before {
	content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    margin: auto;
    width: 30px;
    height: 100%;
}

.dl-list li.excel a::before {
	background: url("../images/download/icon-excel.svg") no-repeat;
    background-size: 30px 100%;
}
.dl-list li.word a::before {
	background: url("../images/download/icon-word.svg") no-repeat;
    background-size: 30px 100%;
}
.dl-list li.pdf a::before {}


/************************* ABOUT **************************/

.about_mv {
	background: url("../images/page_head/contact_mv.jpg") no-repeat;
}
.about_cv {}

.about__flex-img {
	display: flex;
	justify-content: space-between;
	margin: 80px 0 30px;
}
.about__flex-img .item {
	width: 48%;
}
.about__flex-img .item img {
	width: 100%;
	border-radius: 20px;
}

.bg-gray {
	width: auto;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	background: #eff2f1;
}
.bg-gray .inner {
	width: 90%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 80px 0;
}

.bg-gray .inner h2 {
	font-size: 2.2rem;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 0.625rem;
	text-decoration-thickness: 0.125rem;
	-webkit-text-decoration-style: dashed;
	text-decoration-style: dashed;
}
.bg-gray .inner h2 span {
	padding-top: 0.6em;
	background-position: top left 0em;
	background-repeat: repeat-x;
	background-size: 1em 1.1em;
	background-image: radial-gradient(#00a74d 10%, transparent 15%);
}
.bg-gray .inner p {
	font-size: 1.2rem;
	font-weight: 500;
	text-align: center;
}
.bg-gray .inner .logo {
	margin: 50px 0;
	text-align: center;
}
.bg-gray .inner .meaning {
	width: fit-content;
	margin: auto;
	padding: 0;
	margin-top: 40px;
}
.bg-gray .inner .meaning li {
	padding: 0.5em 1em;
	margin: 15px 0;
	font-size: 1.5rem;
	font-weight: 500;
	background: #fff;
	border-radius: 5px;
}
.bg-gray .inner .meaning li span {
	font-weight: 600;
	color: #00a74d;
}

.about_cv .about__expression {
	padding: 3em;
	border: 1px #ddd solid;
	border-radius: 30px;
}
.about_cv .about__expression.margin {
	margin-top: 50px;
}

.about__expression span {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	color: #00a74d;
	letter-spacing: 0.05rem;
	text-align: center;
}
.about__expression h3 {
	margin: 20px 0 0;
	font-size: 2rem;
	text-align: center;
}
.about__expression h4 {
	margin: 0;
	margin-top: 30px;
	padding: 0.5em 1em;
	font-size: 1.3rem;
	background: #eff2f1;
	border-radius: 5px;
}
.about__expression p:first-of-type {
	font-size: 1.2rem;
	font-weight: 500;
	text-align: center;
}


/*********************** FACILITY *************************/

.facility_cv {}

.facility_cv .fcl-flex {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}
.facility_cv .fcl-flex .img { width: 30%; }
.facility_cv .fcl-flex .img img { width: 100%; border-radius: 20px; }

.facility_cv .fcl-table {
	width: 65%;
	padding: 0;
	table-layout: fixed;
	border-collapse: collapse;
}
.facility_cv .fcl-table tr {
	padding: .35em;
	border-bottom: 1px solid #aec1ba;
}
.facility_cv .fcl-table tr:first-of-type {
	padding: .35em;
	border-top: 1px solid #aec1ba;
}
.facility_cv .fcl-table th,
.facility_cv .fcl-table td {
	padding: 1.2em 1em 1.2em 1em;
}
.facility_cv .fcl-table th {
	width: 20%;
	padding: 1.2em 1em 1.2em 2em;
	font-weight: 500;
	text-align: left;
	background: #ebf4f1;
	box-sizing: border-box;
}

.section-info { margin-top: 50px; }
.section-info p {
	font-size: 1.2rem;
	font-weight: 500;
	margin: 5px 0;
}
.section-info p span.orange {
	padding: 0.2rem 1.5rem;
	margin-right: 15px;
	font-size: 1rem;
	color: #fff;
	background: #ff9d00;
	border-radius: 50px;
}
.section-info p span.green {
	display: inline-block;
	font-size: 1.5rem;
	color: #00a74d;
	line-height: 1;
}

.section-info .sc-info__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 30px;
}
.section-info .sc-info__item .item {
	position: relative;
	width: 45%;
	padding: 1em;
	font-size: 1.2em;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: #00a74d;
	border-radius: 10px;
}
.section-info .sc-info__item .line {
	width: 10%;
	height: 5px;
	background: #ddd;
}


/************************ MESSAGE *************************/

.mess_cv {}
.mess_cv .mess__item-list { padding: 0; margin-top: 50px; }
.mess_cv .mess__item-list li {
	position: relative;
	padding: 0.7em 1em 0.7em 2.5em;
	margin-bottom: 15px;
	font-size: 1.2rem;
	border: 1px #ddd solid;
	border-radius: 7px;
}
.mess_cv .mess__item-list li span {
	position: absolute;
	left: 15px;
	font-size: 1.5rem;
	color: #00a74d;
	line-height: 1;
}
.mess_cv .note {
	margin-top: 30px;
	font-weight: 500;
	color: #E20800;
}

.mess_cv .mess__text-box {
	width: auto;
	margin-top: 100px;
	margin-bottom: 60px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
}
.mess_cv .mess__text-box .flex-box {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.mess_cv .mess__text-box .flex-box .txt {
	width: 50%;
	padding-right: 5%;
	box-sizing: border-box;
}
.mess_cv .mess__text-box .flex-box .txt h3 {
	position: relative;
	padding-bottom: 50px;
	margin-bottom: 50px;
	font-size: 2rem;
}
.mess_cv .mess__text-box .flex-box .txt h3::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 2px;
	background: #ddd;
}
.mess_cv .mess__text-box .flex-box .img {
	width: 60%;
	margin-right: calc(50% - 50vw);
}
.mess_cv .mess__text-box .flex-box .img img {
	width: 100%;
	max-width: 100%;
	height: 400px;
	object-fit: cover;
	vertical-align: bottom;
	border-radius: 20px 0 0 20px;
}

.mess_cv .mess__images {
	display: flex;
	justify-content: space-between;
	margin-top: 60px;
}
.mess_cv .mess__images .item {
	width: 32%;
}
.mess_cv .mess__images .item img {
	width: 100%;
	border-radius: 20px;
}

.mess_cv p { text-align: justify; }
.mess_cv p.margin { margin-top: 50px; }
.mess_cv p.margin a { color: #00a74d; }


/*********************** FARMLAND *************************/

.farm_cv {
	padding-bottom: 0;
}
.farm_cv .farm__doc-list {
	padding: 0;
	margin: 50px 0 0;
}
.farm_cv .farm__doc-list li {
	position: relative;
	padding: 25px 0 25px 40px;
	font-size: 1.2rem;
	border-bottom: 1px #eee solid;
}
.farm_cv .farm__doc-list li .no {
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	color: #00a74d;
}
.farm_cv .farm__doc-list li .need {
	margin-left: 30px;
	padding: 0.2em 1em;
	font-size: 1rem;
	color: #E20800;
	background: #f8f8f8;
	border-radius: 50px;
}

.farm_cv .farm__note {
	display: block;
	margin-top: 50px;
	padding: 1.5em;
	line-height: 1.8;
	background: #f8f8f8;
	border-radius: 10px;
}
.farm_cv .farm__note tr td:first-of-type {
	padding-right: 10px;
}
.farm_cv .farm__note tr:nth-child(n+2) td:first-of-type {
	text-align: right;
}

.farm_cv .ct-address {
	width: 100%;
	margin-top: 40px;
	border-top: 1px #ddd solid;
	border-left: 1px #ddd solid;
	background: #fff;
}
.farm_cv .ct-address th {
	width: 33.33333%;
	padding: 1em;
	text-align: center;
	border-bottom: 1px #ddd solid;
	border-right: 1px #ddd solid;
	background: #f8f8f8;
}
.farm_cv .ct-address td {
	width: 33.33333%;
	padding: 1em;
	text-align: center;
	border-bottom: 1px #ddd solid;
	border-right: 1px #ddd solid;
}

.bg-green {
	width: auto;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	background: #ebf4f1;
}
.bg-green .inner {
	width: 90%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 80px 0;
}

.border-none {
	border: 0;
}


/************************ CONTACT *************************/

.cantact-item { margin-top: 80px; text-align: center; }
.cantact-item h3 {
	padding: 0.5em 1em;
	font-size: 1.5rem;
	background: #ecf5f2;
	border-radius: 5px;
	box-sizing: border-box;
}

.cantact-item .ct-tel {
	font-family: 'Roboto', sans-serif;
	font-size: 2.5rem;
	font-weight: bold;
	color: #00a74d;
	letter-spacing: 0.05rem;
}
.cantact-item p { margin: 10px 0; }
.cantact-item p.ct-data01 { font-weight: 500; }
.cantact-item p.ct-data02 { margin: 10px 0 20px; font-weight: 500; }
.cantact-item p.ct-data03 {
	display: inline;
	padding: 0.5em 1.5em;
	letter-spacing: 0.05rem;
	background: #efefef;
	border-radius: 50px;
}


/********************* SCROLL ANIME ***********************/

/* Page Top */
#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 15px;
	text-align: center;
	z-index: 80;
}
#page-top a {
	display: block;
	width: 120px;
	padding: 12px 0px;
	color: #00a74d;
	border-radius: 30px;
	text-decoration: none;
	transition: .3s;
	background-color: #fff;
}
#page-top a:hover { color: #fff; background-color: #00a74d; }

.border_h2 { position: relative; }
.border_h2 span {
	position: relative;
	display: inline-block;
	padding: 0.3vw 1vw 0.3vw;
}
.border_h2 span .border_x_left,
.border_h2 span .border_x_right,
.border_h2 span .border_y_top,
.border_h2 span .border_y_bottom {
	transition-delay: 0.3s;
}

.img_anim { overflow: hidden; }
.img_anim img { opacity: 0; transform: translateZ(0) scale(1.1); }
.img_anim.on img {
	opacity: 1;
	transition: transform 1s cubic-bezier(0.22, 0.11, 0.22, 1) 0.5s, opacity 1s cubic-bezier(0.22, 0.11, 0.22, 1) 0.5s;
	transform: translateZ(0) scale(1);
}

.text_b { filter: blur(20px); opacity: 0; }
.text_b.on {
	filter: blur(0);
	opacity: 1;
	transition: filter 0.6s cubic-bezier(0.65, 0.05, 0.36, 1), opacity 0.6s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.fade_y, .text {
	transform: translateY(10%);
	opacity: 0;
}
.fade_y.on, .text.on {
	opacity: 1;
	transform: translateY(0%);
	transition: 0.8s;
}

.fade_x {
	transform: translateX(10%);
	opacity: 0;
}
.fade_x.on {
	opacity: 1;
	transform: translateX(0%);
	transition: 0.8s;
}

.border_y_top {
	height: 100%;
	width: 1px;
	position: absolute;
	left: 0;
	top: 0;
	transform: scaleY(0);
	transform-origin: top;
	background: #2f3739;
	transition: transform 0.9s cubic-bezier(0, 1.08, 1, 1);
	z-index: 1;
}
.border_y_bottom {
	height: 100%;
	width: 1px;
	position: absolute;
	right: 0;
	top: 0;
	transform: scaleY(0);
	transform-origin: bottom;
	background: #2f3739;
	transition: transform 0.9s cubic-bezier(0, 1.08, 1, 1);
	z-index: 1;
}
.border_x_left {
	position: absolute;
	right: 0;
	top: 0;
	height: 1px;
	width: 100%;
	transform: scaleX(0);
	transform-origin: left;
	background: #2f3739;
	transition: transform 1s cubic-bezier(0, 1.08, 1, 1);
	z-index: 1;
}
.border_x_right {
	position: absolute;
	right: 0;
	bottom: 0;
	height: 1px;
	width: 100%;
	transform: scaleX(0);
	transform-origin: right;
	background: #2f3739;
	transition: transform 1s cubic-bezier(0, 1.08, 1, 1);
	z-index: 1;
}

#bar {
	background-color: #2f3739;
	position: fixed;
	top: 0;
	left: 0;
	height: 7px;
	z-index: 9999;
}

.lb-outerContainer,.lb-dataContainer{
    width: calc(100% - 20px) !important;
    max-width: 1300px;/*拡大時の最大幅*/
}
.lb-outerContainer{
    height: auto !important;
    margin-left: auto;
    margin-right: auto;
}
.lb-image{
    width: 100% !important;
    height: auto !important;
}