@charset "UTF-8";

/* page common
------------------------------------------------------ */

body:not(.home) main:not(.l-main) {
  margin-top: 85px;
}

body main section:not([class^="p-"]):not([class^="c-"]) {
  padding: 60px 0;
}

body main section.bgColor {
  background-color: #edeff1;
}

body main section#economy {
  background: #edf4f1;
}

body main section h2.title {
  color: #000000;
  font-size: 240%;
  letter-spacing: 0.03em;
  text-align: center;
  margin: 0 auto 60px auto;
}

body main section h2.title > span {
  font-size: 200%; /* 48px */
  font-family: "Oswald", "Noto Sans CJK JP", "Noto Sans JP",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic,
    "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  font-weight: 300;
  display: block;
}

body main section h2.title > span:after {
  content: "";
  background-color: #16a72f;
  width: 40px;
  height: 10px;
  display: block;
  margin: 20px auto;
}

body main section h2.title.noBorder > span:after {
  content: none;
  margin: 0 auto;
}

body main section a.btn {
  color: #16a72f;
  background-color: #ffffff;
  width: 220px;
  height: auto;
  font-size: 160%;
  text-align: center;
  text-decoration: none;
  margin: 0px auto;
  padding: 15px 10px;
  display: block;
  border: 1px #16a72f solid;
  box-sizing: border-box;
  transition: 0.3s;
}

body main section a.btn:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px #16a72f solid;
  border-right: 2px #16a72f solid;
  margin-left: 10px;
  margin-right: -5px;
  display: inline-block;
  transform: rotate(45deg);
  transition: 0.3s;
}

body main section a.btn:hover {
  color: #ffffff;
  background-color: #16a72f;
}

body main section a.btn:hover:after {
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
}

body main section a.btn_Ora {
  color: #ed7900;
  background-color: #ffffff;
  width: 220px;
  height: auto;
  font-size: 160%;
  text-align: center;
  text-decoration: none;
  margin: 0px auto;
  padding: 15px 10px;
  display: block;
  border: 1px #ed7900 solid;
  box-sizing: border-box;
  transition: 0.3s;
}

body main section a.btn_Ora:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px #ed7900 solid;
  border-right: 2px #ed7900 solid;
  margin-left: 10px;
  margin-right: -5px;
  display: inline-block;
  transform: rotate(45deg);
  transition: 0.3s;
}

body main section a.btn_Ora:hover {
  color: #ffffff;
  background-color: #ed7900;
}

body main section a.btn_Ora:hover:after {
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
}

body main section a.arrow:before {
  content: "";
  background-image: url(../images/common/icon_arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 10px;
  vertical-align: -4px;
}

body main section a.arrow02 {
  color: #468eaf;
  position: relative;
  font-size: 160%;
}

body main section a.arrow02::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border-top: 2px solid #468eaf;
  border-right: 2px solid #468eaf;
  transform: rotate(45deg);
  position: absolute;
  right: -16px;
  top: 50%;
}

body main section a.blank:after {
  content: "";
  background-image: url(../images/common/icon_linkBlank01.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 21.5px;
  height: 17.5px;
  display: inline-block;
  margin-left: 10px;
}

body main section a.blank02:after {
  content: "";
  background-image: url(../images/common/icon_linkBlank02.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 21.5px;
  height: 17.5px;
  display: inline-block;
  margin-left: 10px;
}

body main section a.blank:hover,
body main section a.blank02:hover {
  opacity: 0.8;
}

.sp {
  display: none !important;
}

@media screen and (max-width: 768px) {
  body:not(.home) main:not(.l-main) {
    margin-top: 13.75vw;
  }

  body main section:not([class^="p-"]):not([class^="c-"]) {
    padding: 50px 0;
  }

  body main section h2.title {
    font-size: 120%;
    margin: 0 auto 30px auto;
  }

  body main section h2.title > span {
    font-size: 200%; /* 24px */
  }

  body main section h2.title > span:after {
    width: 20px;
    height: 5px;
    margin: 10px auto;
  }

  body main section a.btn {
    width: 120px;
    font-size: 90%;
    padding: 10px 5px;
  }

  body main section a.btn:after {
    width: 5px;
    height: 5px;
    border-top: 1px #16a72f solid;
    border-right: 1px #16a72f solid;
    margin-left: 5px;
    margin-right: -2.5px;
  }

  body main section a.btn:hover:after {
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
  }

  body main section a.arrow:before {
    width: 10px;
    height: 10px;
    margin-right: 5px;
    vertical-align: -2px;
  }

  body main section a.blank:after,
  body main section a.blank02:after {
    width: 10.75px;
    height: 8.75px;
    margin-left: 5px;
  }

  body main section a.arrow02::after {
    width: 4px;
    height: 4px;
    margin-top: -2px;
    right: -10px;
  }

  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .spInline {
    display: inline;
  }
}

/* ページナビ
------------------------------------------------------ */

.wp-pagenavi {
  width: 100%;
  height: auto;
  margin: 50px auto 32px auto;
  text-align: center;
  position: relative;
}

.wp-pagenavi a.page,
.wp-pagenavi span.current {
  color: #4d4d4d;
  background-color: #ffffff;
  width: 26px;
  height: auto;
  font-size: 160%;
  line-height: 1;
  text-decoration: none;
  margin: 0 10px;
  padding: 5px 0;
  border: 1px #4d4d4d solid;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: middle;
}

.wp-pagenavi span.current {
  color: #ffffff;
  background-color: #4d4d4d;
}

.wp-pagenavi a:hover {
  opacity: 0.8;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
  color: #808080;
  font-size: 120%;
  margin: 0 20px;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last,
.wp-pagenavi span.extend {
  display: none;
}

.wp-pagenavi span.pages {
  color: #808080;
  width: 80px;
  font-size: 120%;
  position: absolute;
  bottom: -32px;
  left: 50%;
  margin-left: -40px;
}

@media screen and (max-width: 768px) {
  .wp-pagenavi {
    margin: 25px auto 16px auto;
  }

  .wp-pagenavi a.page,
  .wp-pagenavi span.current {
    width: 13px;
    font-size: 100%;
    margin: 0 5px;
    padding: 2.5px 0;
  }

  .wp-pagenavi a.previouspostslink,
  .wp-pagenavi a.nextpostslink {
    font-size: 80%;
    margin: 0 10px;
  }

  .wp-pagenavi span.pages {
    width: 40px;
    font-size: 80%;
    bottom: -16px;
    margin-left: -20px;
  }
}

/* commonSection catBlock
------------------------------------------------------ */

body main section.catBlock {
  border-top: 1px #c8c9c9 solid;
}

body main section.bgColor + section.catBlock {
  border-top: none;
}

body main section.catBlock ul {
  width: 100%;
}

body main section.catBlock ul > li {
  width: 620px;
  height: 200px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

body main section.catBlock ul > li + li {
  margin-left: 40px;
}

body main section.catBlock ul > li > a {
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

body main section.catBlock ul > li > a > div:first-of-type {
  color: #ffffff;
  width: 100%;
  height: auto;
  font-size: 160%;
  display: block;
  position: relative;
  z-index: 1;
}

body main section.catBlock ul > li > a > div:first-of-type > span {
  font-size: 300%; /* 48px */
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  display: block;
  margin-bottom: 10px;
}

body main section.catBlock ul > li > a > div:last-of-type {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition: 0.3s;
}

body main section.catBlock ul > li > a:hover > div:last-of-type {
  transform: scale(1.04);
  opacity: 0.8;
}

body main section.catBlock ul > li.company > a > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_company.jpg);
}
body main section.catBlock ul > li.ir > a > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_ir.jpg);
}
body main section.catBlock ul > li.story > a > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_president.jpg);
}
body main section.catBlock ul > li.story > a > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_president.jpg);
}
body main section.catBlock ul > li.story > a > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_president.jpg);
}
body main section.catBlock ul > li.recruit > a > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_recruit.jpg);
}
body main section.catBlock ul > li.service > a > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_service.jpg);
}
body main section.catBlock ul > li.sustainability > a > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_sustainability.jpg);
}

@media screen and (max-width: 768px) {
  body main section.catBlock ul > li {
    width: 100%;
    height: 0;
    padding-top: 32.25%;
    float: none;
    position: relative;
  }

  body main section.catBlock ul > li + li {
    margin-top: 15px;
    margin-left: 0;
  }

  body main section.catBlock ul > li > a {
    position: absolute;
    top: 0;
    left: 0;
  }

  body main section.catBlock ul > li > a > div:first-of-type {
    font-size: 100%;
  }

  body main section.catBlock ul > li > a > div:first-of-type > span {
    font-size: 300%; /* 30px */
    margin-bottom: 5px;
  }
}

/* commonSection contact
------------------------------------------------------ */

body main section.contact h2.title {
  color: #808080;
}

body main section.contact ul {
  width: 100%;
  display: flex;
  justify-content: center;
}

body main section.contact ul > li {
  width: 620px;
  height: auto;
  font-size: 240%;
  text-align: left;
  box-sizing: border-box;
}

body main section.contact ul > li + li {
  margin-left: 40px;
}

body main section.contact ul > li > a {
  color: #ffffff;
  display: block;
  padding: 55px 40px 55px 150px;
  position: relative;
  text-decoration: none;
  transition: 0.3s;
}

body main section.contact ul > li.inquiry > a {
  background-color: #ed7900;
  border: 1px #ed7900 solid;
}

body main section.contact ul > li.inquiry > a:before {
  content: "";
  background-image: url(../images/page/commonSection/contact_inquiry.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 74.5px;
  height: 54px;
  position: absolute;
  top: 50%;
  left: 50px;
  margin-top: -27px;
  display: block;
  transition: 0.3s;
}

body main section.contact ul > li.inquiry > a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -5px;
  display: block;
  transform: rotate(45deg);
  transition: 0.3s;
}

body main section.contact ul > li.inquiry > a:hover {
  color: #ed7900;
  background-color: #ffffff;
}

body main section.contact ul > li.inquiry > a:hover:before {
  background-image: url(../images/page/commonSection/contact_inquiry_on.png);
}

body main section.contact ul > li.inquiry > a:hover:after {
  border-top: 2px #ed7900 solid;
  border-right: 2px #ed7900 solid;
}

body main section.contact ul > li.partner > a {
  background-color: #16a72f;
  border: 1px #16a72f solid;
}

body main section.contact ul > li.partner > a:before {
  content: "";
  background-image: url(../images/page/commonSection/contact_partner.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 107px;
  height: 69px;
  position: absolute;
  top: 50%;
  left: 30px;
  margin-top: -34.5px;
  display: block;
  transition: 0.3s;
}

body main section.contact ul > li.partner > a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -5px;
  display: block;
  transform: rotate(45deg);
  transition: 0.3s;
}

body main section.contact ul > li.partner > a:hover {
  color: #16a72f;
  background-color: #ffffff;
}

body main section.contact ul > li.partner > a:hover:before {
  background-image: url(../images/page/commonSection/contact_partner_on.png);
}

body main section.contact ul > li.partner > a:hover:after {
  border-top: 2px #16a72f solid;
  border-right: 2px #16a72f solid;
}

@media screen and (max-width: 768px) {
  body main section.contact ul {
    width: 90%;
    margin: 0 auto;
    display: block;
  }

  body main section.contact ul > li {
    width: 100%;
    font-size: 120%;
  }

  body main section.contact ul > li + li {
    margin-top: 15px;
    margin-left: 0;
  }

  body main section.contact ul > li > a {
    padding: 20px 15px 20px 60px;
  }

  body main section.contact ul > li.inquiry > a:before {
    width: 32.75px;
    height: 27px;
    left: 15px;
    margin-top: -13.5px;
  }

  body main section.contact ul > li.inquiry > a:after {
    width: 5px;
    height: 5px;
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
    right: 10px;
    margin-top: -2.5px;
  }

  body main section.contact ul > li.inquiry > a:hover:after {
    border-top: 1px #ed7900 solid;
    border-right: 1px #ed7900 solid;
  }

  body main section.contact ul > li.partner > a:before {
    width: 53.5px;
    height: 34.5px;
    left: 5px;
    margin-top: -17.25px;
  }

  body main section.contact ul > li.partner > a:after {
    width: 5px;
    height: 5px;
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
    right: 10px;
    margin-top: -2.5px;
  }

  body main section.contact ul > li.partner > a:hover:after {
    border-top: 1px #16a72f solid;
    border-right: 1px #16a72f solid;
  }
}

/* top
------------------------------------------------------ */

body.home #mainVisual {
  width: 100%;
  height: 800px;
  overflow: hidden;
  position: relative;
}

body.home #mainVisual ul.slides {
  height: 100%;
}

body.home #mainVisual ul.slides li {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  display: none;
}

body.home #mainVisual ul.slides li.slidesFirst {
  background-image: url(../images/page/top/mv01.jpg);
}
body.home #mainVisual ul.slides li.slidesSecond {
  background-image: url(../images/page/top/mv02.jpg);
}
body.home #mainVisual ul.slides li.slidesThird {
  background-image: url(../images/page/top/mv03.jpg);
}

body.home #mainVisual ul.flex-direction-nav {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -14px;
  display: flex;
  justify-content: space-between;
}

body.home #mainVisual ul.flex-direction-nav li {
  position: relative;
}

body.home #mainVisual ul.flex-direction-nav li:first-of-type a {
  width: 30px;
  height: 30px;
  font-size: 0;
  display: block;
  border-top: 3px #ffffff solid;
  border-left: 3px #ffffff solid;
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  left: 25px;
  margin-top: 30px;
  z-index: 10;
}

body.home #mainVisual ul.flex-direction-nav li:last-of-type a {
  width: 30px;
  height: 30px;
  font-size: 0;
  display: block;
  border-top: 3px #ffffff solid;
  border-right: 3px #ffffff solid;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: 30px;
  z-index: 10;
}

body.home main section.topNews {
  padding-right: 30px;
  padding-bottom: 80px;
  padding-left: 30px;
  position: relative;
  z-index: 0;
}

body.home main section.topNews::before {
  content: "";
  width: 100%;
  height: 425px;
  background: #edeff1;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

body.home main section.topNews p#newsCategory > span,
body.home main section.topNews p#irCategory > span {
  width: 100%;
  font-size: 160%;
  text-align: center;
  padding: 10px;
  display: inline-block;
  box-sizing: border-box;
}
body.home main section.topNews p#newsCategory > span {
  color: #fff;
  background-color: #16a72f;
  display: inline-block;
}
body.home main section.topNews p#irCategory > span {
  color: #fff;
  background-color: #468eaf;
  display: inline-block;
}

body.home main section.topNews ul#newsPosts {
  width: 100%;
  margin: 15px auto 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}

body.home main section.topNews ul#newsPosts > li {
  width: 610px;
}

body.home main section.topNews ul#newsPosts > li > ul {
  width: 100%;
  padding: 15px 0;
  border-bottom: 1px #e5e5e5 solid;
}

body.home main section.topNews ul#newsPosts > li > ul > li:first-of-type {
  font-size: 160%;
  font-weight: bold;
  text-align: left;
  margin-bottom: 5px;
}

body.home main section.topNews ul#newsPosts > li > ul > li:nth-of-type(2) {
  width: 120px;
  height: auto;
  font-size: 120%;
  text-align: center;
  box-sizing: border-box;
}

body.home
  main
  section.topNews
  ul#newsPosts
  > li
  > ul
  > li:nth-of-type(2)
  > span {
  color: #ffffff;
  background-color: #16a72f;
  display: block;
  padding: 5px 10px;
  border-radius: 10px;
}

body.home
  main
  section.topNews
  ul#newsPosts
  > li
  > ul
  > li:nth-of-type(2)
  > span.ir {
  background-color: #468eaf;
}

body.home main section.topNews ul#newsPosts > li > ul > li:last-of-type {
  width: auto;
  font-size: 160%;
  text-align: left;
  padding-right: 20px;
}

body.home main section.topNews ul#newsPosts > li > ul > li:last-of-type > a {
  line-height: 1.75;
  color: #000000;
}

body.home
  main
  section.topNews
  ul#newsPosts
  > li
  > ul
  > li:last-of-type
  > a:hover {
  color: #16a72f;
}

body.home main section.topNews #newsLink,
body.home main section.topNews #irLink {
  margin-top: 50px;
}

body.home main section.topNews #newsLink > span > a.btn,
body.home main section.topNews #irLink > span > a.btn {
  width: 380px;
  margin: 0;
}

body.home main section.topNews #irLink > span > a.btn {
  color: #468eaf;
  border: 1px #468eaf solid;
}

body.home main section.topNews #irLink > span > a.btn:after {
  border-top: 2px #468eaf solid;
  border-right: 2px #468eaf solid;
}

body.home main section.topNews #irLink > span > a.btn:hover {
  color: #fff;
  background-color: #468eaf;
}

body.home main section.topNews #irLink > span > a.btn:hover:after {
  border-top: 2px #fff solid;
  border-right: 2px #fff solid;
}

body.home main section.topNews div.pickup {
  margin: 30px auto 60px;
  padding: 30px 60px;
  background: #fff;
}

body.home main section.topNews div.pickup > h3 {
  color: #16a72f;
  font-size: 360%;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  text-align: left;
  margin-bottom: 30px;
  padding-left: 20px;
  position: relative;
}

body.home main section.topNews div.pickup > h3:before {
  content: "";
  background-color: #16a72f;
  width: 5px;
  height: 66px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}

body.home main section.topNews div.pickup > ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

body.home main section.topNews div.pickup > ul > li {
  width: 245px;
  height: auto;
  text-align: left;
}

body.home main section.topNews div.pickup > ul > li > div {
  width: 100%;
  height: auto;
  max-height: 175px;
  overflow: hidden;
}

body.home main section.topNews div.pickup > ul > li > div > img {
  width: 100%;
  height: auto;
}

body.home main section.topNews div.pickup > ul > li > p {
  font-size: 160%;
  line-height: 1.5;
  margin-top: 20px;
}

body.home main section.topNews div.pickup > ul > li > p:first-of-type {
  font-weight: bold;
}

body.home main section.topNews div.pickup > ul > li > p:last-of-type > a {
  color: #5a7e89;
  transition: 0.3s;
}

body.home main section.topNews div.pickup > ul > li > p:last-of-type > a:hover {
  opacity: 0.8;
}

body.home main section.topNews div.pickup > ul > li > p:last-of-type > a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px #5a7e89 solid;
  border-right: 2px #5a7e89 solid;
  margin-left: 10px;
  margin-right: -5px;
  display: inline-block;
  transform: rotate(45deg);
}

body.home main section.topService .lead {
  font-size: 180%;
  line-height: 2;
  margin-top: 30px;
}

body.home main section.topService ul.field {
  margin: 50px 0 -40px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}

body.home main section.topService ul.field li {
  width: 400px;
  margin-bottom: 40px;
}

body.home main section.topService ul.field li .fieldThumb {
  height: 200px;
  overflow: hidden;
}

body.home main section.topService ul.field li .fieldThumb img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

body.home main section.topService ul.field li a {
  width: 100%;
  height: 100%;
  color: inherit;
  background: #fff;
  position: relative;
  display: inline-block;
  transition: opacity 0.3s;
}

body.home main section.topService ul.field li a:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 40px;
  border-color: transparent transparent #16a72f transparent;
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
}

body.home main section.topService ul.field li a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: inline-block;
}

body.home main section.topService ul.field li .fieldInr {
  padding-bottom: 35px;
}

body.home main section.topService ul.field li .fieldInr:before {
  content: "";
  width: 83px;
  height: 83px;
  margin: 25px auto;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}

body.home main section.topService ul.field li:nth-child(1) .fieldInr:before {
  background-image: url(../images/page/top/topService_field_icon01.png);
}

body.home main section.topService ul.field li:nth-child(2) .fieldInr:before {
  background-image: url(../images/page/top/topService_field_icon02.png);
}

body.home main section.topService ul.field li:nth-child(3) .fieldInr:before {
  background-image: url(../images/page/top/topService_field_icon03.png);
}

body.home main section.topService ul.field li:nth-child(4) .fieldInr:before {
  background-image: url(../images/page/service/serviceIcon04.png);
}

body.home main section.topService ul.field li:nth-child(5) .fieldInr:before {
  background-image: url(../images/page/service/serviceIcon05.png);
}

body.home main section.topService ul.field li .fieldTtl {
  font-size: 220%;
  font-weight: 500;
}

body.home main section.topService ul.field li .fieldSub {
  font-size: 120%;
  line-height: 1.3;
  color: #16a72f;
  margin-top: 5px;
}

body.home main section.topService ul.field li .fieldTtxt {
  font-size: 160%;
  line-height: 1.5;
  margin-top: 25px;
}

body.home main section.topService ul.field li.fieldCol2 {
  width: 620px;
}

body.home main section.topService ul.field li.fieldCol2 a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}

body.home main section.topService ul.field li.fieldCol2 .fieldThumb {
  width: 250px;
  height: 100%;
}

body.home main section.topService ul.field li.fieldCol2 .fieldThumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.home main section.topService ul.field li.fieldCol2 .fieldInr {
  flex: 1;
}

body.home main section.topService ul.field li.fieldCol2 .fieldInr:before {
  width: 120px;
  height: 90px;
}

body.home main section.topService ul.field li a:hover {
  opacity: 0.8;
}

body.home main section.topServiceIndex ul.links {
  width: 100%;
}

body.home main section.topServiceIndex ul.links > li {
  background-color: #ffffff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 322px;
  height: 400px;
  padding: 40px 0;
  float: left;
  border: 3px #16a72f solid;
  border-radius: 8px;
  box-sizing: border-box;
  position: relative;
}
body.home main section.topServiceIndex ul.links > li:first-of-type {
  background-image: url(../images/page/service/serviceContent01.jpg);
}
body.home main section.topServiceIndex ul.links > li:nth-of-type(2) {
  background-image: url(../images/page/service/serviceContent02.jpg);
}
body.home main section.topServiceIndex ul.links > li:nth-of-type(3) {
  background-image: url(../images/page/service/serviceContent03.jpg);
}
body.home main section.topServiceIndex ul.links > li:last-of-type {
  background-image: url(../images/page/service/serviceContent04.jpg);
}

body.home main section.topServiceIndex ul.links > li + li {
  margin-left: -3px;
}

body.home main section.topServiceIndex ul.links > li > p {
  font-size: 280%;
  font-weight: bold;
  line-height: 1.5;
}

body.home main section.topServiceIndex ul.links > li > a {
  color: #ffffff;
  background-color: #16a72f;
  width: 220px;
  height: auto;
  font-size: 160%;
  text-align: center;
  text-decoration: none;
  margin: 0px auto;
  padding: 15px 10px;
  display: block;
  border: 1px #16a72f solid;
  box-sizing: border-box;
  transition: 0.3s;
  position: absolute;
  bottom: -23px;
  left: 50%;
  margin-left: -110px;
}

body.home main section.topServiceIndex ul.links > li > a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
  margin-left: 10px;
  margin-right: -5px;
  display: inline-block;
  transform: rotate(45deg);
  transition: 0.3s;
}

body.home main section.topServiceIndex ul.links > li > a:hover {
  color: #16a72f;
  background-color: #ffffff;
}

body.home main section.topServiceIndex ul.links > li > a:hover:after {
  border-top: 2px #16a72f solid;
  border-right: 2px #16a72f solid;
}

@media screen and (min-width: 769px) and (max-width: 1360px) {
  body.home
    main
    section.topServiceIndex
    div#serviceSlider
    ul.flex-direction-nav {
    display: none;
  }
}

body.home
  main
  section.topServiceIndex
  div#serviceSlider
  ul.flex-direction-nav
  li {
  position: relative;
}

body.home
  main
  section.topServiceIndex
  div#serviceSlider
  ul.flex-direction-nav
  li:first-of-type
  a {
  width: 14px;
  height: 14px;
  font-size: 0;
  display: block;
  border-top: 3px #989898 solid;
  border-left: 3px #989898 solid;
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  left: -10px;
  margin-top: -14px;
  z-index: 10;
}

body.home
  main
  section.topServiceIndex
  div#serviceSlider
  ul.flex-direction-nav
  li:last-of-type
  a {
  width: 14px;
  height: 14px;
  font-size: 0;
  display: block;
  border-top: 3px #989898 solid;
  border-right: 3px #989898 solid;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: -10px;
  margin-top: -14px;
  z-index: 10;
}

body.home main section.topContentLink ul {
  width: 100%;
}

body.home main section.topContentLink ul > li {
  width: 390px;
  height: 390px;
  float: left;
  overflow: hidden;
}

body.home main section.topContentLink ul > li + li {
  margin-left: 55px;
}

body.home main section.topContentLink ul > li > a {
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

body.home main section.topContentLink ul > li > a > div:first-of-type {
  color: #ffffff;
  width: 100%;
  height: auto;
  font-size: 240%;
  display: block;
  position: relative;
  z-index: 1;
}

body.home main section.topContentLink ul > li > a > div:first-of-type > span {
  font-size: 200%; /* 48px */
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  display: block;
}

body.home
  main
  section.topContentLink
  ul
  > li
  > a
  > div:first-of-type
  > span:after {
  content: "";
  background-color: rgba(255, 255, 255, 0.5);
  width: 40px;
  height: 10px;
  display: block;
  margin: 20px auto;
}

body.home main section.topContentLink ul > li > a > div:last-of-type {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition: 0.3s;
}

body.home main section.topContentLink ul > li > a:hover > div:last-of-type {
  transform: scale(1.04);
  opacity: 0.8;
}

body.home
  main
  section.topContentLink
  ul
  > li:first-of-type
  > a
  > div:last-of-type {
  background-image: url(../images/page/top/topContentLink01.jpg);
}
body.home
  main
  section.topContentLink
  ul
  > li:nth-of-type(2)
  > a
  > div:last-of-type {
  background-image: url(../images/page/top/topContentLink02.jpg);
}
body.home
  main
  section.topContentLink
  ul
  > li:last-of-type
  > a
  > div:last-of-type {
  background-image: url(../images/page/top/topContentLink03.jpg);
}

@media screen and (max-width: 768px) {
  body.home #mainVisual {
    height: 400px;
    position: relative;
    margin: 60px 0 0;
  }

  body.home #mainVisual ul.slides {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  body.home #mainVisual ul.flex-direction-nav {
    margin-top: -7px;
  }

  body.home #mainVisual ul.flex-direction-nav li:first-of-type a {
    width: 15px;
    height: 15px;
    border-top: 2px #ffffff solid;
    border-left: 2px #ffffff solid;
    left: 10px;
    margin-top: 15px;
  }

  body.home #mainVisual ul.flex-direction-nav li:last-of-type a {
    width: 15px;
    height: 15px;
    border-top: 2px #ffffff solid;
    border-right: 2px #ffffff solid;
    position: absolute;
    right: 10px;
    margin-top: 15px;
  }

  body.home main section.topNews {
    padding-right: 0;
    padding-bottom: 50px;
    padding-left: 0;
  }

  body.home main section.topNews::before {
    height: 60vw;
  }

  body.home main section.topNews p#newsCategory > span,
  body.home main section.topNews p#irCategory > span {
    font-size: 100%;
    padding: 5px;
  }

  body.home main section.topNews ul#newsPosts {
    margin: 15px auto 0 auto;
  }

  body.home main section.topNews ul#newsPosts > li {
    width: 100%;
  }

  body.home main section.topNews ul#newsPosts > li > ul {
    padding: 10px 0;
    text-align: left;
    display: block;
  }

  body.home main section.topNews ul#newsPosts > li > ul > li + li {
    margin-left: 0;
  }

  body.home main section.topNews ul#newsPosts > li > ul > li:first-of-type {
    font-size: 90%;
    display: inline-block;
  }

  body.home main section.topNews ul#newsPosts > li > ul > li:nth-of-type(2) {
    width: 60px;
    font-size: 60%;
    margin-left: 5px;
    display: inline-block;
  }

  body.home
    main
    section.topNews
    ul#newsPosts
    > li
    > ul
    > li:nth-of-type(2)
    > span {
    color: #ffffff;
    background-color: #16a72f;
    display: block;
    padding: 2.5px 5px;
    border-radius: 10px;
  }

  body.home main section.topNews ul#newsPosts > li > ul > li:last-of-type {
    width: auto;
    font-size: 120%;
    text-align: left;
    display: block;
    margin-top: 5px;
    margin-left: 0;
  }

  body.home main section.topNews #newsLink,
  body.home main section.topNews #irLink {
    margin-top: 25px;
  }

  body.home main section.topNews #newsLink > span > a.btn,
  body.home main section.topNews #irLink > span > a.btn {
    width: 80%;
    max-width: 380px;
    margin-right: auto;
    margin-left: auto;
  }

  body.home main section.topNews a.btn {
    margin: 15px auto 0 auto;
  }

  body.home main section.topNews ul#newsPosts > li + li {
    margin-top: 30px;
  }

  body.home main section.topNews div.pickup {
    margin: 30px auto 0 auto;
    padding: 30px;
  }

  body.home main section.topNews div.pickup > h3 {
    font-size: 240%;
    margin-bottom: 15px;
    padding-left: 10px;
  }

  body.home main section.topNews div.pickup > h3:before {
    width: 5px;
    height: 54px;
  }

  body.home main section.topNews div.pickup > ul {
    flex-wrap: wrap;
  }

  body.home main section.topNews div.pickup > ul > li {
    width: 48%;
  }

  body.home main section.topNews div.pickup > ul > li + li {
    margin-left: 0;
  }

  body.home main section.topNews div.pickup > ul > li:nth-of-type(even) {
    margin-left: 4%;
  }

  body.home main section.topNews div.pickup > ul > li:nth-of-type(n + 3) {
    margin-top: 30px;
  }

  body.home main section.topNews div.pickup > ul > li > div {
    max-height: none;
  }

  body.home main section.topNews div.pickup > ul > li > p {
    font-size: 120%;
    margin-top: 5px;
  }

  body.home
    main
    section.topNews
    div.pickup
    > ul
    > li
    > p:last-of-type
    > a:after {
    width: 5px;
    height: 5px;
    border-top: 1px #5a7e89 solid;
    border-right: 1px #5a7e89 solid;
    margin-left: 5px;
    margin-right: -2.5px;
  }

  body.home main section.topService .lead {
    font-size: 140%;
    line-height: 1.6;
    text-align: left;
    margin-top: 15px;
  }

  body.home main section.topService ul.field {
    margin: 30px 0 -20px;
    display: block;
  }

  body.home main section.topService ul.field li {
    width: 100%;
    margin-bottom: 20px;
  }

  body.home main section.topService ul.field li .fieldThumb {
    height: 150px;
  }

  body.home main section.topService ul.field li .fieldInr {
    padding-bottom: 20px;
  }

  body.home main section.topService ul.field li .fieldInr:before {
    width: 60px;
    height: 60px;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  body.home main section.topService ul.field li .fieldTtl {
    font-size: 180%;
  }

  body.home main section.topService ul.field li .fieldSub {
    font-size: 100%;
  }

  body.home main section.topService ul.field li .fieldTtxt {
    font-size: 140%;
    margin-top: 15px;
  }

  body.home main section.topService ul.field li.fieldCol2 {
    width: 100%;
  }

  body.home main section.topService ul.field li.fieldCol2 a {
    display: block;
  }

  body.home main section.topService ul.field li.fieldCol2 .fieldThumb {
    width: 100%;
    height: 150px;
  }

  body.home main section.topService ul.field li.fieldCol2 .fieldInr:before {
    width: 80px;
    height: 60px;
  }

  body.home main section.topServiceIndex ul.links > li {
    background-size: contain;
    width: 50%;
    height: 260px;
    padding: 20px 0;
    border: 3px #16a72f solid;
  }

  body.home main section.topServiceIndex ul.links > li + li {
    margin-left: 0;
  }

  body.home main section.topServiceIndex ul.links > li:nth-of-type(even) {
    margin-left: -3px;
  }

  body.home main section.topServiceIndex ul.links > li:nth-of-type(n + 3) {
    margin-top: 34px;
  }

  body.home main section.topServiceIndex ul.links > li > p {
    font-size: 170%;
  }

  body.home main section.topServiceIndex ul.links > li > a {
    width: 120px;
    font-size: 120%;
    padding: 10px 5px;
    bottom: -17px;
    margin-left: -60px;
  }

  body.home main section.topServiceIndex ul.links > li > a:after {
    width: 5px;
    height: 5px;
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
    margin-left: 5px;
    margin-right: -5px;
  }

  body.home main section.topServiceIndex ul.links > li > a:hover:after {
    border-top: 1px #16a72f solid;
    border-right: 1px #16a72f solid;
  }

  body.home main section.topContentLink ul > li {
    width: 100%;
    height: auto;
    float: none;
  }

  body.home main section.topContentLink ul > li + li {
    margin-top: 15px;
    margin-left: 0;
  }

  body.home main section.topContentLink ul > li > a {
    height: 0;
    padding-top: 32.25%;
  }

  body.home main section.topContentLink ul > li > a > div:first-of-type {
    font-size: 100%;
    margin-top: -32.25%;
  }

  body.home main section.topContentLink ul > li > a > div:first-of-type > span {
    font-size: 300%; /* 30px */
    padding-bottom: 5px;
  }

  body.home
    main
    section.topContentLink
    ul
    > li
    > a
    > div:first-of-type
    > span:after {
    content: none;
  }

  body.home
    main
    section.topContentLink
    ul
    > li:first-of-type
    > a
    > div:last-of-type {
    background-image: url(../images/page/commonSection/cat_president.jpg);
  }
  body.home
    main
    section.topContentLink
    ul
    > li:nth-of-type(2)
    > a
    > div:last-of-type {
    background-image: url(../images/page/commonSection/cat_company.jpg);
  }
  body.home
    main
    section.topContentLink
    ul
    > li:last-of-type
    > a
    > div:last-of-type {
    background-image: url(../images/page/commonSection/cat_recruit.jpg);
  }
}

