@charset "UTF-8";
/* Media Query
───────────────────────────────── */
/* Link
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Pseudo
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-arrow
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* PC item & SP item
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* 電話番号リンク */
/* 画像を幅100%にする */
/* object fit image */
/* object fit image */
/* sticky */
/* clearfix */
/* contents
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* hover
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* SP用背景
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* font
------------------------------------------------------------ */
/* screenReaderText
------------------------------------------------------------ */
/* z-index
───────────────────────────────── */
/* VW
───────────────────────────────── */
/* 数値から単位を除外
───────────────────────────────── */
/* `px` から `rem` に変換
───────────────────────────────── */
/* `px` から `em` に変換
───────────────────────────────── */
@keyframes particle-floating-1 {
  0% {
    transform: translate(5vw, 4vw);
    background: #26d941;
    opacity: 0;
    width: 30px; }
  50% {
    opacity: 0.5;
    width: 30px; }
  90% {
    opacity: 0.5;
    background: #26d9d3; }
  100% {
    transform: 0;
    background: none; } }

@keyframes particle-floating-2 {
  0% {
    transform: translate(9vw, 2vw);
    background: #d626d9;
    opacity: 0;
    width: 30px; }
  50% {
    opacity: 0.5;
    width: 30px; }
  90% {
    opacity: 0.5;
    background: #88d926; }
  100% {
    transform: 0;
    background: none; } }

@keyframes particle-floating-3 {
  0% {
    transform: translate(4vw, 1vw);
    background: #d9af26;
    opacity: 0;
    width: 24px; }
  50% {
    opacity: 0.5;
    width: 24px; }
  90% {
    opacity: 0.5;
    background: #d92680; }
  100% {
    transform: 0;
    background: none; } }

@keyframes particle-floating-4 {
  0% {
    transform: translate(3vw, 1vw);
    background: #d92626;
    opacity: 0;
    width: 27px; }
  50% {
    opacity: 0.5;
    width: 27px; }
  90% {
    opacity: 0.5;
    background: #26d965; }
  100% {
    transform: 0;
    background: none; } }

@keyframes particle-floating-5 {
  0% {
    transform: translate(10vw, 8vw);
    background: #d94126;
    opacity: 0;
    width: 25px; }
  50% {
    opacity: 0.5;
    width: 25px; }
  90% {
    opacity: 0.5;
    background: #2c26d9; }
  100% {
    transform: 0;
    background: none; } }

@keyframes particle-floating-6 {
  0% {
    transform: translate(2vw, 7vw);
    background: #268ed9;
    opacity: 0;
    width: 23px; }
  50% {
    opacity: 0.5;
    width: 23px; }
  90% {
    opacity: 0.5;
    background: #2650d9; }
  100% {
    transform: 0;
    background: none; } }

@keyframes particle-floating-7 {
  0% {
    transform: translate(2vw, 5vw);
    background: #d926bb;
    opacity: 0;
    width: 24px; }
  50% {
    opacity: 0.5;
    width: 24px; }
  90% {
    opacity: 0.5;
    background: #d9b526; }
  100% {
    transform: 0;
    background: none; } }

@keyframes particle-floating-8 {
  0% {
    transform: translate(5vw, 2vw);
    background: #d9af26;
    opacity: 0;
    width: 28px; }
  50% {
    opacity: 0.5;
    width: 28px; }
  90% {
    opacity: 0.5;
    background: #8826d9; }
  100% {
    transform: 0;
    background: none; } }

@keyframes particle-floating-9 {
  0% {
    transform: translate(8vw, 10vw);
    background: #26d994;
    opacity: 0;
    width: 23px; }
  50% {
    opacity: 0.5;
    width: 23px; }
  90% {
    opacity: 0.5;
    background: #d9cd26; }
  100% {
    transform: 0;
    background: none; } }

@keyframes particle-floating-10 {
  0% {
    transform: translate(6vw, 2vw);
    background: #b2d926;
    opacity: 0;
    width: 28px; }
  50% {
    opacity: 0.5;
    width: 28px; }
  90% {
    opacity: 0.5;
    background: #26d938; }
  100% {
    transform: 0;
    background: none; } }

@keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fade-in-up {
  0% {
    transform: translateY(20px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }

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

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

@keyframes scale {
  0% {
    opacity: 0; }
  30% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: scale(1); } }

@keyframes infinity-vertial-loop {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(-100%); } }

/* Size
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Color
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Font
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Duration
  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Easing
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// category */
#contents.wide {
  background: url(img/bg_category.jpg) no-repeat center top; }
  @media screen and (max-width: 767px) {
    #contents.wide {
      background: url(img/bg_category_sp.jpg) no-repeat center top;
      background-size: 100%;
      margin-top: 16vw !important;
      padding-top: 0; } }
  #contents.wide #activityBox {
    border-top: 2px solid #008444;
    margin: 0 auto;
    position: relative; }
    @media screen and (min-width: 768px), print {
      #contents.wide #activityBox {
        width: 940px; } }
    @media screen and (max-width: 767px) {
      #contents.wide #activityBox {
        width: calc(100% - 10.67vw);
        margin-bottom: 5.33vw; } }
  @media screen and (max-width: 767px) {
    #contents.wide #categoryTtl {
      height: 55.33vw;
      justify-content: flex-end;
      padding: 6vw 5.33vw; } }
  #contents.wide #categoryTtl #ttl {
    font-size: 217%; }
    @media screen and (max-width: 767px) {
      #contents.wide #categoryTtl #ttl {
        font-size: 5vw; } }
  #contents.wide #strong {
    margin: 0 auto;
    background: #ffffff;
    margin-bottom: 30px; }
    @media screen and (min-width: 768px), print {
      #contents.wide #strong {
        width: 900px;
        padding: 20px 20px; } }
    @media screen and (max-width: 767px) {
      #contents.wide #strong {
        padding: 5.33vw 5.33vw; } }
    #contents.wide #strong p {
      margin-top: 12px; }
  #contents.wide ul.column4-csr {
    margin-left: -18px;
    margin-top: -28px;
    width: 968px;
    letter-spacing: -0.4em;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      #contents.wide ul.column4-csr {
        width: 90%;
        margin: auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; } }
    #contents.wide ul.column4-csr li {
      border-top: 2px solid #008444;
      width: 214px;
      height: 190px;
      background: #fff;
      background-size: 100%;
      display: block;
      margin-left: 28px;
      margin-top: 28px;
      display: inline-block;
      letter-spacing: normal;
      vertical-align: top; }
      @media screen and (max-width: 767px) {
        #contents.wide ul.column4-csr li {
          width: 48%;
          height: 150px;
          margin-left: 0; } }
      #contents.wide ul.column4-csr li h2 {
        position: absolute;
        bottom: 10px; }
        @media screen and (max-width: 767px) {
          #contents.wide ul.column4-csr li h2 {
            left: 10px;
            font-size: 14px; } }
      #contents.wide ul.column4-csr li a {
        position: relative;
        display: block;
        width: 174px;
        height: 150px;
        padding: 20px; }
        @media screen and (max-width: 767px) {
          #contents.wide ul.column4-csr li a {
            width: 100%;
            padding-top: 42%; } }
    #contents.wide ul.column4-csr li:first-child {
      background: url(../../csr/img/bn_csr1.jpg) no-repeat; }
      @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        #contents.wide ul.column4-csr li:first-child {
          background: url(../../csr/img/bn_csr1@2x.jpg) no-repeat;
          background-size: 100%; } }
      @media screen and (max-width: 767px) {
        #contents.wide ul.column4-csr li:first-child {
          background-size: cover;
          background-position: right; } }
      #contents.wide ul.column4-csr li:first-child .sttl {
        position: absolute;
        padding-left: 1em;
        top: 3em;
        font-size: 140%;
        text-shadow: #318ea0 1px 0 10px; }
        #contents.wide ul.column4-csr li:first-child .sttl span {
          font-size: 80%; }
        @media screen and (max-width: 767px) {
          #contents.wide ul.column4-csr li:first-child .sttl {
            padding-top: 0;
            top: 30px;
            font-size: 105%; } }
      @media screen and (max-width: 767px) {
        #contents.wide ul.column4-csr li:first-child .csr-ttl {
          color: #fff;
          background: url(img/arrow02.gif) no-repeat 0 2.4em; } }
      #contents.wide ul.column4-csr li:first-child p {
        font-weight: bold;
        padding-top: 40px;
        color: #fff;
        text-shadow: #318ea0 1px 0 10px;
        letter-spacing: 0.05em;
        text-decoration: none;
        text-align: center; }
        @media screen and (max-width: 767px) {
          #contents.wide ul.column4-csr li:first-child p {
            padding-top: 30px;
            font-size: 10px;
            line-height: 1.4em;
            letter-spacing: 0.08em; } }
      #contents.wide ul.column4-csr li:first-child a {
        display: block;
        text-decoration: none; }
        @media screen and (max-width: 767px) {
          #contents.wide ul.column4-csr li:first-child a {
            padding: 10px; } }
        #contents.wide ul.column4-csr li:first-child a h2 {
          color: #fff;
          padding-left: 1em;
          background: url(img/arrow02.gif) no-repeat 0 2.4em; }
          @media screen and (max-width: 767px) {
            #contents.wide ul.column4-csr li:first-child a h2 {
              width: 100%;
              padding-left: 1.2em;
              text-indent: 0.1em;
              background: none; } }
          @media screen and (max-width: 767px) {
            #contents.wide ul.column4-csr li:first-child a h2::before {
              content: "";
              display: inline-block;
              position: absolute;
              background: url(img/arrow02.gif) no-repeat center/100%;
              left: 0; } }
    #contents.wide ul.column4-csr li:nth-of-type(2) {
      background: url(../../csr/img/bn_csr8.jpg) no-repeat; }
      @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        #contents.wide ul.column4-csr li:nth-of-type(2) {
          background: url(../../csr/img/bn_csr8@2x.jpg) no-repeat;
          background-size: 100%; } }
    #contents.wide ul.column4-csr li:nth-of-type(3) {
      background: url(../../csr/img/bn_csr2.jpg) no-repeat; }
      @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        #contents.wide ul.column4-csr li:nth-of-type(3) {
          background: url(../../csr/img/bn_csr2@2x.jpg) no-repeat;
          background-size: 100%; } }
      @media screen and (max-width: 767px) {
        #contents.wide ul.column4-csr li:nth-of-type(3) {
          background-size: cover; } }
      #contents.wide ul.column4-csr li:nth-of-type(3) a {
        color: #fff;
        background: url(img/arrow02.gif) no-repeat 0 center; }
        @media screen and (max-width: 767px) {
          #contents.wide ul.column4-csr li:nth-of-type(3) a {
            background: none; } }
  @media screen and (max-width: 767px) and (max-width: 767px) {
    #contents.wide ul.column4-csr li:nth-of-type(3) a::before {
      content: "";
      display: inline-block;
      position: absolute;
      background: url(img/arrow02.gif) no-repeat center/100%;
      left: 0; } }
    #contents.wide ul.column4-csr li:nth-of-type(4) {
      background: url(../../csr/img/bn_csr3.jpg) no-repeat; }
      @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        #contents.wide ul.column4-csr li:nth-of-type(4) {
          background: url(../../csr/img/bn_csr3@2x.jpg) no-repeat;
          background-size: 100%; } }
    #contents.wide ul.column4-csr li:nth-of-type(5) {
      background: url(../../csr/img/bn_csr4.jpg) no-repeat; }
      @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        #contents.wide ul.column4-csr li:nth-of-type(5) {
          background: url(../../csr/img/bn_csr4@2x.jpg) no-repeat;
          background-size: 100%; } }
    #contents.wide ul.column4-csr li:nth-of-type(6) {
      background: url(../../csr/img/bn_csr5.jpg) no-repeat; }
      @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        #contents.wide ul.column4-csr li:nth-of-type(6) {
          background: url(../../csr/img/bn_csr5@2x.jpg) no-repeat;
          background-size: 100%; } }
    #contents.wide ul.column4-csr li:nth-of-type(7) {
      background: url(../../csr/img/bn_csr9.jpg) no-repeat; }
      @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        #contents.wide ul.column4-csr li:nth-of-type(7) {
          background: url(../../csr/img/bn_csr9@2x.jpg) no-repeat;
          background-size: 100%; } }
    #contents.wide ul.column4-csr li:nth-of-type(8) {
      background: url(../../csr/img/bn_csr6.jpg) no-repeat; }
      @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        #contents.wide ul.column4-csr li:nth-of-type(8) {
          background: url(../../csr/img/bn_csr6@2x.jpg) no-repeat;
          background-size: 100%; } }
    #contents.wide ul.column4-csr li:nth-of-type(9) {
      background: url(../../csr/img/bn_csr7.jpg) no-repeat; }
      @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        #contents.wide ul.column4-csr li:nth-of-type(9) {
          background: url(../../csr/img/bn_csr7@2x.jpg) no-repeat;
          background-size: 100%; } }
    #contents.wide ul.column4-csr li p,
    #contents.wide ul.column4-csr li p,
    #contents.wide ul.column4-csr li p {
      margin-top: 3px; }

