@charset "utf-8";
/*common
-----------------------------------------------------------------------------------------*/
section{
	padding: 50px 0;
}

div.contents-wrapper{
	width: calc(100% - 100px);
	max-width: 1500px;
	margin: 0 auto;
}

.gradation-color{
	background: linear-gradient(90deg, rgb(6,46,94) 0%, rgb(14,70,138) 50%, rgb(18,85,165) 100%);
	-webkit-background-clip: text;
	color: transparent;
}

.gradation-back{
	background-image: linear-gradient(90deg, rgb(6,46,94) 0%, rgb(14,70,138) 50%, rgb(18,85,165) 100%);
}

@media screen and (max-width:767px) {
section{
	padding: 30px 0;
}

div.contents-wrapper{
	width: calc(100% - 60px);
}
}


/*home
-----------------------------------------------------------------------------------------*/
section.bg-top{
	position: relative;
	background-image: url(../images/bg-top.jpg);
	height: 100vh;
	padding: 0;
	overflow: hidden;
}

div.top-box{
	height: 100vh;
}

h1.top-phrase{
	text-shadow: 4px 4px 2px rgb(191,191,191);
	font-family: "Sawarabi Mincho",serif;
}

span.top-phrase-ja{
	font-size: 280%;
}

span.top-phrase-en{
	font-size: 190%;
}

div.loop-slider{
	flex-wrap: nowrap;
	position: absolute;
	left: 0;
	bottom: 0;
}

div.loop-slider img{
	width: 100%;
}

@keyframes loop {
	from {
		transform: translateX(-100%);
	}
	to {
		transform: translateX(100%);
	}
}

@keyframes loop2 {
	0% {
		transform: translateX(-200%);
	}
	to {
		transform: translateX(0);
	}
}

div.loop-slider.woods img:first-child{
	animation: loop 130s -65s linear infinite;
}

div.loop-slider.woods img:last-child{
	animation: loop2 130s linear infinite;
}

div.loop-slider.city img:first-child{
	animation: loop 50s -25s linear infinite;
}

div.loop-slider.city img:last-child{
	animation: loop2 50s linear infinite;
}


h2.site-topics.contents{
	font-size: 150%;
}

span.top-company-text{
	width: 60%;
	margin: 0 auto;
}

a.top-link{
	width: 30%;
	padding: 10px;
	font-size: 120%;
	border-radius: 50px;
	margin: 30px auto 0;
	background-size: 200% auto;
	background-image: linear-gradient(90deg, rgb(6,46,94) 0%, rgb(14,70,138) 25%, rgb(18,85,165) 50%, rgb(14,70,138) 75%, rgb(6,46,94) 100%);
}

a.top-link:hover{
	background-position: right center;
}

section.bg-blue{
	background-color: rgb(233,242,253);
}

div.product-top-image{
	width: 40%;
}

div.product-detail{
	width: calc(60% - 50px);
	color: rgb(15,85,166);
}

div.product-box{
	width: calc(100% / 3 - 30px);
	border: 1px solid rgb(6,46,94);
	padding: 20px;
}

img.product-icon{
	width: 60%;
	margin: 0 auto;
}

span.product-text{
	display: block;
	font-size: 85%;
	margin: 10px 0;
}

span.product-line{
	width: 80%;
	height: 1px;
	margin: 0 auto;
	background-color: rgb(15,85,166);
}

a.top-link.product{
	width: 45%;
	margin-top: 50px;
}

div.top-news{
	width: 60%;
	padding: 50px;
}

h2.site-topics.news{
	width: 30%;
}

span.site-topics-sub.news{
	margin-left: 10px;
}

a.top-link.news{
	border: 1px solid rgb(255,255,255);
	border-radius: 0;
	margin: 0;
	background-image: none;
}

a.top-link.news:hover{
	background-color: rgb(255,255,255);
	color: rgb(18,85,165);
	font-weight: 700;
}

div.news-list.bg-change{
	position: relative;
	top: 50px;
	left: 0;
	width: 60%;
	margin-left: -20%;
	background-image: url(../images/bg-news.png);
}

li.news-inner{
	position: relative;
	border-bottom: 1px solid rgb(255,255,255);
	overflow: hidden;
}

li.news-inner:last-child{
	border-bottom: none;
}

li.news-inner a{
	padding: 20px;
}

span.news-title{
	font-size: 110%;
	margin-top: 10px;
}

span.read-more{
	opacity: 0;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	transition: 0.6s;
	-webkit-transition: 0.6s;
	-moz-transition: 0.6s;
	-ms-transition: 0.6s;
	-o-transition: 0.6s;
}