/* -- サイト改修 -- */
/* MV */
body.home #mainVisual .flex-viewport {
  height: 100%;
}

body.home #mainVisual ul.slides li a {
  width: 100%;
  height: 100%;
  color: inherit;
  position: relative;
  z-index: 0;
  display: inline-block;
}

body.home #mainVisual ul.slides li a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  display: inline-block;
  transition: opacity 0.3s;
}

body.home #mainVisual ul.slides li a img {
  width: 100%;
  height: auto;
  transition: opacity 0.5s;
}

body.home #mainVisual ul.slides li .slidesInr {
  max-width: 1280px;
  height: 100%;
  padding: 0 30px;
  margin: 0 auto;
  opacity: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  transform: translateY(20px);
  transition: transform 0.5s, opacity 0.5s;
  transition-delay: 1s;
}

body.home #mainVisual ul.slides li.flex-active-slide .slidesInr {
  opacity: 1;
  transform: translateY(0);
}

body.home #mainVisual ul.slides li .slidesStr {
  font-size: 200%;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #fff;
  padding: 4px 15px;
  margin-bottom: 25px;
}

body.home #mainVisual ul.slides li .slidesStr01 {
  background: #0062a2;
}

body.home #mainVisual ul.slides li .slidesStr02 {
  background: #00c5b5;
}

body.home #mainVisual ul.slides li .slidesLink {
  font-size: 280%;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 60px;
  padding-right: 100px;
  position: relative;
}

body.home #mainVisual ul.slides li .slidesTtl {
  font-size: 380%;
  font-weight: 700;
  margin-bottom: 30px;
}

body.home #mainVisual ul.slides li .slidesTxt {
  font-size: 200%;
  font-weight: 500;
  line-height: 2;
}

body.home #mainVisual ul.slides li .slidesLink:before {
  content: "";
  width: 0;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: -20px;
  left: 0;
  display: inline-block;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: width 0.5s;
}

body.home #mainVisual ul.slides li .slidesLink:after {
  content: "";
  width: 9px;
  height: 9px;
  margin: auto 0;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  position: absolute;
  top: 5px;
  right: 65px;
  bottom: 0;
  display: inline-block;
  transform: rotate(45deg);
  transition: right 0.5s;
}

body.home #mainVisual ul.slides li a:hover:before {
  opacity: 1;
}

body.home #mainVisual ul.slides li a:hover .slidesLink:before {
  width: 100%;
}

body.home #mainVisual ul.slides li a:hover .slidesLink:after {
  right: 0;
}

body.home #mainVisual ul.slides li.slidesFirst .slidesTxt {
  font-size: 360%;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.03em;
}

body.home #mainVisual ul.slides li.slidesFirst .slidesTxt span {
  font-size: 1.3334em;
  font-weight: 700;
  line-height: 1.5;
}

body.home #mainVisual ul.slides li.slidesFirst .slidesLink {
  font-family: inherit;
  font-size: 240%;
}

body.home #mainVisual ul.slides li.slidesThird a {
  color: #fff;
}

body.home #mainVisual ul.slides li.slidesThird .slidesLink:before {
  background: #fff;
}

body.home #mainVisual ul.slides li.slidesThird .slidesLink:after {
  border-color: #fff;
}

body.home #mainVisual .flex-control-nav {
  margin: 0 auto;
  position: absolute;
  right: 0;
  bottom: 30px;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

body.home #mainVisual .flex-control-nav li {
  width: 15px;
  height: 15px;
  list-style-type: none;
  box-shadow: 0 0 10px #000;
}

body.home #mainVisual .flex-control-nav li + li {
  margin-left: 40px;
}

body.home #mainVisual .flex-control-nav li a {
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  background: #fff;
  position: relative;
  display: inline-block;
  cursor: pointer;
}

body.home #mainVisual .flex-control-nav li a.flex-active:before {
  content: "";
  width: 9px;
  height: 9px;
  margin: auto;
  background: #000;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: inline-block;
}

/* ABOUT US */
body.home main section.topAbout {
  text-align: left;
  position: relative;
  z-index: 0;
}

body.home main section.topAbout::before {
  content: "";
  width: 100%;
  height: 240px;
  background: #edeff1;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

body.home main section.topAbout .container {
  margin-bottom: 60px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
}

body.home main section.topAbout .container h3 {
  margin-right: 90px;
  font-size: 420%;
  font-weight: 700;
  line-height: 1.2;
}

body.home main section.topAbout .container h3 span {
  margin-top: 20px;
  display: block;
  text-align: center;
  font-size: 43%;
  font-weight: 700;
}

body.home main section.topAbout .container p {
  font-size: 180%;
  line-height: 2;
  font-weight: 500;
}

body.home main section.topAbout ul.link {
  margin-bottom: 80px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
}

body.home main section.topAbout ul.link li a.btn {
  width: 320px;
  font-size: 180%;
  font-weight: 500;
  text-align: left;
  color: inherit;
  border-color: #000;
  border-width: 2px;
  padding: 25px 30px;
  position: relative;
}

body.home main section.topAbout ul.link li a.btn:after {
  border-color: #000;
  margin: auto 0;
  position: absolute;
  top: 3px;
  bottom: 0;
  right: 25px;
}

body.home main section.topAbout ul.link li a.btn:hover {
  background: #000;
  color: #fff;
}

body.home main section.topAbout ul.link li a.btn:hover:after {
  border-color: #fff;
}

body.home main section.topAbout ul.link li + li {
  margin-left: 48px;
}

body.home main section.topAbout ul.movie {
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
}

body.home main section.topAbout ul.movie li + li {
  margin-left: 90px;
}

body.home main section.topAbout ul.movie li a:hover .imgWrap::before,
body.home main section.topAbout ul.movie li a:hover .imgWrap::after {
  opacity: 0;
}

body.home main section.topAbout ul.movie li a:hover img {
  transform: scale(1.1);
}

body.home main section.topAbout ul.movie .imgWrap {
  border-radius: 15px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

body.home main section.topAbout ul.movie .imgWrap::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9;
  transition: opacity 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

body.home main section.topAbout ul.movie .imgWrap::after {
  content: "";
  width: 80px;
  height: 80px;
  background: url(../images/page/top/topAbout_ico01.svg) 0 / cover no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 99;
  transition: opacity 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

body.home main section.topAbout ul.movie img {
  max-width: 100%;
  height: auto;
  transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  will-change: transform;
}

body.home main section.topAbout ul.movie p {
  margin-top: 20px;
  font-size: 180%;
  text-align: center;
  font-weight: 700;
  color: #000;
}

#movie_modal {
  display: none;
  width: 800px;
  height: 100%;
  position: fixed;
  top: 0;
  left: calc((100% - 800px) / 2);
  z-index: 1001;
}
#movie_modal.active {
  display: flex;
  align-items: center;
  justify-content: center;
  animation: movieModalAnime 0.5s ease-in-out 0s forwards;
}
@media screen and (max-width: 768px) {
  #movie_modal {
    width: 90%;
    left: 5%;
  }
  #movie_modal .youtube .close a {
    width: 30px;
    height: 30px;
    top: -40px;
  }
}

@keyframes movieModalAnime {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
#movie_modal .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

#movie_modal .youtube .close a {
  position: absolute;
  top: -60px;
  right: 0;
  color: #fff;
  width: 40px;
  height: 40px;
  background: url("../images/page/top/topAbout_ico02.svg") 0 0 no-repeat;
  display: block;
  transition: 0.4s ease-in-out;
}
#movie_modal .youtube .close a:hover {
  transform: rotate(180deg);
}

#movie_modal .youtube .close a:hover img {
  transform: rotate(180deg);
}

#movie_modal .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

#movie_modal_bg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
}
#movie_modal_bg.active {
  display: block;
  animation: movieModalAnimeBg 0.5s ease-in-out 0s forwards;
}

@keyframes movieModalAnimeBg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* SUSTAINABILITY */
body.home main section.topSust {
  text-align: left;
  color: #fff;
  background: url(../images/page/top/bg_topSust.jpg) center top no-repeat;
  background-size: cover;
  padding-right: 30px;
  padding-left: 30px;
}

body.home main section.topSust .title {
  color: #fff;
}

body.home main section.topSust .topSustInr {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}

body.home main section.topSust .lead {
  font-size: 360%;
  font-weight: 500;
  letter-spacing: 0.03em;
  margin-bottom: 40px;
}

body.home main section.topSust .text {
  font-size: 180%;
  line-height: 2;
}

body.home main section.topSust ul.link {
  width: 425px;
}

body.home main section.topSust ul.link li a.btn {
  width: 100%;
  font-size: 180%;
  font-weight: 700;
  text-align: left;
  color: #000;
  background: rgba(255, 255, 255, 0.75);
  border-width: 2px;
  padding: 30px 10px 30px 105px;
  position: relative;
}

body.home main section.topSust ul.link li a.btn:before {
  content: "";
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  transition: background-image 0.3s;
}

body.home main section.topSust ul.link li a.btn:after {
  margin: auto 0;
  position: absolute;
  top: 0;
  right: 25px;
  bottom: 0;
}

body.home main section.topSust ul.link li.linkSociety a.btn:before {
  width: 48px;
  height: 56px;
  background-image: url(../images/page/top/bg_topSust_link01.png);
  left: 27px;
}

body.home main section.topSust ul.link li.linkCarbon a.btn:before {
  width: 56px;
  height: 56px;
  background-image: url(../images/page/top/bg_topSust_link02.png);
  left: 22px;
}

body.home main section.topSust ul.link li.linkReport a.btn:before {
  width: 53px;
  height: 55px;
  background-image: url(../images/page/top/bg_topSust_link03.png);
  left: 30px;
}

body.home main section.topSust ul.link li a.btn:hover {
  color: #fff;
  background: #16a72f;
}

body.home main section.topSust ul.link li.linkSociety a.btn:hover:before {
  background-image: url(../images/page/top/bg_topSust_link01_on.png);
}

body.home main section.topSust ul.link li.linkCarbon a.btn:hover:before {
  background-image: url(../images/page/top/bg_topSust_link02_on.png);
}

body.home main section.topSust ul.link li.linkReport a.btn:hover:before {
  background-image: url(../images/page/top/bg_topSust_link03_on.png);
}

body.home main section.topSust ul.link li + li {
  margin-top: 20px;
}

/* PICK UP CONTENTS */
body.home main section.topPick ul.conts {
  margin-top: -20px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}

body.home main section.topPick ul.conts li a {
  color: #fff;
  position: relative;
  display: inline-block;
  overflow: hidden;
}

body.home main section.topPick ul.conts li a img {
  vertical-align: bottom;
  transition: opacity 0.3s, transform 0.3s;
}

body.home main section.topPick ul.conts li a .contsInr {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

body.home main section.topPick ul.conts li a .contsInr:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 40px;
  border-color: transparent transparent #16a72f transparent;
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
}

body.home main section.topPick ul.conts li a .contsInr:after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: inline-block;
}

body.home main section.topPick ul.conts li a .contsTtl {
  font-size: 180%;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.05em;
}

body.home main section.topPick ul.conts li a .contsTtl span {
  font-size: 1.3334em;
  font-weight: 500;
  letter-spacing: 0.01em;
}

body.home main section.topPick ul.conts li a:hover img {
  opacity: 0.8;
  transform: scale(1.04);
}

@media screen and (max-width: 768px) {
  /* MV */
  body.home #mainVisual ul.slides li .slidesInr {
    padding: 0 5%;
  }

  body.home #mainVisual ul.slides li .slidesStr {
    font-size: 160%;
    margin-bottom: 15px;
  }

  body.home #mainVisual ul.slides li .slidesTtl {
    font-size: 240%;
    margin-bottom: 20px;
  }

  body.home #mainVisual ul.slides li .slidesTxt {
    font-size: 160%;
    line-height: 1.7;
  }

  body.home #mainVisual ul.slides li .slidesLink {
    font-size: 220%;
    margin-top: 30px;
    padding-right: 60px;
  }

  body.home #mainVisual ul.slides li .slidesLink:before {
    bottom: -15px;
  }

  body.home #mainVisual ul.slides li .slidesLink:after {
    right: 25px;
  }

  body.home #mainVisual ul.slides li.slidesFirst .slidesTxt {
    font-size: 200%;
    line-height: 1.5;
  }

  body.home #mainVisual ul.slides li.slidesFirst .slidesLink {
    font-size: 180%;
  }

  body.home #mainVisual ul.slides li.slidesSecond .slidesTxt {
    text-shadow: 0 0 5px #fff;
  }

  /* ABOUT US */
  body.home main section.topAbout::before {
    height: 40vw;
  }

  body.home main section.topAbout .container {
    margin-bottom: 45px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }

  body.home main section.topAbout .container h3 {
    width: 100%;
    margin: 0 0 30px 0;
    font-size: 220%;
    line-height: 1.5;
  }

  body.home main section.topAbout .container h3 span {
    margin-top: 0;
    font-size: 80%;
    text-align: left;
  }

  body.home main section.topAbout .container p {
    font-size: 160%;
    line-height: 1.7;
  }

  body.home main section.topAbout ul.link {
    display: block;
    margin-bottom: 60px;
  }

  body.home main section.topAbout ul.link li a.btn {
    width: 80%;
    font-size: 160%;
    padding: 15px;
  }

  body.home main section.topAbout ul.link li + li {
    margin: 20px 0 0 0;
  }

  body.home main section.topAbout ul.movie {
    margin-bottom: 0;
  }

  body.home main section.topAbout ul.movie li + li {
    margin: 20px 0 0 0;
  }

  /* SUSTAINABILITY */
  body.home main section.topSust {
    padding-right: 0;
    padding-left: 0;
  }
  body.home main section.topSust .topSustInr {
    display: block;
  }

  body.home main section.topSust .lead {
    font-size: 260%;
    line-height: 1.3;
    margin-bottom: 30px;
  }

  body.home main section.topSust .text {
    font-size: 160%;
    line-height: 1.6;
    margin-bottom: 50px;
  }

  body.home main section.topSust ul.link {
    width: 100%;
  }

  body.home main section.topSust ul.link li a.btn {
    font-size: 160%;
    padding: 15px 15px 15px 55px;
  }

  body.home main section.topSust ul.link li.linkSociety a.btn:before {
    width: 25px;
    height: 28px;
    left: 14px;
  }

  body.home main section.topSust ul.link li.linkCarbon a.btn:before {
    width: 28px;
    height: 28px;
    left: 11px;
  }

  body.home main section.topSust ul.link li.linkReport a.btn:before {
    width: 27px;
    height: 29px;
    left: 15px;
  }

  /* PICK UP CONTENTS */
  body.home main section.topPick ul.conts {
    margin-top: 0;
    display: block;
  }

  body.home main section.topPick ul.conts li a img {
    width: 100%;
  }

  body.home main section.topPick ul.conts li a .contsTtl {
    font-size: 160%;
  }

  body.home main section.topPick ul.conts li + li {
    margin-top: 20px;
  }
}
/* -- サイト改修 -- */

/* pages
------------------------------------------------------ */

body main div#catTitle {
  background-color: #cccccc;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 260px;
  margin-top: 76px;
  text-align: center;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}

body main div#catTitle > p,
body main div#catTitle > h1 {
  color: #ffffff;
  font-size: 180%;
  margin: 0 auto;
}

body main div#catTitle > p > span,
body main div#catTitle > h1 > span {
  font-size: 300%; /* 48px */
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  display: block;
  margin-bottom: 10px;
}

body main nav#subNav {
  background-color: #000000;
  width: 100%;
  height: auto;
  position: static;
  box-sizing: border-box;
}

body main nav#subNav.fixed {
  position: fixed;
  top: 76px;
  left: 0;
  z-index: 29;
}

body main nav#subNav > ul {
  width: 100%;
}

body main nav#subNav > ul + ul {
  border-top: 1px #595757 solid;
}

body main nav#subNav > ul li {
  font-size: 140%;
  font-weight: 500;
  padding: 15px 0;
  position: relative;
}

body main nav#subNav > ul li.active:after {
  content: "";
  background-color: #16a72f;
  width: 100%;
  height: 5px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}

body nav#subNav > ul li + li {
  margin-left: 40px;
}

.flickity-prev-next-button {
  display: none;
}

body nav#subNav > ul li a {
  color: #ffffff;
}

body nav#subNav > ul li a:hover {
  color: #16a72f;
}

body main div#title,
body main div.secondTitle {
  width: 100%;
  background-color: #edeff1;
  padding: 56px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

body main div#title > h1,
body main div.secondTitle > h2 {
  color: #000000;
  font-size: 280%;
  font-weight: bold;
}

body main #subTitle {
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 260%;
  font-weight: bold;
  color: #fff;
  background: #16a72f;
}

body main section article h2.articleTitle {
  color: #16a72f;
  font-size: 280%;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px #c9caca solid;
}

@media screen and (max-width: 768px) {
  body main div#catTitle {
    height: 90px;
    margin-top: 60px;
    position: relative;
  }

  body main div#catTitle > p,
  body main div#catTitle > h1 {
    color: #000000;
    background-color: rgba(255, 255, 255, 0.8);
    width: 100%;
    font-size: 120%;
    font-weight: bold;
    text-align: left;
    padding: 10px;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
  }

  body main div#catTitle > p > span,
  body main div#catTitle > h1 > span {
    display: none;
  }

  body main nav#subNav {
    padding: 0 10px;
    overflow-x: hidden;
  }

  body main nav#subNav.fixed {
    top: 60px;
  }

  body main nav#subNav > ul {
    display: block;
    white-space: nowrap;
  }

  body main nav#subNav > ul + ul {
    border-top: none;
  }

  body main nav#subNav > ul li {
    font-size: 120%;
    padding: 8px 0;
    display: inline-block;
  }

  body main nav#subNav > ul li.active:after {
    height: 2px;
  }

  body nav#subNav > ul li + li {
    margin-left: 20px;
  }

  .flickity-prev-next-button {
    display: block;
    top: 50%;
    width: 28px;
    height: 28px;
    border-radius: 0;
    /* vertically center */
    transform: translateY(-50%);
  }

  .flickity-prev-next-button.previous {
    left: -10px;
  }
  .flickity-prev-next-button.next {
    right: -10px;
  }
  /* right to left */
  .flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: -10px;
  }
  .flickity-rtl .flickity-prev-next-button.next {
    right: auto;
    left: -10px;
  }

  .flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    left: 20%;
    top: 20%;
    width: 60%;
    height: 60%;
  }

  .flickity-button {
    transition: 0.3s;
  }

  .flickity-button:disabled {
    opacity: 0;
  }

  body main div#title,
  body main div.secondTitle {
    height: auto;
    padding: 16px 0;
  }

  body main div#title > h1,
  body main div.secondTitle > h2 {
    font-size: 170%;
  }

  body main #subTitle {
    height: 30px;
    font-size: 160%;
  }

  body main section article h2.articleTitle {
    font-size: 170%;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px #c9caca solid;
  }
}

/* -- サイト改修 -- */
body main div#title .pageAnchor {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
}

body main div#title .pageAnchor li {
  width: 320px;
  font-size: 160%;
  letter-spacing: -0.03em;
  text-align: center;
}

body main div#title .pageAnchor li a {
  width: 100%;
  font-weight: 500;
  color: inherit;
  background: #fff;
  border: 1px solid #16a72f;
  padding: 20px 0 30px;
  position: relative;
  display: inline-block;
}

body main div#title .pageAnchor li a:before {
  content: "";
  width: 9px;
  height: 9px;
  border-right: 3px solid #16a72f;
  border-bottom: 3px solid #16a72f;
  margin: 0 auto;
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  transform: rotate(45deg);
}

body main div#title .pageAnchor li a:after {
  content: "";
  width: 100%;
  height: 4px;
  background: #16a72f;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  display: inline-block;
  transition: opacity 0.3s;
}

body main div#title .pageAnchor li + li {
  margin-left: 20px;
}

body main div#title .pageAnchor li a:hover:after {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  body main div#title .pageAnchor {
    display: block;
  }

  body main div#title .pageAnchor li {
    font-size: 100%;
    font-size: 140%;
  }

  body main div#title .pageAnchor li a {
    padding: 15px 0 20px;
  }

  body main div#title .pageAnchor li a:before {
    width: 5px;
    height: 5px;
    bottom: 5px;
  }

  body main div#title .pageAnchor li a:after {
    height: 2px;
  }

  body main div#title .pageAnchor li + li {
    margin: 10px 0 0 0;
  }
}
/* -- サイト改修 -- */

/* 企業情報
------------------------------------------------------ */

body.company main div#catTitle {
  background-image: url(../images/page/company/bg_company.jpg);
}
body.company.philosophy main div#catTitle {
  background-image: url(../images/page/company/bg_philosophy.jpg);
}
body.company.story main div#catTitle {
  background-image: url(../images/page/company/bg_president.jpg);
}
body.company.story main div#catTitle {
  background-image: url(../images/page/company/bg_president.jpg);
}
body.company.story main div#catTitle {
  background-image: url(../images/page/company/bg_president.jpg);
}
body.company.profile main div#catTitle {
  background-image: url(../images/page/company/bg_profile.jpg);
}
body.company.history main div#catTitle {
  background-image: url(../images/page/company/bg_history.jpg);
}
body.company.group main div#catTitle {
  background-image: url(../images/page/company/bg_group.jpg);
}
body.company.map main div#catTitle {
  background-image: url(../images/page/company/bg_map.jpg);
}
body.company.governance main div#catTitle {
  background-image: url(../images/page/company/bg_governance.jpg);
}
body.company.compliance main div#catTitle {
  background-image: url(../images/page/company/bg_compliance.jpg);
}

body.company main section article {
  width: 1000px;
  margin: 0 auto;
}

body.company main section img.topImage {
  width: 100%;
  display: block;
  margin: 0 auto;
}

body.company main section article > h2 {
  font-size: 280%;
  font-weight: bold;
  line-height: 2;
  margin: 50px auto;
}

body.company main section article > p {
  font-size: 180%;
  line-height: 2;
}

body.company main section article > p + p {
  margin-top: 1em;
}

body.company main section article > table {
  margin: 100px auto 50px 0;
  text-align: left;
}

body.company main section article > table th {
  font-size: 180%;
  line-height: 2;
  -moz-text-align-last: justify;
  text-align-last: justify;
}

body.company main section article > table td {
  font-size: 180%;
  line-height: 2;
  text-align: left;
}

body.company main section article > ul.signature {
  float: right;
  line-height: 2;
}

body.company main section article > ul.signature > li > span {
  margin-left: 10px;
  font-weight: bold;
}

body.company main section article > ul.signature .u-mt {
  margin-top: 1em;
}

body.company main section article > ul.signature > li {
  font-size: 180%;
  text-align: left;
}

body.company main section article > ul.signature > li > img {
  margin-left: 20px;
  display: inline-block;
  vertical-align: middle;
}

