@charset "UTF-8";
@keyframes rotation {
  0% {
    transform: translateX(80px)
  }
  to {
    transform: translateX(0)
  }
}

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium")
}

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: 700
}

@font-face {
  font-family: "Yu Mincho M";
  src: local("Yu Mincho Medium")
}

@font-face {
  font-family: "Yu Mincho M";
  src: local("Yu Mincho Bold");
  font-weight: 700
}

body, dd, dl, dt, h1, h2, h3, h4, html, iframe, li, p, pre, textarea, ul {
  padding: 0;
  margin: 0
}

h1, h2, h3, h4, small {
  font-size: 100%;
  font-weight: 400
}

ul {
  list-style: none
}

button, input, select {
  margin: 0
}

*, :after, :before, html {
  box-sizing: border-box
}

embed, img, object {
  height: auto;
  max-width: 100%
}

iframe {
  border: 0
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

td, th {
  padding: 0;
  text-align: left
}

address, b, em, i {
  font-style: normal;
  font-weight: 400
}

.form #messageBox1 p span, .hamburger i, .page-contact_us.page-confirm .formButton span, .page-document_request.page-confirm .formButton span, .page-recruiting_information.page-confirm .formButton span, main {
  display: block
}

input, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 0;
  outline: 0
}

button, input, select, textarea {
  background: 0 0;
  font: inherit
}

textarea {
  resize: vertical
}

input[type=button], input[type=submit], label, select {
  cursor: pointer
}

select::-ms-expand {
  display: none
}

a, button {
  background-color: transparent
}

button {
  font-size: 1em;
  border: 0;
  cursor: pointer;
  outline: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  border-radius: 0
}

object {
  pointer-events: none
}

body, html {
  min-height: 100vh
}

html {
  height: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 2.604vw;
  position: relative
}

@media print, screen and (min-width:769px) {
  html {
    font-size: 62.5%
  }
}

body {
  letter-spacing: .175em;
  line-height: 2.167;
  font-size: 2.812vw;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #000;
  text-align: center;
  font-feature-settings: "palt";
  overflow-x: hidden;
  height: auto
}

@media print, screen and (min-width:769px) {
  body {
    letter-spacing: .175em;
    line-height: 2.5;
    font-size: 140%;
    overflow-x: initial
  }
}

@media print {
  body {
    width: 1500px
  }
}

a {
  color: currentColor;
  text-decoration: none;
  opacity: 1;
  transition: opacity ease .2s
}

@media print, screen and (min-width:1041px) {
  a:hover {
    opacity: .8
  }
}

@media print, screen and (min-width:769px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none
  }
}

@media only screen and (max-width:768px) {
  img, svg {
    width: 100%;
    height: auto
  }
  img {
    width: auto
  }
}

.box1 {
  padding: 1rem 1.5rem
}

.box1, .box2 {
  background-color: #eef4f7;
  max-width: 78.5rem
}

.button1 {
  position: relative;
  display: block
}

.button1 span {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  color: #2daf61;
  text-align: center;
  position: relative;
  border: solid 1px #2daf61;
  z-index: 1;
  height: 4.38rem;
  line-height: 1.45;
  font-size: 1.2rem
}

@media print, screen and (min-width:769px) {
  .button1 span {
    height: 5.9rem;
    font-size: 1.6rem
  }
}

.button1:before {
  width: 5.4rem;
  right: -3.6rem
}

.button1:after, .button1:before {
  content: "";
  border-bottom: solid 1px #2daf61;
  height: 1.5rem;
  background-color: #fff;
  position: absolute;
  top: .9rem;
  z-index: 2;
  pointer-events: none
}

@media print, screen and (min-width:769px) {
  .button1:after, .button1:before {
    width: 7rem;
    height: 2rem;
    right: -4rem;
    top: 1.1rem
  }
}

.button1:after {
  width: 1.079rem;
  right: -5.4rem
}

@media print, screen and (min-width:769px) {
  .button1:after {
    width: 1.5rem;
    right: -6.5rem
  }
  .button1:hover {
    opacity: 1
  }
  .button1:hover span {
    color: #fff;
    background-color: #2daf61
  }
  .button1:hover:after, .button1:hover:before {
    z-index: 0
  }
}

.button1--c-wm {
  margin-right: auto;
  margin-left: auto;
  width: 22.2rem
}

@media print, screen and (min-width:769px) {
  .button1--c-wm {
    width: 29rem
  }
}

.button1--l-ws {
  width: 20.9rem;
  margin-right: auto
}

@media only screen and (max-width:768px) {
  .button1--l-ws {
    margin-right: auto;
    margin-left: auto
  }
  .button1--f-spb {
    font-size: 1.2rem
  }
}

.button1--re span {
  color: #fff;
  border-color: #fff
}

.button1--re:after, .button1--re:before {
  border-bottom-color: #fff;
  background-color: #2daf61
}

.button1--re:hover span {
  color: #2daf61;
  background-color: #fff
}

.button1--bgg:after, .button1--bgg:before {
  background-color: #f2f2f3
}

.button2 {
  position: relative;
  display: block;
  width: 6.84rem
}

@media print, screen and (min-width:769px) {
  .button2 {
    width: 11.4rem
  }
}

.button2 span {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  color: #2daf61;
  text-align: center;
  position: relative;
  border: solid 1px #2daf61;
  z-index: 1;
  height: 1.8rem;
  font-size: .72rem
}

@media print, screen and (min-width:769px) {
  .button2 span {
    height: 3rem;
    font-size: 1.2rem
  }
}

.button2:before {
  width: 5.1rem;
  right: -4.08rem
}

.button2:after, .button2:before {
  content: "";
  border-bottom: solid 1px #2daf61;
  background-color: #fff;
  position: absolute;
  z-index: 2;
  height: .6rem;
  top: .42rem;
  pointer-events: none
}

@media print, screen and (min-width:769px) {
  .button2:after, .button2:before {
    width: 8.5rem;
    height: 1rem;
    right: -6.801rem;
    top: .7rem
  }
}

.button2:after {
  width: .6rem;
  right: -5.101rem
}

@media print, screen and (min-width:769px) {
  .button2:after {
    width: 1rem;
    right: -8.5rem
  }
}

.button2:hover, .button3:hover {
  opacity: 1
}

.button2:hover span, .button3:hover span {
  color: #fff;
  background-color: #2daf61
}

.button2:hover:after, .button2:hover:before {
  z-index: 0
}

.button3 {
  position: relative;
  display: block
}

.button3 span, .container {
  position: relative;
  z-index: 1
}

.button3 span {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  color: #2daf61;
  text-align: center;
  border: solid 1px #2daf61;
  line-height: 1.4;
  height: 4.019rem
}

@media print, screen and (min-width:769px) {
  .button3 span {
    height: 5.9rem
  }
}

.button3 span:after, .button3 span:before, .hamburger i:after, .hamburger i:before {
  content: "";
  display: block;
  position: absolute
}

.button3 span:before {
  border-right: solid 1px currentColor;
  border-bottom: solid 1px currentColor;
  transform: rotate(45deg);
  width: 1.02rem;
  height: 1.02rem;
  right: 1.2rem;
  top: .6rem
}

@media print, screen and (min-width:769px) {
  .button3 span:before {
    width: 1.7rem;
    height: 1.7rem;
    right: 2rem;
    top: 1rem
  }
}

.button3 span:after {
  border: solid 1px currentColor;
  border-top: none;
  width: 2.58rem;
  height: .42rem;
  right: .45rem;
  top: 2.1rem
}

@media print, screen and (min-width:769px) {
  .button3 span:after {
    width: 4.3rem;
    height: .7rem;
    right: .75rem;
    top: 3.5rem
  }
}

@media only screen and (max-width:768px) {
  .button3 em {
    display: inline-block;
    transform: translateX(-1em)
  }
}

.container {
  width: 73.125%;
  max-width: 1000px;
  margin: 0 auto
}

@media print, screen and (min-width:769px) {
  .container {
    width: 100%
  }
}

@media only screen and (max-width:768px) {
  .container--sp-w100 {
    width: 100%
  }
}

.content {
  width: 91.428%;
  margin: 0 auto;
  position: relative;
  text-align: left
}

@media print, screen and (min-width:769px) {
  .content {
    width: 100%
  }
}

.content--w976 {
  width: 100%;
  margin-right: auto;
  margin-left: auto
}

@media print, screen and (min-width:769px) {
  .content--w976 {
    max-width: 97.6rem
  }
}

.content--w100 {
  width: 100%;
  margin-right: auto;
  margin-left: auto
}

.copy1 {
  text-align: left
}

.copy1-catch {
  font-size: 1.859rem;
  letter-spacing: .2em;
  line-height: 1.935483871;
  font-weight: 300
}

@media only screen and (max-width:768px) {
  .copy1-catch {
    white-space: nowrap
  }
}

@media print, screen and (min-width:769px) {
  .copy1-catch {
    font-weight: 100;
    font-size: 2.6rem;
    line-height: 2.3076923077
  }
}

.copy1-read {
  margin-top: 1.2rem
}

@media print, screen and (min-width:769px) {
  .copy1-read {
    margin-top: 2rem;
    letter-spacing: .135em
  }
}

.copy1-read--w500j {
  max-width: 50rem;
  text-align: justify
}

@media only screen and (max-width:768px) {
  .copy1-read--sls1 {
    letter-spacing: .1em
  }
}

.copy2-catch {
  font-size: 1.859rem;
  letter-spacing: .235em;
  line-height: 1.935483871;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .copy2-catch {
    font-weight: 100;
    font-size: 3rem;
    line-height: 2.3076923077
  }
}

.copy2-catch--fGreen {
  color: #2daf61
}

.copy2-read {
  margin-top: 1.2rem
}

@media print, screen and (min-width:769px) {
  .copy2-read {
    margin-top: 2rem
  }
}

.copy3 {
  text-align: left;
  margin-top: 2rem
}

.copy3-catch {
  font-size: 1.38rem;
  letter-spacing: .15em;
  line-height: 1.935483871;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .copy3-catch {
    font-weight: 100;
    font-size: 2.5rem;
    line-height: 1.8;
    letter-spacing: .135em
  }
}

.copy3-catch--fGreen {
  color: #2daf61
}

.copy3-read {
  margin-top: 1.2rem;
  letter-spacing: .15em
}

@media print, screen and (min-width:769px) {
  .copy3-read {
    margin-top: 2rem;
    letter-spacing: .12em
  }
}

.copyright {
  font-size: .8rem;
  letter-spacing: .1em
}

@media print, screen and (min-width:769px) {
  .copyright {
    font-size: 1.2rem;
    letter-spacing: .2em
  }
}

.date {
  color: #2daf61
}

@media print, screen and (min-width:769px) {
  .date {
    font-size: 1.6rem
  }
}

.hamburger {
  margin: 0 auto;
  position: absolute;
  z-index: 999;
  color: #fff;
  background-color: #2daf61;
  right: 0;
  top: 0;
  width: 5.4rem;
  height: 5.4rem
}

@media print, screen and (min-width:769px) {
  .hamburger {
    color: #2daf61;
    background-color: transparent;
    right: 3rem;
    top: 2.5rem;
    width: 4.5rem;
    height: 3rem
  }
  .hamburger.-white {
    color: #fff
  }
}

.hamburger i:after, .hamburger i:before {
  height: 3px;
  background-color: currentColor;
  top: 50%;
  left: 1.8rem;
  width: 1.98rem
}

@media print, screen and (min-width:769px) {
  .hamburger i:after, .hamburger i:before {
    left: 0;
    width: 4.5rem
  }
}

.hamburger i:nth-of-type(1):before {
  transform: translateY(-.9rem)
}

.hamburger i:nth-of-type(1):after {
  transform: translateY(-.12rem)
}

.hamburger i:nth-of-type(2):before {
  display: none
}

.hamburger i:nth-of-type(2):after {
  transform: translateY(.72rem)
}

@media print, screen and (min-width:769px) {
  .hamburger i:nth-of-type(1):before {
    transform: translateY(-1.401rem)
  }
  .hamburger i:nth-of-type(1):after {
    transform: translateY(-.1rem)
  }
  .hamburger i:nth-of-type(2):before {
    display: none
  }
  .hamburger i:nth-of-type(2):after {
    transform: translateY(1.3rem)
  }
}

.hamburger.is-open {
  color: #fff
}

.hamburger.is-open i:nth-of-type(1):before {
  transform: rotate(35deg)
}

.hamburger.is-open i:nth-of-type(1):after, .hamburger.is-open i:nth-of-type(2):before {
  display: none
}