.csr-ttl {
  text-decoration: underline;
  color: #007c36;
  padding-left: 12px;
  background: url(img/arrow01.gif) no-repeat 0 center; }

.column4-csr li:nth-of-type(3) .csr-ttl {
  color: #fff;
  background: url(img/arrow02.gif) no-repeat 0 center; }

.column4 li.-listLong {
  height: 270px !important; }

.column4 li.-listShort {
  height: 180px !important; }

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// common */
#wrapperBg {
  background: url(img/bg_under.jpg) no-repeat center top; }
  @media screen and (max-width: 767px) {
    #wrapperBg {
      background-size: 120%;
      background-position: center top 16vw; } }
.ttlSansSelif {
  font-size: 200%;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #542702;
  padding-bottom: 20px; }
  @media screen and (max-width: 767px) {
    .ttlSansSelif {
      font-size: 4.8vw; } }
.bgTcfd {
  background: #fff url(img/bg_tcfd.png) no-repeat right top; }

.bgGove {
  background: #fff url(img/bg_gove.png) no-repeat right top; }

.bgSociety {
  background: #fff url(img/bg_society.png) no-repeat right top; }

.bgEnvi {
  background: #fff url(img/bg_envi.png) no-repeat right top; }

.bgReport {
  background: #fff url(img/bg_report.png) no-repeat right top; }

.bgData {
  background: #fff url(img/bg_data.png) no-repeat right top; }

.bgQuality {
  background: #fff url(img/bg_quality.png) no-repeat right top; }

@media screen and (max-width: 767px) {
  .bgTcfd,
  .bgGove,
  .bgSociety,
  .bgEnvi,
  .bgReport,
  .bgData,
  .bgQuality {
    background-size: 45%; } }

.csrLead {
  width: 65%; }
  @media screen and (max-width: 767px) {
    .csrLead {
      width: 100%; } }
.csrMn {
  display: flex;
  width: 80%;
  padding-bottom: 24px; }
  @media screen and (min-width: 768px), print {
    .csrMn {
      flex-wrap: wrap;
      margin: -0.02rem -0.1rem; } }
  @media screen and (max-width: 767px) {
    .csrMn {
      flex-direction: column;
      width: 90%; } }
  .csrMn li {
    font-weight: 600;
    position: relative;
    font-size: 100%; }
    @media screen and (min-width: 768px), print {
      .csrMn li {
        display: inline-block;
        margin: 0.02rem 0.1rem; } }
    @media screen and (max-width: 767px) {
      .csrMn li {
        width: fit-content; } }
    @media screen and (max-width: 767px) {
      .csrMn li:nth-of-type(n + 2) {
        margin-top: 1.33vw; } }
    .csrMn li a {
      display: block;
      text-decoration: none;
      color: #000; }
      @media screen and (min-width: 768px), print {
        .csrMn li a {
          padding-right: 0.2rem; } }
      @media screen and (max-width: 767px) {
        .csrMn li a {
          padding-right: 5.33vw; } }
      .csrMn li a::before {
        position: absolute;
        content: "";
        top: 5px;
        bottom: 0;
        right: 0;
        width: 12px;
        height: 12px;
        background-image: url("img/arrow03.svg");
        background-size: contain;
        background-repeat: no-repeat;
        vertical-align: middle; }

.csr2crm {
  display: flex;
  justify-content: space-between;
  padding-top: 20px;
  align-items: center; }
  .csr2crm div,
  .csr2crm p,
  .csr2crm a,
  .csr2crm img {
    height: auto;
    width: 48%; }
  @media screen and (max-width: 767px) {
    .csr2crm {
      display: block; }
      .csr2crm div,
      .csr2crm p,
      .csr2crm a,
      .csr2crm img {
        width: 100%; } }
  .csr2crm a {
    display: block;
    border-radius: 10px;
    background: #008d49;
    text-align: center;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    position: relative;
    width: 44%;
    padding: 10px; }
    @media screen and (max-width: 767px) {
      .csr2crm a {
        padding: 20px 0;
        font-size: 12px;
        width: 100%;
        border-radius: 18px;
        margin: 20px 0; } }
/* irTable */
.irTable {
  width: 100%; }
  .irTable tbody {
    width: 100%; }
  .irTable img {
    width: 100%; }

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// report */
.reportBox {
  width: 660px;
  background: url(img/line_report.gif) repeat-x left bottom;
  padding-bottom: 20px;
  margin-bottom: 20px; }
  @media screen and (max-width: 767px) {
    .reportBox {
      margin-bottom: 5.33vw;
      padding-bottom: 5.33vw;
      width: 100%; }
      .reportBox a {
        line-height: 1.6; }
      .reportBox:nth-of-type(n + 2) {
        margin-top: 5.33vw; } }
  .reportBox .fl {
    width: 100px;
    font-weight: bold;
    color: #000000;
    margin-left: 20px;
    margin-top: 11px; }
  .reportBox .fr {
    width: 540px; }
  .reportBox ul {
    margin-bottom: -5px; }
    .reportBox ul li {
      margin-bottom: 3px; }
      .reportBox ul li.boxTargetHover a {
        color: #62a730;
        text-decoration: none; }
        @media screen and (min-width: 768px), print {
          .reportBox ul li.boxTargetHover a {
            background: url(img/icon_pdf.gif) #fff no-repeat 9px 11px; } }
        @media screen and (max-width: 767px) {
          .reportBox ul li.boxTargetHover a {
            background-color: #fff; } }
      .reportBox ul li.boxTargetHover p {
        background: #fff; }
      .reportBox ul li a {
        display: block;
        border: 1px solid #ebe8d9;
        border-top: 1px solid #d1cec0;
        border-left: 1px solid #d1cec0;
        padding: 8px;
        padding-left: 32px;
        font-size: 108%;
        font-weight: bold; }
        @media screen and (min-width: 768px), print {
          .reportBox ul li a {
            background: url(img/icon_pdf.gif) #f5f5eb no-repeat 9px 11px; } }
        @media screen and (max-width: 767px) {
          .reportBox ul li a {
            padding: 2.67vw 2.67vw 2.67vw 8.53vw;
            background-color: #f5f5eb;
            word-break: break-all; } }
        @media screen and (max-width: 767px) {
          .reportBox ul li a {
            position: relative; }
            .reportBox ul li a::after {
              content: "";
              display: inline-block;
              position: absolute;
              top: 3.2vw;
              left: 2.67vw;
              background: url("/common/img/icon_pdf.gif") no-repeat center/contain;
              width: 4vw;
              height: 4vw; } }
        .reportBox ul li a:hover {
          background-color: #ebebd9; }
  .reportBox p {
    border: 1px solid #ebe8d9;
    border-left: 1px solid #d1cec0;
    border-top: none;
    padding: 8px;
    background: #fafaf5; }
    @media screen and (max-width: 767px) {
      .reportBox p {
        padding: 2.67vw 4vw; } }
.noBorder {
  background: none;
  padding-bottom: 0px;
  margin-bottom: 0px; }

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// management */
#manaLead {
  background: url(../management/img/stb_top.jpg) no-repeat;
  width: inherit;
  background-size: cover;
  color: #fff; }
  @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    #manaLead {
      background: url(../management/img/stb_top@2x.jpg) no-repeat;
      background-size: cover; } }
  @media screen and (min-width: 768px), print {
    #manaLead {
      padding: 70px 0 70px 15px; } }
  @media screen and (max-width: 767px) {
    #manaLead {
      background-position: right 18% bottom 4%;
      padding: 40px 40px 40px 20px; } }
  #manaLead .manaSubttl {
    font-size: 110%;
    padding-bottom: 14px; }

#manaBox .sttlPoint {
  margin-top: 30px; }

.manaImg {
  padding: 30px 0 50px; }

#manaList {
  margin-bottom: 30px; }

#manaList .fr {
  margin-top: 30px; }

#manaList ul {
  width: 430px; }

#manaList ul li {
  margin-bottom: 10px;
  padding-bottom: 10px;
  background: url(img/line_report.gif) repeat-x left bottom; }

#manaList ul li.noBorder {
  margin-bottom: 0;
  padding-bottom: 0;
  background: none; }

#manaList ul li span {
  color: #008444; }

#manaList ul li strong {
  font-weight: bold;
  display: block;
  font-size: 108%; }

#manaList02 {
  margin-bottom: -10px; }

#manaList02 li {
  list-style: outside decimal;
  margin-bottom: 10px; }

#manaList03 {
  margin-bottom: -10px;
  margin-left: 25px; }

#manaList03 li {
  list-style: outside decimal;
  margin-bottom: 10px; }

#etcBox {
  padding: 10px 20px;
  background: #ffffff; }

#etcBox h3 {
  width: 274px; }