body.company.philosophy main div.topText {
  background-image: url(../images/page/company/philosophy_top.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 740px;
  text-align: center;
}

body.company.philosophy main div.topText p {
  font-size: 180%;
  font-weight: bold;
  line-height: 2.5;
  padding-top: 100px;
}

body.company.philosophy main section article {
  width: 1000px;
  margin: 0 auto;
  text-align: center;
}

body.company.philosophy main section article + article {
  margin-top: 100px;
}

body.company.philosophy main section article dl {
  width: 680px;
  margin: 0 auto 30px auto;
  text-align: center;
}

body.company.philosophy main section article dl > dt {
  font-size: 360%;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 2px #16a72f solid;
}

body.company.philosophy main section article dl > dd {
  font-size: 240%;
}

body.company.philosophy main section article ul {
  margin: 0 auto;
  display: inline-block;
}

body.company.philosophy main section article ul > li {
  font-size: 160%;
  line-height: 2;
  text-align: left;
}

body.company.philosophy main section p.subText {
  font-size: 160%;
  line-height: 1.6;
  text-align: center;
  margin: 60px auto 0 auto;
}

body.company.philosophy main section p.subText > span {
  font-size: 75%; /* 12px */
}

body.company.philosophy main section.logo {
  padding: 60px 0 100px 0;
}
body.company.philosophy main section.logo article {
  text-align: left;
}

body.company.philosophy main section.logo article:first-of-type {
  display: flex;
  align-items: center;
}

body.company.philosophy
  main
  section.logo
  article:first-of-type
  > div:last-of-type {
  margin-left: 60px;
}

body.company.philosophy
  main
  section.logo
  article:first-of-type
  > div:last-of-type
  > p {
  font-size: 180%;
  line-height: 2;
}

body.company.philosophy main section.logo article:last-of-type > h3 {
  color: #ffffff;
  background-color: #16a72f;
  font-size: 180%;
  font-weight: bold;
  margin-bottom: 50px;
  padding: 10px;
}

body.company.philosophy
  main
  section.logo
  article:last-of-type
  > div:first-of-type {
  width: 420px;
  float: left;
}

body.company.philosophy
  main
  section.logo
  article:last-of-type
  > div:last-of-type {
  float: right;
}

body.company.philosophy main section.logo article:last-of-type > div > p {
  font-size: 160%;
  line-height: 2;
}

body.company.philosophy main section.logo article:last-of-type > div > p + p {
  margin-top: 1em;
}

body.company.philosophy
  main
  section.logo
  article:last-of-type
  > div
  > p:last-of-type {
  background-color: #e7f6ea;
  padding: 20px;
}

body.company.story main div.visual {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 498px;
  display: flex;
  align-items: center;
}

body.company.story main div.visual {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 498px;
  display: flex;
  align-items: center;
}

body.company.story main div.visual.v01 {
  background-image: url(../images/page/company/president_visual01.jpg);
  margin-top: 100px;
}
body.company.story main div.visual.v01 {
  background-image: url(../images/page/company/president_visual01.jpg);
  margin-top: 100px;
}
body.company.story main div.visual.v02 {
  background-image: url(../images/page/company/president_visual02.jpg);
}
body.company.story main div.visual.v02 {
  background-image: url(../images/page/company/president_visual02.jpg);
}
body.company.story main div.visual.v03 {
  margin-top: 60px;
  background-image: url(../images/page/company/president_visual03.jpg);
}
body.company.story main div.visual.v03 {
  margin-top: 60px;
  background-image: url(../images/page/company/president_visual03.jpg);
}

body.company.story main div.visual > div {
  width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}

body.company.story main div.visual > div {
  width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}

body.company.story main div.visual.v02 > div {
  padding-left: 700px;
}

body.company.story main div.visual.v02 > div {
  padding-left: 700px;
}

body.company.story main div.visual > div > p {
  font-size: 280%;
  font-weight: bold;
  line-height: 2;
}

body.company.story main div.visual > div > p {
  font-size: 280%;
  font-weight: bold;
  line-height: 2;
}

body.company.story main div.visual > div > p.small {
  font-size: 180%;
  font-weight: normal;
  line-height: 1.8;
  margin-top: 60px;
}

body.company.story main div.visual > div > p.small {
  font-size: 180%;
  font-weight: normal;
  line-height: 1.8;
  margin-top: 60px;
}

body.company.story main section.content {
  padding: 60px 0;
}

body.company.story main section.content {
  padding: 60px 0;
}

body.company.story main section.content article {
  width: 100%;
}

body.company.story main section.content article {
  width: 100%;
}

body.company.story main section.content article + article {
  margin-top: 60px;
}

body.company.story main section.content article + article {
  margin-top: 60px;
}

body.company.story main section.content article h2 {
  color: #16a72f;
  font-size: 240%;
  line-height: 2;
  text-indent: -1em;
  margin: 40px auto 20px;
  padding-left: 2em;
}

body.company.story main section.content article h2 {
  color: #16a72f;
  font-size: 240%;
  line-height: 2;
  text-indent: -1em;
  margin: 40px auto 20px;
  padding-left: 2em;
}

body.company.story main section.content article h2:before {
  content: "\002015\002015";
  display: inline-block;
}

body.company.story main section.content article h2:before {
  content: "\002015\002015";
  display: inline-block;
}

body.company.story main section.content article > div {
  display: flex;
  justify-content: space-between;
}

body.company.story main section.content article > div {
  display: flex;
  justify-content: space-between;
}

body.company.story main section.content article > div > div {
  width: 900px;
}

body.company.story main section.content article > div > div > p {
  font-size: 160%;
  line-height: 2;
}

body.company.story main section.content article > div > ul {
  width: 298px;
  height: auto;
}

body.company.story main section.content article > div > ul.heightAdjust {
  height: 0 !important;
}

body.company.story main section.content article > div > ul > li {
  font-size: 120%;
  line-height: 1.5;
}

body.company.story main section.content article > div > ul > li + li {
  margin-top: 10px;
}

body.company.story main section.content article > div > ul > li > img {
  width: 100%;
  display: block;
  margin: 0 auto;
}

body.company.story main section.content article > div > ul > li > img + img {
  margin-top: 10px;
}

body.company.profile main section article {
  width: 1000px;
  margin: 0 auto;
}

body.company.profile main section article table {
  width: 100%;
  margin: 0 auto;
}

body.company.profile main section article table tr th {
  background-color: #edf4f1;
  width: 200px;
  font-size: 160%;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  vertical-align: middle;
  -moz-text-align-last: justify;
  text-align-last: justify;
  padding: 15px 70px;
  box-sizing: border-box;
  border-top: 1px #dcdddd solid;
}

body.company.profile main section article:last-of-type table tr th {
  padding: 15px 50px;
}

body.company.profile main section article table tr td {
  width: auto;
  font-size: 160%;
  line-height: 2;
  vertical-align: middle;
  padding: 15px 70px;
  box-sizing: border-box;
  border-top: 1px #dcdddd solid;
}

body.company.profile main section article table tr:last-of-type th,
body.company.profile main section article table tr:last-of-type td {
  border-bottom: 1px #dcdddd solid;
}

body.company.profile main section article.officer {
  padding: 20px 0;
  border-top: 1px #dcdddd solid;
  display: flex;
}

body.company.profile main section article.officer:last-of-type {
  border-bottom: 1px #dcdddd solid;
}

body.company.profile main section article.officer > div:first-of-type {
  width: 190px;
  height: auto;
}

body.company.profile main section article.officer > div:first-of-type > img {
  width: 100%;
  height: auto;
}

body.company.profile main section article.officer > div:last-child {
  width: calc(100% - 190px);
  padding: 30px 0 0 50px;
}

body.company.profile main section article.officer > div:last-child > h3 {
  font-size: 160%;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px #dcdddd solid;
}

body.company.profile main section article.officer > div:last-child > h3 span {
  font-size: 150%; /* 24px */
  padding-right: 1em;
}

body.company.profile main section article.officer > div:last-child > p {
  font-size: 160%;
  line-height: 2;
}

body.company.history main section article {
  width: 1000px;
  margin: 0 auto;
}

body.company.history main section article + article {
  margin-top: 100px;
}

body.company.history main section article > h2 {
  color: #ffffff;
  background-color: #16a72f;
  font-size: 180%;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 10px;
}

body.company.history main section article > p {
  font-size: 180%;
  line-height: 2;
  margin-bottom: 1em;
}

body.company.history main section article > h3 {
  font-size: 240%;
  font-weight: bold;
  padding: 40px 10px;
  border-top: 1px #dcdddd solid;
  cursor: pointer;
  position: relative;
}

body.company.history main section article > h3:first-of-type {
  margin-top: 40px;
}

body.company.history main section article > h3:last-of-type {
  border-bottom: 1px #dcdddd solid;
}

body.company.history main section article > h3:after {
  content: "";
  width: 14px;
  height: 14px;
  border-right: 3px #989898 solid;
  border-bottom: 3px #989898 solid;
  position: absolute;
  top: 50%;
  right: 40px;
  margin-top: -12px;
  display: block;
  transform: rotate(45deg);
}

body.company.history main section article > h3.active:after {
  margin-top: 0;
  transform: rotate(-135deg);
}

body.company.history main section article > h3:hover {
  color: #16a72f;
}

body.company.history main section article table {
  width: 100%;
  margin: 0 auto 40px auto;
  /*display: none;*/
}
body.company.history .p-page--company-history__slide {
  display: none;
}

body.company.history main section article table tr td {
  font-size: 160%;
  line-height: 2;
  text-align: right;
  padding: 10px 20px;
  white-space: nowrap;
}

body.company.history main section article table tr > td:first-of-type {
  width: 60px;
}

body.company.history main section article table tr > td:nth-of-type(2) {
  width: 30px;
}

body.company.history main section article table tr > td:last-of-type {
  text-align: left;
  padding-left: 40px;
  white-space: normal;
}

body.company.history main section article table tr:nth-of-type(odd) > td {
  background-color: #f7f8f8;
}

body.company.group main section article h2 {
  color: #16a72f;
  font-size: 280%;
  font-weight: bold;
  text-align: center;
  margin: 0 auto 50px auto;
}

body.company.group main section article > .icon {
  width: 1000px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 50px auto 0 auto;
}

body.company.group main section article > .icon > li {
  width: auto;
  height: auto;
  font-size: 160%;
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  align-self: stretch;
}

body.company.group main section article > .icon > li a {
  color: #000000;
  transition: 0.3s;
}

body.company.group main section article > .icon > li + li:not(:first-child) {
  margin-left: 60px;
}

body.company.group main section article > .icon > li a:before {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100px;
  height: 100px;
  display: block;
  margin: 0 auto;
}
body.company.group main section article > .icon > li:first-of-type > a:before {
  background-image: url(../images/page/service/serviceIcon01.png);
  margin-bottom: 0.5em;
}
body.company.group main section article > .icon > li:nth-of-type(2) > a:before {
  background-image: url(../images/page/service/serviceIcon02.png);
  margin-bottom: 0.5em;
}
body.company.group main section article > .icon > li:nth-of-type(3) > a:before {
  background-image: url(../images/page/service/serviceIcon08.png);
  margin-bottom: 0.5em;
}
body.company.group main section article > .icon > li:nth-of-type(4) > a:before {
  width: 160px;
  background-image: url(../images/page/service/serviceIcon04.png);
  margin-bottom: 0.5em;
}
body.company.group main section article > .icon > li:nth-of-type(5) > a:before {
  background-image: url(../images/page/service/serviceIcon05.png);
  margin-bottom: 0.5em;
}

body.company.group main section.bgColor div.wrapper {
  display: flex;
  flex-wrap: wrap;
}

body.company.group main section.bgColor div.wrapper > ul.case {
  margin-bottom: 60px;
}

body.company.group main section.bgColor div.wrapper > ul.case > li {
  font-size: 160%;
  display: inline-block;
  margin-right: 60px;
}

body.company.group main section.bgColor div.wrapper > ul.case > li:before {
  content: "";
  background-color: #16a72f;
  width: 50px;
  height: 20px;
  vertical-align: -4px;
  display: inline-block;
  margin-right: 10px;
}

body.company.group
  main
  section.bgColor
  div.wrapper
  > ul.case
  > li:nth-of-type(2):before {
  background-color: #ed7900;
}

body.company.group main section.bgColor div.groupBlock {
  background-color: #ffffff;
  width: 408px;
  box-sizing: border-box;
  position: relative;
}

body.company.group
  main
  section.bgColor
  div.groupBlock
  + div.groupBlock:not(:nth-of-type(3n + 1)) {
  margin-left: 28px;
}

body.company.group main section.bgColor div.groupBlock:nth-of-type(n + 4) {
  margin-top: 28px;
}

body.company.group main section.bgColor div.groupBlock > ul {
  background-color: #16a72f;
  padding: 0 15px;
}

body.company.group main section.bgColor div.groupBlock > ul.sub {
  background-color: #ed7900;
}

body.company.group main section.bgColor div.groupBlock > ul > li {
  display: inline-block;
  padding: 5px 0;
}

body.company.group main section.bgColor div.groupBlock > ul > li + li {
  margin-left: 10px;
}

body.company.group main section.bgColor div.groupBlock > ul > li > img {
  width: auto;
  height: 30px;
}

body.company.group main section.bgColor div.groupBlock > div {
  padding: 30px 30px 80px 30px;
}

body.company.group main section.bgColor div.groupBlock > div > img {
  display: block;
  margin: 10px auto 40px auto;
}

body.company.group main section.bgColor div.groupBlock > div > dl > dt {
  font-size: 240%;
  font-weight: bold;
}

body.company.group main section.bgColor div.groupBlock > div > dl > dd {
  font-size: 160%;
  line-height: 1.5;
  margin-top: 10px;
}

body.company.group main section.bgColor div.groupBlock > div > dl > dd + dd {
  margin-top: 1em;
}

body.company.group main section.bgColor div.groupBlock > div > p {
  position: absolute;
  left: 30px;
  bottom: 30px;
}

body.company.group main section.bgColor div.groupBlock > div > p + p {
  right: 30px;
  left: auto;
}

body.company.group main section.bgColor div.groupBlock > div > p > a {
  color: #468eaf;
  font-size: 160%;
}

body.company.group main section.bgColor h2.serviceH2 {
  color: #000000;
  font-size: 240%;
  text-align: left;
  margin: 100px auto 30px 0;
}

body.company.map main section article {
  text-align: center;
}

body.company.map main section article + article {
  margin-top: 100px;
}

body.company.map main section article h2 {
  font-size: 240%;
  margin: 0 auto;
}

body.company.map main section article > div {
  width: 100%;
  height: 0;
  margin: 30px auto 0 auto;
  padding-top: 35%;
  position: relative;
}

body.company.map main section article > div > iframe {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

body.company.map main section.bgColor {
  background-color: #d8d8de;
}

body.company.map main section.bgColor + section.bgColor {
  margin-top: 30px;
}

body.company.map main section.bgColor img {
  width: 100%;
  display: block;
  margin: 0 auto;
}

body.company.governance main section article + article {
  margin-top: 100px;
}

body.company.governance main section article h2 {
  margin-top: 0;
}

body.company.governance main section article > p > a {
  font-size: 100%;
}

body.company.governance main section article > p > a:hover {
  opacity: 0.8;
}

body.company.governance main section article img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

body.company.governance main section article ul {
  margin: 30px 0;
}

body.company.governance main section article ul li {
  font-size: 160%;
  border-top: 1px #e6e6e6 solid;
  border-bottom: 1px #e6e6e6 solid;
}

body.company.governance main section article ul li a {
  color: #000000;
  display: block;
  padding: 20px 10px;
  position: relative;
}

body.company.governance main section article ul li a:hover {
  color: #16a72f;
}

body.company.governance main section article ul li a::after {
  content: "";
  background-image: url(../images/common/icon_bigArrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 37.5px;
  height: 17px;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -8.5px;
}

body.company.governance main section article.philosophy p {
  margin-top: 0;
  margin-bottom: 46px;
}

body.company.governance main section article.philosophy .author {
  margin-bottom: 0;
  font-size: 140%;
  line-height: 1.4;
  text-align: right;
  float: right;
}

body.company.governance main section article.philosophy img {
  margin-bottom: 30px;
}

body.company.governance main section article dl {
  margin-top: 60px;
}

body.company.governance main section article dl dt {
  font-size: 180%;
  font-weight: bold;
  line-height: 2;
}

body.company.governance main section article dl dt:before {
  content: "\0025cf";
  color: #cbcbcb;
  display: inline-block;
}

body.company.governance main section article dl dd {
  font-size: 160%;
  line-height: 2;
  padding-left: 1.2em;
}

body.company.governance main section article dl dd + dt {
  margin-top: 1em;
}

body.company.compliance main section article + article {
  margin-top: 100px;
}

body.company.compliance main section article h2 {
  margin-top: 0;
}

body.company.compliance main section article p > a {
  color: #468eaf;
}

body.company.compliance main section article p > a:hover {
  opacity: 0.8;
}

body.company.compliance main section article ul {
  margin-top: 30px;
}

body.company.compliance main section article ul > li {
  font-size: 160%;
  border-top: 1px #e6e6e6 solid;
  border-bottom: 1px #e6e6e6 solid;
}

body.company.compliance main section article ul.split > li {
  width: 460px;
  float: left;
}

body.company.compliance main section article ul.split > li:nth-of-type(even) {
  margin-left: 80px;
}

body.company.compliance main section article ul.split > li:nth-of-type(n + 3) {
  border-top: none;
}

body.company.compliance main section article ul > li + li {
  border-top: 1px #e6e6e6 solid;
}

body.company.compliance main section article ul > li > a {
  color: #000000;
  display: block;
  padding: 20px 10px;
  position: relative;
}

body.company.compliance main section article ul > li > a:after {
  content: "";
  background-image: url(../images/common/icon_bigArrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 37.5px;
  height: 17px;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -8.5px;
}

body.company.compliance main section article ul > li > a:hover {
  color: #16a72f;
}

@media screen and (max-width: 768px) {
  body.company main section article {
    width: 100%;
  }

  body.company main section article > h2 {
    font-size: 170%;
    margin: 25px auto;
  }

  body.company main section article > p {
    font-size: 120%;
  }

  body.company main section article > table {
    margin: 50px auto 25px 0;
  }

  body.company main section article > table th {
    font-size: 120%;
  }

  body.company main section article > table td {
    font-size: 120%;
  }

  body.company main section article > ul.signature > li {
    font-size: 120%;
  }

  body.company main section article > ul.signature > li > img {
    width: 127.5px;
    margin-left: 10px;
  }

  body.company.philosophy main div.topText {
    width: 100%;
    height: 400px;
  }

  body.company.philosophy main div.topText p {
    font-size: 120%;
    line-height: 2;
    padding-top: 20px;
  }

  body.company.philosophy main section article {
    width: 100%;
  }

  body.company.philosophy main section article + article {
    margin-top: 50px;
  }

  body.company.philosophy main section article dl {
    width: 100%;
    margin: 0 auto 15px auto;
    text-align: center;
  }

  body.company.philosophy main section article dl > dt {
    font-size: 180%;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px #16a72f solid;
  }

  body.company.philosophy main section article dl > dd {
    font-size: 120%;
  }

  body.company.philosophy main section article ul > li {
    font-size: 120%;
  }

  body.company.philosophy main section p.subText {
    font-size: 120%;
    margin: 30px auto 0 auto;
  }

  body.company.philosophy main section p.subText > span {
    font-size: 83.3%; /* 10px */
  }

  body.company.philosophy main section.logo {
    padding: 30px 0 50px 0;
  }

  body.company.philosophy main section.logo article:first-of-type {
    display: block;
  }

  body.company.philosophy
    main
    section.logo
    article:first-of-type
    > div:first-of-type {
    text-align: center;
  }

  body.company.philosophy
    main
    section.logo
    article:first-of-type
    > div:last-of-type {
    margin-top: 30px;
    margin-left: 0;
  }

  body.company.philosophy
    main
    section.logo
    article:first-of-type
    > div:last-of-type
    > p {
    font-size: 120%;
    line-height: 2;
  }

  body.company.philosophy main section.logo article:last-of-type > h3 {
    font-size: 140%;
    margin-bottom: 25px;
    padding: 10px;
  }

  body.company.philosophy
    main
    section.logo
    article:last-of-type
    > div:first-of-type {
    width: 100%;
    float: none;
  }

  body.company.philosophy
    main
    section.logo
    article:last-of-type
    > div:last-of-type {
    margin-top: 15px;
    float: none;
  }

  body.company.philosophy main section.logo article:last-of-type > div > p {
    font-size: 120%;
  }

  body.company.philosophy
    main
    section.logo
    article:last-of-type
    > div
    > p:last-of-type {
    padding: 10px;
  }

  body.company.philosophy
    main
    section.logo
    article:last-of-type
    > div:last-of-type
    > img {
    width: 100%;
    height: auto;
  }

  body.company.story main div.visual {
    width: 100%;
    height: auto;
    display: block;
  }

  body.company.story main div.visual.v01 {
    background-image: none;
    margin-top: 30px;
  }
  body.company.story main div.visual.v02,
  body.company.story main div.visual.v03 {
    background-image: none;
  }

  body.company.story main div.visual.v03 {
    margin-top: 0;
  }

  body.company.story main div.visual:before {
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 0;
    padding-top: 35%;
    margin-bottom: 30px;
    display: block;
  }

  body.company.story main div.visual.v01:before {
    background-image: url(../images/page/company/president_visual01.jpg);
  }
  body.company.story main div.visual.v02:before {
    background-image: url(../images/page/company/president_visual02.jpg);
  }
  body.company.story main div.visual.v03:before {
    background-image: url(../images/page/company/president_visual03.jpg);
  }

  body.company.story main div.visual > div {
    width: 100%;
    padding: 0 5%;
  }

  body.company.story main div.visual.v02 > div {
    padding-left: 5%;
  }

  body.company.story main div.visual > div > p {
    font-size: 180%;
  }

  body.company.story main div.visual > div > p.small {
    font-size: 120%;
    margin-top: 10px;
    text-align: right;
  }

  body.company.story main section.content {
    padding: 30px 0;
  }

  body.company.story main section.content article {
    width: 100%;
  }

  body.company.story main section.content article + article {
    margin-top: 30px;
  }

  body.company.story main section.content article h2 {
    font-size: 180%;
    margin: 0 auto 10px;
    text-indent: -0.5em;
    padding-left: 1em;
  }

  body.company.story main section.content article h2:before {
    content: "\002015";
  }

  body.company.story main section.content article > div {
    display: block;
  }

  body.company.story main section.content article > div > div {
    width: 100%;
  }

  body.company.story main section.content article > div > div > p {
    font-size: 120%;
  }

  body.company.story main section.content article > div > ul {
    width: 100%;
    height: auto;
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  body.company.story main section.content article > div > ul.heightAdjust {
    height: auto !important;
  }

  body.company.story main section.content article > div > ul > li {
    width: 48%;
    font-size: 100%;
  }

  body.company.story main section.content article > div > ul > li.spWide {
    width: 100%;
  }

  body.company.story main section.content article > div > ul > li + li {
    margin-top: 0;
  }

  body.company.story main section.content article > div > ul > li > img {
    width: 100%;
    height: auto;
  }

  body.company.story main section.content article > div > ul > li.spWide {
    margin-top: 10px;
  }

  body.company.story main section.content article > div > ul > li.spWide > img {
    width: 49%;
    float: left;
  }

  body.company.story main section.content article > div > ul > li > img + img {
    margin-top: 0;
    margin-left: 2%;
  }

  body.company.profile main section article {
    width: 100%;
  }

  body.company.profile main section article table tr th {
    width: 100%;
    font-size: 120%;
    text-align: left;
    -moz-text-align-last: auto;
    text-align-last: auto;
    padding: 15px 10px;
    display: block;
    box-sizing: border-box;
    border-top: 1px #dcdddd solid;
  }

  body.company.profile main section article:last-of-type table tr th {
    padding: 15px 10px;
  }

  body.company.profile main section article table tr td {
    width: 100%;
    font-size: 120%;
    padding: 15px 10px;
    display: block;
  }

  body.company.profile main section article table tr:last-of-type th {
    border-bottom: none;
  }

  body.company.profile main section article table tr td {
    border-top: none;
  }

  body.company.profile main section article.officer {
    padding: 10px 0;
  }

  body.company.profile main section article.officer > div:first-of-type {
    width: 100px;
  }

  body.company.profile main section article.officer > div:last-child {
    width: calc(100% - 100px);
    padding: 15px 0 0 20px;
  }

  body.company.profile main section article.officer > div:last-child > h3 {
    font-size: 120%;
    line-height: 1.2;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }

  body.company.profile main section article.officer > div:last-child > h3 span {
    font-size: 133.3%; /* 16px */
  }

  body.company.profile main section article.officer > div:last-child > p {
    font-size: 90%;
  }

  body.company.history main section article {
    width: 100%;
  }

  body.company.history main section article + article {
    margin-top: 50px;
  }

  body.company.history main section article > h2 {
    font-size: 140%;
    margin-bottom: 15px;
    padding: 10px;
  }

  body.company.history main section article > p {
    font-size: 120%;
  }

  body.company.history main section article > h3 {
    font-size: 160%;
    padding: 20px 5px;
  }

  body.company.history main section article > h3:first-of-type {
    margin-top: 20px;
  }

  body.company.history main section article > h3:after {
    width: 7px;
    height: 7px;
    border-right: 2px #989898 solid;
    border-bottom: 2px #989898 solid;
    right: 20px;
    margin-top: -6px;
  }

  body.company.history main section article table {
    margin: 0 auto 20px auto;
  }

  body.company.history main section article table tr td {
    font-size: 120%;
    padding: 5px 10px;
  }

  body.company.history main section article table tr > td:first-of-type {
    width: 30px;
  }

  body.company.history main section article table tr > td:nth-of-type(2) {
    width: 20px;
  }

  body.company.history main section article table tr > td:last-of-type {
    padding-left: 20px;
  }

  body.company.group main section article h2 {
    font-size: 180%;
    margin: 0 auto 25px auto;
  }

  body.company.group main section article > .icon {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
  }

  body.company.group main section article > .icon > li {
    width: 20%;
    min-width: 95px;
    font-size: 100%;
    margin: 0 2.5%;
  }

  body.company.group main section article > .icon > li + li:not(:first-child) {
    margin-left: 0;
  }

  body.company.group main section article > .icon > li a:before {
    width: 60px;
    height: 60px;
  }

  body.company.group main section article > .icon > li:nth-of-type(4) a:before {
    width: 80px;
  }

  body.company.group main section.bgColor div.wrapper > ul.case {
    margin-bottom: 30px;
  }

  body.company.group main section.bgColor div.wrapper > ul.case > li {
    font-size: 120%;
    margin-right: 30px;
  }

  body.company.group main section.bgColor div.wrapper > ul.case > li:before {
    width: 30px;
    height: 14px;
    vertical-align: -2px;
    margin-right: 5px;
  }

  body.company.group main section.bgColor div.groupBlock {
    width: 100%;
    display: block;
  }

  body.company.group
    main
    section.bgColor
    div.groupBlock
    + div.groupBlock:not(:nth-of-type(3n + 1)) {
    margin-left: 0;
  }

  body.company.group main section.bgColor div.groupBlock + div.groupBlock {
    margin-top: 15px;
  }

  body.company.group main section.bgColor div.groupBlock > ul {
    padding: 0 5px;
  }

  body.company.group main section.bgColor div.groupBlock > ul > li {
    display: inline-block;
    padding: 5px 0;
  }

  body.company.group main section.bgColor div.groupBlock > ul > li + li {
    margin-left: 5px;
  }

  body.company.group main section.bgColor div.groupBlock > ul > li > img {
    height: 20px;
  }

  body.company.group main section.bgColor div.groupBlock > div {
    padding: 15px;
  }

  body.company.group main section.bgColor div.groupBlock > div > img {
    max-width: 100%;
    display: block;
    margin: 10px auto 20px auto;
  }

  body.company.group
    main
    section.bgColor
    .wrapper:last-of-type
    div.groupBlock:last-of-type
    > div
    > img {
    margin: 10px auto 20px auto;
  }

  body.company.group main section.bgColor div.groupBlock > div > dl > dt {
    font-size: 180%;
  }

  body.company.group main section.bgColor div.groupBlock > div > dl > dd {
    font-size: 120%;
  }

  body.company.group main section.bgColor div.groupBlock > div > p {
    position: static;
    margin-top: 15px;
  }

  body.company.group main section.bgColor div.groupBlock > div > p > a {
    font-size: 120%;
  }

  body.company.group main section.bgColor h2.serviceH2 {
    font-size: 180%;
    margin: 50px auto 15px 0;
  }

  body.company.map main section article + article {
    margin-top: 25px;
  }

  body.company.map main section article h2 {
    font-size: 180%;
  }

  body.company.map main section article > div {
    margin: 15px auto 0 auto;
  }

  body.company.map main section.bgColor + section.bgColor {
    margin-top: 15px;
  }

  body.company.governance main section article + article {
    margin-top: 50px;
  }

  body.company.governance main section article dl {
    margin-top: 30px;
  }

  body.company.governance main section article dl dt {
    font-size: 140%;
  }

  body.company.governance main section article dl dd {
    font-size: 120%;
  }
  body.company.governance main section article ul {
    margin: 15px 0;
  }
  body.company.governance main section article ul > li {
    font-size: 120%;
    border-top: 1px #e6e6e6 solid;
    border-bottom: none;
  }
  body.company.governance main section article.philosophy p {
    margin-bottom: 30px;
  }
  body.company.governance main section article.philosophy img {
    margin-bottom: 10px;
  }
  body.company.governance main section article.philosophy .author {
    margin-bottom: 10px;
    font-size: 100%;
    float: none;
  }
  body.company.governance main section article ul > li:last-of-type {
    border-bottom: 1px #e6e6e6 solid;
  }
  body.company.governance main section article ul > li > a {
    padding: 15px 5px;
  }
  body.company.governance main section article ul > li > .pdf::after {
    width: 13.5px;
    height: 17.5px;
    right: 5px;
    margin-top: -8.75px;
  }

  body.company.compliance main section article + article {
    margin-top: 50px;
  }

  body.company.compliance main section article ul {
    margin-top: 15px;
  }
  body.company.compliance main section article ul li {
    font-size: 120%;
    border-top: 1px #e6e6e6 solid;
    border-bottom: none;
  }

  body.company.compliance main section article ul.split > li {
    width: 100%;
    float: none;
  }

  body.company.compliance main section article ul.split > li:nth-of-type(even) {
    margin-left: 0;
  }

  body.company.compliance main section article ul.split > li:nth-of-type(n + 3),
  body.company.compliance main section article ul > li + li {
    border-top: 1px #e6e6e6 solid;
  }

  body.company.compliance main section article ul.split > li:last-of-type,
  body.company.compliance main section article ul > li:last-of-type {
    border-bottom: 1px #e6e6e6 solid;
  }

  body.company.compliance main section article ul > li > a {
    padding: 15px 5px;
  }

  body.company.compliance main section article ul > li > a:after {
    width: 18.75px;
    height: 8.5px;
    right: 5px;
    margin-top: -4.25px;
  }

  body.company.compliance main section article ul > li > a.pdf:after {
    width: 13.5px;
    height: 17.5px;
    right: 5px;
    margin-top: -8.75px;
  }
}

/* サービス紹介
------------------------------------------------------ */

body.service main div#catTitle {
  background-image: url(../images/page/service/bg_service.jpg);
}
body.service.resource-circulation.recycle main div#catTitle {
  background-image: url(../images/page/service/bg_recycle.jpg);
}
body.service.resource-circulation.remanufacturing main div#catTitle {
  background-image: url(../images/page/service/bg_reproduct.jpg);
}
body.service.resource-circulation.reuse main div#catTitle {
  background-image: url(../images/page/service/bg_reuse.jpg);
}
body.service.trading main div#catTitle {
  background-image: url(../images/page/service/bg_trading.jpg);
}
body.service.lithium-ion-battery main div#catTitle {
  background-image: url(../images/page/service/bg_lithium.jpg);
}
body.service.renewable-energy main div#catTitle {
  background-image: url(../images/page/service/bg_renewable-energy.jpg);
}
body.service.resource-circulation.social-business main div#catTitle {
  background-image: url(../images/page/service/bg_social-business.jpg);
}
body.service.consulting main div#catTitle {
  background-image: url(../images/page/service/bg_consulting.jpg);
}
body.service.disposal-management main div#catTitle {
  background-image: url(../images/page/service/bg_disposal-management.jpg);
}
body.service.resource-circulation main div#catTitle {
  background-image: url(../images/page/service/bg_resource-circulation.jpg);
}
body.service.used-car main div#catTitle {
  background-image: url(../images/page/service/bg_used-car.jpg);
}
body.service.welfare-service main div#catTitle {
  background-image: url(../images/page/service/bg_welfare-service.jpg);
}

body.service main section#serviceTop {
  text-align: center;
  padding: 60px 0;
}

body.service main section#serviceTop h2 {
  font-size: 280%;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 30px;
}

body.service main section#serviceTop p {
  font-size: 180%;
  line-height: 2;
}

body.service main section#serviceTop img {
  width: auto;
  max-width: 100%;
  display: block;
  margin: 60px auto 0 auto;
}

body.service main section.bgColor + section.bgColor {
  text-align: center;
  border-top: 2px #ffffff solid;
}

body.service main section.bgColor article > h2 {
  font-size: 280%;
  font-weight: bold;
  text-align: center;
  margin-bottom: 60px;
}
body.service main section.bgColor article > h2.sub {
  color: #16a72f;
}

body.service main section.bgColor article > p {
  font-size: 180%;
  line-height: 2;
  margin-top: 30px;
}

body.service main section.bgColor article > ul.icon {
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: space-between;
}

body.service main section.bgColor article > ul.icon > li {
  width: auto;
  height: auto;
  font-size: 160%;
  font-weight: bold;
  line-height: 1.25;
  align-self: stretch;
  overflow-y: hidden;
}

body.service main section.bgColor article > ul.icon > li > a {
  color: #000000;
  transition: 0.3s;
}

body.service main section.bgColor article > ul.icon > li > a:hover {
  opacity: 0.8;
}

body.service main section.bgColor article > ul.icon > li > a:before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 120px;
  height: 120px;
  display: block;
  margin: 0 auto;
}
body.service
  main
  section.bgColor
  article
  > ul.icon
  > li:first-of-type
  > a:before {
  background-image: url(../images/page/service/serviceIcon01.png);
  margin-bottom: 0.5em;
}
body.service
  main
  section.bgColor
  article
  > ul.icon
  > li:nth-of-type(2)
  > a:before {
  background-image: url(../images/page/service/serviceIcon02.png);
  margin-bottom: 0.5em;
}
body.service
  main
  section.bgColor
  article
  > ul.icon
  > li:nth-of-type(3)
  > a:before {
  background-image: url(../images/page/service/serviceIcon03.png);
  margin-bottom: 0.5em;
}
body.service
  main
  section.bgColor
  article
  > ul.icon
  > li:nth-of-type(4)
  > a:before {
  background-image: url(../images/page/service/serviceIcon04.png);
}
body.service
  main
  section.bgColor
  article
  > ul.icon
  > li:nth-of-type(5)
  > a:before {
  background-image: url(../images/page/service/serviceIcon05.png);
  width: 160px;
}

body.service main section.bgColor article > ul.icon + p {
  margin: 30px auto 0 auto;
}

body.service main section.bgColor ul.category {
  width: 100%;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
}

body.service main section.bgColor ul.category li {
  width: 408px;
  height: auto;
  float: left;
}

body.service
  main
  section.bgColor
  ul.category
  li
  + li:not(:nth-of-type(3n + 1)) {
  margin-left: 28px;
}

body.service main section.bgColor ul.category li + li:nth-of-type(n + 4) {
  margin-top: 28px;
}

body.service main section.bgColor ul.category li a {
  width: 100%;
  height: 100%;
  display: block;
  transition: 0.3s;
}

body.service main section.bgColor ul.category li a:hover {
  opacity: 0.8;
}

body.service main section.bgColor ul.category li a div:first-of-type {
  background-color: #ffc;
  width: auto;
  height: auto;
  box-sizing: border-box;
}

body.service main section.bgColor ul.category li a div:first-of-type img {
  width: 100%;
  height: auto;
}

body.service main section.bgColor ul.category li a div:last-of-type {
  background-color: #ffffff;
  text-align: left;
  padding: 25px;
  box-sizing: border-box;
}

body.service main section.bgColor ul.category li a div:last-of-type h3 {
  color: #16a72f;
  font-size: 240%;
  line-height: 2;
}

body.service main section.bgColor ul.category li a div:last-of-type p {
  color: #000000;
  font-size: 180%;
  line-height: 1.5;
}

body.service
  main
  section.bgColor
  ul.category
  li
  a
  div:last-of-type
  p:last-of-type {
  color: #5a7e89;
  font-size: 160%;
  margin-top: 1em;
}

body.service
  main
  section.bgColor
  ul.category
  li
  a
  div:last-of-type
  p:last-of-type:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px #5a7e89 solid;
  border-right: 2px #5a7e89 solid;
  margin-left: 10px;
  margin-right: -5px;
  display: inline-block;
  transform: rotate(45deg);
}

body.service main section.bgColor article ul.links {
  width: 100%;
}

body.service main section.bgColor article ul.links > li {
  background-color: #ffffff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 322px;
  height: 400px;
  padding: 40px 0;
  float: left;
  border: 3px #16a72f solid;
  border-radius: 8px;
  box-sizing: border-box;
  position: relative;
}
body.service main section.bgColor article ul.links > li:first-of-type {
  background-image: url(../images/page/service/serviceContent01.jpg);
}
body.service main section.bgColor article ul.links > li:nth-of-type(2) {
  background-image: url(../images/page/service/serviceContent02.jpg);
}
body.service main section.bgColor article ul.links > li:nth-of-type(3) {
  background-image: url(../images/page/service/serviceContent03.jpg);
}
body.service main section.bgColor article ul.links > li:last-of-type {
  background-image: url(../images/page/service/serviceContent04.jpg);
}

body.service main section.bgColor article ul.links > li + li {
  margin-left: -3px;
}

body.service main section.bgColor article ul.links > li > p {
  font-size: 280%;
  font-weight: bold;
  line-height: 1.5;
}

body.service main section.bgColor article ul.links > li > a {
  color: #ffffff;
  background-color: #16a72f;
  width: 220px;
  height: auto;
  font-size: 160%;
  text-align: center;
  text-decoration: none;
  margin: 0px auto;
  padding: 15px 10px;
  display: block;
  border: 1px #16a72f solid;
  box-sizing: border-box;
  transition: 0.3s;
  position: absolute;
  bottom: -23px;
  left: 50%;
  margin-left: -110px;
}