.hamburger.is-open i:nth-of-type(2):after {
  transform: rotate(-35deg)
}

.heading1 {
  text-align: left
}

.heading1-ja {
  font-size: 2.4rem;
  display: block;
  line-height: 1;
  letter-spacing: .235em;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .heading1-ja {
    font-weight: 100;
    letter-spacing: .15em;
    font-size: 4.5rem
  }
}

.heading1-en {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.2rem;
  display: block;
  line-height: 1;
  margin-top: .9rem;
  font-weight: 300
}

@media only screen and (max-width:768px) {
  .heading1-en {
    letter-spacing: 0
  }
}

@media print, screen and (min-width:769px) {
  .heading1-en {
    font-weight: 200;
    font-size: 2.2rem;
    margin-top: 1.5rem
  }
}

.heading1-en:after {
  content: "";
  display: block;
  margin: 1.5rem 0 0;
  background-color: currentColor;
  width: 2.7rem;
  height: .18rem
}

@media print, screen and (min-width:769px) {
  .heading1-en:after {
    margin: 3rem 0 0;
    width: 4.5rem;
    height: .3rem
  }
}

.heading1--fGreen {
  color: #2daf61
}

.heading2-ja {
  font-size: 2.4rem;
  display: block;
  line-height: 1;
  letter-spacing: .235em;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .heading2-ja {
    font-weight: 100;
    letter-spacing: .175em;
    font-size: 4.5rem
  }
}

.heading2-en {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.38rem;
  display: block;
  line-height: 1;
  font-weight: 300;
  letter-spacing: 0
}

@media print, screen and (min-width:769px) {
  .heading2-en {
    font-size: 2.5rem
  }
}

.heading2-en:before {
  content: "";
  display: block;
  margin: 1.8rem auto 1.2rem;
  background-color: currentColor;
  width: 2.7rem;
  height: .18rem
}

@media print, screen and (min-width:769px) {
  .heading2-en:before {
    margin: 3rem auto 2rem;
    width: 4.5rem;
    height: .3rem
  }
}

.heading2--fGreen {
  color: #2daf61
}

.heading3-ja {
  font-size: 1.859rem;
  display: block;
  letter-spacing: .235em;
  line-height: 1.935483871;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .heading3-ja {
    font-weight: 300;
    line-height: 1;
    font-size: 3rem
  }
}

.heading3-en {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.2rem;
  display: block;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .heading3-en {
    font-weight: 200;
    font-size: 2.2rem
  }
}

.heading3-en:before {
  content: "";
  display: block;
  margin: 0 auto .6rem;
  background-color: currentColor;
  width: 2.7rem;
  height: .18rem
}

@media print, screen and (min-width:769px) {
  .heading3-en:before {
    margin: 1.5rem auto 1rem;
    width: 4.5rem;
    height: .3rem
  }
}

.heading3-read {
  margin-top: 1.8rem
}

@media print, screen and (min-width:769px) {
  .heading3-read {
    margin-top: 5rem
  }
}

.list1, .list2 {
  padding-left: 1.5em
}

.list1 li, .list2 li {
  line-height: 1.8571428571;
  letter-spacing: .155em
}

.list1 li:before {
  content: "■";
  color: #2daf61;
  margin-left: -1em
}

@media only screen and (max-width:768px) {
  .list2 {
    font-size: 1.02rem
  }
}

.list2 li:before {
  content: "・";
  margin-left: -1em
}
.list2.filler_entering_adhesive li:before{
	content: none;
}

.list3 {
  padding-left: 1em
}

.list3 li {
  line-height: 1.2857142857
}

.list3 li:before {
  content: "※";
  margin-left: -1em
}

.logo a, .logoFooter a {
  display: flex;
  line-height: 0
}

.logo a div:first-of-type, .logoFooter a div:first-of-type {
  margin-right: .3rem
}

@media print, screen and (min-width:769px) {
  .logoHeaderImg {
    width: 6.9rem;
    height: 5.2rem
  }
}

.logoFooter a img {
  width: 9.5rem;
  height: 7.1rem
}

@media only screen and (max-width:768px) {
  .logoFooter a img {
    width: 5.88rem;
    height: 4.44rem
  }
}

.logoFooter a svg {
  width: 15.057rem;
  height: 7.224rem
}

@media only screen and (max-width:768px) {
  .logoFooter a svg {
    width: 9.428rem;
    height: 4.523rem
  }
}

.notes {
  letter-spacing: .1em;
  font-size: .84rem
}

@media print, screen and (min-width:769px) {
  .notes {
    font-size: 1.2rem;
    line-height: 1.8
  }
}

.pager__current a, .pager__default a {
  background-color: #fff;
  color: #2daf61
}

.pager__current a, .pager__current span, .pager__default a, .pager__default span {
  text-align: center;
  min-width: 1.8rem;
  min-height: 1.8rem;
  line-height: 1.8rem;
  display: block;
  font-size: 1rem;
  letter-spacing: 0
}

.pager__default span {
  background-color: #fff;
  color: #2daf61
}

@media print, screen and (min-width:769px) {
  .pager__current a, .pager__current span, .pager__default a, .pager__default span {
    font-size: 1.8rem;
    min-width: 3.4rem;
    min-height: 3.4rem;
    line-height: 3.4rem;
    font-weight: 700
  }
}

.pager__next a:before, .pager__prev a:before {
  font-family: icons!important;
  font-style: normal;
  font-weight: 400!important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: #2daf61;
  margin-left: auto;
  font-size: 1.4rem;
  display: block
}

.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  margin-top: 6rem
}

.pager__current, .pager__default {
  margin: 0 .3rem;
  border: solid 1px #2daf61
}

@media print, screen and (min-width:769px) {
  .pager__current, .pager__default {
    margin: 0 1rem
  }
}

@media print, screen and (min-width:1041px) {
  .pager__current a, .pager__default a {
    transition: color ease .2s, background-color ease .2s
  }
  .pager__current a:hover, .pager__default a:hover {
    color: #fff;
    opacity: 1;
    background-color: #2daf61
  }
}

.pager__current span {
  color: #fff;
  background-color: #2daf61;
  border: solid 1px #2daf61
}

.pager__next a, .pager__prev a {
  color: #fff
}

@media only screen and (max-width:768px) {
  .pager__next a:hover, .pager__prev a:hover {
    opacity: .8
  }
  .pager__next, .pager__prev {
    font-size: 2.656vw
  }
}

.pager__prev {
  margin-right: 1rem
}

@media print, screen and (min-width:769px) {
  .pager__prev {
    margin-right: 15px
  }
}

.pager__prev a:before {
  transform: scale(-1, 1)
}

.pager__next {
  margin-left: 1rem
}

@media print, screen and (min-width:769px) {
  .pager__next {
    margin-left: 15px
  }
}

.picture, .require {
  display: inline-block
}

.picture, .picture img {
  vertical-align: bottom
}

.picture.-fit img {
  -o-object-fit: cover;
  object-fit: cover
}

.require {
  background-color: #2daf61;
  color: #fff;
  border-radius: 5px;
  line-height: 1;
  font-size: .99rem;
  letter-spacing: .1em;
  padding: .2rem .5rem;
  margin-right: .5rem
}

@media print, screen and (min-width:769px) {
  .require {
    font-size: 1.4rem
  }
}

.section {
  margin-top: 3.6rem
}

@media print, screen and (min-width:769px) {
  .section {
    margin-top: 10rem
  }
  .section:first-of-type {
    margin-top: 2rem
  }
}

.section--green {
  background-color: #2daf61;
  color: #fff;
  padding: 5rem 0
}

.section--gray {
  background-color: #f2f2f3;
  padding: 6rem 0
}

@media print, screen and (min-width:769px) {
  .section--gray {
    padding: 10rem 0
  }
}

.svg *, .svg-logo-logotype *, .svg-logo-logotype-f * {
  fill: currentColor
}

@media only screen and (max-width:768px) {
  .svg-logo-logotype {
    width: 7.767rem;
    height: 3.726rem
  }
  .svg-logo-logotype-f {
    width: 9.428rem;
    height: 4.523rem
  }
}

.table1, .table2 {
  width: 100%;
  max-width: 760px
}

.table1 td, .table1 th {
  border-top: solid 1px #231815;
  border-bottom: solid 1px #231815;
  text-align: left;
  line-height: 1.8571428571;
  letter-spacing: .15em;
  padding: .9rem .9rem .9rem 1.2rem
}

@media print, screen and (min-width:769px) {
  .table1 td, .table1 th {
    padding: 1.5rem 1.5rem 1.5rem 2rem
  }
}

@media only screen and (max-width:768px) {
  .table1 td, .table1 th {
    font-size: .96rem
  }
}

.table1 th {
  background-color: #eeefef;
  font-weight: 400;
  white-space: nowrap
}

.table1 tr:nth-of-type(even) td {
  background-color: #f6f7f7
}

.table1 tr:nth-of-type(even) th {
  background-color: #e6e6e7
}

.table1--dark th {
  background-color: #e1e2e2
}

.table1--dark tr:nth-of-type(even) td {
  background-color: #eaebeb
}

.table1--dark tr:nth-of-type(even) th {
  background-color: #d9dada
}

.table2 td {
  text-align: left
}

.table2 td, .table2 th {
  border: solid 1px #231815;
  padding: .1rem;
  line-height: 2
}

@media only screen and (max-width:768px) {
  .table2 td, .table2 th {
    font-size: 1.02rem;
    letter-spacing: .1em;
    line-height: 1.4705882353
  }
}

.table2 th {
  background-color: #addec1;
  font-weight: 400;
  white-space: nowrap;
  text-align: center
}

.table2 td {
  background-color: #f6f8f6;
  padding-left: 1rem
}

@media only screen and (max-width:768px) {
  .table2 td {
    padding: .6rem .9rem
  }
}

.table2 tr:nth-of-type(even) td, .table3 tr:nth-of-type(odd) td {
  background-color: #fff
}

.table2 tr:nth-of-type(even) th {
  background-color: #6fc693
}

.table2--w563 {
  max-width: 563px
}

.table3 {
  width: 100%;
  max-width: 760px
}

.table3 td, .table3 th {
  border: solid 1px #231815;
  padding: .1rem;
  line-height: 2
}

.table3 td {
  text-align: left;
  background-color: #f6f8f6;
  padding-left: 1rem;
  letter-spacing: .1em
}

.table3 th {
  background-color: #6fc693;
  font-weight: 400;
  white-space: nowrap;
  text-align: center;
  width: 27.236%;
  letter-spacing: .08em
}

.table3 tr:nth-of-type(odd) th {
  background-color: #addec1
}

.table3--th27 th {
  width: 36.447%
}

.table3--th27 th+th {
  width: auto
}

.title1 {
  font-size: 1.38rem;
  font-weight: 300;
  letter-spacing: .235em;
  color: #2daf61
}

@media print, screen and (min-width:769px) {
  .title1 {
    font-size: 2.4rem
  }
}

.title1 span {
  font-size: 1.02rem;
  border-bottom: solid 1px #2daf61;
  letter-spacing: .1em;
  display: inline-block;
  line-height: 1.6;
  transform: translateY(-.24rem);
  margin-left: .6rem
}

@media print, screen and (min-width:769px) {
  .title1 span {
    margin-left: 1rem;
    font-size: 1.7rem;
    transform: translateY(-.4rem)
  }
}

@media only screen and (max-width:768px) {
  .title1--sp-lht {
    line-height: 1.5416666667
  }
}

.title1--ub {
  color: #231815;
  margin-bottom: 1.5rem;
  text-decoration: underline;
  text-underline-offset: .5rem
}

@media print, screen and (min-width:769px) {
  .title1--ub {
    margin-bottom: 2rem;
    text-underline-offset: 1rem;
    text-decoration-thickness: .1rem
  }
}

.title2 {
  font-size: 1.38rem;
  font-weight: 300;
  letter-spacing: .235em;
  color: #2daf61;
  border-bottom: solid 1px currentColor
}

@media print, screen and (min-width:769px) {
  .title2 {
    font-size: 2.3rem
  }
}

.article {
  width: 100%;
  margin: 0 auto
}

.article:after {
  content: "";
  display: block;
  clear: both
}

.article address, .article dd, .article dl, .article dt, .article form, .article h1, .article h2, .article h3, .article h4, .article p, .article pre, .article ul {
  display: block;
  unicode-bidi: embed
}

.article li {
  display: list-item
}

.article head {
  display: none
}

.article table {
  display: table;
  border-spacing: 2px
}