li.news-inner a:hover span.read-more{
	opacity: 1;
	transition: 0.6s;
	-webkit-transition: 0.6s;
	-moz-transition: 0.6s;
	-ms-transition: 0.6s;
	-o-transition: 0.6s;
}


@media screen and (max-width:1223px) {
a.top-link{
	width: 50%;
}

span.product-text{
	font-size: 80%;
}

h2.site-topics.news{
	width: 40%;
}
}

@media screen and (max-width:1184px) {
div.product-detail{
	width: calc(60% - 30px);
}

div.product-box{
	width: calc(100% / 3 - 20px);
	padding: 15px 10px;
}
}

@media screen and (max-width:1023px) {
section.bg-top{
	height: 700px;
	margin-top: 100px;
}

div.top-box{
	height: 700px;
}

div.loop-slider{
	width: 180%;
}

span.top-company-text{
	width: 90%;
}

div.product-top-image{
	width: 100%;
	margin-bottom: 10px;
}

div.product-top-image img{
	width: 70%;
}

div.product-detail{
	width: 100%;
}

section.top-news{
	padding: 0;
}

div.top-news{
	width: 90%;
	margin-right: auto;
	padding-bottom: 100px;
}

h2.site-topics.news{
	width: 100%;
}

span.site-topics-sub.news{
	margin-left: 20px;
}

a.top-link.news{
	margin: 0 auto;
}

div.news-list.bg-change{
	top: 0;
	width: 90%;
	margin: -50px 0 0 auto;
}
}

@media screen and (max-width:767px) {
section.bg-top{
	margin-top: 75px;
}

section.bg-top,
div.top-box{
	height: 350px;
}

span.top-phrase-ja{
	font-size: 135%;
}

span.top-phrase-en{
	font-size: 100%;
}

h2.site-topics.contents{
	font-size: 110%;
}

span.top-company-text{
	width: 100%;
	font-size: 80%;
}

a.top-link{
	width: 100%;
}

span.site-topics-main.product{
	font-size: 140%;
}

span.site-topics-sub.double.product{
	font-size: 90%;
}

div.product-top-image{
	margin-bottom: 20px;
}

div.product-top-image img{
	width: 85%;
}

div.product-box{
	width: 100%;
	margin-bottom: 20px;
}

div.product-box:last-child{
	margin-bottom: 0;
}

img.product-icon{
	display: inline-block;
	width: 15%;
	margin-right: 10px;
}

span.product-text{
	display: inline-block;
	width: 65%;
	font-size: 90%;
}

span.product-line{
	width: 50%;
	margin: 0 35%; 
}

a.top-link.product{
	width: 100%;
	margin-top: 30px;
}

div.top-news,
div.news-list.bg-change{
	width: calc(100% - 30px);
}
}

@media screen and (max-width:374px) {
h2.site-topics.contents{
	font-size: 100%;
}

span.site-topics-main.product{
	font-size: 125%;
}

}
/*page
-----------------------------------------------------------------------------------------*/
section.bg-page{
	background-image: url(../images/bg-page.png);
	height: 450px;
}

span.page-title-en{
	font-size: 230%;
}

span.page-line{
	width: 300px;
	height: 1px;
	margin: 30px auto;
	background-color: rgb(255,255,255);
}

span.page-title-ja{
	font-size: 150%;
}

@media screen and (max-width:1023px) {
section.bg-page{
	margin-top: 100px;
	height: 400px;
}
}

@media screen and (max-width:767px) {
section.bg-page{
	margin-top: 75px;
	height: 300px;
	background-position: center;
}

span.page-title-en{
	font-size: 180%;
}

span.page-line{
	width: 180px;
	margin: 20px auto;
}

span.page-title-ja{
	font-size: 120%;
}
}


/*company
-----------------------------------------------------------------------------------------*/

section.company{
padding-bottom: 0;
}

div.contants-wrapper.company{
	max-width: 1200px;
}

table.company-table th,
table.company-table td{
	padding: 20px;
	vertical-align: top;
	border: 1px solid rgb(18,85,166);
}

table.company-table th{
	width: 20%;
	background-color: rgb(18,85,166);
	color: rgb(255,255,255);
	border-bottom: 1px solid rgb(255,255,255);
}

table.company-table tr:last-child th{
	border-bottom: 1px solid rgb(78,85,166);
}

table.company-table td{
	width: 80%;
	text-align: left;
}