body.service main section.bgColor article ul.links > li > a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
  margin-left: 10px;
  margin-right: -5px;
  display: inline-block;
  transform: rotate(45deg);
  transition: 0.3s;
}

body.service main section.bgColor article ul.links > li > a:hover {
  color: #16a72f;
  background-color: #ffffff;
}

body.service main section.bgColor article ul.links > li > a:hover:after {
  border-top: 2px #16a72f solid;
  border-right: 2px #16a72f solid;
}

body.service div#title h1:before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 60px;
  height: 60px;
  display: inline-block;
  padding-right: 20px;
  vertical-align: middle;
}
body.service.resource-circulation div#title h1:before {
  background-image: url(../images/page/service/serviceIcon01.png);
}
body.service.reproduct div#title h1:before {
  background-image: url(../images/page/service/serviceIcon02.png);
}
body.service.trading div#title h1:before {
  background-image: url(../images/page/top/topService_field_icon02.png);
}
body.service.used-car div#title h1:before {
  background-image: url(../images/page/service/serviceIcon03.png);
}
body.service.lithium-ion-battery div#title h1:before {
  background-image: url(../images/page/top/topService_field_icon03.png);
}
body.service.consulting div#title h1:before {
  background-image: url(../images/page/service/serviceIcon04.png);
  width: 80px;
}
body.service.welfare-service div#title h1:before {
  background-image: url(../images/page/service/serviceIcon05.png);
  width: 80px;
}

body.service main section.intro {
  padding-right: 30px;
  padding-left: 30px;
}

body.service main section div.serviceCatText {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

body.service main section div.serviceCatText p {
  width: 640px;
  font-size: 180%;
  line-height: 2;
}

body.service main section div.serviceCatText img {
  width: auto;
  max-width: 560px;
  height: auto;
  display: block;
}

body.service main section.serviceDetail article ul {
  display: flex;
  justify-content: center;
  margin: 20px auto;
}

body.service main section.serviceDetail article ul > li {
  font-size: 160%;
  padding: 0 10px;
  border-left: 1px #000000 solid;
}

body.service main section.serviceDetail article ul > li:last-of-type {
  border-right: 1px #000000 solid;
}

body.service main section.serviceDetail article ul > li > a {
  color: #000000;
}

body.service main section.serviceDetail article ul > li > a:hover {
  color: #16a72f;
}

body.service main section.serviceDetail article div.detail {
  width: 100%;
  height: auto;
  background-color: #ffffff;
  margin-top: 50px;
  padding: 40px;
  box-sizing: border-box;
  position: relative;
}

body.service main section.serviceDetail article div.detail.add {
  border: 2px #16a72f solid;
}

body.service main section.serviceDetail article div.detail.add:after {
  content: "";
  background-image: url(../images/page/service/icon_add.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 120px;
  height: 120px;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}

body.service main section.serviceDetail article div.detail.link {
  padding: 40px 80px;
}

body.service main section.serviceDetail article div.detail.link:after {
  content: "";
  width: 14px;
  height: 14px;
  border-top: 3px #16a72f solid;
  border-right: 3px #16a72f solid;
  position: absolute;
  top: 50%;
  right: 80px;
  margin-top: -12px;
  display: block;
  transform: rotate(45deg);
}

body.service main section.serviceDetail article div.detail h3 {
  color: #16a72f;
  font-size: 240%;
  margin-bottom: 20px;
}

body.service main section.serviceDetail article div.detail > div {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

body.service main section.serviceDetail article div.detail.link > div {
  align-items: center;
}

body.service main section.serviceDetail article div.detail > div > img {
  width: auto;
  max-width: 516px;
  height: auto;
  display: block;
}

body.service main section.serviceDetail article div.detail.link > div > img {
  width: auto;
}

body.service main section.serviceDetail article div.detail > div > p {
  width: 620px;
  font-size: 160%;
  line-height: 2;
}

body.service main section.serviceDetail article div.detail.link > div > p {
  width: 700px;
}

body.service main section.serviceDetail article div.detail > div > p > a {
  color: #468eaf;
}

body.service main section.serviceDetail article div.detail > div > p > a:hover {
  opacity: 0.8;
}

body.service.lithium-ion-battery
  main
  section.serviceDetail
  article
  div.detail#service04 {
  border: 2px solid #16a72f;
  position: relative;
}

body.service.lithium-ion-battery
  main
  section.serviceDetail
  article
  div.detail#service04::before {
  content: "";
  width: 123px;
  height: 123px;
  background: url(../images/page/service/icon_next.png) 0 0 no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
}

body.service main section img {
  max-width: 100%;
  height: auto;
}

body.service main section.bgColor article > ul.icon {
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  body.service main section#serviceTop {
    padding: 30px 0;
  }

  body.service main section#serviceTop h2 {
    font-size: 160%;
    margin-bottom: 15px;
  }

  body.service main section#serviceTop p {
    font-size: 120%;
  }

  body.service main section#serviceTop img {
    margin: 30px auto 0 auto;
  }

  body.service main section.bgColor + section.bgColor {
    border-top: 1px #ffffff solid;
  }

  body.service main section.bgColor article > h2 {
    font-size: 180%;
    margin-bottom: 30px;
  }

  body.service main section.bgColor article > p {
    font-size: 120%;
    margin-top: 15px;
  }

  body.service main section.bgColor article > ul.icon {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
  }

  body.service main section.bgColor article > ul.icon > li {
    width: 20%;
    min-width: 80px;
    font-size: 100%;
    margin: 0 2.5%;
  }

  body.service main section.bgColor article > ul.icon > li > a:before {
    width: 60px;
    height: 60px;
  }

  body.service
    main
    section.bgColor
    article
    > ul.icon
    > li:nth-of-type(5)
    > a:before,
  body.service
    main
    section.bgColor
    article
    > ul.icon
    > li:nth-of-type(6)
    > a:before,
  body.service
    main
    section.bgColor
    article
    > ul.icon
    > li:last-of-type
    > a:before {
    width: 80px;
  }

  body.service main section.bgColor article > ul.icon + p {
    width: 100%;
    margin: 15px auto 0 auto;
  }

  body.service main section.bgColor ul.category {
    width: 80%;
    margin: 0 auto;
    display: block;
  }

  body.service main section.bgColor ul.category li {
    width: 100%;
    height: auto;
    float: none;
  }

  body.service
    main
    section.bgColor
    ul.category
    li
    + li:not(:nth-of-type(3n + 1)) {
    margin-left: 0;
  }

  body.service main section.bgColor ul.category li + li:nth-of-type(n + 4) {
    margin-top: 30px;
  }

  body.service main section.bgColor ul.category li + li {
    margin-top: 30px;
  }

  body.service main section.bgColor ul.category li a div:last-of-type {
    padding: 10px;
  }

  body.service main section.bgColor ul.category li a div:last-of-type h3 {
    font-size: 170%;
  }

  body.service main section.bgColor ul.category li a div:last-of-type p {
    font-size: 140%;
  }

  body.service
    main
    section.bgColor
    ul.category
    li
    a
    div:last-of-type
    p:last-of-type {
    font-size: 120%;
  }

  body.service
    main
    section.bgColor
    ul.category
    li
    a
    div:last-of-type
    p:last-of-type:after {
    width: 5px;
    height: 5px;
    border-top: 1px #5a7e89 solid;
    border-right: 1px #5a7e89 solid;
    margin-left: 5px;
    margin-right: -2.5px;
  }

  body.service main section.bgColor article ul.links > li {
    background-size: contain;
    width: 50%;
    height: 260px;
    padding: 20px 0;
    border: 3px #16a72f solid;
  }

  body.service main section.bgColor article ul.links > li + li {
    margin-left: 0;
  }

  body.service main section.bgColor article ul.links > li:nth-of-type(even) {
    margin-left: -3px;
  }

  body.service main section.bgColor article ul.links > li:nth-of-type(n + 3) {
    margin-top: 34px;
  }

  body.service main section.bgColor article ul.links > li > p {
    font-size: 170%;
  }

  body.service main section.bgColor article ul.links > li > a {
    width: 120px;
    font-size: 120%;
    padding: 10px 5px;
    bottom: -17px;
    margin-left: -60px;
  }

  body.service main section.bgColor article ul.links > li > a:after {
    width: 5px;
    height: 5px;
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
    margin-left: 5px;
    margin-right: -5px;
  }

  body.service main section.bgColor article ul.links > li > a:hover:after {
    border-top: 1px #16a72f solid;
    border-right: 1px #16a72f solid;
  }

  body.service div#title h1:before {
    width: 30px;
    height: 30px;
    padding-right: 10px;
  }
  body.service.renewable-energy div#title h1:before {
    width: 40px;
  }
  body.service.social-business div#title h1:before {
    width: 40px;
  }
  body.service.consulting div#title h1:before {
    width: 40px;
  }
  body.service.welfare-service div#title h1:before {
    width: 40px;
  }
  body.service main section div.serviceCatText {
    display: block;
  }

  body.service main section div.serviceCatText p {
    width: 100%;
    font-size: 120%;
  }

  body.service main section div.serviceCatText img {
    width: 100%;
    max-width: 516px;
    margin: 30px auto 0 auto;
    height: auto;
    display: block;
  }

  body.service main section.serviceDetail article ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 10px auto;
  }

  body.service main section.serviceDetail article ul > li {
    width: 50%;
    font-size: 120%;
    padding: 0 5px;
    box-sizing: border-box;
  }

  body.service main section.serviceDetail article ul > li:nth-of-type(even) {
    border-right: 1px #000000 solid;
  }

  body.service main section.serviceDetail article ul > li:nth-of-type(n + 3) {
    margin-top: 10px;
  }

  body.service main section.serviceDetail article div.detail {
    margin-top: 25px;
    padding: 20px;
  }

  body.service main section.serviceDetail article div.detail.add:after {
    width: 80px;
    height: 80px;
  }

  body.service main section.serviceDetail article div.detail.link {
    padding: 20px 40px;
  }

  body.service main section.serviceDetail article div.detail.link:after {
    width: 7px;
    height: 7px;
    border-top: 2px #16a72f solid;
    border-right: 2px #16a72f solid;
    right: 20px;
    margin-top: -3.5px;
  }

  body.service main section.serviceDetail article div.detail h3 {
    font-size: 180%;
    margin-bottom: 10px;
  }

  body.service main section.serviceDetail article div.detail.add h3 {
    padding-right: 60px;
  }

  body.service main section.serviceDetail article div.detail > div {
    display: block;
  }

  body.service main section.serviceDetail article div.detail > div > img {
    width: auto;
    max-width: 100%;
    margin: 10px auto;
  }

  body.service main section.serviceDetail article div.detail > div > p {
    width: 100%;
    font-size: 120%;
  }

  body.service main section.serviceDetail article div.detail.link > div > p {
    width: 100%;
  }

  body.service div#title h1:before {
    width: 30px;
    height: 30px;
    padding-right: 10px;
  }
  body.service.renewable-energy div#title h1:before {
    width: 40px;
  }
  body.service.social-business div#title h1:before {
    width: 40px;
  }
  body.service.consulting div#title h1:before {
    width: 40px;
  }
  body.service.welfare-service div#title h1:before {
    width: 40px;
  }

  body.service main section.intro {
    padding-right: 0;
    padding-left: 0;
  }

  body.service main section div.serviceCatText {
    display: block;
  }

  body.service main section div.serviceCatText p {
    width: 100%;
    font-size: 120%;
  }

  body.service main section div.serviceCatText img {
    width: 100%;
    max-width: 516px;
    margin: 30px auto 0 auto;
    height: auto;
    display: block;
  }

  body.service main section.serviceDetail article ul {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 10px auto;
  }

  body.service main section.serviceDetail article ul > li {
    width: 50%;
    font-size: 120%;
    padding: 0 5px;
    box-sizing: border-box;
  }

  body.service main section.serviceDetail article ul > li:nth-of-type(even) {
    border-right: 1px #000000 solid;
  }

  body.service main section.serviceDetail article ul > li:nth-of-type(n + 3) {
    margin-top: 10px;
  }

  body.service main section.serviceDetail article div.detail {
    margin-top: 25px;
    padding: 20px;
  }

  body.service main section.serviceDetail article div.detail.add:after {
    width: 80px;
    height: 80px;
  }

  body.service main section.serviceDetail article div.detail.link {
    padding: 20px 40px;
  }

  body.service main section.serviceDetail article div.detail.link:after {
    width: 7px;
    height: 7px;
    border-top: 2px #16a72f solid;
    border-right: 2px #16a72f solid;
    right: 20px;
    margin-top: -3.5px;
  }

  body.service main section.serviceDetail article div.detail h3 {
    font-size: 180%;
    margin-bottom: 10px;
  }

  body.service main section.serviceDetail article div.detail.add h3 {
    padding-right: 60px;
  }

  body.service main section.serviceDetail article div.detail > div {
    display: block;
  }

  body.service main section.serviceDetail article div.detail > div > img {
    width: auto;
    max-width: 100%;
    margin: 10px auto;
  }

  body.service main section.serviceDetail article div.detail > div > p {
    width: 100%;
    font-size: 120%;
  }

  body.service main section.serviceDetail article div.detail.link > div > p {
    width: 100%;
  }

  body.service.lithium-ion-battery
    main
    section.serviceDetail
    article
    div.detail#service04::before {
    width: 60px;
    height: 60px;
  }
}

/* サイト改修 */
body.service main section.service {
  text-align: center;
}

body.service main section.service h2.title {
  font-weight: 700;
}

body.service main section.service .lead {
  font-size: 180%;
  line-height: 2;
  margin-top: 30px;
}

body.service main section.service ul.field {
  margin: 50px 0 -40px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}

body.service main section.service ul.field li {
  width: 400px;
  margin-bottom: 40px;
}

body.service main section.service ul.field li .fieldThumb {
  height: 200px;
  overflow: hidden;
}

body.service main section.service ul.field li .fieldThumb img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

body.service main section.service ul.field li a {
  width: 100%;
  height: 100%;
  color: inherit;
  background: #fff;
  position: relative;
  display: inline-block;
  transition: opacity 0.3s;
}

body.service main section.service ul.field li a:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 40px;
  border-color: transparent transparent #16a72f transparent;
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
}

body.service main section.service ul.field li a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: inline-block;
}

body.service main section.service ul.field li .fieldInr {
  padding-bottom: 35px;
}

body.service main section.service ul.field li .fieldInr:before {
  content: "";
  width: 83px;
  height: 83px;
  margin: 25px auto;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}

body.service main section.service ul.field li:nth-child(1) .fieldInr:before {
  background-image: url(../images/page/top/topService_field_icon01.png);
}

body.service main section.service ul.field li:nth-child(2) .fieldInr:before {
  background-image: url(../images/page/top/topService_field_icon02.png);
}

body.service main section.service ul.field li:nth-child(3) .fieldInr:before {
  background-image: url(../images/page/top/topService_field_icon03.png);
}

body.service main section.service ul.field li:nth-child(4) .fieldInr:before {
  background-image: url(../images/page/service/serviceIcon04.png);
}

body.service main section.service ul.field li:nth-child(5) .fieldInr:before {
  background-image: url(../images/page/service/serviceIcon05.png);
}

body.service main section.service ul.field li .fieldTtl {
  font-size: 220%;
  font-weight: 500;
}

body.service main section.service ul.field li .fieldSub {
  font-size: 120%;
  line-height: 1.3;
  color: #16a72f;
  margin-top: 5px;
}

body.service main section.service ul.field li .fieldTtxt {
  font-size: 160%;
  line-height: 1.5;
  margin-top: 25px;
}

body.service main section.service ul.field li.fieldCol2 {
  width: 620px;
}

body.service main section.service ul.field li.fieldCol2 a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}

body.service main section.service ul.field li.fieldCol2 .fieldThumb {
  width: 250px;
  height: 100%;
}

body.service main section.service ul.field li.fieldCol2 .fieldThumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.service main section.service ul.field li.fieldCol2 .fieldInr {
  flex: 1;
}

body.service main section.service ul.field li.fieldCol2 .fieldInr:before {
  width: 120px;
  height: 90px;
}

body.service main section.service ul.field li a:hover {
  opacity: 0.8;
}

body.service main section.serviceIndex {
  text-align: center;
}

body.service main section.serviceIndex h2.title {
  font-weight: 700;
}

body.service main section.serviceIndex ul.links {
  width: 100%;
}

body.service main section.serviceIndex ul.links > li {
  background-color: #ffffff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 322px;
  height: 400px;
  padding: 40px 0;
  float: left;
  border: 3px #16a72f solid;
  border-radius: 8px;
  box-sizing: border-box;
  position: relative;
}
body.service main section.serviceIndex ul.links > li:first-of-type {
  background-image: url(../images/page/service/serviceContent01.jpg);
}
body.service main section.serviceIndex ul.links > li:nth-of-type(2) {
  background-image: url(../images/page/service/serviceContent02.jpg);
}
body.service main section.serviceIndex ul.links > li:nth-of-type(3) {
  background-image: url(../images/page/service/serviceContent03.jpg);
}
body.service main section.serviceIndex ul.links > li:last-of-type {
  background-image: url(../images/page/service/serviceContent04.jpg);
}

body.service main section.serviceIndex ul.links > li + li {
  margin-left: -3px;
}

body.service main section.serviceIndex ul.links > li > p {
  font-size: 280%;
  font-weight: bold;
  line-height: 1.5;
}

body.service main section.serviceIndex ul.links > li > a {
  color: #ffffff;
  background-color: #16a72f;
  width: 220px;
  height: auto;
  font-size: 160%;
  text-align: center;
  text-decoration: none;
  margin: 0px auto;
  padding: 15px 10px;
  display: block;
  border: 1px #16a72f solid;
  box-sizing: border-box;
  transition: 0.3s;
  position: absolute;
  bottom: -23px;
  left: 50%;
  margin-left: -110px;
}

body.service main section.serviceIndex ul.links > li > a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
  margin-left: 10px;
  margin-right: -5px;
  display: inline-block;
  transform: rotate(45deg);
  transition: 0.3s;
}

body.service main section.serviceIndex ul.links > li > a:hover {
  color: #16a72f;
  background-color: #ffffff;
}

body.service main section.serviceIndex ul.links > li > a:hover:after {
  border-top: 2px #16a72f solid;
  border-right: 2px #16a72f solid;
}

@media screen and (min-width: 769px) and (max-width: 1360px) {
  body.service
    main
    section.serviceIndex
    div#serviceSlider
    ul.flex-direction-nav {
    display: none;
  }
}

body.service
  main
  section.serviceIndex
  div#serviceSlider
  ul.flex-direction-nav
  li {
  position: relative;
}

body.service
  main
  section.serviceIndex
  div#serviceSlider
  ul.flex-direction-nav
  li:first-of-type
  a {
  width: 14px;
  height: 14px;
  font-size: 0;
  display: block;
  border-top: 3px #989898 solid;
  border-left: 3px #989898 solid;
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  left: -10px;
  margin-top: -14px;
  z-index: 10;
}

body.service
  main
  section.serviceIndex
  div#serviceSlider
  ul.flex-direction-nav
  li:last-of-type
  a {
  width: 14px;
  height: 14px;
  font-size: 0;
  display: block;
  border-top: 3px #989898 solid;
  border-right: 3px #989898 solid;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: -10px;
  margin-top: -14px;
  z-index: 10;
}

@media screen and (max-width: 768px) {
  body.service main section.service h2.title {
    font-size: 160%;
  }

  body.service main section.service .lead {
    font-size: 140%;
    line-height: 1.6;
    text-align: left;
    margin-top: 15px;
  }

  body.service main section.service ul.field {
    margin: 30px 0 -20px;
    display: block;
  }

  body.service main section.service ul.field li {
    width: 100%;
    margin-bottom: 20px;
  }

  body.service main section.service ul.field li .fieldThumb {
    height: 150px;
  }

  body.service main section.service ul.field li .fieldInr {
    padding-bottom: 20px;
  }

  body.service main section.service ul.field li .fieldInr:before {
    width: 60px;
    height: 60px;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  body.service main section.service ul.field li .fieldTtl {
    font-size: 180%;
  }

  body.service main section.service ul.field li .fieldSub {
    font-size: 100%;
  }

  body.service main section.service ul.field li .fieldTtxt {
    font-size: 140%;
    margin-top: 15px;
  }

  body.service main section.service ul.field li.fieldCol2 {
    width: 100%;
  }

  body.service main section.service ul.field li.fieldCol2 a {
    display: block;
  }

  body.service main section.service ul.field li.fieldCol2 .fieldThumb {
    width: 100%;
    height: 150px;
  }

  body.service main section.service ul.field li.fieldCol2 .fieldInr:before {
    width: 80px;
    height: 60px;
  }

  body.service main section.serviceIndex h2.title {
    font-size: 160%;
  }

  body.service main section.serviceIndex ul.links > li {
    background-size: contain;
    width: 50%;
    height: 260px;
    padding: 20px 0;
    border: 3px #16a72f solid;
  }

  body.service main section.serviceIndex ul.links > li + li {
    margin-left: 0;
  }

  body.service main section.serviceIndex ul.links > li:nth-of-type(even) {
    margin-left: -3px;
  }

  body.service main section.serviceIndex ul.links > li:nth-of-type(n + 3) {
    margin-top: 34px;
  }

  body.service main section.serviceIndex ul.links > li > p {
    font-size: 170%;
  }

  body.service main section.serviceIndex ul.links > li > a {
    width: 120px;
    font-size: 120%;
    padding: 10px 5px;
    bottom: -17px;
    margin-left: -60px;
  }

  body.service main section.serviceIndex ul.links > li > a:after {
    width: 5px;
    height: 5px;
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
    margin-left: 5px;
    margin-right: -5px;
  }

  body.service main section.serviceIndex ul.links > li > a:hover:after {
    border-top: 1px #16a72f solid;
    border-right: 1px #16a72f solid;
  }
}
/* サイト改修 */

body.service.resource-circulation main section article h2 {
  color: #16a72f;
  font-size: 280%;
  font-weight: bold;
  text-align: center;
  margin-bottom: 60px;
}

body.service.resource-circulation main section.serviceDetail article h2 {
  color: #000;
}

body.service.resource-circulation main section article > p {
  max-width: 990px;
  margin: 0 auto;
  font-size: 180%;
  line-height: 2;
}

body.service.resource-circulation main section article > img {
  margin-top: 60px;
}

body.service.resource-circulation main section.bgColor ul.category {
  justify-content: space-between;
  align-items: stretch;
}

body.service.resource-circulation main section.bgColor ul.category li {
  width: 610px;
  padding: 40px 45px 74px;
  background: #fff;
  float: none;
  box-sizing: border-box;
  position: relative;
}

body.service.resource-circulation main section.bgColor ul.category li > a {
  display: block;
  color: #000;
}

body.service.resource-circulation
  main
  section.bgColor
  ul.category
  li
  + li:not(:nth-of-type(3n + 1)) {
  margin-left: 0;
}

body.service.resource-circulation
  main
  section.bgColor
  ul.category
  li
  + li:nth-of-type(n + 4) {
  margin-top: 0;
}

body.service.resource-circulation
  main
  section.bgColor
  ul.category
  li
  + li:not(:nth-child(-n + 2)) {
  margin-top: 60px;
}

body.service.resource-circulation main section.bgColor ul.category h3 {
  margin-bottom: 30px;
  font-size: 280%;
  color: #16a72f;
  font-weight: bold;
}

body.service.resource-circulation main section.bgColor ul.category img {
  margin-bottom: 25px;
}

body.service.resource-circulation main section.bgColor ul.category p {
  font-size: 180%;
  line-height: 1.666666;
}

body.service.resource-circulation main section.bgColor ul.category li .arrow02 {
  width: auto;
  height: auto;
  display: inline;
  position: absolute;
  left: 45px;
  bottom: 40px;
}

@media screen and (max-width: 768px) {
  body.service.resource-circulation main section article h2 {
    font-size: 160%;
    margin-bottom: 15px;
  }

  body.service.resource-circulation main section article > p {
    max-width: 990px;
    margin: 0 auto;
    font-size: 120%;
  }

  body.service.resource-circulation main section article > img {
    margin-top: 30px;
  }

  body.service.resource-circulation main section.bgColor ul.category li {
    width: 100%;
    padding: 20px;
  }

  body.service.resource-circulation
    main
    section.bgColor
    ul.category
    li
    + li:not(:nth-child(-n + 2)) {
    margin-top: 30px;
  }

  body.service.resource-circulation main section.bgColor ul.category h3 {
    margin-bottom: 10px;
    font-size: 160%;
  }

  body.service.resource-circulation main section.bgColor ul.category img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
  }

  body.service.resource-circulation main section.bgColor ul.category p {
    margin-bottom: 10px;
    font-size: 120%;
  }

  body.service.resource-circulation
    main
    section.bgColor
    ul.category
    li
    .arrow02 {
    position: relative;
    left: auto;
    bottom: auto;
    font-size: 100%;
  }
}

body.service.recycle main section .detail p a {
  font-size: 100%;
}

@media screen and (max-width: 768px) {
  body.service.recycle main section .iframe {
    width: 100%;
    margin-top: 20px;
    padding-bottom: 56.25%;
    position: relative;
  }
  body.service.recycle main section .iframe iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  body.service.recycle main section .detail p a {
    font-size: 120%;
  }
}

/* サステナビリティ
------------------------------------------------------ */

body.sustainability main div#catTitle {
  background-image: url(../images/page/sustainability/bg_sustainability.jpg);
}
body.sustainability.re100 main div#catTitle {
  background-image: url(../images/page/sustainability/bg_re100.jpg);
}
body.sustainability.report main div#catTitle,
body.single-report_year main div#catTitle {
  background-image: url(../images/page/sustainability/bg_report.jpg);
}
body.sustainability.carbon-neutral main div#catTitle {
  background-image: url(../images/page/sustainability/bg_carbon-neutra.jpg);
}
body.sustainability.esg-data main div#catTitle {
  background-image: url(../images/page/sustainability/bg_esg-data.jpg);
}

body.sustainability main section article h2 {
  font-size: 280%;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  margin: 0 auto 30px auto;
}

body.sustainability main section#sustainabilityTop article ul:first-of-type {
  margin: 30px auto 60px auto;
}

body.sustainability
  main
  section#sustainabilityTop
  article
  ul:first-of-type
  > li {
  width: 33.33%;
  height: auto;
  float: left;
}

body.sustainability
  main
  section#sustainabilityTop
  article
  ul:first-of-type
  > li
  > img {
  width: 100%;
  height: auto;
}

body.sustainability main section article p {
  width: 1000px;
  font-size: 180%;
  line-height: 2;
  margin: 1em auto 0 auto;
}

body.sustainability main section#sustainabilityTop article > img {
  display: block;
  margin: 60px auto;
}

body.sustainability main section article ul.link {
  width: 1000px;
  margin: 60px auto 0 auto;
}

body.sustainability main section article ul.link > li {
  font-size: 180%;
}

body.sustainability main section article ul.link > li + li {
  margin-top: 1em;
}

body.sustainability main section article ul.link > li > a {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  position: relative;
  transition: color 0.4s ease;
}
body.sustainability main section article ul.link > li > a:hover {
  text-decoration: none;
  color: #16a72f;
  opacity: 1;
}

@media screen and (min-width: 768px) {
  body.esg-data .addLink03 p.esg-list01 strong {
    margin-right: 2em;
    display: inline-block;
    text-align: justify;
    text-align-last: justify;
    width: 27rem;
  }

  body.esg-data .u-width {
    max-width: 180px;
  }
}

@media screen and (min-width: 768px) {
  body.esg-data .addLink02 p.esg-list01 strong {
    width: auto !important;
    margin-right: 2em;
  }
}

@media screen and (min-width: 768px) {
  body.esg-data .addLink p.esg-list01 strong {
    margin-right: 2em;
  }
}

body.esg-data .addLink p.esg-list01 + p.esg-list01 {
  margin-top: 1em;
}

body.sustainability main section article ul.link > li > a::after {
  content: "";
  display: inline-block;
  width: 19px;
  height: 19px;
  margin-left: 14px;
  background: url(../images/common/cmn-ico-blank01.svg) 50% 50% / cover
    no-repeat;
  vertical-align: sub;
}

@media screen and (max-width: 768px) {
  body.sustainability main section article ul.link > li > a::after {
    width: 16px;
    height: 16px;
  }
}

body.sustainability main section#sdgs div.wrapper,
body.sustainability main section#economy div.wrapper {
  width: 1000px;
}

body.sustainability main section#sdgs h2,
body.sustainability main section#economy h2 {
  color: #16a72f;
  font-size: 280%;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  margin: 0 auto 30px auto;
}

body.sustainability main section#sdgs h2 + p,
body.sustainability main section#economy h2 + p {
  font-size: 180%;
  line-height: 2;
}

body.sustainability main section#sdgs ul.icon {
  width: 650px;
  margin: 30px auto 50px auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

body.sustainability main section#sdgs ul.icon > li {
  width: 100px;
}

body.sustainability main section#sdgs ul.icon > li:nth-of-type(n + 7) {
  margin-top: 10px;
}

body.sustainability main section#sdgs ul.icon > li > img {
  width: 100%;
  height: auto;
}

body.sustainability main section#sdgs .class1 {
  display: flex;
  width: 800px;
  height: 150px;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  padding-top: 0px;
}

body.sustainability main section#sdgs .class2 {
  display: flex;
  width: 800px;
  height: auto;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
}

body.sustainability main section#sdgs h3,
body.sustainability main section#economy h3 {
  color: #ffffff;
  background-color: #16a72f;
  font-size: 180%;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  padding: 10px;
}

body.sustainability main section#sdgs h3 + p {
  font-size: 160%;
  line-height: 2;
}

body.sustainability main section#sdgs article {
  background-color: #ffffff;
  width: 100%;
  height: auto;
  margin-top: 30px;
  padding: 50px;
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
}

body.sustainability main section#sdgs article .img-list {
  width: 160px;
  margin-right: 50px;
}

body.sustainability main section#sdgs article .img-list li:not(:last-child) {
  margin-bottom: 15px;
}

body.sustainability main section#sdgs article img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

body.sustainability main section#sdgs article > div {
  width: calc(100% - 210px);
}

body.sustainability main section#sdgs article > div > h4 {
  display: flex;
  font-size: 280%;
  font-weight: bold;
}

body.sustainability main section#sdgs article > div > h4 > div {
  display: flex;
  margin-right: 20px;
  gap: 0 10px;
}

body.sustainability main section#sdgs article > div > h4 span {
  color: #ffffff;
  background-color: #b3b3b3;
  width: 90px;
  font-size: 64.28%;
  text-align: center;
  padding: 5px 0;
  display: inline-block;
}

body.sustainability main section#sdgs article > div > ul {
  list-style-type: none;
  margin-top: 1em;
  margin-left: 1.5em;
}

body.sustainability main section#sdgs article > div > ul > li {
  font-size: 160%;
  line-height: 2;
  position: relative;
}

body.sustainability main section#sdgs article > div > ul > li:before {
  content: "\0025cf";
  color: #b2b2b2;
  display: block;
  position: absolute;
  top: 0;
  left: -1em;
}

body.sustainability main section#sdgs article + ul {
  margin-top: 30px;
}

body.sustainability main section#sdgs article + ul > li {
  font-size: 120%;
  margin-top: 1em;
}

body.sustainability main section#sdgs article .note {
  width: auto;
  font-size: 120%;
}

body.sustainability.re100 main section article {
  width: 1000px;
  margin: 0 auto;
}

body.sustainability.re100 main section article h2 {
  color: #16a72f;
  margin-bottom: 100px;
}

body.sustainability.re100 main section article h3 {
  margin-bottom: 40px;
  font-size: 280%;
  text-align: center;
  font-weight: bold;
}

body.sustainability.re100
  main
  section
  article
  .contents-list
  > li:not(:last-child) {
  margin-bottom: 150px;
}