.article tr {
  display: table-row
}

.article tbody {
  display: table-row-group;
  vertical-align: middle
}

.article td, .article th {
  display: table-cell
}

.article th {
  text-align: center
}

.article body {
  margin: 8px
}

.article h1 {
  font-size: 2em;
  margin: .67em 0
}

.article h2 {
  font-size: 1.5em;
  margin: .75em 0
}

.article h3 {
  font-size: 1.17em;
  margin: .83em 0
}

.article dl, .article form, .article h4, .article p, .article ul {
  margin: 1.12em 0
}

.article b, .article h1, .article h2, .article h3, .article h4, .article th {
  font-weight: bolder
}

.article address, .article em, .article i, .article var {
  font-style: italic
}

.article code, .article pre {
  font-family: monospace
}

.article pre {
  white-space: pre
}

.article button, .article input, .article select, .article textarea {
  display: inline-block
}

.article small {
  font-size: .83em
}

.article td, .article th, .article tr {
  vertical-align: inherit
}

.article td, .article th {
  border: 1px solid #ccc;
  padding: 0 .2em
}

.article s {
  text-decoration: line-through
}

.article dd, .article ul {
  margin-left: 40px
}

.article ul {
  list-style-type: inherit
}

.article ul ul {
  margin-top: 0;
  margin-bottom: 0
}

.article :link, .article :visited, .article u {
  text-decoration: underline
}

.article br:before {
  content: "\a";
  white-space: pre-line
}

.article :focus {
  outline: thin dotted invert
}

@media print {
  .article h1 {
    page-break-before: always
  }
  .article h1, .article h2, .article h3, .article h4 {
    page-break-after: avoid
  }
  .article dl, .article ul {
    page-break-before: avoid
  }
}

.article .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto
}

@media print, screen and (min-width:769px) {
  .article .alignleft {
    float: left;
    margin: .5em 1em .5em 0
  }
  .article .alignright {
    float: right;
    margin: .5em 0 .5em 1em
  }
}

.article img {
  max-width: 100%
}

.crossead {
  text-align: center
}

.crossead--green {
  color: #2daf61;
}

.crossead-en {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 3.3rem;
  display: block;
  line-height: 1;
  font-weight: 200
}

@media only screen and (max-width:768px) {
  .crossead-en {
    letter-spacing: 0
  }
}

@media print, screen and (min-width:769px) {
  .crossead-en {
    font-weight: 100;
    font-size: 5.936rem
  }
}

.crossead-ja {
  font-size: 1.14rem;
  display: block;
  line-height: 1;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .crossead-ja {
    font-size: 2.4rem
  }
}

.crossead-ja:before {
  content: "";
  display: block;
  margin: 1.2rem auto;
  background-color: currentColor;
  width: 2.7rem;
  height: .18rem
}

@media print, screen and (min-width:769px) {
  .crossead-ja:before {
    margin: 3rem auto 2rem;
    width: 4.5rem;
    height: .3rem
  }
}

.form #messageBox1 {
  display: none;
  background-color: #fdede4;
  color: #db0a17;
  max-width: 720px;
  margin: 0 auto 1.8rem;
  padding: 1.8rem;
  text-align: center
}

@media print, screen and (min-width:769px) {
  .form #messageBox1 {
    padding: 3rem;
    margin-bottom: 4rem
  }
}

.form #messageBox1 h3 {
  font-size: 1.38rem;
  margin-bottom: .6rem
}

@media print, screen and (min-width:769px) {
  .form #messageBox1 h3 {
    font-size: 2.3rem;
    margin-bottom: 1rem
  }
}

.form #messageBox1 p {
  font-size: 1.079rem;
  line-height: 1.8333333333
}

@media print, screen and (min-width:769px) {
  .form #messageBox1 p {
    font-size: 1.8rem
  }
}

@media only screen and (max-width:768px) {
  .form {
    width: 83.75%
  }
}

.formTable {
  width: 100%;
  max-width: 1000px
}

.formTable th div {
  display: flex;
  justify-content: space-between;
  align-content: center;
  align-items: center
}

.formTable th div span {
  margin-right: 0
}

@media print, screen and (min-width:769px) {
  .formTable th {
    width: 30%
  }
}

.formTable td.-error .formSelect, .formTable td.-error input[type=checkbox]+span:before, .formTable td.-error input[type=text], .formTable td.-error textarea {
  background-color: #fdede4;
  border-color: #e60012
}

.formFileUpload label {
  padding: .3rem 4rem;
  cursor: pointer;
  display: inline-block;
  border: solid 1px #ccc;
  background-color: #fff
}

.formFileUpload p {
  margin-top: .5rem;
  word-break: break-all;
  max-width: 12rem
}

@media print, screen and (min-width:769px) {
  .formFileUpload p {
    max-width: 50rem
  }
}

.form input[type=checkbox]+span, .form input[type=radio]+span, .formSelect {
  cursor: pointer;
  display: inline-block;
  position: relative
}

.formSelect {
  border: solid 1px #ccc;
  background-color: #fff
}

.formSelect:after {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
  width: 1.6rem;
  background-color: rgba(204, 204, 204, .7)
}

.formSelect:before {
  display: block;
  width: .5rem;
  height: .5rem;
  border-right: 2px #333 solid;
  border-bottom: 2px #333 solid;
  top: 50%;
  right: .5rem;
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none
}

.formSelect select {
  color: #231815;
  text-align: left;
  width: 100%;
  padding: .1rem 3rem .1rem 1rem
}

@media print, screen and (max-width:768px) {
  .formSelect select[name="birth-year"],
  .formSelect select[name="birth-month"],
  .formSelect select[name="birth-day"] {
    padding-left: .5rem;
    padding-right: 2rem;
  }
}

.form input[type=text], .form textarea {
  border: solid 1px #9fa0a0;
  width: 100%;
  background-color: #fff
}

@media print, screen and (min-width:769px) {
  .form input[type=text] {
    width: 342px;
    padding: 0 1rem
  }
}

.birth-data input[type=text] {
  width: 20%;
}

@media print, screen and (min-width:769px) {
  .birth-data input[type=text] {
    width: 90px;
  }
}

.form textarea {
  padding: 0 1rem
}

@media print, screen and (min-width:769px) {
  .form textarea {
    width: 342px
  }
}

.form input[type=checkbox] {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px
}

.form input[type=checkbox]+span {
  padding: 0 1rem 0 3.2rem;
  transition: all .2s
}

.form input[type=checkbox]+span:after, .form input[type=checkbox]+span:before, .formSelect:before {
  content: "";
  position: absolute
}

.form input[type=checkbox]+span:before {
  background: #fff;
  border: .2rem solid #d2d3d3;
  border-radius: 0;
  left: 0;
  margin-top: -1rem;
  top: 1.2rem;
  width: 2.5rem;
  height: 2.5rem
}

.form input[type=checkbox]+span:after {
  border-bottom: .2rem solid #2daf61;
  border-left: .2rem solid #2daf61;
  left: .5rem;
  margin-top: -.5rem;
  opacity: 0;
  top: 1.3rem;
  transform: rotate(-45deg) scale(.5);
  transition: all ease .3s;
  height: .9rem;
  width: 1.4rem
}

.form input[type=checkbox]+span:hover:before {
  background: #fff
}

.form input[type=checkbox]:checked+span:before {
  background: #fff;
  border: 2px solid #d2d3d3
}

.form input[type=checkbox]:checked+span:after {
  opacity: 1;
  transform: rotate(-45deg) scale(1)
}

.form input[type=radio] {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px
}

.form input[type=radio]+span {
  padding: 0 1rem 0 3.2rem;
  transition: all .2s
}

@media print, screen and (min-width:769px) {
  .form input[type=radio]+span {
    padding-bottom: 0;
  }
}

.form input[type=radio]+span:after, .form input[type=radio]+span:before, .formSelect:before {
  content: "";
  position: absolute
}

.form input[type=radio]+span:before {
  background: #fff;
  border: .1rem solid #d2d3d3;
  border-radius: 50%;
  left: 0;
  margin-top: -1rem;
  top: 1.2rem;
  width: 2.5rem;
  height: 2.5rem
}

.form input[type=radio]+span:after {
  background-color: #2daf61;
  border-radius: 50%;
  left: .65rem;
  margin-top: -.5rem;
  opacity: 0;
  top: 1.3rem;
  transform: scale(.5);
  transition: all ease .3s;
  height: 1.2rem;
  width: 1.2rem
}

.form input[type=radio]:checked+span:after {
  opacity: 1;
  transform: scale(1)
}

@media print, screen and (min-width:769px) {
  .radio-items {
    display: flex;
    align-items: center;
  }
  .radio-items .vertical-item + .vertical-item {
    margin-top: 0;
  }
}

.formAgree {
  padding-top: 9.375vw;
  border-top: solid 1px #d2d3d3;
  text-align: center
}

@media print, screen and (min-width:769px) {
  .formAgree {
    padding-top: 60px
  }
}

.formAgree p {
  letter-spacing: 0
}

@media print, screen and (min-width:769px) {
  .formAgree p {
    letter-spacing: .08em;
    font-size: 2rem
  }
}

.formAgree p a {
  display: inline-block;
  position: relative;
  color: #2daf61
}

.formAgree p a:after {
  content: "";
  background-color: currentColor;
  width: 100%;
  display: block;
  height: 1px;
  transform: translateY(-.48rem)
}

@media print, screen and (min-width:769px) {
  .formAgree p a:after {
    height: 2px;
    transform: translateY(-8px)
  }
}

.formAgree p span {
  font-size: 1.2rem
}

@media print, screen and (min-width:769px) {
  .formAgree p span {
    padding-left: 3.5rem!important;
    font-size: 2.4rem
  }
  .formAgree p span:after, .formAgree p span:before {
    top: 1.6rem!important
  }
}

.formAgree p+p {
  margin-top: 6.25vw
}

@media print, screen and (min-width:769px) {
  .formAgree p+p {
    margin-top: 20px;
    line-height: 1.4
  }
}

.formButton {
  text-align: center;
  margin-top: 3.6rem
}

@media print, screen and (min-width:769px) {
  .formButton {
    margin-top: 6rem
  }
}

.formButton button[type=submit] {
  max-width: 50rem;
  width: 100%;
  background-color: #2daf61;
  color: #fff;
  letter-spacing: .15em;
  display: inline-block;
  font-size: 1.38rem;
  padding: .36rem 0
}

@media print, screen and (min-width:769px) {
  .formButton button[type=submit] {
    font-size: 2.4rem;
    padding: 0
  }
}

.formButton button[type=submit]:disabled, .formButton button[type=submit][disabled=disabled] {
  opacity: .5;
  pointer-events: none;
  cursor: default
}

.formButton button[type=submit][name=submitBack] {
  background-color: transparent;
  color: #231815;
  width: auto
}

@media print, screen and (min-width:769px) {
  .formButton button[type=submit][name=submitBack] {
    font-size: 1.92rem
  }
}

.formButton button[type=submit][name=submitBack]:after {
  content: "";
  display: block;
  border-bottom: solid 1px #231815;
  transform: translateY(-.5rem)
}

.formConfirm {
  color: #db0a17;
  font-size: 1.2rem;
  padding: 0 0 1.8rem;
  text-align: center
}

@media print, screen and (min-width:769px) {
  .formConfirm {
    font-size: 2.3rem;
    padding: 0 0 3rem
  }
}

.formComplete {
  text-align: center
}

@media only screen and (max-width:768px) {
  .formComplete-img svg {
    width: 9.72rem;
    height: 9.72rem
  }
}

.formComplete-title {
  color: #2daf61;
  font-size: 1.8rem
}

@media print, screen and (min-width:769px) {
  .formComplete-title {
    font-size: 3.5rem
  }
}

.formComplete p {
  margin-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .formComplete p {
    margin-top: 4rem
  }
}

.page-contact_us.page-confirm .formSelect, .page-document_request.page-confirm .formSelect, .page-recruiting_information.page-confirm .formSelect {
  background-color: transparent;
  border: 0
}

.page-contact_us.page-confirm .formAgree, .page-contact_us.page-confirm .formFileUpload .form_file_name, .page-contact_us.page-confirm .formFileUpload label, .page-contact_us.page-confirm .formSelect:after, .page-contact_us.page-confirm .formSelect:before, .page-document_request.page-confirm .formAgree, .page-document_request.page-confirm .formFileUpload .form_file_name, .page-document_request.page-confirm .formFileUpload label, .page-document_request.page-confirm .formSelect:after, .page-document_request.page-confirm .formSelect:before, .page-recruiting_information.page-confirm .formAgree, .page-recruiting_information.page-confirm .formFileUpload .form_file_name, .page-recruiting_information.page-confirm .formFileUpload label, .page-recruiting_information.page-confirm .formSelect:after, .page-recruiting_information.page-confirm .formSelect:before {
  display: none
}