#etcBox ul {
  margin-top: 4px; }

#etcBox li {
  width: 100px; }

ul.column3mane {
  letter-spacing: -0.4em; }
  @media screen and (min-width: 768px), print {
    ul.column3mane {
      margin-left: -30px;
      margin-top: -30px;
      width: 690px; } }
  ul.column3mane li {
    border-top: 2px solid #008444;
    background: #ffffff;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: top; }
    @media screen and (min-width: 768px), print {
      ul.column3mane li {
        margin-left: 30px;
        margin-top: 30px;
        width: 160px;
        padding: 20px; } }
    @media screen and (max-width: 767px) {
      ul.column3mane li {
        padding: 5.33vw; }
        ul.column3mane li:nth-of-type(n + 2) {
          margin-top: 6.67vw; } }
    @media screen and (min-width: 768px), print {
      ul.column3mane li h2.sttl {
        margin-bottom: 5px;
        line-height: 1.4; } }
    ul.column3mane li h2.sttl a {
      display: block; }
    @media screen and (max-width: 767px) {
      ul.column3mane li p:not(.photo) {
        margin-top: 2.67vw;
        height: auto !important; } }
@media screen and (max-width: 767px) {
  .pdf-ico {
    width: 2.67vw !important;
    vertical-align: middle; } }

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// safety&environment */
@media screen and (min-width: 768px), print {
  ol.policy {
    margin-bottom: -10px; } }

@media screen and (max-width: 767px) {
  ol.policy {
    margin-top: 6.67vw; } }

@media screen and (max-width: 767px) {
  ol.policy + * {
    margin-top: 6.67vw; } }

@media screen and (min-width: 768px), print {
  ol.policy li {
    margin-bottom: 10px; } }

@media screen and (max-width: 767px) {
  ol.policy li {
    /*background-position: top 0.8vw left;*/ }
    ol.policy li:nth-of-type(n + 2) {
      margin-top: 2.67vw; } }

ul.qmslist {
  padding-left: 10px; }

ul.qmslist li {
  background: url(img/list.gif) no-repeat;
  margin-bottom: 10px;
  padding-left: 25px;
  font-weight: bold;
  font-size: 105%; }

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// activity */
.activityBox {
  border-top: 2px solid #008444;
  background: #ffffff; }
  @media screen and (min-width: 768px), print {
    .activityBox {
      padding: 20px;
      margin-bottom: 30px; } }
  @media screen and (max-width: 767px) {
    .activityBox {
      display: block;
      padding: 5.33vw; }
      .activityBox:nth-of-type(n + 2) {
        margin-top: 6.67vw; } }
  @media screen and (min-width: 768px), print {
    .activityBox .fl {
      width: 180px; } }
  @media screen and (max-width: 767px) {
    .activityBox .fl.photo + * {
      margin-top: 2.67vw; } }
  .activityBox .fl span {
    font-size: 43%;
    color: #4d4d4d;
    line-height: 1.8; }
  @media screen and (min-width: 768px), print {
    .activityBox .fr {
      width: 410px; } }
  @media screen and (min-width: 768px), print {
    .activityBox h2 {
      margin-bottom: 5px; } }
.boiler .engTxt {
  margin-top: 29px !important; }

sub {
  vertical-align: sub; }

@media screen and (min-width: 768px), print {
  .activityBody .fl {
    width: 270px; } }

@media screen and (min-width: 768px), print {
  .activityBody .fr {
    width: 360px; } }

@media screen and (max-width: 767px) {
  .activityBody .fr .lead {
    margin-top: 8vw; } }

.actLine {
  margin-top: 40px;
  padding-top: 45px;
  border-top: 1px solid #ebe8d9; }
  @media screen and (max-width: 767px) {
    .actLine {
      margin-top: 6.67vw;
      padding-top: 5.33vw; } }
@media screen and (max-width: 767px) {
  #greetings02 {
    margin-top: 5.33vw; }
    #greetings02.-none {
      margin-top: 0; } }

@media screen and (min-width: 768px), print {
  #greetings02 strong {
    font-size: 116%; } }