body.sustainability.re100 main section article .contents-list ul {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}

body.sustainability.re100 main section article .contents-list ul .border {
  border: 1px solid #ccc;
}

body.sustainability.re100 main section article a {
  display: inline-block;
  margin-top: 20px;
}

body.sustainability.re100 main section:first-of-type article ul {
  width: 100%;
  margin: 60px auto 0 auto;
}

body.sustainability.re100 main section:first-of-type article ul li {
  text-align: center;
  padding: 40px;
  border-top: 2px #c6c7c7 solid;
}

body.sustainability.re100 main section:first-of-type article ul li img {
  width: auto;
  max-width: 100%;
  height: auto;
}

body.sustainability.re100 main section dl {
  width: 1000px;
  margin: 0 auto;
}

body.sustainability.re100 main section dl > dt {
  color: #ffffff;
  background-color: #16a72f;
  font-size: 180%;
  font-weight: bold;
  text-align: center;
  padding: 10px;
}

body.sustainability.re100 main section dl > dd {
  background-color: #ffffff;
  font-size: 160%;
  line-height: 2;
  padding: 50px;
}

body.sustainability.re100 main section article > img {
  display: block;
  margin: 60px auto 0 auto;
}

body.sustainability.re100 main section article img + ul {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
}

/* ADD 2020/12/23 カーボンニュートラル */
body.sustainability.carbon-neutral main section article {
  width: 1000px;
  margin: 0 auto;
}

body.carbon-neutral main section article h2 {
  color: #16a72f;
  margin-bottom: 40px;
}

body.sustainability.carbon-neutral main section article h3 {
  margin-bottom: 40px;
  font-size: 280%;
  text-align: center;
  font-weight: bold;
}

body.sustainability.carbon-neutral
  main
  section
  article
  .contents-list
  > li:not(:last-child) {
  margin-bottom: 150px;
}

body.sustainability.carbon-neutral main section article .contents-list ul {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}

body.sustainability.carbon-neutral
  main
  section
  article
  .contents-list
  ul
  .border {
  border: 1px solid #ccc;
}

body.sustainability.carbon-neutral main section article a {
  display: inline-block;
  margin-top: 20px;
  font-size: 160%;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  transition: color 0.4s ease;
}

body.sustainability.carbon-neutral main section article a:hover {
  color: #16a72f;
  text-decoration: none;
  opacity: 1;
}

body.sustainability.carbon-neutral main section:first-of-type article ul {
  width: 100%;
  margin: 60px auto 0 auto;
}

body.sustainability.carbon-neutral main section:first-of-type article ul li {
  text-align: center;
  padding: 40px;
  border-top: 2px #c6c7c7 solid;
}

body.sustainability.carbon-neutral
  main
  section:first-of-type
  article
  ul
  li
  img {
  width: auto;
  max-width: 100%;
  height: auto;
}

body.sustainability.carbon-neutral main section dl {
  width: 1000px;
  margin: 0 auto;
}

body.sustainability.carbon-neutral main section dl > dt {
  color: #ffffff;
  background-color: #16a72f;
  font-size: 180%;
  font-weight: bold;
  text-align: center;
  padding: 10px;
}

body.sustainability.carbon-neutral main section dl > dd {
  background-color: #ffffff;
  font-size: 160%;
  line-height: 2;
  padding: 50px;
}

body.sustainability.carbon-neutral main section article > img {
  display: block;
  margin: 60px auto 0 auto;
}

body.sustainability.carbon-neutral main section article img + ul {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
}

/* (END) ADD 2020/12/23 カーボンニュートラル */

body.sustainability.report main section article p,
body.single-report_year main section article p {
  width: 1000px;
  font-size: 180%;
  line-height: 2;
  margin: 0 auto;
}

body.sustainability.report main section article ul.yearNav,
body.single-report_year main section article ul.yearNav {
  width: 1000px;
  height: 40px;
  text-align: center;
  margin: 60px auto;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  overflow-y: hidden;
  box-sizing: border-box;
  border: 1px #16a72f solid;
}

body.sustainability.report main section article ul.yearNav li,
body.single-report_year main section article ul.yearNav li {
  color: #d0edd5;
  width: calc(100% / 7);
  font-size: 180%;
  padding: 10px 0;
  text-align: center;
}

body.sustainability.report main section article ul.yearNav li + li,
body.single-report_year main section article ul.yearNav li + li {
  border-left: 1px #16a72f solid;
}

body.sustainability.report main section article ul.yearNav li a,
body.single-report_year main section article ul.yearNav li a {
  padding: 10px 0;
  display: block;
  color: #16a72f;
}

body.sustainability.report main section article ul.yearNav li a.active,
body.single-report_year main section article ul.yearNav li a.active {
  color: #ffffff;
  background-color: #16a72f;
}

body.sustainability.report main section article div.post,
body.single-report_year main section article div.post {
  width: 1000px;
  margin: 0 auto;
}

body.sustainability.report main section article div.post h2,
body.single-report_year main section article div.post h2 {
  font-size: 180%;
  font-weight: bold;
  line-height: 1;
  text-align: left;
  margin-bottom: 40px;
  padding-bottom: 10px;
  border-bottom: 2px #e4e4e3 solid;
  position: relative;
}

body.sustainability.report main section article div.post h2:after,
body.single-report_year main section article div.post h2:after {
  content: "";
  background-color: #16a72f;
  width: 300px;
  height: 2px;
  display: block;
  position: absolute;
  left: 0;
  bottom: -2px;
}

body.sustainability.report main section article div.post > div.reportAll,
body.single-report_year main section article div.post > div.reportAll {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

body.sustainability.report main section article div.post > div.reportAll > img,
body.single-report_year main section article div.post > div.reportAll > img {
  width: auto;
  max-width: 260px;
  height: auto;
  margin-right: 70px;
}

body.sustainability.report main section article div.post > div.reportAll > div,
body.single-report_year main section article div.post > div.reportAll > div {
  width: calc(100% - 330px);
}

body.sustainability.report
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > p,
body.single-report_year
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > p {
  width: auto;
  font-size: 160%;
  margin-bottom: 30px;
}

body.sustainability.report
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > dl
  > dt,
body.single-report_year
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > dl
  > dt {
  color: #16a72f;
  font-size: 160%;
  font-weight: bold;
}

body.sustainability.report
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > dl
  > dd,
body.single-report_year
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > dl
  > dd {
  margin-top: 30px;
}

body.sustainability.report
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > dl
  > dd
  > .c-btn--type04,
body.single-report_year
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > dl
  > dd
  > .c-btn--type04 {
  width: clamp(340px, 39.0625vw, 420px);
}

/* body.sustainability.report main section article div.post > div.reportAll > div > dl > dd > a:hover,
body.single-report_year main section article div.post > div.reportAll > div > dl > dd > a:hover {
  background-color: #16a72f;
} */

body.sustainability.report
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > dl
  > dd
  > p,
body.single-report_year
  main
  section
  article
  div.post
  > div.reportAll
  > div
  > dl
  > dd
  > p {
  font-size: 120%;
  line-height: 1.6;
  margin-top: 10px;
}

body.sustainability.report main section article div.post > dl.separate,
body.single-report_year main section article div.post > dl.separate {
  width: 1000px;
  margin: 60px auto 0 auto;
}

body.sustainability.report main section article div.post > dl.separate > dt,
body.single-report_year main section article div.post > dl.separate > dt {
  color: #16a72f;
  font-size: 160%;
  font-weight: bold;
  margin-bottom: 30px;
}

body.sustainability.report main section article div.post > dl.separate > dd,
body.single-report_year main section article div.post > dl.separate > dd {
  font-size: 160%;
  border-top: 1px #e6e6e6 solid;
}

body.sustainability.report
  main
  section
  article
  div.post
  > dl.separate
  > dd:last-of-type,
body.single-report_year
  main
  section
  article
  div.post
  > dl.separate
  > dd:last-of-type {
  border-bottom: 1px #e6e6e6 solid;
}

body.sustainability.report main section article div.post > dl.separate > dd > a,
body.single-report_year main section article div.post > dl.separate > dd > a {
  color: #000000;
  padding: 30px 20px;
  display: block;
  position: relative;
}

body.sustainability.report
  main
  section
  article
  div.post
  > dl.separate
  > dd
  > a:after,
body.single-report_year
  main
  section
  article
  div.post
  > dl.separate
  > dd
  > a:after {
  content: "";
  background-image: url(../images/common/icon_pdf.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 27px;
  height: 35px;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -17.5px;
}

body.sustainability.report
  main
  section
  article
  div.post
  > dl.separate
  > dd
  > a:hover,
body.single-report_year
  main
  section
  article
  div.post
  > dl.separate
  > dd
  > a:hover {
  color: #16a72f;
}

body.sustainability .btn--sc,
body.resource-circulation .btn--sc {
  margin: 3em auto;
  padding: 1em 1.5em 1em 1em;
  width: 22em;
  font-size: 180%;
  color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #16a72f;
  border: 1px #16a72f solid;
  transition: 0.3s;
}

body.resource-circulation .btn--sc {
  margin-bottom: 0;
}

body.sustainability .btn--sc:hover,
body.resource-circulation .btn--sc:hover {
  color: #16a72f;
  background-color: white;
}

body.sustainability .btn--sc::before,
body.resource-circulation .btn--sc::before {
  content: "";
  width: 62px;
  height: 30px;
  display: block;
  background: url(../circular-economy/images/common/ico-logo02.svg) center
    center/contain no-repeat;
}

body.sustainability .btn--sc:hover::before,
body.resource-circulation .btn--sc:hover::before {
  background-image: url(../circular-economy/images/common/ico-logo03.svg);
}

body.sustainability .btn--sc::after,
body.resource-circulation .btn--sc::after {
  content: "";
  width: 10px;
  height: 10px;
  border-color: white;
  border-top: 2px solid;
  border-right: 2px solid;
  display: block;
  transform: rotate(45deg);
}

body.sustainability .btn--sc:hover::after,
body.resource-circulation .btn--sc:hover::after {
  border-color: #16a72f;
}

@media screen and (max-width: 768px) {
  body.sustainability main section article h2 {
    font-size: 160%;
    margin: 0 auto 15px auto;
  }

  body.sustainability main section#sustainabilityTop article ul:first-of-type {
    margin: 15px auto 30px auto;
  }

  body.sustainability main section article p {
    width: 100%;
    font-size: 120%;
  }

  body.sustainability main section#sustainabilityTop article > img {
    width: 100%;
    margin: 30px auto;
  }

  body.sustainability main section article ul.link {
    width: 100%;
    margin: 30px auto 0 auto;
  }

  body.sustainability main section article ul.link > li {
    font-size: 120%;
  }

  body.sustainability main section#sdgs div.wrapper,
  body.sustainability main section#economy div.wrapper {
    width: 90%;
  }

  body.sustainability main section#sdgs h2,
  body.sustainability main section#economy h2 {
    font-size: 160%;
    margin: 0 auto 15px auto;
  }

  body.sustainability main section#sdgs h2 + p,
  body.sustainability main section#economy h2 + p {
    font-size: 120%;
  }

  body.sustainability main section#sdgs .class1,
  body.sustainability main section#sdgs .class2 {
    width: 100%;
  }

  body.sustainability main section#sdgs ul.icon {
    width: 100%;
    margin: 30px auto 50px auto;
    justify-content: flex-start;
  }

  body.sustainability main section#sdgs ul.icon > li {
    width: 24.25%;
  }

  body.sustainability main section#sdgs ul.icon > li:not(:nth-of-type(4n + 1)) {
    margin-left: 1%;
  }

  body.sustainability main section#sdgs ul.icon > li:nth-of-type(n + 5) {
    margin-top: 1%;
  }

  body.sustainability main section#sdgs h3,
  body.sustainability main section#economy h3 {
    font-size: 140%;
    margin-bottom: 15px;
    padding: 10px;
  }

  body.sustainability main section#sdgs h3 + p {
    font-size: 120%;
  }

  body.sustainability main section#sdgs article {
    margin-top: 15px;
    padding: 20px;
    position: relative;
  }

  body.sustainability main section#sdgs article .img-list {
    width: auto;
    margin-right: 0;
    display: flex;
    gap: 0 2vw;
    position: absolute;
    right: 20px;
    top: 20px;
  }

  body.sustainability main section#sdgs article .img-list li {
    width: 17.5vw;
  }

  body.sustainability main section#sdgs article > div {
    width: 100%;
  }

  body.sustainability main section#sdgs article > div > h4 {
    font-size: 160%;
    font-weight: bold;
    flex-direction: column;
  }

  body.sustainability main section#sdgs article > div > h4 > div {
    margin: 0 0 14px;
  }

  body.sustainability main section#sdgs article > div > h4 span {
    width: 16.5vw;
    padding: 2px 0;
  }

  body.sustainability main section#sdgs article > div > ul {
    margin-top: 2rem;
  }

  body.sustainability main section#sdgs article > div > ul > li {
    font-size: 120%;
  }

  body.sustainability main section#sdgs article .note {
    font-size: 100%;
  }

  body.sustainability main section#sdgs article + ul {
    margin-top: 15px;
  }

  body.sustainability main section#sdgs article + ul > li {
    font-size: 90%;
    line-height: 2;
  }

  body.sustainability.re100 main section article {
    width: 100%;
  }

  body.sustainability.re100 main section:first-of-type article ul {
    width: 100%;
    margin: 30px auto 0 auto;
  }

  body.sustainability.re100 main section:first-of-type article ul li {
    padding: 20px;
    border-top: 1px #c6c7c7 solid;
  }

  body.sustainability.re100 main section dl {
    width: 100%;
  }

  body.sustainability.re100 main section dl > dt {
    font-size: 140%;
    padding: 10px;
  }

  body.sustainability.re100 main section dl > dd {
    font-size: 120%;
    padding: 20px;
  }

  body.sustainability.re100 main section article > img {
    max-width: 100%;
    margin: 15px auto 0 auto;
  }

  body.sustainability.re100 main section article img + ul {
    margin-top: 15px;
  }

  body.sustainability.re100 main section article img + ul li {
    width: 49%;
  }

  body.sustainability.re100 main section article img + ul li img {
    width: 100%;
  }

  body.sustainability.re100 main section article h2 {
    margin-bottom: 40px;
  }

  body.sustainability.re100 main section article h3 {
    margin-bottom: 20px;
    font-size: 160%;
    line-height: 1.4;
  }

  body.sustainability.re100
    main
    section
    article
    .contents-list
    > li:not(:last-child) {
    margin-bottom: 60px;
  }

  body.sustainability.re100 main section article .contents-list ul {
    display: block;
    margin-top: 20px;
  }

  body.sustainability.re100
    main
    section
    article
    .contents-list
    ul
    li:not(:last-child) {
    margin-bottom: 20px;
  }

  body.sustainability.re100 main section article .contents-list img {
    width: 100%;
    height: auto;
  }

  body.sustainability.re100 main section article .contents-list .iframe {
    width: 100%;
    padding-bottom: 56.25%;
    position: relative;
  }

  body.sustainability.re100 main section article .contents-list .iframe iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  body.sustainability.re100 main section article a {
    display: inline-block;
    margin-top: 10px;
    font-size: 120%;
  }

  /* ADD 2020/12/23 カーボンニュートラル */

  body.sustainability.carbon-neutral main section article {
    width: 100%;
  }

  body.sustainability.carbon-neutral main section:first-of-type article ul {
    width: 100%;
    margin: 30px auto 0 auto;
  }

  body.sustainability.carbon-neutral main section:first-of-type article ul li {
    padding: 20px;
    border-top: 1px #c6c7c7 solid;
  }

  body.sustainability.carbon-neutral main section dl {
    width: 100%;
  }

  body.sustainability.carbon-neutral main section dl > dt {
    font-size: 140%;
    padding: 10px;
  }

  body.sustainability.carbon-neutral main section dl > dd {
    font-size: 120%;
    padding: 20px;
  }

  body.sustainability.carbon-neutral main section article > img {
    max-width: 100%;
    margin: 15px auto 0 auto;
  }

  body.sustainability.carbon-neutral main section article img + ul {
    margin-top: 15px;
  }

  body.sustainability.carbon-neutral main section article img + ul li {
    width: 49%;
  }

  body.sustainability.carbon-neutral main section article img + ul li img {
    width: 100%;
  }

  body.sustainability.carbon-neutral main section article h2 {
    margin-bottom: 40px;
  }

  body.sustainability.carbon-neutral main section article h3 {
    margin-bottom: 20px;
    font-size: 160%;
    line-height: 1.4;
  }

  body.sustainability.carbon-neutral
    main
    section
    article
    .contents-list
    > li:not(:last-child) {
    margin-bottom: 60px;
  }

  body.sustainability.carbon-neutral main section article .contents-list ul {
    display: block;
    margin-top: 20px;
  }

  body.sustainability.carbon-neutral
    main
    section
    article
    .contents-list
    ul
    li:not(:last-child) {
    margin-bottom: 20px;
  }

  body.sustainability.carbon-neutral main section article .contents-list img {
    width: 100%;
    height: auto;
  }

  body.sustainability.carbon-neutral
    main
    section
    article
    .contents-list
    .iframe {
    width: 100%;
    padding-bottom: 56.25%;
    position: relative;
  }

  body.sustainability.carbon-neutral
    main
    section
    article
    .contents-list
    .iframe
    iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  body.sustainability.carbon-neutral main section article a {
    display: inline-block;
    margin-top: 10px;
    font-size: 120%;
  }

  /* (END) ADD 2020/12/23 カーボンニュートラル */

  body.sustainability.report main section article p,
  body.single-report_year main section article p {
    width: 100%;
    font-size: 120%;
  }

  body.sustainability.report main section article ul.yearNav,
  body.single-report_year main section article ul.yearNav {
    width: 100%;
    height: 24px;
    margin: 30px auto;
  }

  body.sustainability.report main section article ul.yearNav li,
  body.single-report_year main section article ul.yearNav li {
    font-size: 120%;
    padding: 5px 0;
  }

  body.sustainability.report main section article ul.yearNav li a,
  body.single-report_year main section article ul.yearNav li a {
    padding: 5px 0;
  }

  body.sustainability.report main section article div.post,
  body.single-report_year main section article div.post {
    width: 100%;
  }

  body.sustainability.report main section article div.post h2,
  body.single-report_year main section article div.post h2 {
    font-size: 140%;
    margin-bottom: 20px;
    padding-bottom: 5px;
  }

  body.sustainability.report main section article div.post h2:after,
  body.single-report_year main section article div.post h2:after {
    width: 35%;
  }

  body.sustainability.report main section article div.post > div.reportAll,
  body.single-report_year main section article div.post > div.reportAll {
    width: 100%;
    display: block;
  }

  body.sustainability.report
    main
    section
    article
    div.post
    > div.reportAll
    > img,
  body.single-report_year main section article div.post > div.reportAll > img {
    width: auto;
    max-width: 260px;
    height: auto;
    margin: 0 auto 30px auto;
    display: block;
  }

  body.sustainability.report
    main
    section
    article
    div.post
    > div.reportAll
    > div,
  body.single-report_year main section article div.post > div.reportAll > div {
    width: 100%;
    text-align: center;
  }

  body.sustainability.report
    main
    section
    article
    div.post
    > div.reportAll
    > div
    > p,
  body.single-report_year
    main
    section
    article
    div.post
    > div.reportAll
    > div
    > p {
    font-size: 140%;
    text-align: left;
  }

  body.sustainability.report
    main
    section
    article
    div.post
    > div.reportAll
    > div
    > dl
    > dt,
  body.single-report_year
    main
    section
    article
    div.post
    > div.reportAll
    > div
    > dl
    > dt {
    font-size: 140%;
  }

  body.sustainability.report
    main
    section
    article
    div.post
    > div.reportAll
    > div
    > dl
    > dd,
  body.single-report_year
    main
    section
    article
    div.post
    > div.reportAll
    > div
    > dl
    > dd {
    margin-top: 15px;
  }

  body.sustainability.report
    main
    section
    article
    div.post
    > div.reportAll
    > div
    > dl
    > dd
    > .c-btn--type04,
  body.single-report_year
    main
    section
    article
    div.post
    > div.reportAll
    > div
    > dl
    > dd
    > .c-btn--type04 {
    width: 100%;
  }

  /* body.sustainability.report main section article div.post > div.reportAll > div > dl > dd > a,
  body.single-report_year main section article div.post > div.reportAll > div > dl > dd > a {
    font-size: 120%;
    padding: 10px;
    display: block;
    box-sizing: border-box;
  } */

  body.sustainability.report
    main
    section
    article
    div.post
    > div.reportAll
    > dl
    > dd
    > p,
  body.single-report_year
    main
    section
    article
    div.post
    > div.reportAll
    > dl
    > dd
    > p {
    font-size: 90%;
    text-align: left;
    margin-top: 5px;
  }

  body.sustainability.report main section article div.post > dl.separate,
  body.single-report_year main section article div.post > dl.separate {
    width: 100%;
    margin: 50px auto 0 auto;
  }

  body.sustainability.report main section article div.post > dl.separate > dt,
  body.single-report_year main section article div.post > dl.separate > dt {
    font-size: 140%;
    text-align: center;
    margin-bottom: 15px;
  }

  body.sustainability.report main section article div.post > dl.separate > dd,
  body.single-report_year main section article div.post > dl.separate > dd {
    font-size: 120%;
  }

  body.sustainability.report
    main
    section
    article
    div.post
    > dl.separate
    > dd
    > a,
  body.single-report_year main section article div.post > dl.separate > dd > a {
    padding: 10px 40px 10px 15px;
  }

  body.sustainability.report
    main
    section
    article
    div.post
    > dl.separate
    > dd
    > a:after,
  body.single-report_year
    main
    section
    article
    div.post
    > dl.separate
    > dd
    > a:after {
    width: 13.5px;
    height: 17.5px;
    right: 15px;
    margin-top: -6.75px;
  }

  body.sustainability .btn--sc,
  body.resource-circulation .btn--sc {
    font-size: 120%;
  }

  body.sustainability .btn--sc::before,
  body.resource-circulation .btn--sc::before {
    width: 3.5em;
    height: 1.725em;
  }

  body.sustainability .btn--sc::after,
  body.resource-circulation .btn--sc::after {
    width: 5px;
    height: 5px;
    border-width: 1px;
  }
}

/* -- サイト改修 -- */
body.sustainability main section#economy {
  margin-bottom: 40px;
}

body.sustainability main section#economy .figure {
  max-width: 1280px;
  margin: 70px auto;
  padding: 0 5%;
}

body.sustainability main section#economy .figure img {
  width: 100%;
}

body.sustainability main section#economy .challenge {
  text-align: center;
}

body.sustainability main section#economy .challenge .list {
  display: inline-block;
}

body.sustainability main section#economy .challenge .list li {
  font-size: 180%;
  font-weight: 500;
  line-height: 1.75;
  text-align: left;
}

body.sustainability main section#economy .challenge .list li:before {
  content: "●";
  color: #999899;
  margin-right: 0.3em;
}

@media screen and (max-width: 768px) {
  body.sustainability main section#economy {
    margin-bottom: 20px;
  }

  body.sustainability main section#economy .figure {
    margin-top: 40px;
    margin-bottom: 40px;
  }

  body.sustainability main section#economy .challenge .list li {
    font-size: 120%;
  }
}
/* -- サイト改修 -- */

/* IR情報
------------------------------------------------------ */

body.ir main div#catTitle {
  background-image: url(../images/page/ir/bg_ir.jpg);
}
body.ir.at-a-glance main div#catTitle {
  background-image: url(../images/page/ir/bg_glance.jpg);
}
body.ir.highlight main div#catTitle {
  background-image: url(../images/page/ir/bg_highlight.jpg);
}
body.ir.projections main div#catTitle {
  background-image: url(../images/page/ir/bg_projections.jpg);
}
body.ir.library main div#catTitle {
  background-image: url(../images/page/ir/bg_library.jpg);
}
body.ir.calendar main div#catTitle {
  background-image: url(../images/page/ir/bg_calendar.jpg);
}
body.ir.disclosure main div#catTitle {
  background-image: url(../images/page/ir/bg_disclosure.jpg);
}
body.ir.stock main div#catTitle {
  background-image: url(../images/page/ir/bg_stock.jpg);
}
body.ir.en main div#catTitle {
  background-image: url(../images/page/ir/bg_en.jpg);
}

body.ir main section#irTop {
  padding: 0;
}

body.ir main section#irTop .bg-gray {
  background-color: #f6f7f8;
}

body.ir main section#irTop .bg-gray-dark {
  background-color: #edeff1;
}

body.ir main section#irTop article {
  width: 100%;
  height: auto;
}

body.ir main section#irTop .wrapper {
  padding: 50px 0;
}

@media screen and (min-width: 769px) and (max-width: 1320px) {
  body.ir main section#irTop .wrapper {
    padding: 50px 20px;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 769px) {
  body.ir main section#irTop div.split {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}

body.ir main section#irTop div.split > article {
  width: 390px;
}

body.ir main section#irTop div.split > article + article {
  margin: 0 auto 0 55px;
}

@media screen and (min-width: 769px) and (max-width: 1320px) {
  body.ir main section#irTop div.split > article + article {
    margin: 0 auto 0 4.1vw;
  }
}

body.ir main section#irTop div.split.split-02 > article:nth-child(1) {
  max-width: 835px;
  width: 100%;
}

body.ir main section#irTop div.split.split-02 > article:nth-child(2) {
  max-width: 390px;
  width: 100%;
}

/*
body.ir main section#irTop article h2 {
  font-size: 180%;
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 2px #e6e6e6 solid;
  position: relative;
}

body.ir main section#irTop article h2:after {
  content: "";
  background-color: #16a72f;
  width: 200px;
  height: 2px;
  position: absolute;
  bottom: -2px;
  left: 0;
}
*/

body.ir main section#irTop article dl {
  width: 960px;
  height: 424px;
  box-sizing: border-box;
  overflow-y: scroll;
  border-bottom: 1px #e6e6e6 solid;
}

body.ir main section#irTop article dl > dt,
body.ir main section#irTop article dl > dd {
  font-size: 160%;
  padding: 15px 30px;
}

body.ir main section#irTop article dl > dt:not(:first-of-type),
body.ir main section#irTop article dl > dd:not(:first-of-type) {
  border-top: 1px #e6e6e6 solid;
}

body.ir main section#irTop article dl > dd > a {
  color: #000000;
  transition: color 0.4s ease;
}

body.ir main section#irTop article dl > dd > a:hover {
  color: #16a72f;
  opacity: 1;
}

body.ir main section#irTop article dl > dt {
  float: left;
}

body.ir main section#irTop article img {
  display: block;
  width: 100%;
  height: auto;
  margin: 30px auto 20px auto;
}

body.ir main section#irTop article ul.content {
  border-bottom: 1px #e6e6e6 solid;
}

body.ir main section#irTop article ul.content > li {
  font-size: 160%;
}

body.ir main section#irTop article ul.content > li + li {
  border-top: 1px #e6e6e6 solid;
}

body.ir main section#irTop article ul.content > li > a {
  color: #000000;
  display: block;
  padding: 20px 10px;
  position: relative;
  transition: color 0.4s ease;
}

body.ir main section#irTop article ul.content > li > a:after {
  content: "";
  background-image: url(../images/page/ir/top-icon01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 37.5px;
  height: 17px;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -8.5px;
  transition: right 0.4s ease;
}

body.ir main section#irTop article ul.content > li > a:hover::after {
  right: 0;
}

body.ir main section#irTop article ul.content > li > a:hover {
  color: #16a72f;
  opacity: 1;
}

body.ir main section#irTop article ul.content > li > a span {
  display: inline-block;
  width: 145px;
}

body.ir main section#irTop article p {
  margin-bottom: 20px;
  font-size: 160%;
  line-height: 2;
}

body.ir main section#irTop article ul + p,
body.ir main section#irTop article div > p + p {
  margin-top: 1em;
}

body.ir main section#irTop article p > a {
  color: #000000;
}

body.ir main section#irTop article p > a:hover {
  color: #16a72f;
}

body.ir main section#irTop article ul.links {
  width: 100%;
  border: none;
}

body.ir main section#irTop article ul.links > li {
  width: 620px;
  height: 200px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

body.ir main section#irTop article ul.links > li + li {
  margin-left: 40px;
}

body.ir main section#irTop article ul.links > li > a {
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  font-size: 180%;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

body.ir main section#irTop article ul.links > li > a > div:first-of-type {
  color: #ffffff;
  width: 100%;
  height: auto;
  font-size: 137.5%; /* 22px */
  display: block;
  position: relative;
  z-index: 1;
}

body.ir main section#irTop article ul.links > li > a > div:last-of-type {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition: 0.3s;
}

body.ir main section#irTop article ul.links > li > a:hover > div:last-of-type {
  transform: scale(1.04);
  opacity: 0.8;
}

body.ir
  main
  section#irTop
  article
  ul.links
  > li:first-of-type
  > a
  > div:last-of-type {
  background-image: url(../images/page/ir/ir_top04.jpg);
}
body.ir
  main
  section#irTop
  article
  ul.links
  > li:last-of-type
  > a
  > div:last-of-type {
  background-image: url(../images/page/ir/ir_top05.jpg);
}

body.ir
  main
  section#irTop
  article
  ul.links.links-02
  > li:first-of-type
  > a
  > div:last-of-type {
  background-image: url(../images/page/ir/ir_top09.jpg);
}
body.ir
  main
  section#irTop
  article
  ul.links.links-02
  > li:last-of-type
  > a
  > div:last-of-type {
  background-image: url(../images/page/ir/ir_top10.jpg);
}

body.ir main section#irTop .ir-contact {
  padding-top: 40px;
  font-size: 180%;
}
body.ir main section#irTop .ir-contact a {
  color: #000;
}

body.ir.highlight main section article,
body.ir.projections main section article {
  width: 1000px;
  margin: 0 auto;
}

body.ir.highlight main section article + article,
body.ir.projections main section article + article {
  margin-top: 100px;
}

body.ir.highlight main section article div,
body.ir.projections main section article div {
  font-size: 160%;
  line-height: 2;
}