.page-contact_us.page-confirm .formFileUpload div, .page-document_request.page-confirm .formFileUpload div {
  height: auto!important
}

.page-contact_us.page-confirm .formFileUpload div a, .page-document_request.page-confirm .formFileUpload div a {
  text-decoration: underline;
  color: #2daf61
}

.page-contact_us.page-confirm .formButton span+span, .page-document_request.page-confirm .formButton span+span, .page-recruiting_information.page-confirm .formButton span+span {
  margin-top: 1rem
}

.google-recaptcha-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1.8rem
}

@media print, screen and (min-width:769px) {
  .google-recaptcha-wrap {
    margin-top: 5rem
  }
}

.headline-en {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 3.3rem;
  display: block;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 200
}

@media print, screen and (min-width:769px) {
  .headline-en {
    font-weight: 100;
    font-size: 7.5rem
  }
}

.headline-ja {
  font-size: 1.14rem;
  display: block;
  line-height: 1;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .headline-ja {
    font-size: 2.4rem
  }
}

.headline-ja:before {
  content: "";
  display: block;
  margin: 1.8rem auto 1.2rem;
  background-color: currentColor;
  width: 2.7rem;
  height: .18rem
}

@media print, screen and (min-width:769px) {
  .headline-ja:before {
    margin: 3rem auto 2rem;
    width: 4.5rem;
    height: .3rem
  }
}

.modal, .visual {
  position: relative
}

.modal {
  max-width: 800px;
  margin: 0 auto;
  background-color: #fff;
  padding: 5rem 2rem;
  text-align: center;
  border: solid 1px
}

.modal .modal-close {
  position: absolute;
  right: 0;
  top: 0;
  width: 5rem;
  height: 5rem
}

.modal .modal-close:after, .modal .modal-close:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: .1rem;
  height: 3rem;
  background: #333
}

.modal .modal-close:before {
  transform: translate(-50%, -50%) rotate(45deg)
}

.modal .modal-close:after {
  transform: translate(-50%, -50%) rotate(-45deg)
}

.mfp-content .mfp-close {
  display: none
}

.visual {
  background-color: #2daf61;
  letter-spacing: 0;
  text-align: left;
  height: 56.76rem;
  overflow: hidden;
  padding: 0
}

@media print, screen and (min-width:769px) {
  .visual {
    height: 76rem
  }
  .visual:after, .visual:before {
    content: "";
    display: block;
    width: 48.9rem;
    height: 6rem;
    position: absolute;
    left: 50%;
    bottom: 0
  }
}

.visual:after, .visual:before {
  transform: translateX(-100%);
  border-left: solid 1px #fff
}

.visual:after {
  transform: translateX(0);
  border-right: solid 1px #fff
}

.visualCopy {
  background-color: rgba(45, 175, 97, .5);
  position: relative;
  z-index: 98;
  width: 19.14rem;
  margin-left: 2.4rem;
  padding-left: 2.4rem;
  padding-top: 9.6rem;
  height: 56.76rem;
  color: #fff
}

@media print, screen and (min-width:769px) {
  .visualCopy {
    width: 48.9rem;
    height: 100%;
    margin-left: 50%;
    margin-right: 0;
    padding-left: 4rem;
    padding-top: 17rem;
    transform: translateX(-48.901rem)
  }
}

.visualCopy-main {
  line-height: 0
}

.visualCopy-main img {
  width: 14.34rem;
  height: auto
}

@media print, screen and (min-width:769px) {
  .visualCopy-main img {
    width: auto
  }
}

.visualCopy-read {
  margin-top: 6rem;
  font-size: 1.079rem;
  line-height: 2.2222222222;
  letter-spacing: .2em
}

@media print, screen and (min-width:769px) {
  .visualCopy-read {
    margin-top: 12rem;
    font-size: 1.6rem;
    line-height: 2.5;
    letter-spacing: .2em
  }
}

.visualSlider {
  position: absolute;
  top: 0;
  bottom: 3rem;
  left: 0;
  right: 0;
  z-index: 90
}

@media print, screen and (min-width:769px) {
  .visualSlider {
    bottom: 5rem;
    right: 50%;
    width: 100%;
    left: auto;
    transform: translateX(489px)
  }
}

.visualSlider>div {
  overflow: hidden;
  height: 100%;
  background-color: #000
}

@media print, screen and (min-width:769px) {
  .visualSlider>div {
    height: 700px;
    width: 100%
  }
}

.visualSlider img, .visualSlider picture {
  -o-object-fit: cover;
  object-fit: cover;
  line-height: 0;
  height: 100%
}

@media print, screen and (min-width:769px) {
  .visualSlider img, .visualSlider picture {
    width: 100%;
    height: 700px
  }
}

.visualLines {
  max-width: 100vw;
  position: absolute;
  z-index: 100;
  top: 26.4rem
}

@media print, screen and (min-width:769px) {
  .visualLines {
    top: 24rem
  }
}

body.is-active-menu:before {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 997;
  background-color: rgba(0, 0, 0, .8);
  cursor: pointer
}

@media print, screen and (min-width:769px) {
  body.is-active-menu .navigation {
    animation: rotation .3s ease 0s
  }
}

body:not(#home) {
  padding-top: 7.2rem
}

@media print, screen and (min-width:769px) {
  body:not(#home) {
    padding-top: 12rem
  }
}

.footer {
  background-color: #09070d;
  color: #fff;
  padding: 3rem 0
}

@media print, screen and (min-width:769px) {
  .footer {
    padding: 5rem 0;
    text-align: left
  }
}

.footerInner {
  margin-right: auto;
  margin-left: auto
}

@media print, screen and (min-width:769px) {
  .footerInner {
    max-width: 97.6rem;
    display: flex
  }
}

@media only screen and (max-width:768px) {
  .footerLogo a {
    justify-content: center
  }
}

@media print, screen and (min-width:769px) {
  .footerContent, .footerLogo {
    width: 50%
  }
}

.footerContent-address {
  line-height: 2.0714285714;
  margin-bottom: 5rem
}

@media only screen and (max-width:768px) {
  .footerContent-address {
    margin-bottom: 1.8rem;
    margin-top: 1.8rem;
    font-size: .96rem;
    line-height: 1.8246875
  }
}

.header {
  display: flex;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  position: absolute;
  top: 1.5rem;
  left: 1.2rem;
  right: 0;
  z-index: 100
}

@media print, screen and (min-width:769px) {
  .header {
    top: 1.5rem;
    left: 1.5rem
  }
}

#home .header {
  color: #fff
}

.headerNavigation {
  padding-right: 13rem
}

@media only screen and (max-width:768px) {
  .headerNavigation {
    display: none
  }
}

.headerNavigation ul {
  display: flex
}

.headerNavigation ul li:before {
  content: "/";
  display: inline-block;
  margin: 0 1em
}

.headerNavigation ul li:first-of-type:before, .subNavigation ul li:first-of-type:before {
  display: none
}

.main {
  overflow: hidden
}

@media print, screen and (min-width:769px) {
  #home .main {
    position: relative
  }
  #home .main:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6rem;
    background: linear-gradient(rgba(0, 0, 0, .4) 0, transparent 100%);
    z-index: 99
  }
}

.navigation {
  position: fixed;
  z-index: 998;
  background-color: #2daf61;
  right: 0;
  top: 0
}

@media only screen and (max-width:768px) {
  .navigation {
    min-width: 100vw
  }
}

@media print, screen and (min-width:769px) {
  .navigation {
    min-width: 51.4rem
  }
}

.navigationGlobal {
  display: none;
  max-width: 32rem;
  text-align: left;
  font-size: 1.32rem;
  letter-spacing: .21em;
  margin: 0 auto;
  padding-top: 5.5rem
}

.navigationGlobal.is-open {
  display: block
}

@media print, screen and (min-width:769px) {
  .navigationGlobal {
    font-size: 1.5rem;
    transform: translateX(-2.401rem);
    padding: 3.4rem 0
  }
}

.navigationGlobalMain {
  border-top: solid 1px #fff
}

@media print, screen and (min-width:769px) {
  .navigationGlobalMain {
    border-top: solid 1px #fff
  }
}

.navigationGlobalMain li {
  border-bottom: solid 1px #fff
}

@media print, screen and (min-width:769px) {
  .navigationGlobalMain li {
    border-bottom: solid 1px #fff
  }
}

.navigationGlobalMain li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  color: #fff;
  padding: .4rem 1rem
}

.navigationGlobalMain li a:after {
  content: "";
  width: .51rem;
  height: .51rem;
  display: block;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(-45deg)
}

@media print, screen and (min-width:769px) {
  .navigationGlobalMain li a:after {
    width: .65rem;
    height: .65rem;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff
  }
}

.navigationGlobalMain li span {
  color: #fff;
  padding: 1rem
}

@media print, screen and (min-width:769px) {
  .navigationGlobalMain li span {
    padding: .3rem 1rem .5rem
  }
  .navigationGlobalMain-child {
    display: flex;
    justify-content: space-between
  }
}

.navigationGlobalMain-child ul {
  width: 63.125%
}

@media only screen and (max-width:768px) {
  .navigationGlobalMain-child ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%
  }
  .navigationGlobalMain-child li {
    width: 46.271%
  }
  .navigationGlobalMain-child li:nth-last-child(2) {
    border-bottom: none
  }
}

.navigationGlobalMain-child li:last-of-type {
  border-bottom: none
}

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

.navigationGlobalRequest li {
  width: 100%;
  padding: 1.6rem 0 0
}

.navigationGlobalRequest a {
  background-color: #fff;
  text-align: center;
  padding: 1rem 0;
  color: #2daf61;
  width: 100%;
  display: block;
  border: solid 1px #fff
}

@media print, screen and (min-width:769px) {
  .navigationGlobalRequest a:hover {
    opacity: 1;
    background-color: #2daf61;
    color: #fff;
    border: solid 1px #fff
  }
}

.navigationGlobalSub {
  font-size: 1.2rem;
  color: #fff;
  letter-spacing: .21em;
  margin-top: 1.4rem
}

.navigationContact {
  display: block;
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 996;
  color: #fff
}

@media only screen and (max-width:768px) {
  .navigationContact {
    display: none
  }
}

.navigationContact a {
  width: 10.4rem;
  height: 10.4rem;
  color: currentColor;
  background-color: #2daf61;
  display: block;
  font-size: 1.3rem;
  letter-spacing: .025em;
  padding-top: 3rem
}

.navigationContact a i {
  display: block;
  margin: 0 auto;
  width: 2.8rem;
  transform: translateX(-.5rem);
  margin-bottom: .5rem
}

.navigationContact a i:before {
  content: "";
  width: 2.8rem;
  height: 2.8rem;
  display: block;
  border-bottom: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: rotate(-45deg)
}

.navigationContact.-white {
  color: #2daf61
}

.navigationContact.-white a {
  background-color: #fff
}

.subNavigation {
  margin-top: 7rem
}

@media only screen and (max-width:768px) {
  .subNavigation {
    display: none
  }
}

.subNavigation ul {
  display: flex;
  justify-content: center;
  font-size: 1.7rem;
  letter-spacing: .2em
}

@media only screen and (max-width:1040px) {
  .subNavigation ul {
    font-size: 1.634vw
  }
}

.subNavigation ul li:before {
  content: "/";
  display: inline-block;
  margin: 0 .9em;
  font-size: 1.5rem
}

@media only screen and (max-width:1040px) {
  .subNavigation ul li:before {
    font-size: 1.442vw
  }
}

.subNavigation--fBig ul {
  font-size: 2.2rem
}

@media only screen and (max-width:1040px) {
  .subNavigation--fBig ul {
    font-size: 2.115vw
  }
}

.aboutUsPresident {
  color: #fff;
  background-color: #2daf61
}

