@charset "UTF-8";
/* colors */
/*
**********************************************
common
**********************************************
*/
.flex {
  display: flex;
}

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

.flex-center {
  display: flex;
  justify-content: center;
}

.align-center {
  align-content: center;
}

.align-end {
  align-content: flex-end;
}

.t-center {
  text-align: center;
}

.t-right {
  text-align: right;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fix {
  position: fixed;
  z-index: 999;
}

.wrapper {
  width: 100%;
  margin: 0 auto;
  max-width: 1000px;
  box-sizing: border-box;
}

.inner-box {
  width: 92%;
  margin: 0 auto;
  max-width: 1060px;
  box-sizing: border-box;
}

.sp {
  display: none;
}
@media all and (max-width: 414px) {
  .sp {
    display: block;
  }
}

@media all and (max-width: 414px) {
  .pc {
    display: none;
  }
}

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

.rl {
  writing-mode: vertical-rl;
}

header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: url("../images/home/h-bg.png") no-repeat center top/100%;
  height: 22.4vw;
  max-height: 224px;
  width: 100%;
  max-width: 1000px;
  z-index: 999;
  display: flex;
  justify-content: space-between;
}
header h1 {
  width: 20%;
  margin: 5% 0 0 5%;
}
header .sp_nav {
  width: 10%;
  margin: 6% 6% 0 0;
  cursor: pointer;
}
header .sp_nav:hover {
  opacity: .7;
}

nav {
  display: none;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1000px;
  height: 100vh;
  background: #cdc22e;
  z-index: 999;
}
nav .close {
  width: 100%;
  text-align: right;
}
nav .close img {
  width: 8%;
  padding: 5%;
  cursor: pointer;
}
nav .close img:hover {
  opacity: .7;
}
nav ul {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
nav ul li {
  text-align: center;
  margin-bottom: 2rem;
}
nav ul li:hover {
  background: #a7a902;
}
nav ul li a {
  font-weight: 600;
  font-size: clamp(20px, 4vw, 40px);
}
nav ul li a:link {
  color: #005629;
}
nav ul li a:visited {
  color: #4d4d4d;
}

footer {
  padding-top: 10%;
}
footer .f-logo {
  width: 23.2%;
  max-width: 232px;
  margin: 0 auto 7%;
}
footer .copy {
  font-size: clamp(10px, 1.6vw, 16px);
  text-align: center;
  margin: 0 auto 1em;
  line-height: 1.4;
  width: 96%;
  max-width: 960px;
}

#mv {
  position: relative;
}
#mv .tit-block {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#mv .tit-block h1 {
  text-align: center;
}
#mv .tit-block h1 span {
  display: inline-block;
  font-size: clamp(18px, 4vw, 40px);
  color: #fff;
  padding: .6em 2em;
  font-weight: 900;
  background: #005629;
}
#mv .tit-block .tit-min {
  font-size: clamp(16px, 2.8vw, 28px);
  color: #fff;
  text-align: center;
  margin: 2% 0 5%;
  font-weight: bold;
}
#mv .tit-block .tit-min.gr {
  color: #005629;
}

a:where(:not(.wp-element-button)) {
  text-decoration: none !important;
}

/*
**********************************************
top
**********************************************
*/
#mv .maintxt {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 998;
  width: 100%;
  text-align: center;
}
#mv .maintxt .txt01 {
  font-size: clamp(40px, 9vw, 90px);
  letter-spacing: .4em;
  margin-right: -.4em;
  padding-left: 1.4em;
  margin-bottom: .4em;
  line-height: 1.4;
  color: #fff;
  font-weight: 700;
  display: inline-block;
  text-align: left;
  box-sizing: border-box;
}
#mv .maintxt .txt02 {
  font-size: clamp(16px, 4.5vw, 45px);
  letter-spacing: .4em;
  margin-right: -.4em;
  padding-left: 1.4em;
  line-height: 1.4;
  color: #fff;
  font-weight: 700;
  box-sizing: border-box;
  width: 100%;
}
#mv .t-news {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
#mv .t-news .btn-view {
  width: 100%;
  text-align: right;
  color: #fff;
  cursor: pointer;
  padding-right: 5%;
  box-sizing: border-box;
}
#mv .t-news .btn-view:hover {
  opacity: .7;
}
#mv .t-news .btn-view p {
  font-weight: 900;
  font-size: clamp(16px, 4vw, 40px);
  display: inline-block;
}
#mv .t-news .btn-view p:after {
  display: inline-block;
  content: url("../images/home/w-arrow.svg");
  width: clamp(16px, 4vw, 40px);
  padding-left: 1em;
}
#mv .t-news h2 {
  display: inline-block;
  font-weight: 900;
  font-size: clamp(18px, 4vw, 40px);
  color: #005629;
  background: #fff;
  margin: 0 5%;
  padding: .2em;
}
#mv .t-news .news-list {
  width: 90%;
  margin: 3% auto 5%;
  border-left: clamp(3px, 1vw, 10px) solid #fff;
}
#mv .t-news .news-list li {
  padding-left: 3%;
  cursor: pointer;
}
#mv .t-news .news-list li:hover {
  opacity: .7;
}
#mv .t-news .news-list li .n-date {
  font-size: clamp(16px, 2.8vw, 28px);
  font-weight: 700;
  color: #fff;
  margin-bottom: .4em;
}
#mv .t-news .news-list li .n-tit {
  font-size: clamp(18px, 3.2vw, 32px);
  font-weight: 700;
  color: #fff;
  margin-bottom: .4em;
  line-height: 1.4;
}