body.ir.highlight main section article div {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

body.ir.highlight main section article p {
  font-size: 160%;
  line-height: 2;
}

body.ir.highlight main section article p a {
  transition: color 0.4s ease;
  text-decoration: underline;
  text-decoration-skip-ink: none;
}

body.ir.highlight main section article p a:hover {
  text-decoration: none;
  color: #16a72f;
  opacity: 1;
}

body.ir.highlight main section article div + div {
  margin-top: 40px;
}

/*body.ir.highlight main section article:not(.oneColumn) > div:first-of-type,
body.ir.projections main section article:not(.oneColumn) > div:first-of-type {
  width: 500px;
  text-align: center;
  margin-right: 50px;
  float: left;
}*/

body.ir.highlight main section article.oneColumn > div:first-of-type,
body.ir.projections main section article.oneColumn > div:first-of-type {
  width: 100%;
  text-align: center;
  margin-bottom: 50px;
}

body.ir.highlight
  main
  section
  article:not(.oneColumn)
  > div:first-of-type
  > img,
body.ir.projections
  main
  section
  article:not(.oneColumn)
  > div:first-of-type
  > img {
  width: auto;
  max-width: 100%;
}

body.ir.library main section article {
  width: 1000px;
  margin: 0 auto;
}

body.ir.library main section article + article {
  margin-top: 100px;
}

body.ir.library main section article p.text {
  margin-bottom: 30px;
  font-size: 160%;
  line-height: 1;
}

body.ir.library main section article .content {
  margin: 30px 0;
  font-size: 160%;
  line-height: 1.5;
}

body.ir.library main section article .content h3 {
  font-size: 120%;
  font-weight: bold;
  margin-bottom: 10px;
}

body.ir.library main section article .img01 {
  margin: 0 auto 30px auto;
  max-width: 802px;
  width: 100%;
  height: auto;
  display: block;
}

body.ir.library main section article .wrap_iframe {
  margin: 0 auto 30px auto;
  max-width: 800px;
}

body.ir.library main section article .iframe {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

body.ir.library main section article .iframe iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

body.ir.library main section article h2 {
  font-size: 240%;
  font-weight: bold;
  margin-bottom: 30px;
}

body.ir.library main section article dl {
  width: 100%;
  height: 300px;
  padding: 20px 40px;
  box-sizing: border-box;
  overflow-y: scroll;
  border: 1px #dcdddd solid;
}

body.ir.library main section article dl > dt,
body.ir.library main section article dl > dd {
  font-size: 160%;
  padding: 15px 30px;
}

body.ir.library main section article dl > dt:nth-of-type(odd),
body.ir.library main section article dl > dd:nth-of-type(odd) {
  background-color: #edf4f1;
}

body.ir.library main section article dl > dt {
  float: left;
}

body.ir.library main section article dl > dd > a {
  color: #000000;
}

body.ir.library main section article dl > dd > a:hover {
  color: #16a72f;
}

body.ir.calendar main section article div img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

body.ir.calendar main section article p {
  font-size: 180%;
  font-weight: bold;
  margin-top: 60px;
}

body.ir.calendar main section article p:before {
  content: "\0025cf";
  color: #8ad397;
  display: inline-block;
}

body.ir.disclosure main section article {
  width: 1000px;
  margin: 0 auto;
}

body.ir.disclosure main section article + article {
  margin-top: 100px;
}

body.ir.disclosure main section article p {
  font-size: 160%;
  line-height: 2;
}

body.ir.stock main section article {
  width: 1000px;
  margin: 0 auto;
}

body.ir.stock main section article + article {
  margin-top: 100px;
}

body.ir.stock main section article table {
  width: 100%;
}

body.ir.stock main section article table tr th {
  color: #ffffff;
  background-color: #595757;
  width: 300px;
  font-size: 160%;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  vertical-align: middle;
  -moz-text-align-last: justify;
  text-align-last: justify;
  padding: 15px 70px;
  box-sizing: border-box;
  border-top: 1px #dcdddd solid;
}

body.ir.stock main section article:last-of-type table tr th {
  padding: 15px 50px;
}

body.ir.stock main section article table tr td {
  width: auto;
  font-size: 160%;
  line-height: 2;
  vertical-align: middle;
  padding: 15px 70px;
  box-sizing: border-box;
  border-top: 1px #dcdddd solid;
}
body.ir.stock main section article table tr:last-of-type th,
body.ir.stock main section article table tr:last-of-type td {
  border-bottom: 1px #dcdddd solid;
}

body.ir.stock main section article h2 {
  font-size: 240%;
  font-weight: bold;
  margin-bottom: 30px;
}

body.ir.stock main section article p {
  font-size: 120%;
  text-align: right;
  margin-top: 30px;
}

body.ir.en main section article {
  margin: 150px auto;
}

body.ir.en main section p {
  font-size: 160%;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width: 768px) {
  body.ir main section#irTop {
    padding-bottom: 30px;
  }

  body.ir main section#irTop div.split > article {
    width: 100%;
  }

  body.ir main section#irTop div.split > article + article,
  body.ir main section#irTop div.split.split-02 > article:nth-child(2) {
    margin: 50px auto 0 auto;
  }

  body.ir main section#irTop article ul.content > li > a span {
    display: block;
  }

  /*
  body.ir main section#irTop article h2 {
    font-size: 140%;
    margin-bottom: 15px;
    padding-bottom: 5px;
  }

  body.ir main section#irTop article h2:after {
    width: 35%;
  }
  */

  body.ir main section#irTop article dl {
    width: 100%;
    height: 200px;
  }

  body.ir main section#irTop article dl > dt {
    font-size: 90%;
    padding: 10px 0 0 0;
    float: none;
  }

  body.ir main section#irTop article dl > dd {
    font-size: 120%;
    padding: 10px 0;
    float: none;
  }

  body.ir main section#irTop article dl > dt:not(:first-of-type) {
    border-top: 1px #e6e6e6 solid;
  }

  body.ir main section#irTop article dl > dd:not(:first-of-type) {
    border-top: none;
  }

  body.ir main section#irTop article img {
    margin: 15px auto 10px auto;
  }

  body.ir main section#irTop article ul.content > li {
    font-size: 120%;
  }

  body.ir main section#irTop article ul.content > li > a {
    padding: 15px 25px 15px 5px;
    line-height: 1.4;
  }

  body.ir main section#irTop article ul.content > li > a:after {
    width: 18.75px;
    height: 8.5px;
    right: 10px;
    margin-top: -4.25px;
  }

  body.ir main section#irTop article ul.content > li > a.pdf:after {
    width: 13.5px;
    height: 17.5px;
    right: 5px;
    margin-top: -8.75px;
  }

  body.ir main section#irTop article > div {
    padding: 10px;
  }

  body.ir main section#irTop article p {
    font-size: 120%;
  }

  body.ir main section#irTop article ul.links > li {
    width: 100%;
    height: auto;
    float: none;
  }

  body.ir main section#irTop article ul.links > li + li {
    margin-top: 15px;
    margin-left: 0;
  }

  body.ir main section#irTop article ul.links > li > a {
    height: 0;
    font-size: 120%;
    padding-top: 32.25%;
  }

  body.ir main section#irTop article ul.links > li > a > div:first-of-type {
    margin-top: -32.25%;
  }

  body.ir main section#irTop .ir-contact {
    padding-top: 30px;
    font-size: 120%;
  }

  body.ir.highlight main section article,
  body.ir.projections main section article {
    width: 100%;
    margin: 0 auto;
  }

  body.ir.highlight main section article + article,
  body.ir.projections main section article + article {
    margin-top: 50px;
  }

  body.ir.highlight main section article div,
  body.ir.projections main section article div {
    font-size: 120%;
  }

  body.ir.highlight main section article div {
    display: block;
  }

  body.ir.highlight main section article:not(.oneColumn) > div:first-of-type,
  body.ir.projections main section article:not(.oneColumn) > div:first-of-type {
    width: 100%;
    margin: 0 0 25px 0;
    float: none;
  }

  body.ir.highlight main section article.oneColumn > div:first-of-type,
  body.ir.projections main section article.oneColumn > div:first-of-type {
    margin-bottom: 25px;
  }

  body.ir.highlight main section article > div:first-of-type img,
  body.ir.projections main section article > div:first-of-type img {
    width: auto;
    max-width: 100%;
  }

  body.ir.library main section article {
    width: 100%;
  }

  body.ir.library main section article + article {
    margin-top: 50px;
  }

  body.ir.library main section article h2 {
    font-size: 160%;
    margin-bottom: 15px;
  }

  body.ir.library main section article dl {
    width: 100%;
    height: 200px;
    padding: 10px 20px;
  }

  body.ir.library main section article dl > dt {
    font-size: 90%;
    padding: 15px 10px 0 10px;
    float: none;
  }

  body.ir.library main section article dl > dd {
    font-size: 120%;
    padding: 15px 10px;
  }

  body.ir.library main section article p.text {
    margin-bottom: 15px;
    font-size: 130%;
  }

  body.ir.library main section article .content {
    margin: 15px 0;
    font-size: 130%;
  }

  body.ir.library main section article .content h3 {
    font-size: 130%;
  }

  body.ir.library main section article .wrap_iframe {
    margin-bottom: 15px;
  }

  body.ir.calendar main section article div {
    overflow-x: scroll;
    padding-bottom: 10px;
  }

  body.ir.calendar main section article div img {
    width: auto;
    max-width: none;
  }

  body.ir.calendar main section article p {
    font-size: 120%;
    margin-top: 30px;
  }

  body.ir.disclosure main section article {
    width: 100%;
  }

  body.ir.disclosure main section article + article {
    margin-top: 50px;
  }

  body.ir.disclosure main section article p {
    font-size: 120%;
  }

  body.ir.stock main section article {
    width: 100%;
  }

  body.ir.stock main section article + article {
    margin-top: 50px;
  }

  body.ir.stock main section article table tr th {
    width: 100%;
    font-size: 120%;
    text-align: left;
    -moz-text-align-last: auto;
    text-align-last: auto;
    padding: 15px 10px;
    display: block;
  }

  body.ir.stock main section article:last-of-type table tr th {
    padding: 15px 10px;
  }

  body.ir.stock main section article table tr td {
    width: 100%;
    font-size: 120%;
    padding: 15px 10px;
    display: block;
  }

  body.ir.stock main section article table tr:last-of-type th {
    border-bottom: none;
  }

  body.ir.stock main section article h2 {
    font-size: 160%;
    margin-bottom: 15px;
  }

  body.ir.stock main section article p {
    font-size: 90%;
    margin-top: 15px;
  }

  body.ir.en main section article {
    margin: 50px auto;
  }

  body.ir.en main section p {
    font-size: 120%;
  }
}

/* -- サイト改修 -- */
body.ir main section#irTop .irGlance {
  max-width: 900px;
  border: none;
  padding: 0;
}

body.ir main section#irTop .irGlance a {
  width: 100%;
  color: inherit;
  background: #edeff1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  transition: opacity 0.3s;
}

body.ir main section#irTop .irGlance a > * {
  width: 50%;
  box-sizing: border-box;
}

body.ir main section#irTop .irGlance a img {
  margin: 0;
}

body.ir main section#irTop .irGlance a > div {
  padding: 0 35px;
}

body.ir main section#irTop .irGlance a .link {
  font-size: 180%;
}

body.ir main section#irTop span.icon-link-arrow,
body.ir main section#irTop .irGlance a .link span {
  font-weight: 500;
}

body.ir main section#irTop span.icon-link-arrow:before,
body.ir main section#irTop .irGlance a .link span:before {
  content: "";
  background-image: url(../images/common/icon_arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 10px;
  vertical-align: -4px;
}

body.ir main section#irTop .irGlance a .text {
  line-height: 1.75;
  margin: 0 0 0 30px;
}

body.ir main section#irTop .irGlance a:hover {
  opacity: 0.8;
}

/* 最初のメニュー */
body.ir main section#irTop .link_layer ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  body.ir main section#irTop .link_layer ul {
    display: block;
  }
}

@media screen and (min-width: 769px) {
  body.ir main section#irTop .link_layer li {
    width: calc((100% - 64px) / 3);
    height: 100px;
    box-sizing: border-box;
  }
}

@media screen and (min-width: 769px) and (max-width: 1320px) {
  body.ir main section#irTop .link_layer li {
    width: 32%;
  }
}

@media screen and (max-width: 768px) {
  body.ir main section#irTop .link_layer li {
    margin: 0 auto 15px auto;
  }
}

body.ir main section#irTop .link_layer a {
  max-width: 405px;
  width: 100%;
  background: #fff url(../images/page/ir/head_menus-icon.svg) right 20px center
    no-repeat;
  color: black;
  font-size: 160%;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

@media screen and (max-width: 768px) {
  body.ir main section#irTop .link_layer a {
    margin: 0 auto;
  }
}

body.ir main section#irTop .link_layer a:hover {
  color: #16a72f;
}

@media screen and (max-width: 768px) {
  body.ir main section#irTop .link_layer a {
    font-size: 140%;
  }
}

body.ir main section#irTop .link_layer img {
  margin: 0 15px 0 0;
  width: 100px;
  height: 100px;
}

@media screen and (max-width: 768px) {
  body.ir main section#irTop .link_layer img {
    width: 60px;
    height: 60px;
  }
}

/* ニュース */
body.ir main section#irTop .news_layer .news_layer__flex {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

body.ir main section#irTop .news_layer .news_layer__iframe--wrap {
  margin-bottom: 25px;
  border-radius: 10px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  body.ir main section#irTop .news_layer .news_layer__flex {
    display: block;
  }
  body.ir main section#irTop .news_layer .news_layer__iframe {
    margin-top: 50px;
    text-align: center;
  }
  body.ir main section#irTop .news_layer .news_layer__iframe h2 {
    text-align: left;
  }
  body.ir main section#irTop .news_layer .news_layer__iframe--wrap {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
  }
  body.ir main section#irTop .news_layer .news_layer__iframe--wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

@media screen and (min-width: 769px) {
  body.ir main section#irTop .news_layer .news_layer__flex dl {
    width: 835px;
  }
}

body.ir main section#irTop .news_layer .news_layer__flex dl::-webkit-scrollbar {
  width: 12px;
}

body.ir
  main
  section#irTop
  .news_layer
  .news_layer__flex
  dl::-webkit-scrollbar-track {
  border-radius: 6px;
}

body.ir
  main
  section#irTop
  .news_layer
  .news_layer__flex
  dl::-webkit-scrollbar-thumb {
  background-color: #7b8080;
  border-radius: 6px;
}

body.ir main section#irTop .news_layer .news_layer__link {
  border-top: 1px #e6e6e6 solid;
  border-bottom: 1px #e6e6e6 solid;
}

body.ir main section#irTop .news_layer .news_layer__link a {
  color: #000000;
  display: block;
  padding: 15px 10px;
  position: relative;
}

body.ir main section#irTop .news_layer .news_layer__link a:hover {
  color: #16a72f;
  opacity: 1;
}

body.ir main section#irTop .news_layer .news_layer__link a:after {
  content: "";
  background-image: url(../images/page/ir/top-icon01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 37.5px;
  height: 17px;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -8.5px;
  transition: right 0.4s ease;
}

body.ir main section#irTop .news_layer .news_layer__link a:hover::after {
  right: 0;
}

/* メニュー */
body.ir main .menu_layer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  body.ir main .menu_layer {
    display: block;
  }
}

@media screen and (min-width: 769px) {
  body.ir main .menu_layer div {
    max-width: 620px;
    width: 49%;
  }
}

@media screen and (max-width: 768px) {
  body.ir main .menu_layer div {
    margin-top: 50px;
    width: 100%;
  }
}

/* エンビプロ グループ早わかり */
body.ir main section#irGlance .wrapper {
  max-width: 990px;
}

body.ir main section#irGlance .wrapper > div:not(:first-of-type) {
  margin-top: 100px;
}

body.ir main section#irGlance h2 {
  font-size: 3.6rem;
  font-weight: bold;
  margin-bottom: 30px;
  position: relative;
  display: inline;
  z-index: 2;
}

body.ir main section#irGlance h2:after {
  content: "";
  background-color: #edf4f1;
  width: 100%;
  height: 20px;
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: -1;
}

body.ir main section#irGlance .date {
  font-size: 120%;
  font-size: 1.6rem;
  text-align: right;
  margin-bottom: 40px;
}

body.ir main section#irGlance ul.data {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}

body.ir main section#irGlance ul.data li {
  width: calc(100% / 3);
  height: 330px; /*320px;*/
  border: 5px solid #e8e8e8;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

body.ir .business__box {
  margin-top: 5rem;
}

body.ir .business__inner {
  background: #edf4f1;
  padding: 6.5rem 4rem;
}

body.ir .business__container01 .u-spDb {
  display: none;
}

body.ir .business__container01 .u-pcDb {
  display: block;
}

@media screen and (max-width: 768px) {
  body.ir .strength__image {
    margin-top: 3rem;
  }

  body.ir .business__inner {
    padding: 2.5rem 3rem;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  body.ir .business__container01 .u-spDb {
    display: block;
  }

  body.ir .business__container01 .u-pcDb {
    display: none;
  }
}

body.ir .business__container01 img {
  width: 100%;
}

body.ir main section#irGlance ul.data li::before {
  content: "";
  width: 160px;
  height: 117px;
  background-repeat: no-repeat;
  background-position: center center;
  margin: 0 auto 10px;
}

body.ir main section#irGlance .scale ul.data li.data01::before {
  background-image: url(../images/page/ir/glance_scale01.png);
}
body.ir main section#irGlance .scale ul.data li.data02::before {
  background-image: url(../images/page/ir/glance_scale02.png);
}
body.ir main section#irGlance .scale ul.data li.data03::before {
  background-image: url(../images/page/ir/glance_scale03.png);
}

body.ir main section#irGlance .strength ul.data li.data01::before {
  background-image: url(../images/page/ir/glance_strength13.png);
  background-size: contain;
}
body.ir main section#irGlance .strength ul.data li.data02::before {
  background-size: contain;
  background-image: url(../images/page/ir/glance_strength14.png);
}
body.ir main section#irGlance .strength ul.data li.data03::before {
  background-image: url(../images/page/ir/glance_strength15.png);
  background-size: contain;
}
body.ir main section#irGlance .strength ul.data li.data04::before {
  background-image: url(../images/page/ir/glance_strength04.png);
}
body.ir main section#irGlance .strength ul.data li.data05::before {
  background-image: url(../images/page/ir/glance_strength05.png);
}
body.ir main section#irGlance .strength ul.data li.data06::before {
  background-image: url(../images/page/ir/glance_strength06.png);
}
body.ir main section#irGlance .strength ul.data li.data07::before {
  background-image: url(../images/page/ir/glance_strength07.png);
}
body.ir main section#irGlance .strength ul.data li.data08::before {
  background-image: url(../images/page/ir/glance_strength08.png);
}
body.ir main section#irGlance .strength ul.data li.data09::before {
  background-image: url(../images/page/ir/glance_strength09.png);
}
body.ir main section#irGlance .strength ul.data li.data10::before {
  background-image: url(../images/page/ir/glance_strength10.png);
}
body.ir main section#irGlance .strength ul.data li.data11::before {
  background-image: url(../images/page/ir/glance_strength11.png);
}
body.ir main section#irGlance .strength ul.data li.data12::before {
  background-image: url(../images/page/ir/glance_strength12.png);
}

body.ir main section#irGlance .profile ul.data li.data01::before {
  background-image: url(../images/page/ir/glance_profile01.png);
}
body.ir main section#irGlance .profile ul.data li.data02::before {
  background-image: url(../images/page/ir/glance_profile02.png);
}
body.ir main section#irGlance .profile ul.data li.data03::before {
  background-image: url(../images/page/ir/glance_profile03.png);
}

body.ir main section#irGlance .sustainability ul.data li.data01::before {
  background-image: url(../images/page/ir/glance_sustainability01.png);
}
body.ir main section#irGlance .sustainability ul.data li.data02::before,
body.ir main section#irGlance .sustainability ul.data li.data03::before,
body.ir main section#irGlance .sustainability ul.data li.data04::before,
body.ir main section#irGlance .sustainability ul.data li.data05::before {
  content: none;
}
body.ir main section#irGlance .sustainability ul.data li.data06::before {
  background-image: url(../images/page/ir/glance_sustainability06.png);
}

body.ir main section#irGlance ul.data li .item {
  font-size: 240%;
  font-weight: bold;
}

body.ir main section#irGlance ul.data li .value {
  font-size: 280%;
  font-weight: 700;
  color: #16a72f;
  margin-top: 10px;
  line-height: 1;
}

body.ir main section#irGlance ul.data li .value span.integer {
  font-family: "Montserrat", sans-serif;
  font-size: 2.142em;
  font-weight: 600;
}

body.ir main section#irGlance ul.data li .value span.decimal {
  font-family: "Montserrat", sans-serif;
  font-size: 1.285em;
  font-weight: 600;
}

body.ir main section#irGlance ul.data li .note {
  font-size: 120%;
  line-height: 1.3;
  margin-top: 10px;
}

body.ir main section#irGlance ul.data li .note a {
  color: inherit;
}

body.ir main section#irGlance ul.data li .note a.blank::after {
  width: 18px;
  height: 14px;
  vertical-align: -0.2em;
}

body.ir main section#irGlance ul.data li:nth-child(3n) {
  margin-right: 0;
}

body.ir main section#irGlance ul.data li:nth-child(n + 4) {
  margin-top: -5px;
}

body.ir main section#irGlance .sustainability ul.data li .img {
  margin-top: auto;
}

body.ir main section#irGlance .sustainability ul.data li .note {
  margin: 15px 0 30px;
}

body.ir main section#irGlance h3 {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  background: #edf4f1;
  padding: 9px 0;
  margin: 60px 0 50px;
}

body.ir main section#irGlance .segment ul.graph {
  display: flex;
  flex-wrap: wrap;
  gap: 13.5rem;
  align-items: stretch;
  justify-content: center;
}

body main section#irGlance a.btn {
  width: 330px;
  color: #fff;
  background: #16a72f;
  margin-top: 50px;
}

body main section#irGlance a.btn:after {
  border-color: #fff;
}

body main section#irGlance a.btn:hover {
  color: #16a72f;
  background: #fff;
}

body main section#irGlance a.btn:hover:after {
  border-color: #16a72f;
}

@media screen and (max-width: 768px) {
  body.ir main section#irTop .irGlance a {
    display: block;
  }

  body.ir .business__box {
    margin-top: 3rem;
  }

  body.ir main section#irTop .irGlance a > * {
    width: 100%;
  }

  body.ir main section#irTop .irGlance a > div {
    padding: 15px;
  }

  body.ir main section#irTop .irGlance a .link {
    font-size: 140%;
  }

  body.ir main section#irTop span.icon-link-arrow:before,
  body.ir main section#irTop .irGlance a .link span:before {
    width: 10px;
    height: 10px;
    margin-right: 5px;
    vertical-align: 0;
  }

  body.ir main section#irTop .irGlance a .text {
    margin-left: 15px;
  }

  /* エンビプロ グループ早わかり */
  body.ir main section#irGlance .date {
    margin-bottom: 20px;
  }

  body.ir main section#irGlance h2 {
    font-size: 180%;
    margin-bottom: 15px;
    padding-bottom: 5px;
  }

  /* body.ir main section#irGlance h2:after {
    width: 35%;
  } */

  body.ir main section#irGlance ul.data {
    margin-top: 30px;
    display: block;
  }

  body.ir main section#irGlance ul.data li {
    width: 100%;
    height: auto;
    padding: 30px 0;
    border-width: 3px;
    margin: 0 0 -3px 0;
    box-sizing: border-box;
  }

  body.ir main section#irGlance ul.data li::before {
    width: 80px;
    height: 60px;
    background-size: contain;
    margin-bottom: 20px;
  }

  body.ir main section#irGlance ul.data li .item {
    font-size: 180%;
  }

  body.ir main section#irGlance ul.data li .value {
    font-size: 200%;
  }

  body.ir main section#irGlance ul.data li .note {
    font-size: 100%;
  }

  body.ir main section#irGlance ul.data li .note a.blank::after {
    width: 12px;
    height: 10px;
  }

  body.ir main section#irGlance ul.data li:nth-child(3n) {
    margin: 0 0 -3px 0;
  }

  body.ir main section#irGlance ul.data li:nth-child(n + 4) {
    margin-top: 0;
  }

  body.ir main section#irGlance ul.data li:last-child {
    margin-bottom: 0;
  }

  body.ir main section#irGlance h3 {
    font-size: 160%;
    margin: 40px 0 30px;
  }

  body.ir main section#irGlance .segment ul.graph {
    display: block;
  }

  body.ir main section#irGlance .segment ul.graph li {
    text-align: center;
  }

  body.ir main section#irGlance .segment ul.graph li img {
    width: 90%;
  }

  body.ir main section#irGlance .segment ul.graph li + li {
    margin-top: 30px;
  }

  body.ir main section#irGlance .sustainability ul.data li .img {
    text-align: center;
  }

  body.ir main section#irGlance .sustainability ul.data li .img img {
    width: 70%;
  }

  body.ir main section#irGlance .sustainability ul.data li .note {
    margin-bottom: 0;
  }

  body main section#irGlance a.btn {
    width: 60%;
    margin-top: 30px;
  }
}
/* -- サイト改修 -- */

/* 採用情報
------------------------------------------------------ */

body.recruit main div#catTitle {
  background-image: url(../images/page/recruit/bg_recruit.jpg);
}

body.recruit main section article.recruitTop h2 {
  font-size: 240%;
  font-weight: bold;
  line-height: 2;
  text-align: center;
}

body.recruit main section article.recruitTop > ul:first-of-type {
  margin: 80px auto;
}

body.recruit main section article.recruitTop > ul:first-of-type > li {
  width: 25%;
  float: left;
}

body.recruit main section article.recruitTop > ul:first-of-type > li > img {
  width: 100%;
  height: auto;
}

body.recruit main section article.recruitTop > div {
  width: 100%;
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 60px;
  border-bottom: 5px #e3e3e3 solid;
}

body.recruit main section article.recruitTop > div > p {
  color: #16a72f;
  background-color: #f0f8f2;
  font-size: 240%;
  font-weight: bold;
  margin: 0 auto;
  padding: 30px;
  border: 1px #16a72f solid;
  display: inline-block;
  position: relative;
}

body.recruit main section article.recruitTop > div > p:after {
  content: "";
  background-color: #e3e3e3;
  width: 5px;
  height: 60px;
  display: block;
  position: absolute;
  bottom: -61px;
  left: 50%;
  margin-left: -2.5px;
}

body.recruit main section article.recruitTop > div > div {
  display: flex;
  justify-content: space-between;
  text-align: center;
  margin-top: 120px;
  position: relative;
}

body.recruit main section article.recruitTop > div > div:before {
  content: "";
  background-color: #e3e3e3;
  width: 900px;
  height: 5px;
  display: block;
  position: absolute;
  top: -60px;
  left: 50%;
  margin-left: -450px;
}

body.recruit main section article.recruitTop > div > div > dl {
  width: 380px;
  position: relative;
}

body.recruit main section article.recruitTop > div > div > dl:before {
  content: "";
  background-color: #e3e3e3;
  width: 5px;
  height: 60px;
  display: block;
  position: absolute;
  top: -60px;
  left: 50%;
  margin-left: -2.5px;
}

body.recruit main section article.recruitTop > div > div > dl > dt {
  color: #ffffff;
  background-color: #16a72f;
  font-size: 180%;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 15px 0;
  box-sizing: border-box;
}

body.recruit main section article.recruitTop > div > div > dl > dd {
  font-size: 160%;
  line-height: 2;
  text-align: left;
}

body.recruit main section article.recruitTop > div > div > dl > dd > a {
  color: #468bac;
}

body.recruit main section article.recruitTop > div > div > dl > dd > a:hover {
  opacity: 0.8;
}

body.recruit main section article.recruitTop > p {
  font-size: 180%;
  line-height: 2;
  text-align: center;
  margin-bottom: 30px;
}

body.recruit main section article.recruitTop > ul.link {
  text-align: center;
  display: block;
}

body.recruit main section article.recruitTop > ul.link > li {
  display: inline-block;
}

body.recruit main section article.recruitTop > ul.link > li + li {
  margin-left: 30px;
}

body.recruit main section.service article > h2 {
  font-size: 280%;
  font-weight: bold;
  text-align: center;
  margin: 0 auto 30px auto;
  padding-bottom: 30px;
  border-bottom: 4px #ffffff solid;
}

body.recruit main section.service article > .icon {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

body.recruit main section.service article > .icon > li {
  width: auto;
  height: auto;
  font-size: 160%;
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  align-self: stretch;
}

body.recruit main section.service article > .icon > li a {
  color: #000000;
  transition: 0.3s;
}

body.recruit main section.service article > .icon > li a:before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 120px;
  height: 120px;
  display: block;
  margin: 0 auto;
}
body.recruit main section.service article > .icon > li:first-of-type a:before {
  background-image: url(../images/page/service/serviceIcon01.png);
  margin-bottom: 0.5em;
}
body.recruit main section.service article > .icon > li:nth-of-type(2) a:before {
  background-image: url(../images/page/service/serviceIcon02.png);
  margin-bottom: 0.5em;
}
body.recruit main section.service article > .icon > li:nth-of-type(3) a:before {
  background-image: url(../images/page/service/serviceIcon03.png);
  margin-bottom: 0.5em;
}
body.recruit main section.service article > .icon > li:nth-of-type(4) a:before {
  background-image: url(../images/page/service/serviceIcon04.png);
}
body.recruit main section.service article > .icon > li:nth-of-type(5) a:before {
  background-image: url(../images/page/service/serviceIcon05.png);
  width: 160px;
}

body.recruit main section.service article > p {
  font-size: 180%;
  line-height: 2;
  margin: 30px auto 0 auto;
}

body.recruit main section.requirements {
  background-color: #16a72f;
  padding: 140px 0 60px 0;
  text-align: center;
  position: relative;
  overflow-x: hidden;
}

body.recruit main section.requirements:before {
  content: "";
  width: 0;
  height: 0;
  border-top: 80px solid #edeff1;
  border-right: 50vw solid transparent;
  border-left: 50vw solid transparent;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -50vw;
}

body.recruit main section.requirements a.btn {
  color: #ffffff;
  background-color: #16a72f;
  width: 320px;
  font-size: 240%;
  border: 1px #ffffff solid;
}

body.recruit main section.requirements a.btn:after {
  content: "";
  width: 14px;
  height: 14px;
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
  margin-left: 10px;
  margin-right: -5px;
}

body.recruit main section.requirements a.btn:hover {
  color: #16a72f;
  background-color: #ffffff;
}

body.recruit main section.requirements a.btn:hover:after {
  border-top: 2px #16a72f solid;
  border-right: 2px #16a72f solid;
}

body.recruit main section article > ul.catBlock {
  width: 100%;
  margin-top: 60px;
}

body.recruit main section article > ul.catBlock > li {
  width: 620px;
  height: 200px;
  text-align: center;
  float: left;
  box-sizing: border-box;
}

body.recruit main section article > ul.catBlock > li + li {
  margin-left: 40px;
}

body.recruit main section article > ul.catBlock > li > a {
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  float: left;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

body.recruit main section article > ul.catBlock > li > a > div:first-of-type {
  color: #ffffff;
  width: 100%;
  height: auto;
  font-size: 160%;
  display: block;
  position: relative;
  z-index: 1;
}

body.recruit
  main
  section
  article
  > ul.catBlock
  > li
  > a
  > div:first-of-type
  > span {
  font-size: 300%; /* 48px */
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  display: block;
  margin-bottom: 10px;
}

body.recruit main section article > ul.catBlock > li > a > div:last-of-type {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition: 0.3s;
}

body.recruit
  main
  section
  article
  > ul.catBlock
  > li
  > a:hover
  > div:last-of-type {
  transform: scale(1.04);
  opacity: 0.8;
}

body.recruit
  main
  section
  article
  > ul.catBlock
  > li.company
  > a
  > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_company.jpg);
}
body.recruit
  main
  section
  article
  > ul.catBlock
  > li.story
  > a
  > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_president.jpg);
}
body.recruit
  main
  section
  article
  > ul.catBlock
  > li.service
  > a
  > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_service.jpg);
}
body.recruit
  main
  section
  article
  > ul.catBlock
  > li.sustainability
  > a
  > div:last-of-type {
  background-image: url(../images/page/commonSection/cat_sustainability.jpg);
}

body.recruit.requirements main section article {
  width: 1000px;
  margin: 0 auto;
}

body.recruit.requirements main section article + article {
  margin-top: 100px;
}

body.recruit.requirements main section article h2 {
  color: #ffffff;
  background-color: #16a72f;
  font-size: 180%;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 10px;
}

body.recruit.requirements main section article dl {
  margin-top: 30px;
}

body.recruit.requirements main section article dl > dt {
  font-size: 180%;
  line-height: 2;
}

body.recruit.requirements main section article dl > dt > a {
  color: #468eaf;
}

body.recruit.requirements main section article dl > dt > a > span {
  background-color: #468eaf;
  width: 22px;
  height: 22px;
  vertical-align: -4px;
  margin-left: 8px;
  display: inline-block;
  border-radius: 50%;
  position: relative;
}

body.recruit.requirements main section article dl > dt > a > span:before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
  margin-top: -4px;
  margin-left: -5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: rotate(45deg);
}

body.recruit.requirements main section article dl > dd {
  font-size: 180%;
  line-height: 2;
}