@media print, screen and (min-width:769px) {
  .aboutUsPresident {
    background: linear-gradient(90deg, #fff 0, #fff 50%, #2daf61 50%, #2daf61 100%)
  }
}

.aboutUsPresidentContainer {
  background-color: #2daf61;
  text-align: left;
  display: grid;
  grid-template-areas: "pch pch" "pct pct" "pci pcn";
  width: 74.218%;
  padding: 3.6rem 0
}

@media print, screen and (min-width:769px) {
  .aboutUsPresidentContainer {
    grid-template-areas: "pci pch" "pci pct" "pci pcn";
    grid-template-columns: 50.434% auto;
    padding: 8rem 0 8rem 8rem;
    width: 100%
  }
}

.aboutUsPresidentContainer-head, .aboutUsPresidentContainer-text {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: pch
}

.aboutUsPresidentContainer-text {
  -ms-grid-row: 2;
  grid-area: pct;
  padding-top: 1.2rem;
  padding-bottom: 3.6rem
}

@media print, screen and (min-width:769px) {
  .aboutUsPresidentContainer-text {
    padding-top: 3rem;
    line-height: 2.2142857143;
    padding-bottom: 0
  }
}

.aboutUsPresidentContainer-img {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: pci
}

.aboutUsPresidentContainer-name {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  grid-area: pcn
}

@media print, screen and (min-width:769px) {
  .aboutUsPresidentContainer-head, .aboutUsPresidentContainer-text {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1
  }
  .aboutUsPresidentContainer-text {
    -ms-grid-row: 2
  }
  .aboutUsPresidentContainer-img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1
  }
  .aboutUsPresidentContainer-name {
    -ms-grid-row: 3;
    -ms-grid-column: 2
  }
}

@media only screen and (max-width:768px) {
  .aboutUsPresidentContainer-name {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center
  }
}

@media print, screen and (min-width:769px) {
  .aboutUsPresidentContainer-name {
    padding-top: 1.5rem
  }
  .aboutUsPresidentName {
    display: flex;
    align-content: center;
    align-items: center
  }
}

.aboutUsPresidentName dd {
  font-size: 1.859rem;
  letter-spacing: .15em
}

@media print, screen and (min-width:769px) {
  .aboutUsPresidentName dd {
    font-size: 2.4rem;
    letter-spacing: .235em;
    margin-left: 1.5rem
  }
}

.aboutUsPhilosophy {
  background-color: #495c65;
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  color: #fff;
  padding-top: 2.4rem
}

.no-webp .aboutUsPhilosophy {
  background-image: url(../img/about_us_corporate_philosophy@2x.jpg);
  background-image: -webkit-image-set(url(../img/about_us_corporate_philosophy@1x.jpg) 1x, url(../img/about_us_corporate_philosophy@2x.jpg) 2x);
  background-image: image-set(url(../img/about_us_corporate_philosophy@1x.jpg) 1x, url(../img/about_us_corporate_philosophy@2x.jpg) 2x)
}

@media print, screen and (min-width:769px) {
  .no-webp .aboutUsPhilosophy {
    background-image: url(../img/about_us_corporate_philosophy.jpg)
  }
}

.webp .aboutUsPhilosophy {
  background-image: url(../img/about_us_corporate_philosophy@2x.webp);
  background-image: -webkit-image-set(url(../img/about_us_corporate_philosophy@1x.webp) 1x, url(../img/about_us_corporate_philosophy@2x.webp) 2x);
  background-image: image-set(url(../img/about_us_corporate_philosophy@1x.webp) 1x, url(../img/about_us_corporate_philosophy@2x.webp) 2x)
}

@media print, screen and (min-width:769px) {
  .webp .aboutUsPhilosophy {
    background-image: url(../img/about_us_corporate_philosophy.jpg)
  }
  .aboutUsPhilosophy {
    padding-top: 7rem;
    background-size: cover
  }
}

.aboutUsPhilosophyContainer {
  padding-bottom: 1px;
  margin-bottom: 10.2rem
}

@media print, screen and (min-width:769px) {
  .aboutUsPhilosophyContainer {
    margin-bottom: 39.6rem
  }
}

.aboutUsPhilosophyContent {
  margin-top: 2.4rem;
  text-align: center;
  margin-bottom: -6rem
}

@media only screen and (max-width:768px) {
  .aboutUsPhilosophyContent {
    width: 95.512%
  }
}

@media print, screen and (min-width:769px) {
  .aboutUsPhilosophyContent {
    margin-top: 7rem;
    margin-bottom: -30rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }
}

.aboutUsPhilosophyContent-box {
  background-color: #2daf61;
  padding: 1.8rem
}

@media only screen and (max-width:768px) {
  .aboutUsPhilosophyContent-box:nth-child(n+2) {
    margin-top: 1.2rem
  }
}

@media print, screen and (min-width:769px) {
  .aboutUsPhilosophyContent-box {
    padding: 3rem
  }
  .aboutUsPhilosophyContent-box--h {
    width: 48.699%
  }
}

.aboutUsPhilosophyContent-box--f {
  width: 100%
}

@media print, screen and (min-width:769px) {
  .aboutUsPhilosophyContent-box--f {
    margin-top: 3rem
  }
}

.aboutUsPhilosophyContent-text {
  font-size: 1.079rem;
  line-height: 2;
  text-align: left;
  letter-spacing: .1em;
  margin-top: 1.2rem
}

@media print, screen and (min-width:769px) {
  .aboutUsPhilosophyContent-text {
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.9375;
    margin-top: 2.2rem
  }
}

.aboutUsPhilosophyValue {
  color: #231815;
  margin-top: 2rem
}

@media print, screen and (min-width:769px) {
  .aboutUsPhilosophyValue {
    display: flex;
    justify-content: center;
    flex-wrap: wrap
  }
}

.aboutUsPhilosophyValue-box {
  background-color: #fff;
  padding: 1rem 1.5rem
}

@media print, screen and (min-width:769px) {
  .aboutUsPhilosophyValue-box {
    width: 30.851%;
    margin: 1rem
  }
}

@media only screen and (max-width:768px) {
  .aboutUsPhilosophyValue-box:nth-child(n+2) {
    margin-top: 1.2rem
  }
}

.aboutUsPhilosophyValue-box dt {
  color: #2daf61;
  border-bottom: solid 1px #2daf61;
  padding-bottom: .5rem;
  margin-bottom: .5rem;
  font-size: 1.079rem;
  letter-spacing: .15em;
  line-height: 1.9444444444
}

@media print, screen and (min-width:769px) {
  .aboutUsPhilosophyValue-box dt {
    font-size: 1.8rem
  }
}

.aboutUsPhilosophyValue-box dd {
  font-size: .96rem;
  letter-spacing: .1em;
  line-height: 1.6875;
  text-align: left
}

@media print, screen and (min-width:769px) {
  .aboutUsPhilosophyValue-box dd {
    font-size: 1.6rem;
    letter-spacing: .06em
  }
}

.aboutUsTable {
  margin-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .aboutUsTable {
    margin: 6rem auto 0
  }
}

#profile .aboutUsTable tr:nth-last-child(1) th{
	line-height: 1.35em;
}

.aboutUsOffices-img {
  margin-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .aboutUsOffices-img {
    margin-top: 6rem
  }
}

.aboutUsOffices-img img {
  width: 100%;
  height: auto
}

@media only screen and (max-width:768px) {
  .aboutUsOfficesContainer {
    width: 78.125%
  }
}

.aboutUsOfficesContent-box {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  border-bottom: solid 1px #000;
  padding-bottom: 2.4rem;
  margin-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .aboutUsOfficesContent-box {
    margin-top: 6rem;
    padding-bottom: 6rem
  }
}

.aboutUsOfficesContent-box p {
  letter-spacing: .1em;
  line-height: 1.9333333333
}

@media only screen and (max-width:768px) {
  .aboutUsOfficesContent-box p {
    font-size: .96rem;
    line-height: 1.875;
    letter-spacing: .07em
  }
}

.aboutUsOfficesContent-box div {
  width: 100%;
  height: 318px;
  margin-top: 3rem
}

.aboutUsOfficesContent-box iframe {
  width: 100%;
  height: 318px
}

.aboutUsOfficesContent-box:last-of-type {
  border: 0
}

@media only screen and (max-width:768px) {
  .businessAreasHeading {
    display: flex;
    flex-direction: column-reverse
  }
}

@media print, screen and (min-width:769px) {
  .businessAreasHeading {
    padding-left: 29.642vw
  }
}

.businessAreasHeadingText {
  margin-top: 4.2rem
}

@media print, screen and (min-width:769px) {
  .businessAreasHeadingText {
    margin-top: 0;
    text-align: left;
    position: absolute;
    left: 3.571vw
  }
  .businessAreasHeadingText.is-fixed {
    position: fixed;
    top: 40px
  }
}

.businessAreasHeadingText-head {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.091rem;
  letter-spacing: 0;
  line-height: 1;
  display: block;
  color: #2daf61;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .businessAreasHeadingText-head {
    font-weight: 200;
    font-size: 1vw
  }
}

.businessAreasHeadingText-number {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 3.076rem;
  letter-spacing: .075em;
  line-height: 1;
  display: block;
  color: #2daf61;
  margin-top: .3rem;
  font-weight: 200
}

@media print, screen and (min-width:769px) {
  .businessAreasHeadingText-number {
    font-weight: 100;
    font-size: 4.239vw;
    margin-top: 1.071vw
  }
}

.businessAreasHeadingText-ja {
  font-size: 1.56rem;
  letter-spacing: .235em;
  line-height: 1;
  display: block;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .businessAreasHeadingText-ja {
    font-size: 2.858vw;
    letter-spacing: .175em
  }
}

.businessAreasHeadingText-ja:before {
  content: "";
  display: block;
  margin: .9rem auto 1.2rem;
  background-color: currentColor;
  width: 2.7rem;
  height: .18rem
}

@media print, screen and (min-width:769px) {
  .businessAreasHeadingText-ja:before {
    margin: 1.071vw 0 1.428vw;
    width: 3.214vw;
    height: .214vw
  }
}

.businessAreasContentFeatures li h4:before, .businessAreasHeadingText-en {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: 300
}

.businessAreasHeadingText-en {
  font-size: 1.38rem;
  letter-spacing: 0;
  line-height: 1;
  display: block;
  color: #2daf61;
  margin-top: .6rem
}

@media print, screen and (min-width:769px) {
  .businessAreasHeadingText-en {
    font-weight: 200;
    margin-top: 1.071vw;
    font-size: 2.4rem
  }
}

.businessAreasHeadingImage {
  text-align: left;
  border-left: solid 1.2rem #2daf61
}

@media print, screen and (min-width:769px) {
  .businessAreasHeadingImage {
    width: 100%;
    border-left-width: 3rem
  }
  .businessAreasHeadingImage img {
    width: 100%;
    height: auto
  }
}

.businessAreasContainer {
  margin-top: 4rem;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 10rem;
  width: 71.562%
}

@media print, screen and (min-width:769px) {
  .businessAreasContainer {
    padding-left: 29.642vw;
    width: auto
  }
}

.businessAreasContentWithLogo {
  display: flex;
  align-items: center;
  align-content: center;
  margin-top: 2rem
}

.businessAreasContentWithLogo div {
  width: 67%;
  max-width: 50rem;
  margin-right: 1.5rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentWithLogo div {
    width: 100%;
    margin-right: 2.5rem
  }
}

.businessAreasContentWithLogo h3 {
  border-bottom: solid 3px #2daf61
}

.businessAreasContentWithLogo p {
  line-height: 2;
  margin-top: 1rem
}

@media only screen and (max-width:768px) {
  .businessAreasContentWithLogo p {
    font-size: .84rem;
    letter-spacing: .15em
  }
  .businessAreasContentWithLogo-exText {
    width: 64%!important
  }
  .businessAreasContentWithLogo-exText p {
    letter-spacing: 0;
    line-height: 1.6
  }
}

.businessAreasContentFeatures {
  max-width: 78.4rem;
  counter-reset: numberLi 0
}

@media print, screen and (min-width:769px) {
  .businessAreasContentFeatures {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }
}

.businessAreasContentFeatures li {
  counter-increment: numberLi 1;
  background-color: #edf4f8;
  color: #2daf61;
  padding: .9rem 1.5rem;
  min-height: 28.8rem;
  margin-top: 2rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentFeatures li {
    min-height: 43rem;
    padding: 1.5rem 2.5rem
  }
}

.businessAreasContentFeatures li h4 {
  display: flex;
  align-content: center;
  align-items: center;
  line-height: 1.45;
  font-size: 1.234rem;
  padding-left: .6rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentFeatures li h4 {
    font-size: 2rem;
    padding-left: .3rem
  }
}

.businessAreasContentFeatures li h4:before {
  content: counter(numberLi, decimal-leading-zero) ":";
  font-size: 2.46rem;
  margin-right: .9rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentFeatures li h4:before {
    margin-right: 1.5rem;
    font-size: 4.4rem;
    font-weight: 200
  }
}

