a[href^='tel:'] {
  color: inherit !important;
  pointer-events: none;
}

input,
textarea,
select {
  font-size: 1em;
}


header,
#treebox,
footer,
main,
.hbox {
  min-width: 1080px;
  font-size: 16px;
}

#tree,
#footer {
  padding-right: 4%;
  padding-left: 4%;
  box-sizing: border-box;
}


#header,
#dh {
  height: 70px;
}

#header h1,
#header h1 * {
  height: 40px;
  line-height: 40px;
}
#header h1 {
  width: 200px;
  padding: 18px 0 12px;  

  position: absolute;
  top: 0;
  left: 5%;
}
#lang {
  width: 120px;
  height: 70px;

  top: 0;
  right: 70px;
}
#lang p,
#lang select {
  font-size: 11px;
}
#lang p {
  line-height: 70px;
  padding: 0 2em;
}

.drawer button {
  width: 70px;
  padding: 34px 18px;
}
.drawer-nav {
  width: 300px;
  right: -300px;
}
.drawer-nav nav {
  padding: 120px 0;
}
.drawer-nav nav a:before {
  transition: all 0.8s cubic-bezier(0.2, 1.0, 0.2, 1.0);
}


footer {
  margin-top: 180px;
}


main {
}


#navigation {
  margin-top: 100px;
}



.alignnone {
}
.aligncenter {
  display: block;
}
.alignleft {
  float: left;
  margin-right: 1em;
}
.alignright {
  float: right;
  margin-left: 1em;
}
.size-thumbnail img,
.size-medium img,
.size-large img,
.size-full img {
  max-height: 800px;
}
.size-thumbnail {
  max-width: 40%;
}
.size-medium {
  max-width: 70%;
}

.alpha:active,
.alpha:hover {
  opacity: 0.5;
}

.pcnone {
  display: none !important;
}



#main {
  height: 100vh;
}
#main > div video.wmax {
  width: 100%;
}
#main > div video.hmax {
  height: 101%;
}
#main * {
  line-height: 1.15em;
}
#main h1 {
  font-size: 4.5em;
  font-size: 2.8em;
  white-space: nowrap;

  bottom: 10%;
  left: 5%;
}
#main h1 span {
  font-size: 0.33em;
  font-size: 0.5em;
}

.hbox {
  max-width: 1600px;
  margin-top: 100px;
  padding-right: 4%;
  padding-left: 4%;
  box-sizing: border-box;
}
.hbox > div {
  padding-top: 0.75em;
  padding-left: 290px;
  position: relative;
}
.hbox h3 {
  font-size: 4em;

  position: absolute;
  top: 0;
  left: 0;
}
.hbox h1 {
  font-size: 2.5em;
}
.hbox > div > h1:before {
  content: '';
  float: right;
  display: block;
  width: 100px;
  height: 1.3em;
}
.hbox > div > h1:after {
  content: '';
  clear: both;
  display: block;
}
.hbox h1 span {
  display: inline-block;
  white-space: nowrap;
}
.hbox > div .more {
  position: absolute;
  top: 1.25em;
  right: 0;
}

#hsev div > h1 {
  padding-right: 90px;
}
#hsev div > p {
  
}
#hsev article {
  width: 32%;
  margin-left: 2%;
}
#hsev article:nth-of-type(3n+1) {
  clear: both;
  margin-left: 0;
}

#hcont > div {
  margin-top: 60px;
}
#hcont > div:nth-of-type(2) {
  margin-top: 10px;
}
#hcont > div h2 {
  font-size: 2em;
}
#hcont > div h2:before {
  content: '';
  float: right;
  display: block;
  width: 100px;
  height: 1.35em;
}
#hcont > div h2:after {
  content: '';
  clear: both;
  display: block;
}#hcont > div > div,
#hcont > div > p img {
  margin-top: 40px;
}
#hcont > div > img {
  max-width: 1000px;
}
#hcont > div .more {
  top: 0.85em;
}

#hrss article:nth-of-type(1) {
  border-top: solid 1px rgba(0, 100, 59, 0.2);
}
#hrss article {
  padding-left: 1em;
}
#hrss article a {
  padding-top: 2em;
  padding-bottom: 2em;
}
#hrss article a > * {
  display: inline-block;
}
#hrss article a time {
  font-size: 0.9em;
  white-space: nowrap;

  position: absolute;
  top: 50%;
  left: 0;
  transform: translate3d(0, -50%, 0);
}
#hrss article a p {
  padding-right: 3em;
  padding-left: 6em;
}

#hgro article {
  width: 23.5%;
  margin-left: 2%;
}
#hgro article:nth-of-type(4n+1) {
  clear: both;
  margin-left: 0;
}


.box {
  width: 1000px;
  padding-top: 50px;
}
#ptitle {
  font-size: 5em;

  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;

  position: absolute;
  top: 150px;
  left: 0;
  z-index: -1;
}

.base .heading {
  text-align: center;
}
.base .heading h2,
.base .heading h1,
.base .heading h3 {
  margin-top: 0.25em;
}
.base .heading h2 {
  font-size: 1.4em;
}
.base .heading h1 {
  font-size: 2.2em;
}
.base .heading h3 {
  font-size: 1.2em;
}



#rel {
  width: 80%;
  margin-top: 150px;
}
#rel a {
  width: 49%;
}
#rel a:before {
  transition: all 0.8s cubic-bezier(0.2, 1.0, 0.2, 1.0);
}
#rel a:nth-of-type(1) {
  float: left;
}
#rel a:nth-of-type(2) {
  float: right;
}