body.recruit.requirements main section article dl > dd:before {
  content: "\0025cf";
  color: #cbcbcb;
  display: inline-block;
}

body.recruit.requirements main section article div.entryBlock {
  width: 100%;
}

body.recruit.requirements main section article div.entryBlock + div.entryBlock {
  margin-top: 100px;
}

body.recruit.requirements main section article div.entryBlock > h3 {
  font-size: 180%;
  margin-bottom: 30px;
}

body.recruit.requirements main section article div.entryBlock > h3:before {
  content: "\0025a0";
  display: inline-block;
}

body.recruit.requirements main section article div.entryBlock table {
  width: 100%;
  margin: 0 auto;
}

body.recruit.requirements main section article div.entryBlock table tr th {
  background-color: #e7f6ea;
  width: 260px;
  font-size: 160%;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  vertical-align: middle;
  -moz-text-align-last: justify;
  text-align-last: justify;
  padding: 30px 70px;
  box-sizing: border-box;
  border-top: 1px #dcdddd solid;
}

body.recruit.requirements main section article div.entryBlock table tr td {
  width: auto;
  font-size: 160%;
  line-height: 2;
  vertical-align: middle;
  padding: 30px 70px;
  box-sizing: border-box;
  border-top: 1px #dcdddd solid;
}

body.recruit.requirements
  main
  section
  article
  div.entryBlock
  tr:last-of-type
  th,
body.recruit.requirements
  main
  section
  article
  div.entryBlock
  tr:last-of-type
  td {
  border-bottom: 1px #dcdddd solid;
}

body.recruit.requirements main section article div.entryBlock table tr td a {
  color: #468eaf;
}

body.recruit.requirements
  main
  section
  article
  div.entryBlock
  table
  tr
  td
  a.btn {
  color: #ffffff;
  background-color: #16a72f;
  font-size: 100%;
  margin: 30px auto 0 0;
  line-height: 1;
  border: 1px #16a72f solid;
}

body.recruit.requirements
  main
  section
  article
  div.entryBlock
  table
  tr
  td
  a.btn:after {
  content: "";
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
  margin-left: 10px;
  margin-right: -5px;
}

body.recruit.requirements
  main
  section
  article
  div.entryBlock
  table
  tr
  td
  a.btn:hover {
  color: #16a72f;
  background-color: #ffffff;
  border: 1px #16a72f solid;
}

body.recruit.requirements
  main
  section
  article
  div.entryBlock
  table
  tr
  td
  a.btn:hover:after {
  border-top: 2px #16a72f solid;
  border-right: 2px #16a72f solid;
}

body.recruit.requirements main section article.noEntry {
  margin: 150px auto;
}

body.recruit.requirements main section article.noEntry p {
  font-size: 160%;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width: 768px) {
  body.recruit main section article.recruitTop h2 {
    font-size: 140%;
    text-align: left;
  }

  body.recruit main section article.recruitTop > ul:first-of-type {
    margin: 40px auto;
  }

  body.recruit main section article.recruitTop > div {
    margin-bottom: 15px;
    padding-bottom: 30px;
    border-bottom: 3px #e3e3e3 solid;
  }

  body.recruit main section article.recruitTop > div > p {
    font-size: 170%;
    display: block;
    padding: 15px;
  }

  body.recruit main section article.recruitTop > div > p:after {
    content: none;
  }

  body.recruit main section article.recruitTop > div > div {
    display: block;
    margin-top: 0px;
  }

  body.recruit main section article.recruitTop > div > div:before {
    content: none;
  }

  body.recruit main section article.recruitTop > div > div > dl {
    width: 100%;
    margin-top: 30px;
  }

  body.recruit main section article.recruitTop > div > div > dl:before {
    content: none;
  }

  body.recruit main section article.recruitTop > div > div > dl > dt {
    font-size: 140%;
    margin-bottom: 15px;
    padding: 5px 0;
  }

  body.recruit main section article.recruitTop > div > div > dl > dd {
    font-size: 120%;
  }

  body.recruit main section article.recruitTop > p {
    font-size: 120%;
    margin-bottom: 15px;
  }

  body.recruit main section article.recruitTop > ul.link > li {
    display: block;
  }

  body.recruit main section article.recruitTop > ul.link > li + li {
    margin-top: 15px;
    margin-left: 0;
  }

  body.recruit main section.service article > h2 {
    width: 100%;
    font-size: 200%;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 2px #ffffff solid;
  }

  body.recruit main section.service article > .icon {
    width: 100%;
    text-align: center;
    flex-wrap: wrap;
    justify-content: center;
  }

  body.recruit main section.service article > .icon > li {
    width: 20%;
    min-width: 80px;
    font-size: 100%;
    margin: 0 2.5%;
  }

  body.recruit main section.service article > .icon > li a:before {
    width: 60px;
    height: 60px;
  }

  body.recruit
    main
    section.service
    article
    > .icon
    > li:nth-of-type(5)
    a:before,
  body.recruit
    main
    section.service
    article
    > .icon
    > li:nth-of-type(6)
    a:before,
  body.recruit main section.service article > .icon > li:last-of-type a:before {
    width: 80px;
  }

  body.recruit main section.service article > p {
    width: 100%;
    font-size: 120%;
    margin: 15px auto 0 auto;
  }

  body.recruit main section.requirements {
    padding: 70px 0 30px 0;
  }

  body.recruit main section.requirements:before {
    border-top: 40px solid #edeff1;
  }

  body.recruit main section.requirements a.btn {
    width: 160px;
    font-size: 120%;
  }

  body.recruit main section.requirements a.btn:after {
    width: 7px;
    height: 7px;
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
    margin-left: 5px;
    margin-right: -2.5px;
  }

  body.recruit main section.requirements a.btn:hover:after {
    border-top: 1px #16a72f solid;
    border-right: 1px #16a72f solid;
  }

  body.recruit main section article > ul.catBlock {
    margin-top: 30px;
  }

  body.recruit main section article > ul.catBlock > li {
    width: 100%;
    height: 0;
    padding-top: 32.25%;
    float: none;
    position: relative;
  }

  body.recruit main section article > ul.catBlock > li + li {
    margin-top: 15px;
    margin-left: 0;
  }

  body.recruit main section article > ul.catBlock > li > a {
    position: absolute;
    top: 0;
    left: 0;
  }

  body.recruit main section article > ul.catBlock > li > a > div:first-of-type {
    font-size: 100%;
  }

  body.recruit
    main
    section
    article
    > ul.catBlock
    > li
    > a
    > div:first-of-type
    > span {
    font-size: 300%; /* 48px */
    display: block;
    margin-bottom: 10px;
  }

  body.recruit main section article > ul.catBlock > li > a > div:last-of-type {
    font-size: 300%; /* 30px */
    margin-bottom: 5px;
  }

  body.recruit.requirements main section article {
    width: 100%;
  }

  body.recruit.requirements main section article + article {
    margin-top: 50px;
  }

  body.recruit.requirements main section article h2 {
    font-size: 140%;
    margin-bottom: 15px;
    padding: 10px;
  }

  body.recruit.requirements main section article dl {
    margin-top: 15px;
  }

  body.recruit.requirements main section article dl > dt {
    font-size: 120%;
  }

  body.recruit.requirements main section article dl > dt > a > span {
    width: 11px;
    height: 11px;
    vertical-align: -2px;
    margin-left: 4px;
  }

  body.recruit.requirements main section article dl > dt > a > span:before {
    width: 3px;
    height: 3px;
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
    margin-top: -2px;
    margin-left: -2.55px;
  }

  body.recruit.requirements main section article dl > dd {
    font-size: 120%;
  }

  body.recruit.requirements
    main
    section
    article
    div.entryBlock
    + div.entryBlock {
    margin-top: 50px;
  }

  body.recruit.requirements main section article div.entryBlock > h3 {
    font-size: 140%;
    margin-bottom: 15px;
  }

  body.recruit.requirements main section article div.entryBlock table tr th {
    width: 100%;
    font-size: 120%;
    text-align: left;
    -moz-text-align-last: auto;
    text-align-last: auto;
    padding: 15px 10px;
    display: block;
    box-sizing: border-box;
    border-top: 1px #dcdddd solid;
  }

  body.recruit.requirements main section article div.entryBlock table tr td {
    width: 100%;
    font-size: 120%;
    padding: 15px 10px;
    display: block;
    border-top: none;
  }

  body.recruit.requirements
    main
    section
    article
    div.entryBlock
    tr:last-of-type
    th {
    border-top: none;
  }

  body.recruit.requirements
    main
    section
    article
    div.entryBlock
    tr:last-of-type
    td {
    border-bottom: 1px #dcdddd solid;
  }

  body.recruit.requirements
    main
    section
    article
    div.entryBlock
    table
    tr
    td
    a.btn {
    margin: 15px auto 0 0;
  }

  body.recruit.requirements
    main
    section
    article
    div.entryBlock
    table
    tr
    td
    a.btn:after {
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
    margin-left: 5px;
    margin-right: -2.5px;
  }

  body.recruit.requirements
    main
    section
    article
    div.entryBlock
    table
    tr
    td
    a.btn:hover:after {
    border-top: 1px #16a72f solid;
    border-right: 1px #16a72f solid;
  }

  body.recruit.requirements main section article.noEntry {
    margin: 50px auto;
  }

  body.recruit.requirements main section article.noEntry p {
    font-size: 120%;
  }
}

/* ニュースブログ
------------------------------------------------------ */

body.post-type-archive-news main div#catTitle,
body.tax-news_category main div#catTitle,
body.single-news main div#catTitle {
  background-image: url(../images/page/news/bg_news.jpg);
}

body.post-type-archive-news main section div.wrapper.postWrap,
body.tax-news_category main section div.wrapper.postWrap {
  width: 960px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

body.post-type-archive-news main section article,
body.tax-news_category main section article {
  width: 322px;
  height: auto;
  border: 3px #edeff1 solid;
  border-radius: 8px;
  box-sizing: border-box;
}

body.post-type-archive-news main section article:not(:nth-of-type(3n + 1)),
body.tax-news_category main section article:not(:nth-of-type(3n + 1)) {
  margin-left: -3px;
}

body.post-type-archive-news main section article:nth-of-type(n + 4),
body.tax-news_category main section article:nth-of-type(n + 4) {
  margin-top: -3px;
}

body.post-type-archive-news main section article > a,
body.tax-news_category main section article > a {
  color: #000000;
  padding: 40px;
  display: block;
}

body.post-type-archive-news main section article > a:hover,
body.tax-news_category main section article > a:hover {
  opacity: 0.8;
}

body.post-type-archive-news main section article > a > img,
body.tax-news_category main section article > a > img {
  width: 100%;
  height: auto;
  max-height: 175px;
  overflow: hidden;
  display: block;
}

body.post-type-archive-news main section article > a > p.date,
body.tax-news_category main section article > a > p.date {
  font-size: 160%;
  font-weight: bold;
  margin: 15px auto;
}

body.post-type-archive-news main section article > a > h2,
body.tax-news_category main section article > a > h2 {
  font-size: 160%;
  line-height: 1.6;
}

body.post-type-archive-news main section article > a > p.category,
body.tax-news_category main section article > a > p.category,
body.single-news main section.post div.title p.category {
  margin-top: 30px;
}

body.post-type-archive-news main section article > a > p.category span,
body.tax-news_category main section article > a > p.category > span,
body.single-news main section.post div.title p.category > span {
  color: #ffffff;
  background-color: #edeff1;
  width: 120px;
  height: auto;
  font-size: 120%;
  text-align: center;
  padding: 5px 10px;
  display: inline-block;
  box-sizing: border-box;
}

body.post-type-archive-news main section article > a > p.category span.ir,
body.tax-news_category main section article > a > p.category > span.ir,
body.single-news main section.post div.title p.category > span.ir {
  background-color: #468eaf;
}

body.single-news main section.post {
  width: 800px;
  float: left;
}

body.single-news main section.post div.title {
  width: 100%;
  margin-bottom: 30px;
  padding: 30px 0;
  border-top: 1px #edeff1 solid;
  border-bottom: 1px #edeff1 solid;
}

body.single-news main section.post div.title p.date {
  font-size: 160%;
  font-weight: bold;
}

body.single-news main section.post div.title h1 {
  font-size: 240%;
  font-weight: bold;
  line-height: 1.6;
  margin: 15px auto;
}

body.single-news main section.post article {
  width: 100%;
  font-size: 180%;
  line-height: 1.6;
}

body.single-news main section.post article > p,
body.single-news main section.post article > table,
body.single-news main section.post article > div {
  margin-bottom: 1em;
}

body.single-news main section.post article > h2 {
  color: #16a72f;
  font-size: 24px;
  line-height: 2;
  text-indent: -1em;
  margin: 40px auto 20px;
  padding-left: 2em;
  font-weight: bold;
}

body.single-news main section.post article > h2:before {
  content: "\002015\002015";
  display: inline-block;
}

body.single-news main section.post article > h3 {
  color: #000000;
  font-size: 24px;
  text-align: left;
  margin: 20px auto 30px 0;
}

body.single-news main section.post article table th,
body.single-news main section.post article table td {
  border: 1px #000000 solid;
  padding: 0.5em;
}

body.single-news main section.post article img {
  width: auto;
  height: auto;
  max-width: 100%;
}

body.single-news main section.post article .alignleft {
  float: left;
}

body.single-news main section.post article .aligncenter {
  display: block;
  margin: 0 auto;
}

body.single-news main section.post article .alignright {
  float: right;
}

body.single-news main section.post article a.linkBtn {
  color: #ffffff;
  background-color: #b3b3b3;
  line-height: 1;
  text-align: center;
  padding: 15px;
  display: inline-block;
  transition: 0.3s;
}

body.single-news main section.post article a.linkBtn:hover {
  background-color: #16a72f;
}

body.single-news main section.post article a:not(.linkBtn) {
  transition: color 0.4s ease;
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
body.single-news main section.post article a:not(.linkBtn):hover {
  text-decoration: none;
  color: #16a72f;
  opacity: 1;
}

body.single-news main nav#newsNav {
  width: 340px;
  float: right;
  padding: 100px 0;
}

body.single-news main nav#newsNav > div + div {
  margin-top: 60px;
}

body.single-news main nav#newsNav > div > p {
  color: #16a72f;
  font-size: 180%;
  padding: 10px 0;
  text-align: center;
  border: 2px #16a72f solid;
}

body.single-news main nav#newsNav > div > div.posts > article {
  padding: 30px 0;
  border-bottom: 1px #edeff1 solid;
}

body.single-news main nav#newsNav > div > div.posts > article > a {
  color: #000000;
  display: flex;
  align-items: flex-start;
}

body.single-news main nav#newsNav > div > div.posts > article > a:hover {
  opacity: 0.8;
}

body.single-news main nav#newsNav > div > div.posts > article > a > img {
  width: 120px;
  height: auto;
  margin-right: 20px;
}

body.single-news main nav#newsNav > div > div.posts > article > a > div {
  width: calc(100% - 140px);
}

body.single-news main nav#newsNav > div > div.posts > article > a > div > p {
  font-size: 120%;
  font-weight: bold;
  margin-bottom: 15px;
}

body.single-news main nav#newsNav > div > div.posts > article > a > div > h2 {
  font-size: 160%;
  line-height: 1.6;
}

body.single-news main nav#newsNav > div > ul {
  margin-top: 30px;
}

body.single-news main nav#newsNav > div > ul > li {
  font-size: 180%;
  line-height: 1.6;
}

body.single-news main nav#newsNav > div > ul > li + li {
  margin-top: 10px;
}

body.single-news main nav#newsNav > div > ul > li > a {
  color: #000000;
}
body.single-news main nav#newsNav > div > ul > li > a:hover {
  color: #16a72f;
}

@media screen and (max-width: 768px) {
  body.post-type-archive-news main section div.wrapper.postWrap,
  body.tax-news_category main section div.wrapper.postWrap {
    width: 90%;
  }

  body.post-type-archive-news main section article,
  body.tax-news_category main section article {
    width: calc(50% + 1.5px);
  }

  body.post-type-archive-news main section article:not(:nth-of-type(3n + 1)),
  body.tax-news_category main section article:not(:nth-of-type(3n + 1)) {
    margin-left: 0;
  }

  body.post-type-archive-news main section article:nth-of-type(even),
  body.tax-news_category main section article:nth-of-type(even) {
    margin-left: -3px !important;
  }

  body.post-type-archive-news main section article:nth-of-type(n + 4),
  body.tax-news_category main section article:nth-of-type(n + 4) {
    margin-top: 0;
  }

  body.post-type-archive-news main section article:nth-of-type(n + 3),
  body.tax-news_category main section article:nth-of-type(n + 3) {
    margin-top: -3px !important;
  }

  body.post-type-archive-news main section article > a,
  body.tax-news_category main section article > a {
    padding: 20px;
  }

  body.post-type-archive-news main section article > a > p.date,
  body.tax-news_category main section article > a > p.date {
    font-size: 90%;
    margin: 10px auto;
  }

  body.post-type-archive-news main section article > a > h2,
  body.tax-news_category main section article > a > h2 {
    font-size: 140%;
  }

  body.post-type-archive-news main section article > a > p.category,
  body.tax-news_category main section article > a > p.category,
  body.single-news main section.post div.title p.category {
    margin-top: 15px;
  }

  body.post-type-archive-news main section article > a > p.category span,
  body.tax-news_category main section article > a > p.category > span,
  body.single-news main section.post div.title p.category > span {
    width: 100px;
    font-size: 90%;
    padding: 5px 10px;
  }

  body.single-news main section.post {
    width: 100%;
    float: none;
  }

  body.single-news main section.post div.title {
    margin-bottom: 15px;
    padding: 15px 0;
  }

  body.single-news main section.post div.title p.date {
    font-size: 120%;
    font-weight: bold;
  }

  body.single-news main section.post div.title h1 {
    font-size: 180%;
    margin: 15px auto;
  }

  body.single-news main section.post article {
    font-size: 120%;
  }

  body.single-news main section.post article a.linkBtn {
    padding: 10px;
  }

  body.single-news main section.post article > h2 {
    font-size: 180%;
    margin: 0 auto 10px;
    text-indent: -0.5em;
    padding-left: 1em;
  }

  body.single-news main section.post article > h2:before {
    content: "\002015";
  }

  body.single-news main section.post article > h3 {
    font-size: 180%;
    margin: 10px auto 15px 0;
  }

  body.single-news main nav#newsNav {
    width: 100%;
    float: none;
    padding: 0 0 50px 0;
  }

  body.single-news main nav#newsNav > div + div {
    margin-top: 30px;
  }

  body.single-news main nav#newsNav > div > p {
    font-size: 140%;
    padding: 5px 0;
    border: 1px #16a72f solid;
  }

  body.single-news main nav#newsNav > div > div.posts > article {
    padding: 15px 0;
  }

  body.single-news main nav#newsNav > div > div.posts > article > a > img {
    margin-right: 10px;
  }

  body.single-news main nav#newsNav > div > div.posts > article > a > div {
    width: calc(100% - 110px);
  }

  body.single-news main nav#newsNav > div > div.posts > article > a > div > p {
    font-size: 90%;
    margin-bottom: 5px;
  }

  body.single-news main nav#newsNav > div > div.posts > article > a > div > h2 {
    font-size: 120%;
  }

  body.single-news main nav#newsNav > div > ul {
    margin-top: 15px;
  }

  body.single-news main nav#newsNav > div > ul > li {
    font-size: 120%;
  }

  body.single-news main nav#newsNav > div > ul > li + li {
    margin-top: 5px;
  }
}

/* お問い合わせ / パートナー企業募集のお問い合わせ
------------------------------------------------------ */

body.inquiry main div#catTitle {
  background-image: url(../images/page/inquiry/bg_inquiry.jpg);
}
body.partner main div#catTitle {
  background-image: url(../images/page/partner/bg_partner.jpg);
}

body.inquiry main section article,
body.partner main section article {
  width: 1000px;
  margin: 0 auto;
}

body.inquiry main section article p,
body.partner main section article p {
  font-size: 180%;
  line-height: 2;
  margin-bottom: 60px;
}

body.inquiry main section article span.required,
body.partner main section article span.required {
  color: #c1272d;
}

body.inquiry main section article span.error,
body.partner main section article span.error {
  margin-top: 10px;
  display: block;
}

body.inquiry main section article table.form,
body.partner main section article table.form {
  width: 100%;
}

body.inquiry main section article table.form tr th,
body.partner main section article table.form tr th {
  width: 240px;
  font-size: 180%;
  font-weight: bold;
  text-align: left;
  vertical-align: top;
  padding: 40px 30px;
  border-bottom: 2px #16a72f solid;
  box-sizing: border-box;
  white-space: nowrap;
}

body.inquiry main section article table.form tr:first-of-type th,
body.partner main section article table.form tr:first-of-type th {
  border-top: 2px #16a72f solid;
}

body.inquiry main section article table.form tr td,
body.partner main section article table.form tr td {
  width: calc(100% - 240px);
  font-size: 180%;
  text-align: left;
  vertical-align: top;
  padding: 30px 0 30px 100px;
  border-bottom: 2px #e6e6e6 solid;
  box-sizing: border-box;
}

body.inquiry.confirm main section article table.form tr td,
body.partner.confirm main section article table.form tr td {
  padding: 40px 0 40px 100px;
}

body.inquiry main section article table.form tr:first-of-type td,
body.partner main section article table.form tr:first-of-type td {
  border-top: 2px #e6e6e6 solid;
}

body.inquiry main section article table.form tr td input,
body.inquiry main section article table.form tr td textarea,
body.partner main section article table.form tr td input,
body.partner main section article table.form tr td textarea {
  background-color: #f2f2f3;
  width: 100%;
  height: auto;
  font-size: 100%;
  line-height: 2;
  padding: 5px 15px;
  box-sizing: border-box;
}

body.inquiry main section article table.form tr td input[name="tel[data][0]"],
body.inquiry main section article table.form tr td input[name="tel[data][1]"],
body.inquiry main section article table.form tr td input[name="tel[data][2]"],
body.partner main section article table.form tr td input[name="tel[data][0]"],
body.partner main section article table.form tr td input[name="tel[data][1]"],
body.partner main section article table.form tr td input[name="tel[data][2]"] {
  width: auto;
}

body.inquiry main section article div.checkbox,
body.partner main section article div.checkbox {
  font-size: 180%;
  margin: 60px auto;
  text-align: center;
}

body.inquiry.confirm main section article div.checkbox,
body.partner.confirm main section article div.checkbox {
  display: none;
}

body.inquiry main section article div.checkbox input[type="checkbox"],
body.partner main section article div.checkbox input[type="checkbox"] {
  display: inline-block;
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

body.inquiry
  main
  section
  article
  div.checkbox
  input[type="checkbox"]
  + span.mwform-checkbox-field-text,
body.partner
  main
  section
  article
  div.checkbox
  input[type="checkbox"]
  + span.mwform-checkbox-field-text {
  display: none;
}

body.inquiry main section article div.checkbox a,
body.partner main section article div.checkbox a {
  color: #468eaf;
}

body.inquiry main section article div.checkbox a:hover,
body.partner main section article div.checkbox a:hover {
  opacity: 0.8;
}

body.inquiry main section article div.submit,
body.partner main section article div.submit {
  margin: 60px auto 0 auto;
  display: flex;
  justify-content: center;
  gap: 0 30px;
}

body.inquiry main section article div.submit button,
body.partner main section article div.submit button {
  width: 280px;
}

body.inquiry main section article div.submit input,
body.partner main section article div.submit input {
  color: #ffffff;
  background-color: #595957;
  width: 240px;
  height: auto;
  font-size: 180%;
  padding: 20px 0;
  text-align: center;
  display: block;
  box-sizing: border-box;
  cursor: pointer;
}

body.inquiry main section article div.submit input:hover,
body.partner main section article div.submit input:hover {
  background-color: #a49d9a;
}

body.inquiry.complete main section article,
body.partner.complete main section article {
  text-align: center;
}

body.inquiry.complete main section article h2,
body.partner.complete main section article h2 {
  color: #16a72f;
  font-size: 360%;
  margin-bottom: 60px;
}

body.inquiry.complete main section article a.btn,
body.partner.complete main section article a.btn {
  margin-top: 100px;
}

@media screen and (max-width: 768px) {
  body.inquiry main section article,
  body.partner main section article {
    width: 100%;
  }

  body.inquiry main section article p,
  body.partner main section article p {
    font-size: 120%;
    margin-bottom: 30px;
  }

  body.inquiry main section article span.error,
  body.partner main section article span.error {
    margin-top: 5px;
  }

  body.inquiry main section article table.form tr th,
  body.partner main section article table.form tr th {
    width: 100%;
    font-size: 120%;
    padding: 15px 0;
    display: block;
    border-bottom: none;
  }

  body.inquiry main section article table.form tr:first-of-type th,
  body.partner main section article table.form tr:first-of-type th {
    border-top: 2px #e6e6e6 solid;
    position: relative;
  }

  body.inquiry main section article table.form tr:first-of-type th:after,
  body.partner main section article table.form tr:first-of-type th:after {
    content: "";
    background-color: #16a72f;
    width: 35%;
    height: 2px;
    position: absolute;
    top: -2px;
    left: 0;
  }

  body.inquiry main section article table.form tr td,
  body.partner main section article table.form tr td {
    width: 100%;
    font-size: 120%;
    padding: 0 0 15px 0;
    display: block;
    border-bottom: 2px #e6e6e6 solid;
    position: relative;
  }

  body.inquiry main section article table.form tr td:after,
  body.partner main section article table.form tr td:after {
    content: "";
    background-color: #16a72f;
    width: 35%;
    height: 2px;
    position: absolute;
    bottom: -2px;
    left: 0;
  }

  body.inquiry.confirm main section article table.form tr td,
  body.partner.confirm main section article table.form tr td {
    padding: 0 0 15px 0;
  }

  body.inquiry main section article table.form tr:first-of-type td,
  body.partner main section article table.form tr:first-of-type td {
    border-top: none;
  }

  body.inquiry main section article table.form tr td input,
  body.inquiry main section article table.form tr td textarea,
  body.partner main section article table.form tr td input,
  body.partner main section article table.form tr td textarea {
    padding: 5px 10px;
  }

  body.inquiry main section article div.checkbox,
  body.partner main section article div.checkbox {
    font-size: 120%;
    margin: 30px auto;
  }

  body.inquiry main section article div.submit,
  body.partner main section article div.submit {
    margin: 30px auto 0 auto;
  }

  body.inquiry main section article div.submit input,
  body.partner main section article div.submit input {
    width: 120px;
    font-size: 120%;
    padding: 10px 0;
  }

  body.inquiry main section article div.submit input + input,
  body.partner main section article div.submit input + input {
    margin-left: 15px;
  }

  body.inquiry.complete main section article h2,
  body.partner.complete main section article h2 {
    font-size: 180%;
    margin-bottom: 30px;
  }

  body.inquiry.complete main section article a.btn,
  body.partner.complete main section article a.btn {
    margin-top: 50px;
  }
}

/* 個人情報保護方針
------------------------------------------------------ */

body.privacy main div#catTitle {
  background-image: url(../images/page/privacy/bg_privacy.jpg);
}

body.privacy main section article p.topText {
  font-size: 180%;
}

body.privacy main section article {
  width: 1000px;
  margin: 0 auto;
}

body.privacy main section article + article {
  margin-top: 100px;
}

body.privacy main section article p {
  font-size: 160%;
  line-height: 2;
}

body.privacy main section article ul {
  list-style-type: none;
  margin-top: 1em;
  margin-left: 1.5em;
}

body.privacy main section article ul > li {
  font-size: 160%;
  line-height: 2;
  position: relative;
}

body.privacy main section article ul > li:before {
  content: "\0025cf";
  color: #b2b2b2;
  display: block;
  position: absolute;
  top: 0;
  left: -1em;
}

body.privacy main section ul.date {
  width: 1000px;
  margin: 50px auto 0 auto;
  text-align: right;
}

body.privacy main section ul.date li {
  font-size: 160%;
  line-height: 2;
}

body.privacy main section.bgColor article {
  background-color: #ffffff;
  text-align: center;
  padding: 60px 0;
}

body.privacy main section.bgColor article dl {
  width: 640px;
  font-size: 180%;
  line-height: 2;
  margin: 0 auto;
}

body.privacy main section.bgColor article dl dt {
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 2px #e4e4e3 solid;
  position: relative;
}

body.privacy main section.bgColor article dl dt:after {
  content: "";
  background-color: #16a72f;
  width: 50%;
  height: 2px;
  display: block;
  position: absolute;
  left: 0;
  bottom: -2px;
}

@media screen and (max-width: 768px) {
  body.privacy main section article p.topText {
    font-size: 120%;
  }

  body.privacy main section article {
    width: 100%;
  }

  body.privacy main section article + article {
    margin-top: 50px;
  }

  body.privacy main section article p {
    font-size: 120%;
  }

  body.privacy main section article ul > li {
    font-size: 120%;
  }

  body.privacy main section ul.date {
    width: 100%;
    margin: 25px auto 0 auto;
  }

  body.privacy main section ul.date li {
    font-size: 120%;
  }

  body.privacy main section.bgColor article {
    padding: 30px 0;
  }

  body.privacy main section.bgColor article dl {
    width: 100%;
    font-size: 120%;
  }

  body.privacy main section.bgColor article dl dt {
    margin-bottom: 15px;
    padding: 0 10px 15px 10px;
  }

  body.privacy main section.bgColor article dl dd {
    padding: 0 10px;
  }
}

/* 情報セキュリティ基本方針
------------------------------------------------------ */

body.security main div#catTitle {
  background-image: url(../images/page/security/bg_security.jpg);
}

body.security main section article {
  width: 1000px;
  margin: 0 auto;
}

body.security main section article + article {
  margin-top: 100px;
}

body.security main section article h2 {
  color: #16a72f;
  font-size: 280%;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px #c9caca solid;
}

body.security main section article:last-of-type h2 {
  padding-bottom: 0;
  border-bottom: none;
}

body.security main section article p {
  font-size: 160%;
  line-height: 2;
}

body.security main section article p + p {
  margin-top: 1em;
}

body.security main section article p.topText {
  margin-bottom: 50px;
}

body.security main section article:first-of-type p:last-of-type {
  text-align: right;
}

body.security main section article ul {
  margin: 1em auto 1em 2em;
  list-style-type: decimal;
}

body.security main section article ul > li {
  font-size: 160%;
  line-height: 2;
}

body.security main section article table {
  width: 100%;
  margin: 0 auto;
}

body.security main section article table tr th {
  background-color: #e7f6ea;
  width: 200px;
  font-size: 160%;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  vertical-align: middle;
  -moz-text-align-last: justify;
  text-align-last: justify;
  padding: 30px 50px;
  box-sizing: border-box;
  border-top: 1px #dcdddd solid;
}

body.security main section article table tr td {
  width: auto;
  font-size: 160%;
  line-height: 2;
  vertical-align: middle;
  padding: 30px 70px;
  box-sizing: border-box;
  border-top: 1px #dcdddd solid;
}

body.security main section article table tr:last-of-type th,
body.security main section article table tr:last-of-type td {
  border-bottom: 1px #dcdddd solid;
}

@media screen and (max-width: 768px) {
  body.security main section article {
    width: 100%;
  }

  body.security main section article + article {
    margin-top: 50px;
  }

  body.security main section article h2 {
    font-size: 160%;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }

  body.security main section article p {
    font-size: 120%;
  }

  body.security main section article p.topText {
    margin-bottom: 25px;
  }

  body.security main section article ul > li {
    font-size: 120%;
  }

  body.security main section article table tr th {
    width: 100%;
    font-size: 120%;
    text-align: left;
    vertical-align: middle;
    -moz-text-align-last: auto;
    text-align-last: auto;
    padding: 15px 10px;
    display: block;
    border-top: 1px #dcdddd solid;
  }

  body.security main section article table tr td {
    width: 100%;
    font-size: 120%;
    vertical-align: middle;
    padding: 15px 10px;
    display: block;
    border-top: none;
  }

  body.security main section article table tr:last-of-type th {
    border-bottom: none;
  }
}