@media screen and (max-width: 767px) {
  #greetings02 li:nth-of-type(n + 2) {
    margin-top: 1.33vw; } }

.greenbox {
  border: solid 1px #5b942a;
  padding: 15px; }
  .greenbox ul li {
    text-indent: -1em;
    padding-left: 1em; }

/* csr */
.csr_btn {
  background: linear-gradient(#fdfdfd, #e7e7e7);
  border: 1px solid #c1c1c1;
  border-radius: 4px 4px 4px 4px;
  box-shadow: 0 0 3px 0 #ffffff inset;
  font-size: 149%;
  width: 430px;
  text-align: center;
  behavior: url(/form_template/css/PIE.htc);
  cursor: pointer;
  margin: 50px auto 0; }
  @media screen and (max-width: 767px) {
    .csr_btn {
      margin-top: 10.67vw;
      width: 100%; } }
.csr_btn p {
  padding: 15px; }
  @media screen and (max-width: 767px) {
    .csr_btn p {
      font-size: 4vw; } }
.csr_report_area {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 767px) {
    .csr_report_area {
      flex-direction: column; } }
  .csr_report_area .csr_img {
    width: 50%;
    text-align: center;
    margin-top: 15px; }
    @media screen and (max-width: 767px) {
      .csr_report_area .csr_img {
        margin: 0 auto;
        width: 60%; } }
  .csr_report_area .csr_text {
    margin-top: 10px;
    text-align: left;
    width: 50%;
    margin-right: 15px;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      .csr_report_area .csr_text {
        margin-top: 20px;
        flex-direction: column;
        width: 100%; } }
    .csr_report_area .csr_text li {
      width: 100%;
      margin-top: 5px;
      /* &::after {
        vertical-align: middle;
        background: url("/common/svg/icon_pdf.svg") no-repeat center / contain;
        @include pseudo;

        @include mq-pc {
          margin-left: 5px;
          width: 12px;
          height: 16px;
        }

        @include mq-sp {
          width: vw(12);
          height: vw(15);
        }
      } */ }
      @media screen and (max-width: 767px) {
        .csr_report_area .csr_text li {
          width: 100%; }
          .csr_report_area .csr_text li img {
            width: 2.67vw;
            vertical-align: middle; } }
    .csr_report_area .csr_text a {
      padding-left: 12px;
      /* background: url(img/arrow01.gif) no-repeat 0 center; */ }

/* ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// governance */
/* tcfd */
.tcfdTable {
  width: 100%;
  border: 1px solid #ebe8d9;
  border-left: none;
  border-top: none; }
  .tcfdTable.-index {
    width: 67%;
    margin: auto; }
    @media screen and (max-width: 767px) {
      .tcfdTable.-index {
        width: 100%; } }
  .tcfdTable th,
  .tcfdTable td {
    border: 1px solid #ebe8d9;
    border-right: none;
    border-bottom: none;
    word-break: break-all;
    padding: 6px 8px; }
    @media screen and (max-width: 767px) {
      .tcfdTable th,
      .tcfdTable td {
        padding: 3.2vw 2.67vw 2.67vw;
        font-size: 3.73vw;
        line-height: 1.4 !important; } }
  .tcfdTable th {
    background: #e8f2e0;
    text-align: center;
    font-weight: bold;
    color: #333333; }
    @media screen and (min-width: 768px), print {
      .tcfdTable th {
        padding: 5px 8px 4px; } }
    @media screen and (max-width: 767px) {
      .tcfdTable th {
        /*font-weight: normal;*/ } }
    .tcfdTable th.type {
      background: #f5f3ec !important;
      text-align: left;
      padding: 2px 8px 1px;
      color: #333333; }
      @media screen and (max-width: 767px) {
        .tcfdTable th.type {
          padding: 2.93vw 2.67vw 2.4vw;
          /*font-weight: normal;*/
          font-size: 3.73vw; } }
  .tcfdTable td {
    text-align: center; }
    .tcfdTable td.-left {
      text-align: left; }
    .tcfdTable td p {
      font-size: 0.7em; }
    .tcfdTable td ul li {
      padding-left: 1em;
      text-indent: -1em;
      text-align: left; }
      .tcfdTable td ul li.t_gr {
        color: #007c36 !important;
        padding-left: 0;
        text-indent: 0; }
      .tcfdTable td ul li.t_red {
        color: #d00b02 !important;
        padding-left: 0;
        text-indent: 0; }
    .tcfdTable td.gray {
      background: #f5f3ec; }
    .tcfdTable td._gr {
      color: #007c36 !important; }
    .tcfdTable td._red {
      color: #d00b02 !important; }
  .tcfdTable img {
    width: auto; }
  .tcfdTable.-en th,
  .tcfdTable.-en td {
    word-break: normal; }
    .tcfdTable.-en th.gray,
    .tcfdTable.-en td.gray {
      background: #f5f3ec; }
    @media screen and (max-width: 767px) {
      .tcfdTable.-en th,
      .tcfdTable.-en td {
        padding: 3.2vw 2.67vw 2.67vw;
        font-size: 2.67vw;
        line-height: 1.4 !important; } }
  .tcfdTable.-center td ul li {
    text-align: center; }

/* ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// governance */
.goveImg_s {
  display: block;
  margin: 30px auto;
  width: 80%; }
  @media screen and (max-width: 767px) {
    .goveImg_s {
      width: 100%; } }
.goveTable {
  width: 100%;
  border: 1px solid #ebe8d9;
  border-left: none;
  border-top: none; }
  .goveTable th,
  .goveTable td {
    border: 1px solid #ebe8d9;
    border-right: none;
    border-bottom: none;
    word-break: break-all;
    padding: 6px 8px; }
    .goveTable th:nth-of-type(1),
    .goveTable td:nth-of-type(1) {
      width: 30%; }
    @media screen and (max-width: 767px) {
      .goveTable th,
      .goveTable td {
        padding: 3.2vw 2.67vw 2.67vw;
        font-size: 3.73vw;
        line-height: 1.4 !important; } }
  .goveTable th {
    background: #e8f2e0;
    text-align: center;
    font-weight: bold;
    color: #333333; }
    @media screen and (min-width: 768px), print {
      .goveTable th {
        padding: 5px 8px 4px; } }
    @media screen and (max-width: 767px) {
      .goveTable th {
        /*font-weight: normal;*/ } }
    .goveTable th.type {
      background: #f5f3ec !important;
      text-align: left;
      padding: 2px 8px 1px;
      color: #333333; }
      @media screen and (max-width: 767px) {
        .goveTable th.type {
          padding: 2.93vw 2.67vw 2.4vw;
          /*font-weight: normal;*/
          font-size: 3.73vw; } }
  .goveTable td {
    text-align: left; }
    .goveTable td:nth-of-type(1) {
      background: #f5f3ec !important; }
  .goveTable img {
    width: auto; }

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ohsms */
.factory {
  background: #f5f5eb no-repeat;
  border: 1px solid #ebe8d9;
  border-top: 1px solid #d1cec0;
  border-left: 1px solid #d1cec0;
  padding: 14px 20px;
  margin-bottom: 20px;
  font-size: 108%;
  font-weight: bold; }

.factoryName {
  font-size: 110%;
  padding-bottom: 30px;
  font-weight: bold;
  color: #333333;
  line-height: 1.2em !important; }
  .factoryName span {
    font-size: 80%;
    padding-left: 20px; }

.factoryDetail {
  display: flex;
  height: auto;
  font-weight: normal; }
  @media screen and (max-width: 767px) {
    .factoryDetail {
      flex-direction: column; } }
  .factoryDetail .factoryImg {
    margin-right: 20px; }
    .factoryDetail .factoryImg img {
      width: 300px;
      padding: 0 20px 10px 0; }
      @media screen and (max-width: 767px) {
        .factoryDetail .factoryImg img {
          float: none;
          width: 100%;
          padding: 0 0 10px 0; } }
  .factoryDetail p {
    width: 50%; }
    @media screen and (max-width: 767px) {
      .factoryDetail p {
        width: 100%; } }
.guidelineIndent {
  text-indent: -2em;
  padding-left: 2em; }

/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// data */
.recruitData__box {
  padding: 15px;
  width: calc((100% - 94px) / 2); }
  @media screen and (max-width: 767px) {
    .recruitData__box {
      width: 100%; } }
@media screen and (min-width: 768px), print {
  .recruitData__boxNum {
    font-size: 0.13rem; } }

@media screen and (max-width: 767px) {
  .recruitData__boxNum {
    font-size: 3.47vw; } }

.recruitData__boxTtl {
  font-size: 15px; }

.recruitData__boxNum strong {
  margin-right: 6px;
  font-size: 0.34rem; }
  .recruitData__boxNum strong.-wage {
    margin-left: 0.1rem;
    font-size: 0.24rem;
    line-height: 1.2; }
  @media screen and (max-width: 767px) {
    .recruitData__boxNum strong {
      font-size: 8vw !important; } }
.recruitData__boxNum strong.-mb {
  margin-bottom: 6px; }

.recruitData__boxTxt {
  margin-top: 21px;
  margin-left: 10px;
  font-size: 10px; }
  .recruitData__boxTxt.-infoTxt dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
  .recruitData__boxTxt.-infoTxt dt {
    width: 25%;
    padding-bottom: 0.1rem; }
  .recruitData__boxTxt.-infoTxt dd {
    width: 75%;
    padding-bottom: 0.1rem; }

@media screen and (min-width: 768px), print {
  .recruitData__boxImg {
    margin-left: 0.2rem; } }

@media screen and (min-width: 768px), print {
  .recruitData__boxImg.-mlSmall {
    margin-left: 0.1rem; } }

@media screen and (max-width: 767px) {
  .recruitData__boxImg.-mlSmall {
    margin-left: 0 !important; } }

.data_layout1 .recruitData__boxNum {
  margin-left: 0.2rem; }

@media screen and (min-width: 768px), print {
  .-data_layout1 .recruitData__boxImg,
  .-data_layout2 .recruitData__boxImg,
  .-data_layout3 .recruitData__boxImg {
    width: 0.8rem; } }

@media screen and (max-width: 767px) {
  .-data_layout1 .recruitData__boxImg,
  .-data_layout2 .recruitData__boxImg,
  .-data_layout3 .recruitData__boxImg {
    width: 21.33vw; } }

.-data_layout1 .recruitData__boxNum,
.-data_layout2 .recruitData__boxNum,
.-data_layout3 .recruitData__boxNum {
  text-align: center; }
  .-data_layout1 .recruitData__boxNum.-left,
  .-data_layout2 .recruitData__boxNum.-left,
  .-data_layout3 .recruitData__boxNum.-left {
    text-align: left !important; }

@media screen and (min-width: 768px), print {
  .-sales .recruitData__boxImg {
    margin: 20px auto 0; } }

#data .recruitData__boxBody.-employ {
  position: relative;
  margin-left: 0; }
  #data .recruitData__boxBody.-employ .recruitData__boxNum {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; }
    @media screen and (min-width: 768px), print {
      #data .recruitData__boxBody.-employ .recruitData__boxNum {
        top: 50px; } }
    @media screen and (max-width: 1024px) and (min-width: 768px) {
      #data .recruitData__boxBody.-employ .recruitData__boxNum {
        top: 40px; }
        #data .recruitData__boxBody.-employ .recruitData__boxNum strong {
          font-size: 0.4rem; } }
    @media screen and (max-width: 767px) {
      #data .recruitData__boxBody.-employ .recruitData__boxNum {
        top: 8vw; } }
@media screen and (max-width: 767px) {
  #data .recruitData__boxBodyRow {
    padding: 0 5.33vw; } }

@media screen and (max-width: 767px) {
  #data .recruitData__boxBodyRow .recruitData__boxImg {
    margin: 2.67vw auto 0 6.4vw; } }

#data .recruitData__boxBodyRow .spacing {
  line-height: 1.5; }

@media screen and (min-width: 768px), print {
  #data .boxBodyRow_gap {
    gap: 10px !important; } }

@media screen and (max-width: 767px) {
  #data .boxBodyRow_gap {
    gap: 10px !important; } }