#mission .heading {
  margin-top: 100px;
}
#mission .base figure {
  padding-top: 40px;
}
#mission .base figure img {
  width: 80%;
}
#mission .co2 {
  min-height: 200px;
  padding-left: 340px;
  margin-top: 50px;
  position: relative;
}
#mission .co2 h1 {
  font-size: 1.25em;
}
#mission .co2 > div {
  width: 300px;

  position: absolute;
  top: 0;
  left: 0;
}
#mission #imp {
  text-align: center;
}
#mission #imp ul,
#mission #imp h4 {
  display: inline-block;
}
#mission #imp li,
#mission #imp h4 {
  text-align: left;
}



#support .heading {
  margin-top: 80px;
}
#support #red {
  margin-top: 30px;
  padding: 1em 10% 1.5em;
}
#jpmap img {
  width: 510px;
}
#su3.heading h2 {
  font-size: 1.3em;
}
#su3.heading h1 {
  font-size: 2.15em;
}
#supply img {
  width: 80%
}



#profile .heading {
  margin-top: 120px;
}
#profile .base .heading h2 {
  font-size: 2.6em;
}
#profile .base .heading h1 {
  font-size: 1.4em;
}
#profile figure,
#gree {
  margin-top: 40px;
}
#prof {
  position: relative;
}
#prof:after {
  width: 300px;
  height: 100%;

  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
#prof table {
  width: 700px;
  margin-left: 0;
}
#prof th,
#prof td {
  padding-top: 50px;
}
#prof th {
  width: 6em;
  font-size: 1.25em;
}
#prof td {
  padding-left: 2em;
}
#prof tr:nth-child(1) td br,
#prof tr:nth-child(5) td br:first-of-type,
#prof tr:nth-child(5) td br:last-of-type {
  display: none;
}
#gmap {
  margin-top: 60px;
  padding-top: 40%;
}
#his:before {
  width: 2px;
  left: 67px;
}
#his tr:nth-last-child(1) th,
#his tr:nth-last-child(1) td {
  padding-bottom: 2em;
}
#his th {
  width: 120px;
}
#his th strong {
  line-height: 2.6em;
}
#his td {
  padding-left: 2em;
}
#gree {
  padding-right: 400px;
  position: relative;
}
#gree:before {
  width: 300px;
  height: 450px;

  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}



#flow .base .heading h1 {
  font-size: 3em;
  margin-top: 0.1em;
}
#flow .fl {
  width: 80%;
  margin-top: 40px;
  position: relative;
}
#flow .fl > div {
  min-height: 200px;
  padding: 1em 0 1em 240px;
  box-sizing: border-box;
}
#flow .fl > div img {
  width: 200px;

  position: absolute;
  top: 0;
  left: 0;
}
#flow .fl h2,
#flow .fl h3 {
  font-size: 1.5em;
}
#flow .fl h3 {
  width: 60%;
  padding: 0.5em 0;
}
#flafter {
  padding-bottom: 22px;
}



.gr {
  min-height: 240px;
  width: 400px;
  margin-top: -30px;
  padding-top: 100px;
  padding-left: 400px;
}
#jp .gr:nth-of-type(1) {
  margin-top: -100px;
}
#group article > h4 {
  width: 800px;
}
.gr > img {
  width: 360px;

  position: absolute;
  top: 100px;
  left: 0;
}



#service .base > div.vw100 {
  margin-top: 40px;
  margin-bottom: 80px;
}
#service .base > h2 {
  text-align: center;
}
#service .base #schar {
  width: 90%;
}
#service .base #schar li {
  width: 31%;
  margin-top: 5%;
  margin-left: 3.5%;
}
#service .base #schar li:nth-of-type(3n+1) {
  margin-left: 0;
}
#service .base #schar li h3 {
  font-size: 1.4em;
}
#service .base #schart {
  text-align: center;
  margin-top: 50px;
  padding-bottom: 100px;
}
#service .base #schart h2 {
  font-size: 1.5em;
  margin-bottom: 30px;
}
#en #service .base #schart h2 {
  font-size: 1.4em;
}
#service .base #schart > div {
  display: inline-block;
  text-align: left;
  padding-right: 2em;
  padding-left: 2em;
}
#service #slist {
  padding-top: 40px;
}
#service #slist .slist {
  float: left;
  width: 48%;
  margin-top: -70px;
  margin-left: 4%;
  padding-top: 120px;
}
#service #slist .slist:nth-of-type(2n+1) {
  clear: both;
  margin-left: 0;
}
#service .slist h1,
#service .slist p {
  width: 94%;
}
#service .slist h1 {
  font-size: 1.5em;
}



#recruit .base {
  width: 80%;
}
#recruit th,
#recruit td {
  padding-top: 40px;
}
#recruit th {
  width: 90px;
}
#recruit td {
  padding-left: 2em;
}



#navigation,
#column {
  width: 800px;
}
#column time {
  font-size: 0.9em;
}

.nlist a {
  padding: 2em 2.5em 2em 7em;
}
.nlist a time {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate3d(0, -50%, 0);
}
.nlist a p {
  font-size: 0.9em;
}

#pcredit h1 {
  font-size: 1.4em;
}



#contact .base,
#form {
  width: 80%;
}

#ctel a {
  pointer-events: none;
}

#form {
  margin-top: 40px;
}
#form caption {
  padding-right: 2em;
}
#form th,
#form td {
  padding-top: 2em;
  padding-right: 2em;
  padding-bottom: 2em;
}
#form th {
  padding-left: 2em;
}
#form input[type='number'] {
  padding-right: 0;
}

div.wpcf7-response-output,
div.wpcf7-display-none,
div.wpcf7-validation-errors {
  line-height: 3em;
}