table.company-table td a{
	color: rgb(64,64,64);
}

span.table-space{
	margin-right: 10px;
}

table.inner-table th,
table.inner-table td{
	padding: 0 0 10px;
	border: none;
}

table.inner-table tr:last-child th,
table.inner-table tr:last-child td{
	padding-bottom: 0;
}

table.inner-table th{
	width: 8%;
	border-bottom: 0 !important;
	background-color: rgb(255,255,255);
	color: rgb(64,64,64);
}

table.inner-table td{
	width: 92%;
}

@media screen and (min-width:1500px) {
table.inner-table th{
	width: 7%;
}

table.inner-table td{
	width: 93%;
}
}

@media screen and (max-width:1100px) {
table.inner-table th{
	width: 10%;
}

table.inner-table td{
	width: 90%;
}
}

@media screen and (max-width:1100px) {
table.inner-table td{
	font-size: 90%;
}
}

@media screen and (max-width:1023px) {
table.inner-table th{
	width: 15%;
}

table.inner-table td{
	width: 85%;
	font-size: 80%;
}
}

@media screen and (max-width:767px) {
table.company-table th,
table.company-table td,
table.inner-table th,
table.inner-table td{
	display: block;
	width: 100%;
}

table.company-table th,
table.company-table td{
	padding: 15px;
}

table.company-table th{
	border-bottom: none;
}

table.company-table td{
	font-size: 90%;
}

table.inner-table th{
	padding: 0 0 5px;
}

table.inner-table tr:last-child th{
	padding-bottom: 5px;
}

table.inner-table td{
	padding: 0 0 10px;
}
}

@media screen and (max-width:374px) {
table.company-table th,
table.company-table td{
	padding: 10px;
}

table.company-table th{
	font-size: 90%;
}

table.company-table td{
	font-size: 80%;
}

table.inner-table th{
	padding: 0 0 5px;
}

table.inner-table tr:last-child th{
	padding-bottom: 5px;
}

table.inner-table td{
	padding: 0 0 10px;
}
}
/*product
-----------------------------------------------------------------------------------------*/
h2.site-topics.product{
	font-size: 150%;
}

p.biosoil-text{
	margin-bottom: 30px;
}

br.block-1023{
	display: none;
}

div.biosoil-feature{
	position: relative;
	width: calc(100% / 4 - 35px);
	border: 1px solid rgb(15,85,166);
	border-radius: 20px;
	padding: 20px;
}

img.feature-image{
	position: absolute;
	top: -12px;
	left: 20px;
	width: 30%;
}

h3.feature-titie{
	width: 70%;
	margin: 0 0 30px auto;
	font-size: 120%;
}

.text-blue{
	color: rgb(15,85,166);
	font-weight: 700;
}

span.feature-line{
	width: 80%;
	height: 2px;
	background-color: rgb(15,85,166);
	margin: 10px auto 0;
}

div.feature-text{
	line-height: 30px;
	font-size: 105%;
}

div.product-page-contents{
	margin: 50px 0;
}

div.product-page-box.image{
	width: 30%;
}

div.product-page-box.text{
	width: 55%;
	padding: 50px;
	align-self: center;
	line-height: 30px;
}

h3.contents-title{
	font-size: 150%;
	font-weight: 700;
	margin-bottom: 30px;
}

div.product-table-left{
	width: 51%;
}

div.product-table-right{
	width: 42%;
}

p.modal-check{
	margin-top: 10px;
}

img.product-image{
	cursor: pointer;
}

div.achievement-box{
	width: calc(100% / 2 - 25px);
}

div.achievement-box.image{
	height: 380px;
}

div.achievement-box.image img{
	height: 100%;
	object-fit: cover;
}

div.achievement-image{
	width: calc(100% / 2 - 20px);
	height: 150px;
	margin-bottom: 20px;
}

div.achievement-image.upper{
	margin-bottom: 30px;
}

a.button-soil,
a.button-zeo{
	display: block;
	width: 100%;
	height: 100%;
	padding: 20px;
	line-height: 110px;
	font-size: 120%;
	background-color: rgb(18,85,166,0.5);
	opacity: 0;
	cursor: pointer;
}

a.button-soil.active-soil,
a.button-zeo.active-zeo{
	opacity: 1;
}

div.bg-biosoil1{
	background-image: url(../images/biosoil1.jpg);
}

div.bg-biosoil2{
	background-image: url(../images/biosoil2.png);
}

div.bg-biosoil3{
	background-image: url(../images/biosoil3.png);
}