@media screen and (min-width: 768px), print {
  #data .recruitData__boxGrafWrap {
    padding-right: 0.1rem;
    padding-left: 0.1rem; } }

@media screen and (min-width: 768px), print {
  #data .recruitData__boxGraf {
    width: 120px;
    height: 120px; } }

@media screen and (max-width: 1024px) and (min-width: 768px) {
  #data .recruitData__boxGraf {
    width: 1.8rem;
    height: 1.8rem; } }

@media screen and (min-width: 768px), print {
  #data .recruitData__boxGraf::before {
    width: 100px;
    height: 100px; } }

@media screen and (max-width: 1024px) and (min-width: 768px) {
  #data .recruitData__boxGraf::before {
    width: 1.6rem;
    height: 1.6rem; } }

@media screen and (min-width: 768px), print {
  #data .recruitData__boxGraf .-grafTxt {
    font-size: 0.16rem; } }

@media screen and (min-width: 768px), print {
  #data .recruitData__boxGraf .-grafTxt strong {
    font-size: 0.24rem; } }

@media screen and (max-width: 1024px) and (min-width: 768px) {
  #data .recruitData__boxGraf .-grafTxt strong {
    margin-top: 0.1rem; } }

@media screen and (min-width: 768px), print {
  #data .recruitData__boxIcon {
    width: 50px; } }