.businessAreasContentFeatures li h4 em {
  font-weight: 400
}

@media print, screen and (min-width:769px) {
  .businessAreasContentFeatures li h4 em {
    font-weight: 300
  }
}

.businessAreasContentFeatures li div {
  text-align: center;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  height: 21.6rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentFeatures li div {
    height: 30rem
  }
}

.businessAreasContentFeatures li div.-hm {
  height: 20.4rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentFeatures li div.-hm {
    height: 29rem
  }
}

.businessAreasContentFeatures li p {
  line-height: 1.5;
  letter-spacing: .13em;
  text-align: center;
  font-size: .96rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentFeatures li p {
    font-size: 1.4rem
  }
}

.businessAreasContentFeatures li p.-m-m10 {
  margin-top: -1rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentFeatures li {
    width: 48.852%
  }
}

.businessAreasContentButtons {
  width: 80.786%;
  margin-right: auto;
  margin-left: auto;
  max-width: 67.25rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentButtons {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-right: 0;
    margin-left: 0
  }
}

.businessAreasContentButtons-li {
  margin-top: 1.5rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentButtons-li {
    width: 47.806%;
    margin-top: 2.5rem
  }
}

.businessAreasContentButtons-li--full {
  width: 100%
}

.businessAreasContentItemsCol4 {
  display: flex;
  justify-content: space-between;
  max-width: 78.5rem
}

.businessAreasContentItemsCol4 span {
  display: block;
  line-height: 1;
  margin-top: .6rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentItemsCol4 span {
    margin-top: 1rem
  }
}

@media only screen and (max-width:768px) {
  .businessAreasContentItemsCol4--spCol2 {
    flex-wrap: wrap
  }
  .businessAreasContentItemsCol4--spCol2 li {
    width: 46.943%;
    margin-top: 1.2rem
  }
}

.businessAreasContentItemsCol3 {
  display: flex;
  justify-content: space-between;
  max-width: 78.5rem
}

.businessAreasContentItemsCol3 li {
  width: 31.719%
}

@media only screen and (max-width:768px) {
  .businessAreasContentItemsCol3 li+li {
    margin-top: 3.6rem
  }
  .businessAreasContentItemsCol3 div {
    width: 87.527%;
    margin: 0 auto
  }
}

.businessAreasContentItemsCol3 h4 {
  font-size: 1.5rem;
  line-height: 1.4666666667;
  letter-spacing: .1em;
  margin: .9rem 0
}

@media print, screen and (min-width:769px) {
  .businessAreasContentItemsCol3 h4 {
    margin: .8rem 0;
    letter-spacing: 0
  }
}

.businessAreasContentItemsCol3 p {
  font-size: 1.02rem;
  line-height: 1.7647058824;
  letter-spacing: .1em;
  margin-top: .5rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentItemsCol3 p {
    font-size: 1.2rem;
    line-height: 1.6666666667;
    letter-spacing: .175em
  }
}

@media only screen and (max-width:768px) {
  .businessAreasContentItemsCol3--spCol1 {
    display: block
  }
  .businessAreasContentItemsCol3--spCol1 li {
    width: 100%
  }
}

.businessAreasContentItemsCol2 {
  display: flex;
  justify-content: space-between;
  max-width: 78.5rem;
	flex-wrap: wrap;
	row-gap: 45px;
}

.businessAreasContentItemsCol2 span {
  display: block;
  line-height: 1;
  margin-top: .6rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentItemsCol2 span {
    margin-top: 1rem
  }
  .businessAreasContentItemsCol2 div {
    width: 48.789%
  }
}

.businessAreasContentItemsCol2 div h4 {
  font-size: 1.5rem;
  letter-spacing: .1em;
  line-height: 2.0666666667
}

.businessAreasContentItemsCol2 div p {
  font-size: 1.2rem;
  letter-spacing: .12em;
  line-height: 1.6666666667
}

@media only screen and (max-width:768px) {
  .businessAreasContentItemsCol2--spCol1 {
    display: block;
    margin-top: 1rem
  }
  .businessAreasContentItemsCol2--spCol1 li+li {
    margin-top: 2rem
  }
}

.businessAreasContentGridLtRi {
  max-width: 78.5rem;
  margin-top: 7rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentGridLtRi {
    display: grid;
    grid-template-areas: "tt im" "ta im";
    grid-template-rows: auto 1fr;
  }
}

.businessAreasContentGridLtRi-ttl {
  grid-area: tt
}

.businessAreasContentGridLtRi-img {
  grid-area: im;
  padding-top: 1rem;
  text-align: right;
  line-height: 1
}

.businessAreasContentGridLtRi-txt {
  grid-area: ta;
  margin-top: 1.2rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentGridLtRi-ttl {
    -ms-grid-row: 1;
    -ms-grid-column: 1
  }
  .businessAreasContentGridLtRi-img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2
  }
  .businessAreasContentGridLtRi-txt {
    -ms-grid-row: 2;
    -ms-grid-column: 1
  }
}

@media only screen and (max-width:768px) {
  .businessAreasContentGridLtRi-txt {
    font-size: .9rem
  }
}

@media print, screen and (min-width:769px) {
  .businessAreasContentGridLtRi-txt {
    margin-top: 0;
    padding-right: 3rem
  }
}

.businessAreasContentGridLtRi+.businessAreasContentGridLtRi {
  margin-top: 4rem
}

.businessAreasContentTableWithImg {
  max-width: 78.5rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentTableWithImg {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse
  }
}

.businessAreasContentTableWithImg-img {
  line-height: 1
}

@media print, screen and (min-width:769px) {
  .businessAreasContentTableWithImg-img {
    width: 44.968%
  }
  .businessAreasContentTableWithImg-table {
    width: 51.592%
  }
}

.businessAreasContentTableWithImg-table th {
  width: 28.641%
}

.businessAreasContentTableWithImg2 {
  max-width: 78.5rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentTableWithImg2 {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse
  }
}

.businessAreasContentTableWithImg2-img {
  line-height: 1
}

@media print, screen and (min-width:769px) {
  .businessAreasContentTableWithImg2-img {
    width: 25.222%
  }
  .businessAreasContentTableWithImg2-table {
    width: 71.719%
  }
}

.businessAreasContentTableWithImg2-table th {
  width: 27.708%
}

.businessAreasContentActualList {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse
}

.businessAreasContentActualList-li {
  padding: 1.2rem 0 0 1.2rem
}

@media only screen and (max-width:768px) {
  .businessAreasContentActualList-li li {
    letter-spacing: 0
  }
}

@media print, screen and (min-width:769px) {
  .businessAreasContentActualList-li {
    padding: 2rem 0 0 2rem
  }
}

@media only screen and (max-width:768px) {
  .businessAreasContentActualList-img {
    width: 61.353%
  }
}

.businessAreasContentDL {
  max-width: 78.2rem;
  border: solid 1px #2daf61;
  margin-top: 7.2rem
}

@media print, screen and (min-width:769px) {
  .businessAreasContentDL {
    margin-top: 12rem;
    display: flex
  }
}

.businessAreasContentDL dt {
  font-size: 1.2rem;
  line-height: 1.5;
  padding: 1rem;
  text-align: center
}

@media print, screen and (min-width:769px) {
  .businessAreasContentDL dt {
    display: flex;
    width: 26.47%;
    font-size: 2rem
  }
}

.businessAreasContentDL dd {
  font-size: 1.02rem;
  line-height: 1.6666666667;
  padding: 1rem
}

@media only screen and (max-width:768px) {
  .businessAreasContentDL dd {
    border-top: solid 1px #2daf61
  }
}

@media print, screen and (min-width:769px) {
  .businessAreasContentDL dd {
    border-left: solid 1px #2daf61;
    font-size: 1.2rem;
    width: 73.529%
  }
}

.businessAreasContentLinkContact {
  text-align: center;
  color: #2daf61;
  font-size: 1.44rem;
  padding-top: 3rem
}

.businessAreasContentLinkContact a {
  text-decoration: underline
}

@media print, screen and (min-width:769px) {
  .businessAreasContentLinkContact {
    text-align: left;
    font-size: 2.4rem;
    padding-top: 6rem;
	  letter-spacing: 0.215em;
	  line-height: 1.9em;
  }
}

.businessAreasContentTextBox {
  max-width: 78.5rem;
}

.businessAreasMedicalApplicationsWig {
  max-width: 782px;
  display: flex;
  justify-content: space-between
}

.businessAreasMedicalApplicationsWig p {
  width: 60%
}

@media print, screen and (min-width:769px) {
  .businessAreasMedicalApplicationsWig p {
    width: auto
  }
}

.businessAreasMedicalApplicationsWig picture {
  margin-top: .6rem;
  margin-right: 1.2rem
}

@media print, screen and (min-width:769px) {
  .businessAreasMedicalApplicationsWig picture {
    margin-top: -12rem;
    margin-right: 0
  }
  .page-404 {
    display: block
  }
}

.pageError {
  width: 91.428%;
  margin: 0 auto
}

@media print, screen and (min-width:769px) {
  .pageError {
    width: 81.3%
  }
}

.pageError .container {
  margin-top: 8rem
}

@media print, screen and (min-width:769px) {
  .page-home {
    display: block
  }
}

.homePickupNews {
  padding-bottom: 4rem;
  position: relative
}

@media print, screen and (min-width:769px) {
  .homePickupNews {
    padding-bottom: 10rem
  }
}