.n-box {
  display: none;
}

.n-box.active {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999;
  background: rgba(77, 77, 77, 0.9);
}
.n-box.active .n-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 96%;
  max-width: 1000px;
  background: #fff;
  z-index: 1000;
  padding: 5%;
  box-sizing: border-box;
}
.n-box.active .n-inner .n-close {
  text-align: right;
  margin-top: -3%;
}
.n-box.active .n-inner .n-close p {
  display: inline-block;
  font-weight: 900;
  margin-right: -3%;
  cursor: pointer;
  padding: .4rem;
}
.n-box.active .n-inner .n-close p:hover {
  background: #000;
  color: #fff;
}
.n-box.active .n-inner .n-date {
  font-size: clamp(16px, 2.8vw, 28px);
  font-weight: 700;
  margin-bottom: .4em;
}
.n-box.active .n-inner .n-tit {
  font-size: clamp(18px, 3.2vw, 32px);
  font-weight: 700;
  margin-bottom: .4em;
  line-height: 1.4;
  border-bottom: 1px solid #000;
  padding-bottom: 1rem;
  margin-bottom: 1em;
}
.n-box.active .n-inner .n-cont {
  font-weight: 500;
  line-height: 1.6;
}

main section {
  margin-top: 5%;
}
main section h3 {
  font-weight: 600;
  font-size: clamp(21px, 5.1vw, 51px);
  display: inline-block;
  background: #d5b45c;
  padding: .4em;
  margin-bottom: 5%;
}
main section .photo-box {
  width: 96%;
  max-width: 960px;
  margin: 0 auto 3%;
  position: relative;
}
main section .photo-box .photo-l {
  width: 75%;
}
main section .photo-box .photo-r {
  position: absolute;
  width: 30%;
  bottom: 10%;
  right: 0;
}
main section .cont-txt {
  width: 96%;
  max-width: 960px;
  margin: 0 auto 3%;
  font-size: clamp(16px, 3.2vw, 32px);
  line-height: 1.6;
}
main section > h2 {
  text-align: center;
}
main section > h2 span {
  display: inline-block;
  font-size: clamp(18px, 4vw, 40px);
  color: #fff;
  padding: .6em 2em;
  font-weight: 900;
  background: #005629;
}
main section .tit-min {
  font-size: clamp(16px, 2.8vw, 28px);
  color: #005629;
  text-align: center;
  margin: 2% 0 5%;
}
main section .items {
  width: 96%;
  max-width: 960px;
  margin: 0 auto 3%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
main section .items li {
  width: 48%;
  margin-bottom: 4%;
}
main section .items li .item-img {
  margin-bottom: 3%;
}
main section .items li .item-tit {
  font-size: clamp(19px, 3.6vw, 36px);
  color: #005629;
  margin-bottom: 3%;
  text-align: center;
}
main section .items li .item-txt {
  font-size: clamp(16px, 3.2vw, 32px);
  line-height: 1.6;
}
main section#cont02 .cont-txt {
  text-align: center;
  margin: 7% auto;
}
main section#cont02 .cont-txt p {
  display: inline-block;
  text-align: left;
  color: #005629;
  font-size: clamp(21px, 4.8vw, 48px);
  font-weight: bold;
  letter-spacing: 2.6vw;
}
main section#cont03 .logo-bio {
  width: 52.5%;
  max-width: 525px;
  margin: 5% auto 3%;
}
main section#cont03 .bio-b-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 96%;
  max-width: 960px;
  margin: 0 auto 3%;
}
main section#cont03 .bio-b-list li {
  width: 32%;
  text-align: center;
  background: #547339;
  color: #fff;
  font-size: clamp(15px, 3vw, 30px);
  padding: .6em;
  margin-bottom: 2%;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  box-sizing: border-box;
}
main section#cont03 .btn-view2 {
  text-align: right;
  width: 96%;
  max-width: 960px;
  margin: 0 auto 3%;
}
main section#cont03 .btn-view2 a {
  display: inline-block;
  width: auto;
  font-size: clamp(15px, 3vw, 30px);
  color: #005629;
  font-weight: 900;
  padding: .4em 1em;
  border: 1px solid #005629;
}
main section#cont03 .btn-view2 a:after {
  display: inline-block;
  content: url("../images/home/g-arrow.svg");
  width: clamp(15px, 3vw, 30px);
  padding-left: 1em;
}
main section#cont03 .submit {
  display: block;
  background: #005629;
  color: #fff;
  font-size: clamp(18px, 3.2vw, 36px);
  font-weight: bold;
  width: 70%;
  max-width: 660px;
  padding: .5em;
  border-radius: .3em;
  box-sizing: border-box;
  margin: 5% auto;
  text-align: center;
}
main section#cont03 .submit:hover {
  opacity: .7;
}
main section#cont04 .logo-sdgs {
  width: 60%;
  max-width: 600px;
  margin: 0 auto 3%;
}
main section#cont04 .sdgs-list {
  width: 94%;
  max-width: 940px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