@media screen and (max-width: 1024px) and (min-width: 768px) {
  #data .recruitData__boxIcon {
    width: 0.8rem; } }

/* ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// society */
/* society */
.societyImg5 {
  width: 90%;
  display: block;
  margin: 0 auto; }

.societyGraph {
  width: 80%;
  display: block;
  margin: 0 auto; }
  .societyGraph img {
    margin-top: 15px; }
  @media screen and (max-width: 767px) {
    .societyGraph {
      width: 100%; } }
.societyImg13 img {
  width: 70%;
  display: block;
  margin: 30px auto;
  border: 1px solid #8a8a8a;
  padding: 3% 5%; }
  @media screen and (max-width: 767px) {
    .societyImg13 img {
      width: 100%;
      padding: 3% 1%; } }
/* Table */
.societyTable {
  width: 67%;
  margin: auto;
  border: 1px solid #ebe8d9;
  border-left: none;
  border-top: none; }
  @media screen and (max-width: 767px) {
    .societyTable {
      width: 90%;
      margin: auto; } }
  .societyTable th,
  .societyTable td {
    border: 1px solid #ebe8d9;
    border-right: none;
    border-bottom: none;
    word-break: break-all;
    padding: 6px 8px; }
    @media screen and (max-width: 767px) {
      .societyTable th,
      .societyTable td {
        padding: 3.2vw 2.67vw 2.67vw;
        font-size: 3.2vw;
        line-height: 1.4 !important; } }
  .societyTable th {
    background: #e8f2e0;
    text-align: center;
    font-weight: bold;
    color: #333333; }
    @media screen and (min-width: 768px), print {
      .societyTable th {
        padding: 5px 8px 4px; } }
    @media screen and (max-width: 767px) {
      .societyTable th {
        /*font-weight: normal;*/ } }
  .societyTable td {
    text-align: center; }
    .societyTable td.-left {
      text-align: left; }
    .societyTable td p {
      font-size: 0.7em; }
    .societyTable td ul li {
      padding-left: 1em;
      text-indent: -1em;
      text-align: left; }

.humanRightsList li {
  position: relative;
  padding-left: 1em; }
  .humanRightsList li::before {
    content: '・';
    position: absolute;
    top: 0;
    left: 0; }

.humanRightsList li + li {
  margin-top: 10px; }

.humanRightsList .-heading {
  font-weight: bold; }

.numberTxt {
  padding-left: 1em;
  text-indent: -1em; }

/* csrTable */
.csrTable {
  width: 40%;
  border: 1px solid #ebe8d9;
  border-left: none;
  border-top: none; }
  @media screen and (max-width: 767px) {
    .csrTable {
      width: 100%; } }
  .csrTable th,
  .csrTable td {
    border: 1px solid #ebe8d9;
    border-right: none;
    border-bottom: none;
    padding: 5px 8px 4px;
    text-align: center; }
    .csrTable th img,
    .csrTable td img {
      vertical-align: text-bottom; }
  .csrTable th {
    background: #e8f2e0;
    text-align: center;
    font-weight: bold;
    padding: 5px 8px 4px;
    line-height: 1.4 !important;
    color: #333333; }
    .csrTable th.gray {
      background: #f5f3ec; }
    .csrTable th.gray2 {
      background: #faf9f5;
      text-align: center !important; }
  @media screen and (max-width: 767px) {
    .csrTable th,
    .csrTable td {
      padding: 2.67vw 2.67vw 2.13vw; } }
.csrTable .w_harf {
  width: 50%; }

.csrTable th.t {
  width: 30%; }

.csrTable th.d {
  width: 10%; }

ul.column2society {
  letter-spacing: -0.4em; }
  @media screen and (min-width: 768px), print {
    ul.column2society {
      margin-left: -30px;
      margin-top: -30px;
      width: 690px; } }
  @media screen and (max-width: 767px) {
    ul.column2society {
      margin-top: 6.67vw; } }
  ul.column2society li {
    border-top: 2px solid #008444;
    background: #ffffff;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: top; }
    @media screen and (min-width: 768px), print {
      ul.column2society li {
        margin-left: 30px;
        margin-top: 30px;
        width: 275px;
        padding: 20px; }
        ul.column2society li.-wide {
          width: 620px; } }
    @media screen and (max-width: 767px) {
      ul.column2society li {
        padding: 5.33vw;
        width: 100%; }
        ul.column2society li:nth-of-type(n + 2) {
          margin-top: 6.67vw; } }
    ul.column2society li.mini {
      border-top: 1px solid #008444; }
      @media screen and (min-width: 768px), print {
        ul.column2society li.mini {
          padding: 10px;
          width: 180px; } }
      ul.column2society li.mini .sttl {
        font-size: 108%; }
        @media screen and (max-width: 767px) {
          ul.column2society li.mini .sttl {
            height: auto !important;
            margin-top: 2.67vw !important; } }
        ul.column2society li.mini .sttl.small {
          font-size: 98%; }
        @media screen and (max-width: 767px) {
          ul.column2society li.mini .sttl + * {
            margin-top: 2.67vw; } }
      ul.column2society li.mini .text12 {
        letter-spacing: -1px; }
    ul.column2society li.mini2 {
      border-top: 1px solid #008444; }
      @media screen and (min-width: 768px), print {
        ul.column2society li.mini2 {
          padding: 10px;
          width: 275px; } }
      @media screen and (max-width: 767px) {
        ul.column2society li.mini2 .sttl {
          margin-top: 0; } }