.homePickupNews::after {
  background-image: linear-gradient(to top, #e5f2e4, #fff 72.5%, #fff);
  bottom: 0;
  content: "";
  height: 11rem;
  left: 0;
  position: absolute;
  width: 100%
}

@media print, screen and (min-width:769px) {
  .homePickupNews::after {
    height: 18.8rem
  }
}

.homePickupNews-slider {
  margin-top: 2.2rem
}

@media print, screen and (min-width:769px) {
  .homePickupNews-slider {
    margin-top: 5rem
  }
}

.homePickupNews-slide {
  padding: 0 5rem
}

@media print, screen and (min-width:769px) {
  .homePickupNews-slide {
    padding: 0;
    pointer-events: none;
  }
  .swiper-slide-prev, .swiper-slide-active, .swiper-slide-next {
    pointer-events: auto;
  }
}

.homePickupNews-slider .homePickupNews-prev, .homePickupNews-slider .homePickupNews-next {
  width: auto
}

@media print, screen and (min-width:769px) {
  .homePickupNews-slider .homePickupNews-prev, .homePickupNews-slider .homePickupNews-next {
    top: 14.2375rem;
  }
}

.homePickupNews-slider .homePickupNews-prev::after, .homePickupNews-slider .homePickupNews-next::after {
  border-left: 1px solid #2daf61;
  border-top: 1px solid #2daf61;
  content: "";
  height: 3.2rem;
  width: 3.2rem
}

@media print, screen and (min-width:769px) {
  .homePickupNews-slider .homePickupNews-prev::after, .homePickupNews-slider .homePickupNews-next::after {
    height: 4.7rem;
    width: 4.7rem
  }
}

.homePickupNews-slider .homePickupNews-prev::after {
  transform: translateX(1rem) rotate(-45deg);
}

@media print, screen and (min-width:769px) {
  .homePickupNews-slider .homePickupNews-prev::after {
    transform: translateX(5.4rem) rotate(-45deg)
  }
}

.homePickupNews-slider .homePickupNews-next::after {
  transform: translateX(-1rem) rotate(135deg);
}

@media print, screen and (min-width:769px) {
  .homePickupNews-slider .homePickupNews-next::after {
    transform: translateX(-5.4rem) rotate(135deg)
  }
}

.homePickupNews-image {
  border: 1px solid #2daf61;
  height: 24.6rem;
  overflow: hidden;
  width: 100%
}

@media print, screen and (min-width:769px) {
  .homePickupNews-image {
    height: 28.475rem;
    position: relative
  }
  .homePickupNews-image::before {
    background-color: #2c5154;
    content: "";
    height: 100%;
    left: 0;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    transition: opacity .3s;
    width: 100%;
  }
  .swiper-slide-prev .homePickupNews-image::before, .swiper-slide-active .homePickupNews-image::before, .swiper-slide-next .homePickupNews-image::before {
    opacity: 0;
  }
}

.homePickupNews-image img {
  height: 100%;
  object-fit: cover;
  width: 100%
}

.homePickupNews-date, .homePickupNews-title {
  font-size: 1.05rem;
  text-align: left
}
@media print, screen and (min-width:769px) {
  .homePickupNews-date, .homePickupNews-title {
    font-size: 1.5rem;
  }
}

.homePickupNews-date {
  color: #2daf61;
  margin-top: .5rem
}
@media print, screen and (min-width:769px) {
  .homePickupNews-date {
    margin-top: 1rem
  }
}

.homeOurStrengths {
  position: relative;
  overflow: visible
}

@media print, screen and (min-width:769px) {
  .homeOurStrengths {
    margin-top: 6rem;
    margin-bottom: -6rem
  }
}

.homeOurStrengthsContent {
  margin-top: 1.5rem;
  width: 100%
}

@media print, screen and (min-width:769px) {
  .homeOurStrengthsContent {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 3rem auto 0;
    max-width: 97.6rem
  }
}

.homeOurStrengths-text {
  text-align: left
}

@media print, screen and (min-width:769px) {
  .homeOurStrengths-text {
    padding-top: 4.8rem;
    padding-left: 6rem
  }
}

.homeOurStrengths-img {
  margin-top: 2.4rem;
  pointer-events: none
}

@media print, screen and (min-width:769px) {
  .homeOurStrengths-img {
    margin-top: 0;
    margin-bottom: -2rem
  }
}

.homeOurStrengths-button {
  width: 100%;
  text-align: center;
  margin-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .homeOurStrengths-button {
    margin-top: 0
  }
}

.homeOurStrengths-p {
  position: absolute;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  top: 0;
  bottom: 0;
  pointer-events: none
}

@media print, screen and (min-width:769px) {
  .homeOurStrengths-p {
    min-width: 1400px
  }
}

.homeOurStrengths-pr {
  position: absolute;
  right: 0;
  top: 5.27rem
}

@media print, screen and (min-width:769px) {
  .homeOurStrengths-pr {
    top: 9.5rem
  }
}

.homeOurStrengths-pl {
  position: absolute;
  left: 0;
  bottom: -9.601rem
}

@media print, screen and (min-width:769px) {
  .homeOurStrengths-pl {
    bottom: -18rem
  }
}

.homeBusinessAreas {
  counter-reset: number 0;
  margin-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas {
    margin-top: 5rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }
}

.homeBusinessAreas-card {
  background-color: #fff;
  color: #231815;
  counter-increment: number 1
}

@media only screen and (max-width:768px) {
  .homeBusinessAreas-card:nth-child(n+2) {
    margin-top: 2.4rem
  }
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-card {
    width: 47.95%
  }
  .homeBusinessAreas-card:nth-child(2), .homeBusinessAreas-card:nth-child(n+3) {
    margin-top: 4rem
  }
  .homeBusinessAreas-card--full {
    display: flex;
    width: 100%
  }
}

.homeBusinessAreas-cardImg {
  overflow: hidden
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-cardImg--w52-5pct {
    width: 52.05%
  }
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-cardImg a img {
    transition: transform ease .3s
  }
  .homeBusinessAreas-cardImg a:hover {
    opacity: 1
  }
  .homeBusinessAreas-cardImg a:hover img {
    transform: scale(1.1)
  }
}

.homeBusinessAreas-cardContent {
  display: flex;
  flex-direction: column;
  min-height: 13.8rem;
  padding: 1.2rem 1.8rem
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-cardContent {
    min-height: 23rem;
    padding: 2rem 3rem
  }
  .homeBusinessAreas-cardContent--w47-95pct {
    justify-content: flex-end;
    padding: 4rem 4.5rem;
    width: 47.95%
  }
}

.homeBusinessAreas-cardTitle {
  position: relative;
  color: #2daf61
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-cardTitle--pos-static {
    position: static;
  }
}

.homeBusinessAreas-cardTitle-ja {
  display: block;
  font-size: 1.38rem;
  line-height: 1;
  font-weight: 300;
  letter-spacing: .175em
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-cardTitle-ja {
    font-weight: 100;
    font-size: 2.3rem
  }
}

.homeBusinessAreas-cardTitle-en {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  display: block;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: .4rem;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-cardTitle-en {
    font-weight: 100;
    font-size: 2rem
  }
}

.homeBusinessAreas-cardTitle-en:after {
  content: "";
  width: 2.7rem;
  height: .18rem;
  background-color: currentColor;
  display: block;
  margin-top: .6rem
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-cardTitle-en:after {
    height: .3rem;
    width: 4.5rem;
    margin-top: 1rem
  }
}

.homeBusinessAreas-cardTitle:after {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  content: "0" counter(number);
  line-height: 1;
  position: absolute;
  font-size: 4.2rem;
  right: -.301rem;
  top: -.601rem;
  font-weight: 200
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-cardTitle:after {
    font-weight: 100;
    font-size: 7rem;
    right: -.5rem;
    top: -1rem
  }

  .homeBusinessAreas-cardTitle--pos-static::after {
    right: 4rem;
    top: 2.5rem;
  }
}

.homeBusinessAreas-cardList {
  line-height: 1.7142857143;
  letter-spacing: .175em;
  margin-top: 1.3rem
}

@media only screen and (max-width:768px) {
  .homeBusinessAreas-cardList {
    margin-top: .3rem;
    font-size: .84rem;
    letter-spacing: .1em
  }
}

.homeBusinessAreas-cardList--col2 {
  -moz-columns: 2;
  columns: 2
}

@media only screen and (max-width:768px) {
  .homeBusinessAreas-cardList--col2-sp {
    -moz-columns: 2;
    columns: 2
  }
}

.homeBusinessAreas-button {
  margin-top: auto
}

@media print, screen and (min-width:769px) {
  .homeBusinessAreas-button--mt30 {
    margin-top: 3rem
  }
}

.homeMovies {
  margin: 5rem auto
}

@media print, screen and (min-width:769px) {
  .homeMovies {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }
  .homeMovies:after {
    content: "";
    width: 30.737%
  }
}

@media only screen and (max-width:768px) {
  .homeMoviesItem:nth-child(n+2) {
    margin-top: 2.4rem
  }
}

@media print, screen and (min-width:769px) {
  .homeMoviesItem {
    width: 30.737%
  }
  .homeMoviesItem:nth-child(n+4) {
    margin-top: 2rem
  }
}

.homeMoviesItem p {
  color: #2daf61;
  text-decoration: underline;
  line-height: 1.5714285714
}

@media only screen and (max-width:768px) {
  .homeMoviesItem img {
    width: 100%;
    height: auto
  }
}

@media print, screen and (min-width:769px) {
  .homeNews {
    display: grid;
    grid-template-areas: "nt nc" "nb nc";
    grid-template-columns: 50% 50%
  }
}

.homeNewsTitle {
  grid-area: nt;
  text-align: left
}

.homeNewsTitle-en {
  font-family: "Work Sans", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  letter-spacing: 0;
  display: block;
  line-height: 1;
  font-size: 3.3rem;
  font-weight: 200
}

@media print, screen and (min-width:769px) {
  .homeNewsTitle-en {
    font-weight: 100;
    font-size: 5.9rem
  }
}

.homeNewsTitle-ja, .recruitingContainer-btn dt {
  letter-spacing: .175em;
  display: block;
  line-height: 1;
  font-size: .96rem
}

@media print, screen and (min-width:769px) {
  .homeNewsTitle-ja {
    font-size: 2.1rem
  }
}

.homeNewsTitle-ja:before {
  content: "";
  background-color: #fff;
  display: block;
  width: 2.7rem;
  height: .18rem;
  margin: .9rem 0
}

@media print, screen and (min-width:769px) {
  .homeNewsTitle-ja:before {
    width: 4.5rem;
    height: .3rem;
    margin: 4.5rem 1rem 2rem
  }
}

.homeNewsContent {
  grid-area: nc;
  padding-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .homeNewsContent {
    padding-top: 7rem
  }
}

.homeNewsContentList li {
  line-height: 1.8571428571;
  border-bottom: solid 1px #231815;
  padding: 1.2rem .6rem .6rem
}

.homeNewsContentList li a {
  color: #231815;
  display: inline-block
}

@media print, screen and (min-width:769px) {
  .homeNewsContentList li a:hover {
    color: #fff;
    opacity: 1
  }
}

.homeNewsContentList li span {
  display: block
}

@media print, screen and (min-width:769px) {
  .homeNewsContentList li {
    padding: 2.5rem 1.5rem 1.5rem
  }
}

.homeNewsButton {
  grid-area: nb;
  margin-top: auto
}

@media print, screen and (min-width:769px) {
  .homeNewsTitle {
    -ms-grid-row: 1;
    -ms-grid-column: 1
  }
  .homeNewsContent {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2
  }
  .homeNewsButton {
    -ms-grid-row: 2;
    -ms-grid-column: 1
  }
}

@media only screen and (max-width:768px) {
  .homeNewsButton {
    margin-top: 2.4rem
  }
}

.news {
  padding-top: 0;
  padding-bottom: 4.8rem
}

@media print, screen and (min-width:769px) {
  .news {
    padding-bottom: 10rem;
    margin-top: 7rem
  }
}

.news>picture, .news>picture img, .recruiting img, .recruiting picture {
  width: 100%;
  height: auto
}

.newsList {
  width: 100%;
  max-width: 855px;
  margin: 3.6rem auto 0
}

@media print, screen and (min-width:769px) {
  .newsList {
    margin: 6rem auto 0
  }
}

.newsList li {
  border-bottom: solid 1px #d5d5d6;
  width: 100%;
  line-height: 1.8;
  padding: 1.5rem 0
}

@media print, screen and (min-width:769px) {
  .newsList li {
    display: flex;
    align-items: center;
    align-content: center
  }
}

.newsList li span {
  margin-right: 2rem;
  display: block
}

@media print, screen and (min-width:769px) {
  .newsList li span {
    display: inline-block
  }
}

.newsList li a {
  font-size: 1.02rem
}

@media print, screen and (min-width:769px) {
  .newsList li a {
    font-size: 1.5rem
  }
}

.newsArticle {
  max-width: 855px;
  width: 100%;
  margin: 3.6rem auto 0
}

@media print, screen and (min-width:769px) {
  .newsArticle {
    margin: 6rem auto 0
  }
}

.newsArticleTtl h2 {
  font-size: 1.56rem;
  line-height: 1.6153846154;
  border-bottom: solid 1px #d5d5d6;
  padding-bottom: 3rem;
  margin-bottom: 3rem
}

@media print, screen and (min-width:769px) {
  .newsArticleTtl h2 {
    font-size: 3.2rem;
    line-height: 1.71875
  }
}

.newsArticleBtn {
  margin-top: 9rem
}

.ourStrengthsCopy {
  margin-top: 7rem;
  margin-bottom: 4rem
}

@media print, screen and (min-width:769px) {
  .ourStrengthsCopy {
    margin-bottom: 16rem
  }
}

.ourStrengthsCopy-catch {
  line-height: 2
}

.ourStrengthsSection {
  position: relative;
  padding-bottom: 3.6rem;
  margin-top: 3.6rem
}

@media print, screen and (min-width:769px) {
  .ourStrengthsSection {
    padding-bottom: 14rem;
    margin-top: -4rem
  }
}

.ourStrengthsSection:before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: skew(0deg, -5deg) translateY(-.601rem)
}

@media print, screen and (min-width:769px) {
  .ourStrengthsSection:before {
    transform: skew(0deg, -5deg) translateY(4rem)
  }
}

.ourStrengthsSection--green {
  color: #fff
}

.ourStrengthsSection--green:before {
  background-color: #2daf61
}

.ourStrengthsContainer {
  width: 74.375%
}

@media print, screen and (min-width:769px) {
  .ourStrengthsContainer {
    width: 100%;
    display: flex;
    justify-content: space-between
  }
  .ourStrengthsContainer--re {
    flex-direction: row-reverse
  }
}

.ourStrengthsImg {
  width: 33.6rem
}

@media print, screen and (min-width:769px) {
  .ourStrengthsImg {
    width: 47.5%
  }
}

@media only screen and (max-width:768px) {
  .ourStrengthsImg--spl {
    margin-left: -4.92rem
  }
}

.ourStrengthsContent {
  margin-top: 1.8rem
}

@media print, screen and (min-width:769px) {
  .ourStrengthsContent {
    margin-top: 0;
    width: 47.5%;
    align-self: flex-end
  }
}

.recruiting {
  padding-top: 0;
  padding-bottom: 4.2rem;
  margin-top: 3rem
}

@media print, screen and (min-width:769px) {
  .recruiting {
    margin-top: 7rem;
    padding-bottom: 10rem
  }
}

.recruitingContainer {
  margin-top: 1.8rem
}