main section#cont04 .sdgs-list li {
  width: 48%;
  margin-bottom: 4%;
  position: relative;
}
main section#cont04 .sdgs-list li .sdgs-tit {
  font-size: clamp(16px, 3.6vw, 36px);
  color: #fff;
  font-weight: bold;
  line-height: 1.4;
  position: absolute;
  top: 9%;
  left: 32%;
}

/*
**********************************************
company
**********************************************
*/
#company_prof {
  width: 96%;
  max-width: 960px;
  margin: 5% auto 10%;
}
#company_prof dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: 1px solid #000;
}
#company_prof dl dt {
  width: 27%;
  padding: 3%;
  margin-right: 3%;
  box-sizing: border-box;
  font-size: clamp(14px, 2.4vw, 24px);
  border-right: 8px solid #CFCFCF;
}
#company_prof dl dd {
  width: 70%;
  padding: 3%;
  box-sizing: border-box;
  font-size: clamp(14px, 2.4vw, 24px);
  line-height: 1.6;
}

/*
**********************************************
biobalance
**********************************************
*/
#bio01 h2 {
  width: 70%;
  max-width: 694px;
  margin: 0 auto 5%;
}
#bio01 .img {
  width: 87%;
  max-width: 870px;
  margin: 0 auto 5%;
}
#bio01 .tit01 {
  color: #005629;
  font-size: clamp(27px, 4.8vw, 48px);
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0;
}
#bio01 .tit01 span {
  font-size: clamp(36px, 7.2vw, 72px);
  font-weight: bold;
}
#bio01 .tit01-min {
  font-size: clamp(18px, 2.8vw, 28px);
  font-weight: bold;
  text-align: center;
  margin: 2% auto 5%;
}
#bio01 .auth-list {
  width: 80%;
  max-width: 800px;
  margin: 0 auto;
}
#bio01 .auth-list li {
  background: #005629;
  color: #fff;
  padding: .5em;
  font-size: clamp(27px, 4.8vw, 48px);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 3%;
}

.bio-box {
  width: 88%;
  max-width: 880px;
  margin: 5% auto 0;
}
.bio-box h2 {
  font-size: clamp(27px, 4.8vw, 48px);
  color: #005629;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 5%;
}
.bio-box h2 img {
  width: 70%;
  max-width: 694px;
}
.bio-box .txt01 {
  font-size: clamp(16px, 3.2vw, 32px);
  line-height: 1.6;
  margin-bottom: 5%;
}
.bio-box h3 {
  display: block;
  font-size: clamp(27px, 4.8vw, 48px);
  color: #005629;
  font-weight: bold;
  margin-bottom: 5%;
  background: inherit;
  text-align: center;
  line-height: 1.4;
}
.bio-box .name01 {
  width: 80%;
  max-width: 800px;
  margin: 0 auto;
  background: #005629;
  color: #fff;
  padding: .5em;
  font-size: clamp(27px, 4.8vw, 48px);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 3%;
}
.bio-box .work-list li {
  text-align: center;
}
.bio-box .work-list li .num {
  font-size: clamp(32px, 6vw, 60px);
  font-weight: bold;
  color: #fff;
  background: #006934;
  display: inline-block;
  border-radius: 50px 50px;
  padding: 0 .5em;
  width: clamp(32px, 6vw, 60px);
  padding: .8rem;
  margin-bottom: 2%;
}
.bio-box .work-list li .txt02 {
  font-size: clamp(24px, 4.5vw, 45px);
  color: #006934;
  line-height: 1.6;
  margin-bottom: 5%;
}
.bio-box .img {
  max-width: 870px;
  margin-bottom: 5%;
}
.bio-box .txt03 {
  font-size: clamp(16px, 3.2vw, 32px);
  text-align: center;
  line-height: 1.6;
  margin-bottom: 5%;
}
.bio-box#bio04 h3 {
  margin-bottom: 3%;
}