div.bg-biosoil4{
	background-image: url(../images/biosoil4.jpg);
}

div.product-page-contents.biozeo{
	margin-top: 0;
}

div.bg-biozeo1{
	background-image: url(../images/biozeo1.png);
}

div.bg-biozeo2{
	background-image: url(../images/biozeo2.jpg);
}

section.catalog{
	padding-bottom: 0;
}

a.catalog-link{ 
	position: relative;
	width: 830px;
	margin: 40px auto 0;
	padding: 20px;
	box-shadow: 3px 5px 10px rgb(0,0,0);
}

span.catalog-image{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 350px;
}

span.catalog-text{
	width: 60%;
	margin-left: auto;
	font-size: 120%;
	font-weight: 700;
}

span.catalog-text img{
	width: 80%;
	margin-bottom: 30px;
}

span.catalog-download{
	width: 80%;
	margin: 30px auto 0;
	padding: 10px;
	border: 3px solid rgb(255,255,255);
}

@media screen and (max-width:1296px) {
a.button-soil,
a.button-zeo{
	padding: 20px 10px;
	font-size: 90%;
}

div.product-page-box.text{
	width: 60%;
	padding: 30px;
	font-size: 95%;
}
}

@media screen and (max-width:1100px) {
div.biosoil-feature{
	width: calc(100% / 4 - 25px);
}

img.feature-image{
	top: -8px;
	left: 6px;
	width: 35%;
}

div.feature-text{
	font-size: 85%;
}

div.achievement-box.image{
	height: 355px;
}
}

@media screen and (max-width:1023px) {
h2.site-topics.product{
	font-size: 120%;
}

div.biosoil-feature{
	width: calc(100% / 2 - 30px);
	margin-bottom: 30px;
}

div.biosoil-feature:nth-last-child(-n+2){
	margin-bottom: 0;
}

img.feature-image{
	top: -10px;
	left: 15px;
	width: 28%;
}

div.product-page-box.image{
	width: 60%;
	margin: 0 auto 30px;
}

div.product-page-box.text{
	width: 100%;
	font-size: 90%;
}

div.product-page-contents{
	margin: 50px 0 30px;
}

div.achievement-box{
	width: 100%;
}

div.achievement-box.image{
	height: 280px;
	margin-bottom: 30px;
}

a.catalog-link{
	width: 100%;
	margin: 0;
}

span.catalog-image{
	width: 290px;
}

span.catalog-text{
	width: 57%;
}
}

@media screen and (max-width:767px) {
h2.site-topics.product{
	font-size: 95%;
	font-weight: 700;
	text-align: left;
}

p.biosoil-text{
	font-size: 80%;
	text-align: left;
}

div.biosoil-feature{
	width: 100%;
	padding: 20px 15px;
}

div.biosoil-feature:nth-last-child(2){
	margin-bottom: 30px;
}

div.feature-text{
	font-size: 90%;
}

div.product-page-box.image{
	width: 70%;
}

div.product-page-box.text{
	font-size: 80%;
	line-height: 27px;
}

h3.contents-title{
	font-size: 140%;
}

div.product-table-left,
div.product-table-right{
	width: 100%;
}

div.product-table-left{
	margin-bottom: 20px;
}

p.modal-check,
p.click-text{
	font-size: 80%;
}

a.button-soil,
a.button-zeo{
	line-height: 30px;
}

div.achievement-image{
	width: calc(100% / 2 - 10px);
	height: auto;
}

div.achievement-image.upper{
	margin-bottom: 20px;
}

div.achievement-box.image{
	height: 200px;
}

span.catalog-image,
span.catalog-text{
	width: 100%;
	font-size: 90%;
}

span.catalog-image{
	position: static;
}

span.catalog-image img{
	margin-bottom: 20px;
}

span.catalog-download{
	width: 100%;
	margin: 20px auto 0;
}
}

@media screen and (max-width:374px) {
h2.site-topics.product{
	font-size: 84%;
}

br.block-1023{
	display: none;
}

div.product-page-box.text{
	padding: 20px;
}
a.button-soil,
a.button-zeo{
	font-size: 70%;
}
}

/*modal
-----------------------------------------------------------------------------------------*/
#modal-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 200;
	display: none;
}

#modal-mask {
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
}

#modal{
	width: 80%;
	background-color: rgb(255,255,255);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

#modal-img-wrapper {
	padding: 20px;
	width: 100%;
	height: 100%;
	position: relative;
	border-radius: 10px;
}