@media print, screen and (min-width:769px) {
  .recruitingContainer {
    display: grid;
    grid-template-areas: "rtt rtx" "rbt rbt";
    margin-top: 8rem
  }
}

.recruitingContainer-ttl {
  grid-area: rtt;
  text-align: left
}

@media print, screen and (min-width:769px) {
  .recruitingContainer-ttl {
    margin-right: 6rem
  }
}

.recruitingContainer-ttl h2 {
  font-size: 2.58rem;
  line-height: 1.8372093023;
  letter-spacing: .175em;
  font-weight: 300
}

@media print, screen and (min-width:769px) {
  .recruitingContainer-ttl h2 {
    font-weight: 200;
    font-size: 4rem;
    line-height: 1.875
  }
}

.recruitingContainer-txt {
  grid-area: rtx;
  margin-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .recruitingContainer-txt {
    margin-top: 0
  }
}

.recruitingContainer-txt p {
  letter-spacing: .1em
}

@media print, screen and (min-width:769px) {
  .recruitingContainer-txt p {
    letter-spacing: .15em
  }
}

.recruitingContainer-txt p+p {
  margin-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .recruitingContainer-txt p+p {
    margin-top: 4rem
  }
}

.recruitingContainer-btn {
  grid-area: rbt;
  margin-top: 4.8rem
}

@media print, screen and (min-width:769px) {
  .recruitingContainer-ttl {
    -ms-grid-row: 1;
    -ms-grid-column: 1
  }
  .recruitingContainer-txt {
    -ms-grid-row: 1;
    -ms-grid-column: 2
  }
  .recruitingContainer-btn {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    margin-top: 8rem;
    display: flex;
    justify-content: space-between
  }
}

.recruitingContainer-btn dt {
  font-size: 1.38rem;
  border-bottom: solid 1px #fff;
  display: inline-block;
  padding-bottom: .5rem;
  margin-bottom: 1rem
}

@media print, screen and (min-width:769px) {
  .recruitingContainer-btn dt {
    font-size: 2.3rem
  }
}

@media only screen and (max-width:768px) {
  .recruitingContainer-btn dl+dl {
    margin-top: 2.4rem
  }
}

.SDGsBasicPolicy {
  max-width: 785px;
  margin-top: 10rem;
  margin-right: auto;
  margin-left: auto
}

@media only screen and (max-width:768px) {
  .SDGsBasicPolicy {
    width: 95.512%;
    margin-top: 3.6rem
  }
}

.SDGsBasicPolicy-box {
  background-color: #2daf61;
  text-align: center;
  padding: 2.4rem;
  margin-top: 2.4rem
}

@media print, screen and (min-width:769px) {
  .SDGsBasicPolicy-box {
    padding: 4rem;
    margin-top: 4rem
  }
}

.SDGsBasicPolicy-title {
  color: #fff
}

.SDGsBasicPolicy-title:after {
  display: block;
  content: "";
  border-bottom: solid 1px #fff;
  border-right: solid 1px #fff;
  transform: rotate(45deg);
  width: 1.8rem;
  height: 1.8rem;
  margin: .6rem auto
}

@media print, screen and (min-width:769px) {
  .SDGsBasicPolicy-title:after {
    width: 3rem;
    height: 3rem;
    margin: 1rem auto
  }
}

.SDGsBasicPolicy-title h3 {
  font-size: 1.56rem;
  letter-spacing: .235em;
  line-height: 1.5769230769
}

@media print, screen and (min-width:769px) {
  .SDGsBasicPolicy-title h3 {
    font-size: 2.6rem;
    letter-spacing: .235em;
    line-height: 2.3076923077
  }
}

.SDGsBasicPolicy-title p {
  font-size: .96rem;
  letter-spacing: .1em;
  line-height: 1.6875;
  text-align: left;
  margin-top: 1.2rem
}

@media print, screen and (min-width:769px) {
  .SDGsBasicPolicy-title p {
    font-size: 1.6rem;
    letter-spacing: .15em;
    line-height: 1.8125;
    text-align: center;
    margin-top: 0
  }
}

.SDGsBasicPolicy-content {
  color: #2daf61;
  background-color: #fff;
  padding: 0 1.2rem;
  margin-top: 1.8rem
}

@media print, screen and (min-width:769px) {
  .SDGsBasicPolicy-content {
    margin-top: 3rem;
    padding: 0 2rem
  }
}

.SDGsBasicPolicy-content h4 {
  font-size: 1.079rem;
  letter-spacing: .15em;
  line-height: 1.9444444444;
  border-bottom: solid 1px currentColor;
  padding: .6rem 0
}

@media print, screen and (min-width:769px) {
  .SDGsBasicPolicy-content h4 {
    font-size: 1.8rem;
    padding: 1rem 0
  }
}

.SDGsBasicPolicy-content p {
  font-size: 2.46rem;
  letter-spacing: .15em;
  line-height: 1;
  font-weight: 100;
  padding: 1.2rem 0
}

@media print, screen and (min-width:769px) {
  .SDGsBasicPolicy-content p {
    font-size: 4.1rem;
    padding: 2rem 0
  }
}

.SDGsBasicPolicy-content p span {
  font-size: .7em;
  transform: translateY(-.2rem);
  display: inline-block
}

.SDGsInitiatives {
  max-width: 621px;
  margin: 3rem auto 0;
  width: 97.863%
}

@media print, screen and (min-width:769px) {
  .SDGsInitiatives {
    margin: 7rem auto 0;
    width: 100%
  }
}

.SDGsInitiatives-ttl {
  margin-top: 3rem
}

@media only screen and (max-width:768px) {
  .SDGsInitiatives-ttl {
    font-size: 1.5rem;
    line-height: 1.56;
    padding-bottom: 1.5rem;
    margin-top: .9rem
  }
}

.SDGsInitiatives-txt {
  margin-top: 1.8rem;
  margin-bottom: 4.8rem
}

@media print, screen and (min-width:769px) {
  .SDGsInitiatives-txt {
    margin-top: 3rem;
    margin-bottom: 20rem
  }
}

.u-inlineB {
  display: inline-block
}

@media only screen and (max-width:768px) {
  .sp-block {
    display: block
  }
}

.mt10 {
  margin-top: 1rem
}

.mt20 {
  margin-top: 2rem
}

.mt40 {
  margin-top: 4rem
}

.mt60 {
  margin-top: 6rem
}

.mb60 {
  margin-bottom: 6rem
}

@media only screen and (max-width:768px) {
  .sp-mt10 {
    margin-top: .6rem
  }
  .sp-mt20 {
    margin-top: 1.2rem
  }
  .sp-mt30 {
    margin-top: 1.8rem
  }
  .sp-mt40 {
    margin-top: 2.4rem
  }
  .sp-mt50 {
    margin-top: 3rem
  }
  .sp-mt60 {
    margin-top: 3.6rem
  }
  .sp-mt70 {
    margin-top: 4.2rem
  }
  .sp-mt80 {
    margin-top: 4.8rem
  }
  .sp-mt90 {
    margin-top: 5.4rem
  }
}

@media print, screen and (min-width:769px) {
  .pc-mt10 {
    margin-top: 1rem
  }
  .pc-ml10 {
    margin-left: 1rem
  }
  .pc-mt20 {
    margin-top: 2rem
  }
  .pc-mt30 {
    margin-top: 3rem
  }
  .pc-mt40 {
    margin-top: 4rem
  }
  .pc-mt50 {
    margin-top: 5rem
  }
  .pc-mt60 {
    margin-top: 6rem
  }
  .pc-mt70 {
    margin-top: 7rem
  }
  .pc-mt80 {
    margin-top: 8rem
  }
  .pc-mt90 {
    margin-top: 9rem
  }
}

.tac {
  text-align: center
}

@media only screen and (max-width:768px) {
  .pc {
    display: none!important
  }
}

@media print, screen and (min-width:769px) {
  .sp {
    display: none!important
  }
}

.lineup{
	border-top: #000 solid 1px;
	border-left: #000 solid 1px;
	margin-bottom: 20px;
	max-width: 700px;
  	width: 100%;
}
.lineup th,.lineup td{
	border-bottom: #000 solid 1px;
	border-right: #000 solid 1px;
	text-align: center;
	font-weight: normal;
}
.lineup .lineup_bk1{
	background-color: #6cc791;
}
.lineup .lineup_bk2{
	background-color: #8bd3a8;
}
.lineup .lineup_bk3{
	background-color: #abdfc0;
}
.lineup .lineup_bk4{
	background-color: #c0e7d0;
}
.lineup .lineup_bk5{
	background-color: #dff3e7;
}
p.attention{
	line-height: 1.835em;
	padding-left: 1.175em;
	text-indent: -1.175em;
}
@media only screen and (max-width:768px) {
	.lineup{
		margin-bottom: calc((14 / 640) * 100 * 1vw);
	}
	.lineup th,.lineup td{
		letter-spacing: 0.1em;
	}
	.lineup th{
		line-height: 1.24em;
		padding: calc((9 / 640) * 100 * 1vw) 0;
	}
	.model{
		width: calc((106 / 640) * 100 * 1%);
	}
	.pump_capacity{
		width: calc((111 / 640) * 100 * 1%);
	}
	.discharge_amount{
		width: calc((109 / 640) * 100 * 1%);
	}
	.motor_capacity{
		width: calc((132 / 640) * 100 * 1%);
	}
	p.attention{
		font-size: calc((14 / 640) * 100 * 1vw);
		line-height: calc((24 / 640) * 100 * 1vw);
	}
}

@media only screen and (max-width:768px) {
	.mw_wp_form .vertical-item + .vertical-item {
		margin-top: calc((36 / 640) * 100 * 1vw);
	}
	.form input[type="checkbox"] + span::before, .form input[type="radio"] + span::before {
	  top: calc((10 / 640) * 100 * 1vw);
	}
	.form input[type="checkbox"] + span::after {
		top: calc((10 / 640) * 100 * 1vw);
	}
  .form input[type="radio"] + span::after {
    top: calc((12 / 640) * 100 * 1vw);
  }
	.mw_wp_form_input .table1 tr:nth-last-child(2) td{
		padding-top: calc((35 / 640) * 100 * 1vw);
		padding-bottom: calc((26 / 640) * 100 * 1vw);
	}
}

#externalLinks{
	margin-top: 6rem;
}
#externalLinks .container{
}
.externalLinksContentList {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 27px;
	padding-bottom: 6em;
}
.externalLinksContentList li{
	flex: 0 1 221px;
	height: 70px;
}
.externalLinksContentList li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position: relative;
}
.externalLinksContentList li.image_link {
	
}
.externalLinksContentList li.image_link a {
	font-size: 14px;
	letter-spacing: 0.175em;
	border: #231815 solid 1px;
	overflow: hidden;
}
.externalLinksContentList li.image_link a img {
	object-fit: cover;
	height: 70px;
	width: auto;
}
.externalLinksContentList li.text_link {
	background-color: #2daf61;
}
.externalLinksContentList li.text_link a {
	color: #FFF;
	padding: 0 1.5em;
	line-height: 1.5em;
}
.externalLinksContentList li.text_link a::after{
	content: "";
	width: 1rem;
	height: 1rem;
	display: block;
	border-bottom: solid 2px currentColor;
	border-right: solid 2px currentColor;
	position: absolute;
	top: 50%;
	right: 13px;
	transform: translateY(-50%) rotate(-45deg);
}

@media only screen and (max-width:768px) {
	#externalLinks{
		margin-top: calc((66 / 640) * 100 * 1vw);
	}
	#externalLinks .container{
		width: calc((522.5 / 640) * 100 * 1vw);
	}
	.externalLinksContentList {
		gap: calc((28 / 640) * 100 * 1vw) calc((30 / 640) * 100 * 1vw);
		padding-bottom: 6em;
	}
	.externalLinksContentList li{
		flex: 0 1 calc((246 / 640) * 100 * 1vw);
		height: calc((77 / 640) * 100 * 1vw);
	}
	.externalLinksContentList li.image_link a {
		font-size: calc((18 / 640) * 100 * 1vw);
	}
	.externalLinksContentList li.image_link a img {
		height: calc((77 / 640) * 100 * 1vw);
	}
	.externalLinksContentList li.text_link a::after{
		content: "";
		width: calc((9 / 640) * 100 * 1vw);
		height: calc((9 / 640) * 100 * 1vw);
		right: calc((15 / 640) * 100 * 1vw);
	}
}

@media print, screen and (min-width:769px) {
  .iso img {
    width: calc((123 / 640) * 100 * 1vw);
    height: auto;
  }
}