/*
**********************************************
inquiry
**********************************************
*/
#inquiry-list {
  width: 88%;
  max-width: 800px;
  margin: 10% auto 0;
}
#inquiry-list form dl dt {
  font-size: clamp(21px, 4.2vw, 42px);
  color: #005629;
  font-weight: bold;
  border-bottom: 4px solid #005629;
  padding-bottom: 3%;
  margin-bottom: 5%;
  text-indent: .5em;
}
#inquiry-list form dl dt.required {
  position: relative;
  display: flex;
  align-items: center;
}
#inquiry-list form dl dt.required:after {
  display: inline-block;
  content: "必須";
  font-size: clamp(14px, 2.8vw, 28px);
  color: #fff;
  background: #ed1c24;
  text-indent: 0;
  padding: .3em;
  border-radius: 1em;
  margin-left: 1em;
}
#inquiry-list form dl dd {
  margin-bottom: 5%;
  font-size: clamp(18px, 3.2vw, 36px);
}
#inquiry-list form dl dd ul {
  margin-bottom: 5%;
}
#inquiry-list form dl dd ul label {
  cursor: pointer;
  display: inline-block;
  width: 66%;
  max-width: 660px;
  margin-bottom: 3%;
  background: #999999;
  border-radius: .3em;
  color: #fff;
  font-size: clamp(18px, 3.2vw, 36px);
  font-weight: bold;
  margin-bottom: 3%;
  padding: .5em;
  display: flex;
  align-items: center;
  column-gap: 2vw;
  width: fit-content;
  line-height: 1;
}
#inquiry-list form dl dd ul label:hover {
  background: #005629;
}
#inquiry-list form dl dd ul label.checked {
  background: #005629;
}
#inquiry-list form dl dd ul label .checkbox {
  position: relative;
  appearance: none;
  width: clamp(18px, 3.2vw, 36px);
  height: clamp(18px, 3.2vw, 36px);
  background: #fff;
}
#inquiry-list form dl dd ul label .checkbox:checked::after {
  content: url("../images/inquiry/icon-check.svg");
  position: absolute;
  top: 5%;
  left: 5%;
  width: clamp(16px, 3.2vw, 32px);
  height: clamp(16px, 3.2vw, 32px);
}
#inquiry-list form dl dd input[type="text"], #inquiry-list form dl dd input[type="tel"], #inquiry-list form dl dd input[type="email"] {
  width: 96%;
  margin: 3% auto;
  font-size: clamp(18px, 3.2vw, 36px);
  padding: .5em;
  box-sizing: border-box;
  border-color: #999999;
  border-width: 1px;
  border-radius: .3em;
}
#inquiry-list form dl dd input[type="text"]:focus, #inquiry-list form dl dd input[type="tel"]:focus, #inquiry-list form dl dd input[type="email"]:focus {
  outline: 2px solid #006934;
}
#inquiry-list form dl dd textarea {
  width: 96%;
  margin: 3% auto;
  font-size: clamp(18px, 3.2vw, 36px);
  padding: .5em;
  box-sizing: border-box;
  border-color: #999999;
  border-width: 1px;
  border-radius: .3em;
  height: 270px;
}
#inquiry-list form dl dd textarea:focus {
  outline: 2px solid #006934;
}
#inquiry-list form dl dd .check-type li {
  font-size: clamp(18px, 3.2vw, 36px);
}
#inquiry-list form dl dd p {
  font-size: clamp(18px, 3.2vw, 36px);
}
#inquiry-list form input[type="submit"] {
  cursor: pointer;
  display: block;
  background: #005629;
  color: #fff;
  font-size: clamp(18px, 3.2vw, 36px);
  font-weight: bold;
  width: 70%;
  max-width: 660px;
  padding: .5em;
  border-radius: .3em;
  box-sizing: border-box;
  margin: 0 auto;
}
#inquiry-list form input[type="submit"]:hover {
  opacity: .7;
}