#modal-img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.modal-button{
	position: absolute;
	font-size: 120%;
	color: rgb(255,255,255);
	cursor: pointer;
}

span.modal-button.back{
	bottom: -50px;
	left: 0;
}

span.modal-button.next{
	bottom: -50px;
	right: 0;
}

i.fa-times-circle{
	font-size: 200%;
	top: -50px;
	right: -50px;
}

#modal-name{
	position: absolute;
	top: -80px;
	left: 50%;
	transform:translateX(-50%);
	font-size: 150%;
	font-weight: 700;
}


@media screen and (max-width:767px) {
#modal{
	width: calc(100% - 60px);
}
#modal-img-wrapper {
	padding: 0;
}

i.fa-times-circle{
	font-size: 130%;
	right: -20px;
}

.modal-button{
	font-size: 90%;
}

#modal-name{
	top: -50px;
	font-size: 130%;
}
}


/*contact
-----------------------------------------------------------------------------------------*/
section.contact{
	padding-bottom: 0;
}

td.form-item1{
	width: 30%;
	padding: 20px;
	border-bottom: 1px solid rgb(191,191,191);
	vertical-align: top;
}

td.form-item2{
	width: 70%;
	padding: 20px;
	border-bottom: 1px solid rgb(191,191,191);
}

table.contact-table tr:first-child td.form-item1,
table.contact-table tr:first-child td.form-item2{
	padding-top: 0;
}

table.contact-table tr:last-child td.form-item1,
table.contact-table tr:last-child td.form-item2{
	border-bottom: none;
	padding-bottom: 0;
}

span.form-item::before{
	display: inline-block;
	padding: 5px 20px;
	font-size: 80%;
	color: rgb(255,255,255);
	margin-right: 15px;
}

span.form-item.must::before{
	content: "必須";
	background-color: rgb(18,85,166);
}

span.form-item.any::before{
	content: "任意";
	background-color: rgb(176,208,246);
}

input.text-common,
textarea.text-common{
	width: 100%;
	padding: 5px 10px;
	border: 1px solid rgb(180,180,180);
	border-radius: 2px;
	outline: none;
}

div.privacy-agreement{
	margin-top: 30px;
}

input.button-submit{
	position: relative;
	width: 50%;
	margin: 30px auto 0;
	padding: 10px 0;
	color: rgb(255,255,255);
	background-color: rgb(18,85,166);
	border: 1px solid rgb(18,85,166);
	outline: none;
	opacity: 0.3;
	-webkit-appearance: none;
	border-radius: 0;
	transition: 0.6s;
	-webkit-transition: 0.6s;
	-moz-transition: 0.6s;
	-ms-transition: 0.6s;
	-o-transition: 0.6s;
}

input.button-submit:hover {
	cursor: not-allowed;
}

input.button-submit.active{
	opacity: 1;
}

input.button-submit.active:hover{
	cursor: pointer;
	color: rgb(18,85,166);
	background-color: rgb(255,255,255);
	transition: 0.6s;
	-webkit-transition: 0.6s;
	-moz-transition: 0.6s;
	-ms-transition: 0.6s;
	-o-transition: 0.6s;
}

div.screen-reader-response {
	color: rgb(255, 0, 0);
}

div.wpcf7-response-output{
	width: 100% !important;
	margin: 30px 0 0 !important;
	padding: 20px 0 !important;
	box-sizing: border-box !important;
	text-align: center;
}

input.wpcf7-not-valid,
textarea.wpcf7-not-valid {
	background-color: rgba(255, 0, 0, 0.9);
}

span.wpcf7-not-valid-tip {
	margin-top: 2.5px;
	color: rgb(255, 0, 0);
	font-size: 80%;
}

.wpcf7 span.ajax-loader{
	display: none;
}

@media screen and (max-width:1100px) {
td.form-item1{
	width: 40%;
}

td.form-item2{
	width: 60%;
}
}

@media screen and (max-width:1023px) {
td.form-item1,
td.form-item2{
	display: block;
	width: 100%;
}

td.form-item1,
td.form-item2{
	padding: 20px 0;
}

table.contact-table tr:last-child td.form-item1{
	padding-bottom: 20px;
}

td.form-item1{
	border-bottom: none;
}

td.form-item2{
	padding-top: 0;
	margin-top: -5px;
}
}

@media screen and (max-width:767px) {
div.contact-wrap{
	width: calc(100% - 60px);
	padding: 30px;
}

span.wpcf7-list-item{
	display: block;
}

input.button-submit{
	width: 100%;
}
}