/* 新型コロナウィルス特設ページ
------------------------------------------------------ */

body.covid19 main div#catTitle {
  background-image: url(../images/page/covid19/bg_covid19.jpg);
}

body.covid19 main section article p.topText {
  font-size: 180%;
}

body.covid19 main section article {
  width: 1000px;
  margin: 0 auto;
}

body.covid19 main section article + article {
  margin-top: 100px;
}

body.covid19 main section article p {
  font-size: 160%;
  line-height: 2;
}

body.covid19 main section article ul {
  list-style-type: none;
  margin-top: 1em;
  margin-left: 1.5em;
}

body.covid19 main section article ul > li {
  font-size: 160%;
  line-height: 2;
  position: relative;
}

body.covid19 main section article ul > li:before {
  content: "\0025cf";
  color: #b2b2b2;
  display: block;
  position: absolute;
  top: 0;
  left: -1em;
}

body.covid19 main section ul.date {
  width: 1000px;
  margin: 50px auto 0 auto;
  text-align: right;
}

body.covid19 main section ul.date li {
  font-size: 160%;
  line-height: 2;
}

body.covid19 main section.bgColor article {
  background-color: #ffffff;
  text-align: center;
  padding: 60px 0;
}

body.covid19 main section.bgColor article dl {
  width: 640px;
  font-size: 180%;
  line-height: 2;
  margin: 0 auto;
}

body.covid19 main section.bgColor article dl dt {
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 2px #e4e4e3 solid;
  position: relative;
}

body.covid19 main section.bgColor article dl dt:after {
  content: "";
  background-color: #16a72f;
  width: 50%;
  height: 2px;
  display: block;
  position: absolute;
  left: 0;
  bottom: -2px;
}

@media screen and (max-width: 768px) {
  body.covid19 main section article p.topText {
    font-size: 120%;
  }

  body.covid19 main section article {
    width: 100%;
  }

  body.covid19 main section article + article {
    margin-top: 50px;
  }

  body.covid19 main section article p {
    font-size: 120%;
  }

  body.covid19 main section article ul > li {
    font-size: 120%;
  }

  body.covid19 main section ul.date {
    width: 100%;
    margin: 25px auto 0 auto;
  }

  body.covid19 main section ul.date li {
    font-size: 120%;
  }

  body.covid19 main section.bgColor article {
    padding: 30px 0;
  }

  body.covid19 main section.bgColor article dl {
    width: 100%;
    font-size: 120%;
  }

  body.covid19 main section.bgColor article dl dt {
    margin-bottom: 15px;
    padding: 0 10px 15px 10px;
  }

  body.covid19 main section.bgColor article dl dd {
    padding: 0 10px;
  }
}

/* 検索結果
------------------------------------------------------ */

body.search main section.searchText {
  border-bottom: 1px #dcdddd solid;
}

body.search main section article {
  width: 1000px;
  margin: 0 auto;
}

body.search main section.searchText article p {
  color: #16a72f;
  font-size: 280%;
  font-weight: bold;
  line-height: 2;
}

body.search main section.result {
  padding: 0 0 100px 0;
}

body.search main section.result article {
  border-bottom: 1px #dcdddd solid;
}

body.search main section.result article a {
  color: #000000;
  display: block;
  padding: 40px 0;
}

body.search main section.result article a:hover {
  opacity: 1;
}

body.search main section.result article h2 {
  font-size: 180%;
  font-weight: bold;
  line-height: 2;
  transition: color 0.4s ease;
}

body.search main section.result article a:hover h2 {
  color: #e7f6ea;
}

body.search main section.result article h2 > span {
  background-color: #16a72f;
  width: 22px;
  height: 22px;
  vertical-align: -4px;
  margin-right: 8px;
  display: inline-block;
  border-radius: 50%;
  position: relative;
}

body.search main section.result article h2 > span:before {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px #ffffff solid;
  border-right: 2px #ffffff solid;
  margin-top: -4px;
  margin-left: -5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: rotate(45deg);
}

body.search main section.result article a:hover h2 {
  color: #16a72f;
}

body.search main section.result article p {
  font-size: 160%;
  line-height: 2;
  margin-top: 20px;
  padding-left: 30px;
}

body.search-no-results main section.result article p {
  padding: 40px 0 40px 30px;
}

@media screen and (max-width: 768px) {
  body.search main section article {
    width: 100%;
  }

  body.search main section.searchText article p {
    font-size: 160%;
  }

  body.search main section.result {
    padding: 0 0 50px 0;
  }

  body.search main section.result article a {
    padding: 20px 0;
  }

  body.search main section.result article h2 {
    font-size: 140%;
  }

  body.search main section.result article h2 > span {
    width: 14px;
    height: 14px;
    vertical-align: -2px;
    margin-right: 5px;
  }

  body.search main section.result article h2 > span:before {
    width: 3px;
    height: 3px;
    border-top: 1px #ffffff solid;
    border-right: 1px #ffffff solid;
    margin-top: -2px;
    margin-left: -2.5px;
  }

  body.search main section.result article p {
    font-size: 120%;
    margin-top: 10px;
    padding-left: 20px;
  }

  body.search-no-results main section.result article p {
    padding: 20px 0 20px 15px;
  }
}

/* 404
------------------------------------------------------ */

body.notFound main section article {
  width: 1000px;
  text-align: center;
  margin: 0 auto;
}

body.notFound main section article > p {
  font-size: 280%;
  font-weight: bold;
  margin: 50px auto 150px auto;
}

body.notFound main section article > div.search {
  background-color: #16a72f;
  margin: 0 auto;
  padding: 40px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body.notFound main section article > div.search > div:first-of-type {
  width: 130px;
  color: #ffffff;
  font-size: 180%;
  padding-right: 40px;
}

body.notFound main section article > div.search > div:last-of-type {
  width: calc(100% - 170px);
}

body.notFound main section article > div.search > div:last-of-type > form {
  width: 100%;
  position: relative;
}

body.notFound
  main
  section
  div.search
  > div:last-of-type
  > form
  > input:first-of-type {
  background-color: #ffffff;
  width: 100%;
  height: 54px;
  font-size: 180%;
  padding: 18px 79px 18px 25px;
  box-sizing: border-box;
}

body.notFound
  main
  section
  article
  > div.search
  > div:last-of-type
  > form
  > input:first-of-type:placeholder-shown {
  color: #969594;
}

body.notFound
  main
  section
  article
  > div.search
  > div:last-of-type
  > form
  > input:last-of-type {
  background-color: #ed7900;
  width: 54px;
  height: 54px;
  position: absolute;
  top: 0;
  right: 0;
}

body.notFound main section article > ul {
  margin: 30px 0 0 auto;
  text-align: right;
}

body.notFound main section article > ul > li {
  font-size: 160%;
  display: inline-block;
}

body.notFound main section article > ul > li + li {
  margin-left: 50px;
}

body.notFound main section article > ul > li > a {
  color: #000000;
}

body.notFound main section article > ul > li > a:hover {
  color: #16a72f;
}

@media screen and (max-width: 768px) {
  body.notFound main section article {
    width: 100%;
  }

  body.notFound main section article > p {
    font-size: 180%;
    margin: 30px auto 50px auto;
  }

  body.notFound main section article > div.search {
    padding: 20px;
  }

  body.notFound main section article > div.search > div:first-of-type {
    width: 90px;
    font-size: 120%;
    padding-right: 20px;
  }

  body.notFound main section article > div.search > div:last-of-type {
    width: calc(100% - 110px);
  }

  body.notFound
    main
    section
    div.search
    > div:last-of-type
    > form
    > input:first-of-type {
    height: 30px;
    font-size: 120%;
    padding: 9px 40px 9px 10px;
  }

  body.notFound
    main
    section
    article
    > div.search
    > div:last-of-type
    > form
    > input:last-of-type {
    width: 30px;
    height: 30px;
  }

  body.notFound main section article > ul {
    margin: 15px 0 0 auto;
  }

  body.notFound main section article > ul > li {
    font-size: 110%;
  }

  body.notFound main section article > ul > li + li {
    margin-left: 15px;
  }
}

/* エンビプロ追加分　今後の見通しページ
------------------------------------------------------ */
body.ir main section#irProjections {
  padding-bottom: 40px;
  text-align: center;
}

body.ir main section#irProjections article h2 {
  font-size: 280%;
  font-weight: bold;
  line-height: 2;
  margin: 0 auto 30px auto;
}

body.ir main section#irProjections dl {
  overflow: auto;
  border: solid 3px #e4ebef;
  margin: 0 auto 30px auto;
}

body.ir main section#irProjections dt {
  background-color: #e4ebef;
  font-size: 150%;
  font-weight: bold;
  line-height: 2.5;
  text-align: center;
  margin: 0 auto 25px auto;
}

body.ir main section#irProjections dd {
  margin: 0 auto 25px auto;
}

body.ir main section#irProjections dd.irProjectionsSt {
  font-size: 1.2em;
  font-weight: bold;
}

body.ir main section#irProjections a {
  width: clamp(300px, 39.0625vw, 420px);
  margin: 30px auto 0 auto;
}

body.ir main section#irProjections img.irArrow {
  width: 666px;
  margin: 0 auto 15px auto;
}

body.ir main section#irProjections img {
  max-width: 100%;
  height: auto;
}

/* エンビプロ追加分　IRライブラリーの決算動画に資料追加
------------------------------------------------------ */
body.ir.library main section article .content ul {
  margin-bottom: 10px;
}

/* エンビプロ追加分　グローバルトレーディング事業にリンク追加
------------------------------------------------------ */
body.service.trading main section .detail p a {
  font-size: 100%;
}

/* ESG データブック
------------------------------------------------------ */

/* -----------------Common Start----------------- */

@media screen and (min-width: 769px) {
  body.esg-data section:not(.catBlock) .wrapper {
    padding: 0 20px;
    box-sizing: border-box;
  }
}

body.esg-data section p {
  font-size: 180%;
}

@media screen and (max-width: 768px) {
  body.esg-data section p {
    font-size: 120%;
  }
}

body.esg-data .pageAnchor span {
  color: #16a72f;
  font-size: 150%;
}

body.esg-data .esg-title01 {
  text-align: center;
  line-height: 1;
}

body.esg-data .esg-title01 span {
  display: block;
  padding-bottom: 55px;
  font-size: 480%;
  font-weight: 300;
  font-family: "Oswald", sans-serif;
  position: relative;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-title01 span {
    font-size: 300%;
  }
}

body.esg-data .esg-title01 span::after {
  content: "";
  width: 40px;
  height: 10px;
  background-color: #16a72f;
  position: absolute;
  bottom: 25px;
  left: 50%;
  margin-left: -20px;
}

body.esg-data .esg-title01 small {
  line-height: 1;
  font-size: 220%;
  font-weight: bold;
  color: #16a72f;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-title01 small {
    font-size: 150%;
  }
}

body.esg-data .esg-title02 {
  padding: 20px 0;
  text-align: center;
  color: white;
  line-height: 1;
  background-color: #16a72f;
}

body.sustainability .esg-title02 {
  padding: 20px 0;
  text-align: center;
  color: white;
  line-height: 1;
  background-color: #16a72f;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-title02 {
    padding: 10px 0;
  }

  body.sustainability .esg-title02 {
    padding: 10px 0;
  }
}

body.esg-data .esg-title02 * {
  vertical-align: middle;
}

body.sustainability .esg-title02 * {
  vertical-align: middle;
}

body.esg-data .esg-title02 span:nth-child(1) {
  padding-left: 90px;
  font-size: 400%;
  font-weight: bold;
  background-position: left center;
  background-size: auto 100%;
  background-repeat: no-repeat;
}

body.sustainability .esg-title02 span:nth-child(1) {
  padding-left: 90px;
  font-size: 400%;
  font-weight: bold;
  background-position: left center;
  background-size: auto 100%;
  background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-title02 span:nth-child(1) {
    padding-left: 40px;
    font-size: 180%;
  }

  body.sustainability .esg-title02 span:nth-child(1) {
    padding-left: 40px;
    font-size: 180%;
  }
}

body.esg-data .esg-title02 span:nth-child(2) {
  margin: 0 10px;
  font-size: 300%;
}

body.sustainability .esg-title02 span:nth-child(2) {
  margin: 0 10px;
  font-size: 300%;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-title02 span:nth-child(2) {
    font-size: 180%;
  }

  body.sustainability .esg-title02 span:nth-child(2) {
    font-size: 180%;
  }
}

body.esg-data .esg-title02 small {
  font-size: 320%;
  font-weight: bold;
}

body.sustainability .esg-title02 small {
  font-size: 320%;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-title02 small {
    font-size: 160%;
  }

  body.sustainability .esg-title02 small {
    font-size: 160%;
  }
}

body.esg-data .esg-sec02 .esg-title02 span:nth-child(1) {
  background-image: url(../images/page/sustainability/esg-icon01.svg);
}

body.sustainability .esg-sec02 .esg-title02 span:nth-child(1) {
  background-image: url(../images/page/sustainability/esg-icon01.svg);
}

body.esg-data .esg-sec03 .esg-title02 span:nth-child(1) {
  background-image: url(../images/page/sustainability/esg-icon02.svg);
}

body.sustainability .esg-sec03 .esg-title02 span:nth-child(1) {
  background-image: url(../images/page/sustainability/esg-icon02.svg);
}

body.esg-data .esg-sec04 .esg-title02 span:nth-child(1) {
  background-image: url(../images/page/sustainability/esg-icon03.svg);
}

body.sustainability .esg-sec04 .esg-title02 span:nth-child(1) {
  background-image: url(../images/page/sustainability/esg-icon03.svg);
}

body.esg-data .esg-title03 {
  margin: 75px 0 25px 0;
  padding-left: 10px;
  font-size: 200%;
  font-weight: bold;
  line-height: 1.3;
  border-left: 5px solid #16a72f;
}

body.sustainability .esg-title03 {
  margin: 75px 0 25px 0;
  padding-left: 10px;
  font-size: 200%;
  font-weight: bold;
  line-height: 1.3;
  border-left: 5px solid #16a72f;
}

body.sustainability .esg-title03.u-underline {
  text-decoration: underline;
  width: fit-content;
  position: relative;
}

body.sustainability .esg-title03.u-underline::after {
  content: "";
  width: 20px;
  aspect-ratio: 20 / 17;
  height: 17px;
  position: absolute;
  top: 50%;
  right: -5rem;
  transform: translateY(-50%);
  background: url("../images/page/sustainability/arrow.svg") no-repeat;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-title03 {
    margin-top: 50px;
    font-size: 160%;
  }

  body.sustainability .esg-title03 {
    margin-top: 50px;
    font-size: 160%;
  }
}

body.esg-data .wrapper .esg-title03:first-child {
  margin-top: 45px;
}

body.sustainability .wrapper .esg-title03:first-child {
  margin-top: 45px;
}

body.esg-data .esg-table01__outer {
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-table01__outer {
    overflow-x: auto;
  }

  body.esg-data .esg-table01__outer::-webkit-scrollbar {
    width: 12px;
  }

  body.esg-data .esg-table01__outer::-webkit-scrollbar-track {
    border-radius: 6px;
  }

  body.esg-data .esg-table01__outer::-webkit-scrollbar-thumb {
    background-color: #7b8080;
    border-radius: 6px;
  }
}

body.esg-data .esg-table01 {
  font-size: 180%;
  width: 100%;
  border-bottom: 1px solid #9b9a9a;
  border-collapse: separate;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-table01 {
    font-size: 120%;
  }
}

body.esg-data .esg-table01 th,
body.esg-data .esg-table01 td {
  padding: 10px 25px;
  line-height: 1.3;
  vertical-align: middle;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-table01 th,
  body.esg-data .esg-table01 td {
    padding: 10px 15px;
  }
}

body.esg-data .esg-table01 th {
  text-align: center;
  font-weight: bold;
  color: white;
  letter-spacing: 0.1em;
  background-color: #16a72f;
}

body.esg-data .esg-table01 th small {
  margin-left: 5px;
  font-weight: normal;
  font-size: 90%;
}

body.esg-data .esg-table01 td {
  text-align: right;
  border-top: 1px dotted #cdcccc;
}

body.esg-data .esg-table01 tr:nth-child(2) td {
  border-top: 0;
}

body.esg-data .esg-table01 td small {
  margin-left: 5px;
  font-size: 60%;
  vertical-align: top;
  font-weight: bold;
}

body.esg-data .esg-table01 td.esg-table01__bg01 {
  text-align: left;
  font-weight: bold;
  background-color: #f1faf3;
}

body.esg-data .esg-table01 td.esg-table01__bg04 {
  background-color: #f1faf3;
}

body.esg-data .esg-table01 td.esg-table01__border {
  border-right: 1px solid #f1faf3;
}

body.esg-data .esg-table01 tr.esg-table01__border td {
  border-top: 1px solid #9b9a9a;
}

body.esg-data .esg-table01 .esg-table01__center {
  text-align: center;
}

body.esg-data .esg-table01 td.esg-table01__normal {
  font-weight: normal;
}

body.esg-data .esg-table01 td.esg-table01__letter {
  letter-spacing: 0.2em;
}

body.esg-data .esg-kome {
  margin: 10px 0;
  font-size: 140%;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-kome {
    font-size: 120%;
  }
}

body.esg-data .esg-list01 {
  font-size: 200%;
  overflow-wrap: anywhere;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-list01 {
    font-size: 140%;
  }
}

body.esg-data .esg-list01::before {
  content: "-";
  margin: 0 0.8em 0 0.9em;
}

body.esg-data .esg-list01 span {
  margin-right: 5px;
  font-size: 200%;
}

body.esg-data .esg-list01.esg-list01__iso span {
  margin-left: 30px;
  font-weight: bold;
}

body.esg-data .esg-list01.esg-list01__iso strong {
  font-size: 120%;
}

@media screen and (min-width: 769px) {
  body.esg-data li.esg-list01 {
    margin-right: 90px;
    display: inline-block;
    vertical-align: top;
  }
}

@media screen and (max-width: 768px) {
  body.esg-data li.esg-list01 {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-list01 a {
    display: block;
    margin-top: 5px;
    margin-left: 2em;
  }
}

/* -----------------Common End----------------- */

body.esg-data .esg-sec01 .esg-sec01__div01 {
  margin: 55px 0 60px 0;
  padding: 30px 0;
  text-align: center;
  border-top: 1px solid #e2e2e2;
  border-bottom: 1px solid #e2e2e2;
}

body.esg-data .esg-sec01 .esg-sec01__div01--p01 {
  font-size: 360%;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-sec01 .esg-sec01__div01--p01 {
    font-size: 200%;
  }
}

body.esg-data .esg-sec01 .esg-sec01__div01--p02 {
  margin-top: 20px;
}

body.esg-data .esg-sec01 .esg-sec01__ul01 {
  margin: 0 auto;
  max-width: 1200px;
}

@media screen and (min-width: 769px) {
  body.esg-data .esg-sec01 .esg-sec01__ul01 {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
  }
}

body.esg-data .esg-sec01 .esg-sec01__ul01 li {
  text-align: center;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-sec01 .esg-sec01__ul01 li:nth-child(2) {
    margin: 8em 0;
  }
}

@media screen and (min-width: 769px) {
  body.esg-data .esg-sec01 .esg-sec01__ul01 figure {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }
  body.esg-data .esg-sec01 .esg-sec01__ul01 figure img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
}

body.esg-data .esg-sec01 .esg-sec01__ul01 figcaption {
  margin-bottom: 35px;
  font-size: 240%;
  font-weight: bold;
  line-height: 1.3;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-sec01 .esg-sec01__ul01 figcaption {
    font-size: 180%;
  }
}

body.esg-data .esg-sec01 .esg-sec01__div02 {
  margin-top: 70px;
  padding: 45px 115px;
  width: 100%;
  background-color: #f6f7f8;
  box-sizing: border-box;
}

@media screen and (min-width: 769px) {
  body.esg-data .esg-sec01 .esg-sec01__div02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-sec01 .esg-sec01__div02 {
    padding: 30px;
  }
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-sec01 .esg-sec01__div02 img {
    display: block;
    margin: 0 auto;
  }
}

body.esg-data .esg-sec01 .esg-sec01__div02--div {
  text-align: center;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-sec01 .esg-sec01__div02--div {
    margin: 3em 0;
  }
}

body.esg-data .esg-sec01 .esg-sec01__div02--div__p01 {
  font-size: 280%;
  font-weight: bold;
  line-height: 1.3;
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-sec01 .esg-sec01__div02--div__p01 {
    font-size: 160%;
  }
}

body.esg-data .esg-sec01 .esg-sec01__div02--div__p02 {
  margin: 20px auto 0 auto;
  font-size: 690%;
  width: 140px;
  height: 110px;
  color: #16a72f;
  background: url(../images/page/sustainability/esg-bg01.png) center/cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*
@media screen and ( max-width:768px ) {
  body.esg-data .esg-sec01 .esg-sec01__div02--div__p02 {
    font-size: 200%;
  }
}
*/

body.esg-data .esg-sec01 .esg-sec01__div02--p {
  line-height: 2;
}

@media screen and (min-width: 769px) {
  body.esg-data .esg-sec01 .esg-sec01__div02--p {
    max-width: 480px;
  }
}

@media screen and (max-width: 768px) {
  body.esg-data .esg-sec01 .esg-sec01__div02--p {
    text-align: center;
  }
}

body.esg-data .esg-sec03 p.esg-list01 + p.esg-list01 {
  margin-top: 1em;
}

@media screen and (min-width: 768px) {
  body.esg-data .esg-sec03 p.esg-list01 strong {
    margin-right: 2em;
    display: inline-block;
    width: 12em;
    text-align: justify;
    text-align-last: justify;
  }
}

body.esg-data .esg-sec03 .esg-table01 td.esg-sec03__bg01 {
  background-color: #d0edd5;
}

body.esg-data .esg-sec03 .esg-table01 td.esg-sec03__bg02 {
  background-color: #e7f6ea;
}

body.esg-data .esg-sec03 .esg-table01 .esg-sec03__space {
  padding: 0;
  width: 5px;
}

body.esg-data
  .esg-sec03
  .wrapper
  .esg-table01__outer:nth-child(2)
  .esg-table01
  tr:nth-child(3)
  td:nth-child(n + 3) {
  border-top: 0;
}

body.esg-data .esg-sec04 .esg-table01 td:not(.esg-table01__bg01) {
  text-align: center;
}

body.esg-data .esg-sec04 .esg-table01 .esg-table01__bg04 {
  font-weight: bold;
}

body.esg-data .esg-sec04 .esg-table01 .esg-sec04__border01 {
  font-weight: normal;
  border-left: 3px solid white;
  vertical-align: top;
}

body.esg-data .esg-sec04 .esg-table01 .esg-sec04__border02 {
  font-weight: normal;
  border-top: 1px solid #9b9a9a;
  border-left: 1px solid #9b9a9a;
}

body.esg-data .esg-sec04 .esg-table01 .esg-sec04__border03 {
  font-weight: normal;
  border-left: 1px solid #9b9a9a;
}

body.esg-data .esg-sec04 .esg-sec04__width01 {
  max-width: 900px;
}

body.esg-data .esg-sec04 .esg-sec04__width01 {
  max-width: 900px;
}

body.esg-data .esg-sec04 .esg-sec04__width02 {
  max-width: 960px;
}

body.esg-data .esg-sec04 .esg-sec04__width02 {
  max-width: 960px;
}
.esg-sec04 .esg-sec04__width02 {
  max-width: 960px;
}

body.ir .strength__box {
  margin-top: 70px;
  background: #edf4f1;
  padding: 4.5rem;
  margin-bottom: 3rem;
}

body.ir .strength__box h4 {
  font-size: 1.8rem;
  color: #fff;
  background: #006837;
  padding: 1rem;
  padding-left: 2rem;
  font-weight: bold;
}

body.ir .strength__list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  max-width: none;
  width: 81.78%;
  margin-top: 4rem;
}

body.ir .strength__item {
  min-width: 210px;
  width: 16.25vw;
  width: 26.94%;
}

body.ir .strength__image {
  margin-top: 5rem;
}

@media screen and (min-width: 769px) {
  body.ir .strength__image .u-pcDb {
    display: block;
    width: 100%;
  }

  body.ir .strength__image .u-spDb {
    display: none;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  body.ir .strength__image .u-pcDb {
    width: 100%;
    display: none;
  }

  body.ir .strength__image .u-spDb {
    display: block;
    width: 100%;
  }

  body.ir .strength__image {
    margin-top: 3rem;
  }

  body.ir .strength__box {
    padding: 2.5rem;
  }

  body.ir .strength__list {
    flex-direction: column;
    margin-top: 3rem;
    width: 100%;
    gap: 3rem;
  }

  body.ir .strength__list.browser-specific {
    gap: 3rem;
  }

  body.ir .strength__item {
    width: 100%;
    min-width: auto;
  }

  body.ir .strength__item p {
    margin-top: 1.5rem;
  }
}

body.ir .strength__item:nth-of-type(3) {
  width: 32vw;
  position: relative;
  min-width: 300px;
  width: 36.23%;
  max-width: 335px;
}

@media screen and (max-width: 768px) {
  body.ir .strength__item:nth-of-type(3) {
    max-width: none;
    min-width: auto;
    width: 100%;
  }
}

body.ir .strength__absolute {
  position: absolute;
  right: -50%;
  top: 16%;
}

body.ir .strength__absolute p {
  font-size: 1.4rem;
  font-weight: normal;
  margin-top: 0 !important;
}

.strength__absolute-sp {
  display: none;
}

body.ir .strength__absolute .small {
  font-size: 1.6rem;
  font-weight: normal;
}

body.ir .strength__absolute .big {
  font-size: 2.8rem;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
}

body.ir .strength__absolute .medium {
  font-size: 1.8rem;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
}

@media screen and (min-width: 769px) {
  body.ir .strength__item:nth-of-type(3) .u-spDb {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  body.ir .strength__absolute-sp .small {
    font-size: 1.2rem;
  }

  body.ir .strength__item:nth-of-type(3) .u-pcDb {
    display: none;
  }

  body.ir .strength__absolute-sp .big {
    font-size: 1.8rem;
    font-weight: bold;
    font-family: "Montserrat", sans-serif;
  }

  body.ir .strength__absolute-sp p {
    font-size: 1.4rem !important;
    margin-top: 1rem !important;
  }

  body.ir .strength__item:nth-of-type(3) {
    position: relative;
  }

  body.ir .strength__item:nth-of-type(3) .u-mt {
    margin-top: 1 !important;
  }

  body.ir .strength__absolute {
    display: none;
  }

  body.ir .strength__absolute-sp {
    display: block;
  }

  body.ir .strength__item .u-mt {
    margin-top: 1rem !important;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 650px) {
  body.ir .strength__absolute-sp {
    bottom: -22%;
  }
}

@media screen and (max-width: 600px) {
  body.ir .strength__absolute-sp {
    bottom: -25%;
  }
}

@media screen and (max-width: 550px) {
  body.ir .strength__absolute-sp {
    bottom: -29%;
  }
}

@media screen and (max-width: 500px) {
  body.ir .strength__absolute-sp {
    bottom: -32%;
  }
}

@media screen and (max-width: 450px) {
  body.ir .strength__absolute-sp {
    bottom: -36%;
  }
}

@media screen and (max-width: 400px) {
  body.ir .strength__absolute-sp {
    bottom: -38%;
  }
}

body.ir .strength__item img {
  width: 100%;
  border-radius: 3px;
  height: 100%;
}

body.ir .strength__item p {
  font-size: 1.6rem;
  font-weight: normal;
  margin-top: 2rem;
}

body.at-a-glance .wrapper {
  max-width: 1320px !important;
  padding: 0 20px;
}

body.ir .strength__caption p {
  font-size: 1.4rem;
  font-weight: normal;
}

body.ir .strength .c-button01 {
  margin-top: 6rem;
}

body.ir .p-page--service__titlearea--flex__right {
  margin-top: 0 !important;
}

body.ir .p-page--service__titlearea--flex__right ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 600px;
  width: 100%;
}

body.ir .p-page--service__titlearea--flex__right ul li a {
}

@media screen and (min-width: 769px) {
  body.at-a-glance.ir .scale .data02 {
    border-left: 0px !important;
    border-right: 0px !important;
  }

  body.at-a-glance.ir .strength .data02 {
    border-left: 0px !important;
    border-right: 0px !important;
  }

  body.at-a-glance.ir .profile .data02 {
    border-left: 0px !important;
    border-right: 0px !important;
  }

  body.at-a-glance.ir .sustainability .data02 {
    border-left: 0px !important;
    border-right: 0px !important;
  }

  body.at-a-glance.ir .sustainability .data05 {
    border-left: 0px !important;
    border-right: 0px !important;
  }
}

body.sustainability .sustainability__txt {
  font-size: 18px;
  font-weight: normal;
  color: #000000;
}

body.sustainability .esg-title03.u-underline {
  margin-top: 55px !important;
}

body.sustainability .esg-sec02 {
  background: #edf4f1;
  padding-right: 20px !important;
  padding-left: 20px !important;
}

body.sustainability .esg-sec03 {
  background: #edf4f1;
}

body.sustainability .esg-sec04 {
  padding-right: 20px !important;
  padding-left: 20px !important;
  background: #edf4f1;
}

body.sustainability .esg-sec02 .c-inner {
  background: #fff;
  padding-right: 0 !important;
  padding-bottom: 60px !important;
  padding-left: 0 !important;
  width: min(100%, 1280px) !important;
}

body.sustainability .esg-sec03 .c-inner {
  background: #fff;
  padding-right: 0 !important;
  padding-bottom: 60px !important;
  padding-left: 0 !important;
}

body.sustainability .esg-sec04 .c-inner {
  background: #fff;
  padding-right: 0 !important;
  width: min(100%, 1280px) !important;
  padding-bottom: 60px !important;
  padding-left: 0 !important;
}

body.sustainability .esg-sec02 .c-inner .wrapper {
  width: 89.0625% !important;
}

body.sustainability .esg-sec03 .c-inner .wrapper {
  width: 1140px !important;
}

body.sustainability .esg-sec04 .c-inner .wrapper {
  width: 1140px !important;
}

body.sustainability .umb0 img {
  margin-top: 100px !important;
}

.c-bnr__ttl02 {
  flex-direction: column;
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
}

.u-addSpan {
  font-size: clamp(14px, 1.8229166667vw, 16px) !important;
  margin-top: 1rem;
}

.u-addSpan02 {
  line-height: 1;
}

.c-bnr--type02.sustainability::before {
  background: url("../images/page/sustainability/cmn-bnr-bg02.jpg") 50% / cover
    no-repeat;
}

.u-width500 {
  max-width: 500px !;
  width: 100% !important;
}

@media screen and (min-width: 769px) {
  .carbon-neutral .u-mt60 {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 768px) {
  .sustainabilityTop__list {
    flex-direction: column;
  }

  .sustainabilityTop__list li:last-child {
    width: 100% !important;
    min-width: auto !important;
    max-width: none !important;
  }

  body.sustainability .esg-sec02 .c-inner .wrapper {
    width: 100% !important;
  }

  body.sustainability .esg-sec04 .c-inner .wrapper {
    width: 100% !important;
  }

  body.sustainability .esg-title03.u-underline::after {
    position: relative;
    display: inline-block;
    right: 0;
    margin-left: 2rem;
    top: 0;
    transform: translateY(30%);
  }

  body.sustainability .esg-title03.u-underline {
    display: inline-block;
  }

  body.sustainability .esg-sec04 {
    padding-top: 0 !important;
  }
}
