.page #company .page__title {
   background-image: url('../img/company/img_company_titleback_pc.jpg');
}
@media only screen and (max-width: 1100px) {
   .page #company .page__title {
      background-image: url('../img/company/img_company_titleback_sp.jpg');
   }
}
#cate__menu {
   max-width: 1200px;
   margin: 80px auto 0 auto;
}

.company__items {
   margin-top: 50px;
   display: flex;
   flex-wrap: wrap;
   gap: 60px;
}
.company__item {
   width: calc((100% - 120px) / 3);
   display: flex;
   flex-flow: column;
   justify-content: flex-start;
}
.company__item:hover {
   opacity: 1;
}
.company__item img {
   transition: 0.3s;
}
.company__item:hover img {
   opacity: 0.8;
}
.company__title {
   font-size: 18px;
   color: #333;
   line-height: 1.3;
   padding: 1em 2em 1em 0.3em;
   border-bottom: 1px solid #acacac;
   display: flex;
   justify-content: space-between;
   align-items: center;
   position: relative;
   flex: 1;
}
.company__title::after {
   content: '';
   background-image: url('../img/common/icon_arrow_right_green.svg');
   background-size: contain;
   background-repeat: no-repeat;
   display: inline-block;
   width: 26px;
   height: 26px;
   position: absolute;
   right: 0;
}
.company__item:hover .company__title::after {
   background-image: url('../img/common/icon_arrow_right_white_green.svg');
}

@media only screen and (max-width: 900px) {
   #cate__menu {
      width: 100%;
      margin: 60px auto 0 auto;
   }
   #company .inner {
      width: 100%;
   }
   .company__items {
      gap: 15px;
   }
   .company__item {
      width: calc((100% - 15px) / 2);
      display: flex;
      flex-flow: column;
      justify-content: flex-start;
   }
   .company__title {
      font-size: 14px;
      flex: 1;
      padding: 0.7em 1.5em 0.7em 0.5em;
   }
   .company__title::after {
      width: 16px;
      height: 16px;
   }
}

#company .companyTable {
   margin-top: 20px;
}
#company .companyTable dl {
   display: flex;
}
#company .companyTable dt {
   width: 183px;
   background-color: #009e40;
   color: #fff;
   padding: 1em;
   display: table-cell;
   text-align: center;
   vertical-align: middle;
   border-right: 1px solid #fff;
   border-bottom: 1px solid #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   line-height: 1.35;
}

#company .companyTable dd {
   width: calc(100% - 183px);
   padding: 1em;
   display: table-cell;
   vertical-align: middle;
   border-bottom: 1px solid #acacac;
   line-height: 1.35;
}
#company .companyTable dd:not(:last-child) {
   border-right: 1px solid #acacac;
}
#company .companyTable dl:first-child dd {
   border-top: 1px solid #acacac;
}
#company .companyTable--02 {
   width: 480px;
}
#company .companyTable--wide {
   width: 100%;
}
#company .companyTable--02 dt, #company .companyTable--02 dd {
   width: calc(100% / 4);
}
#company .companyTable--02 dl:not(:first-child) dt {
   background-color: #F0F1F0;
   border-bottom: 1px solid #acacac;
   color: #222;
}
#company .companyTable--02 dd {
   text-align: center;
}
.companyTable--03 {
   width: 100%;
   border-collapse: collapse;
}
.companyTable--03 .first table {
   border-collapse: collapse;
   width: 100%;
}
.companyTable--03 .first > th {
   width: 110px;
   text-align: center;
   background-color: #009e40;
   color: #fff;
}
.companyTable--03 .first:not(:first-child) > th {
   border-top: 1px solid #fff;
}
.companyTable--03 .second {
   border-top: 1px solid #acacac;
}
.companyTable--03 .first:last-child .second {
   border-bottom: 1px solid #acacac;
}
.companyTable--03 .second > th {
   width: 236px;
   line-height: 1.4;
   text-align: left;
   background-color: #E8F3F1;
   vertical-align: middle;
}
.companyTable--03 th, .companyTable--03 .second > td {
   padding: 1em;
   line-height: 1.35;
}

.companyTable--04 {
   width: 100%;
   border-collapse: collapse;
}
.companyTable--04 th {
   width: 110px;
   text-align: center;
   background-color: #009e40;
   color: #fff;
}
.companyTable--04 tr:first-child th {
   border-top: 1px solid #009e40;
}
.companyTable--04 tr:not(:first-child) th {
   border-top: 1px solid #fff;
}
.companyTable--04 td {
   border-top: 1px solid #acacac;
}
.companyTable--04 tr:last-child td  {
   border-bottom: 1px solid #acacac;
}

.companyTable--04 th, .companyTable--04 td {
   padding: 1em;
   line-height: 1.35;
}


@media only screen and (max-width: 900px) {
   #company .companyTable--01 > dl {
      flex-flow: column;
   }
   #company .companyTable--01 dt, #company .companyTable--01 dd {
      width: 100%;
   }
   #company .companyTable dt {
      justify-content: flex-start;
      border: none;
   }
   #company .companyTable dd {
      border: none;
      padding-left: 0;
      padding-right: 0;
   }
   #company .companyTable--02 {
      width: 100%;
   }
   #company .companyTable--02 dt, #company .companyTable--02 dd  {
      justify-content: center;
      width: calc(100% / 4);
   }
   #company .companyTable--02 dt:not(:first-child) {
      border-left: 1px solid #fff;
   }
   #company .companyTable--02 dd {
      border-right: 1px solid #acacac;
      border-bottom: 1px solid #acacac;
   }
   .companyTable--03 .first {
      width: 100%;
      display: flex;
      flex-flow: column;
   }
   .companyTable--03 .first > th {
      width: 100%;
      text-align: left;
   }
   .companyTable--03 .second > th {
      width: 30%;
   }
   .companyTable--03 .second > td {
      width: 70%;
   }

   .companyTable--04 th {
      width: 30%;
   }
   .companyTable--04 td {
      width: 70%;
   }
}

/* 代表挨拶 */
.flex--greeting {
   margin-top: 30px;
   gap: 60px;
   align-items: flex-start;
}
.flex--greeting figure {
   width: 50%;
}
.flex--greeting figcaption {
   font-size: 12px;
   line-height: 1.3;
   margin-top: 1em;
}
.greeting__commentArea {
   width: calc(100% - 50% - 60px);
   box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3);
   padding: 70px 50px;
}

@media only screen and (max-width: 900px) {
   .flex--greeting {
      flex-wrap: wrap;
      gap: 30px;
   }
   .flex--greeting figure {
      width: 100%;
   }
   .flex--greeting figcaption {
      font-size: 10px;
   }
   .greeting__commentArea {
      width: 100%;
      padding: 2em 1em;
   }

}

/* 企業理念 */
.philosophyListWrap {
   margin-top: 120px;
}
.philosophyWrap {
   background-color: #E8F3F1;
   padding: 90px 30px 55px 30px;
   margin-top: 30px;
}
.philosophyWrap P {
   font-size: 26px;
   font-weight: 500;
   line-height: 1.6;
   border: 1px solid #009e40;
   background-color: #fff;
   padding: 1em 3em;
   display: flex;
   flex-flow: column;
   align-items: center;
}
.philosophyWrap__title {
   line-height: 1;
   border-top: 1px solid #ABCD05;
   border-bottom: 1px solid #ABCD05;
   padding: 5px 0;
   display: inline-block;
}
.philosophyWrap img {
   margin-top: 30px;
}

.philosophyList dl {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
   align-items: center;
   margin-top: 20px;
}
.philosophyList dt {
   width: 183px;
   background-color: #E8F3F1;
   padding: 1em;
   font-weight: 500;
   text-align: center;
}
.philosophyList dd {
   width: calc(100% - 183px - 20px);
}
@media only screen and (max-width: 900px) {
   .philosophyListWrap {
      margin-top: 60px;
   }
   .philosophyWrap {
      padding: 2em 1em;
   }
   .philosophyWrap P {
      padding: 1em;
      font-size: 20px;
   }
   .philosophyList dl {
      gap: 0;
   }
   .philosophyList dl:nth-child(n+2) {
      margin-top: 0;
   }
   .philosophyList dt {
      width: 100%;
      padding: 0.5em;
   }
   .philosophyList dd {
      width: 100%;
      padding: 0.5em;
   }
}

/* 事業所一覧 */
.officeMap {
   margin-top: 20px;
}
.office__menu {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
   margin-top: 25px;
}
.office__menu li {
	width: calc((100% - 60px) / 4);
	border-top: 1px solid #acacac;
	border-bottom: 1px solid #acacac;
	display: flex;
	align-items: center;
}
.office__menu li a {
	display: inline-flex;
   align-items: center;
	width: 100%;
	padding: 15px 3em 15px 1em;
	position: relative;
	transition: 0.3s;
	line-height: 1.35;
}
.office__menu li a span {
   color: #009e40;
   margin-right: 0.25em;
   font-size: 20px;
}
.office__menu li a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	background-image: url('../img/common/icon_arrow_down_green.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 24px;
	width: 24px;
}
.office__menu li a:hover::after {
   background-image: url('../img/common/icon_arrow_down_green_white.svg');
}

.office__list {
   margin-top: 50px;
}
.office__list p {
   font-size: 22px;
   font-weight: 500;
}
.office__list p span {
   color: #009e40;
   margin-right: 0.25em;
   font-size: 20px;
}
.office__wrap {
   margin-top: 10px;
   display: flex;
   align-items: flex-start;
   gap: 20px;
}
.office__data {
   width: 793px;
   border-top: 1px solid #acacac;
   border-bottom: 1px solid #acacac;
}
.office__data dl {
   display: flex;
   align-items: center;
   gap: 20px;
   padding: 20px 0;
}
.office__img {
   width: 285px;
}
.office__access {
   flex-grow: 1;
}
.office__access li {
   padding: 1em 0;
   line-height: 1.35;
}
.office__access li:nth-child(n+2) {
   border-top: 1px solid #acacac;
}
.office__access li:first-child {
   padding-top: 0.5em;
}
.office__access li:last-child {
   padding-bottom: 0.5em;
}
.office__product {
   line-height: 1.35;
   padding: 1em 0;
   border-top: 1px solid #acacac;
}
.office__product .title {
   font-weight: 500;
   color: #009e40;
   display: block;
}
.office__map {
   flex-grow: 1;
}
.office__map iframe {
   width: 100%;
   aspect-ratio: 1.55;
}

@media only screen and (max-width: 900px) {
   .office__menu {
      gap: 15px;
      margin-top: 20px;
   }
   .office__menu li {
	   width: calc((100% - 15px) / 2);
   }
   .office__menu li a {
      padding: 0.5em 3em 0.5em 0.3em;
   }
   .office__menu li a::after {
      width: 16px;
      height: 16px;
   }
   .office__wrap {
      flex-wrap: wrap;
      gap: 0.5em;
   }
   .office__data {
      width: 100%;
   }
   .office__data dl {
      flex-wrap: wrap;
      gap: 0.5em;
      padding-bottom: 0.25em;
   }
   .office__img {
      width: 100%;
   }
   .office__access li {
      padding: 0.5em 0;
   }
   .office__access {
      width: 100%;
   }
}


.access__mapWrap {
   width: 50%;
}
.access__mapWrap iframe {
   width: 100%;
   aspect-ratio: 1.5;
}
@media only screen and (max-width: 900px) {

}

/* 関連会社 */
.concerned__list {
   margin-top: 80px;
   display: flex;
   flex-wrap: wrap;
   gap: 50px;
}
.concerned__wrap {
   width: calc((100% - 100px) / 3);
}
.concerned__title {
   font-size: 22px;
   font-weight: 500;
   line-height: 1.1;
}
.concerned__img {
   margin-top: 1em;
}
.concerned__data {
   width: 100%;
   border-collapse:  collapse;
   table-layout: fixed;
   margin-top: 1em;

}
.concerned__data th, .concerned__data td {
   border-top: 1px solid #acacac;
   line-height: 1.35;
   padding: 0.5em;
   vertical-align: middle;
}
.concerned__data th {
   background-color: #F0F1F0;
   width: 88px;
}
.concerned__data tr:last-child {
   border-bottom: 1px solid #acacac;
}
.concerned__link {
   display: flex;
   gap: 20px;
   margin-top: 1em;
}
.concerned__link li {
   width: calc((100% - 20px) / 2);
}
.concerned__link li a {
   width: 100%;
   display: block;
   font-size: 14px;
   font-weight: 500;
   position: relative;
   padding: 0.5em 0.7em;
}
/*.concerned__link li a:hover {
   opacity: 1;
}*/
.concerned__link li a::after {
   content: '>';
   position: absolute;
   right: 0.7em;
   top: 50%;
   transform: translateY(-50%);
}
.concerned__link__site a {
   border: 1px solid #009e40;
   background-color: #009e40;
   color: #fff;
}
.concerned__link__site::after {
   color: #fff;
}
.concerned__link__map a {
   border: 1px solid #009e40;
   background-color: #fff;
   color: #009e40;
}
.concerned__link__map a::after {
   color: #009e40;
}
/*.concerned__link__site a:hover {
   background-color: #fff;
   color: #009e40;
}
.concerned__link__site a:hover::after {
   color: #009e40;
}
.concerned__link__map a:hover {
   background-color: #009e40;
   color: #fff;
}
.concerned__link__map a:hover::after {
   color: #fff;
}*/

@media only screen and (max-width: 900px) {
   .concerned__list {
      margin-top: 60px;
   }
   .concerned__wrap {
      width: 100%;
   }
   .concerned__title {
      font-size: 18px;
   }
   .concerned__data th {
      width: 75px;
   }
   .concerned__link li a {
      font-size: 12px;
   }
}

/* 株式会社ニッカシステム　決算公告 */
.nikka__newsListWrap {
   margin-top: 80px;
}
.nikka__newsWrap {
   display: flex;
   border-top: 1px solid #acacac;
}
.nikka__newsWrap:last-child {
   border-bottom: 1px solid #acacac;
}
.nikka__newsWrap dt {
   width: 183px;
   padding: 1em;
   line-height: 1.3;
   background-color: #F0F1F0;
   display: flex;
   align-items: center;
}
.nikka__newsWrap dd {
   flex-grow: 1;
   padding: 1em;
   line-height: 1.3;
   display: flex;
   align-items: center;
}
.nikka__newsWrap dd span {
   display: block;
   color: #009e40;
   text-decoration: underline;
}
.nikka__newsWrap dd span::after {
   display: inline-block;
   content: url(/wp-content/themes/nippon-chem/img/common/icon_pdf.svg);
   width: 23px;
   height: 19px;
   position: relative;
   top: 3px;
}
@media only screen and (max-width: 900px) {
   .nikka__newsListWrap {
      margin-top: 60px;
   }
   .nikka__newsWrap dt {
      width: 30%;
      padding: 0.5em;
   }
   .nikka__newsWrap dd span::after {
      width: 13px;
      height: 11px;
   }
}

/* 行動指針 */
.guidelinesWrap {
   background-color: #f9f9f9;
   margin: 0 calc(50% - 50vw);
   padding-top: 100px;
   padding-bottom: 100px;
}
.guidelines__inner {
   max-width: 1200px;
   margin: 0 auto;
   padding: 60px 100px;
   background-color: #fff;
}
.guidelines__date {
   text-align: right;
   font-size: 14px;
   margin-top: 1em;
}
.guidelines__content {
   margin-top: 2em;
   border-top: 1px solid #acacac;
   padding-top: 2em;
}
.guidelines__content .title01:not(:first-child) {
   margin-top: 2em;
}
.guidelines__content ol {
	counter-reset: listnum; /* カウンターをリセット */
   margin-top: 1.5em;
}
.guidelines__content ol > li {
   position: relative;
   padding-left: 2em;
   text-indent: -1.5em;
   margin-top: 1em;
}
.guidelines__content ol > li::before {
   counter-increment: listnum;
	content: counter(listnum)"　"; /* 全角スペース追加 */
	color: #009e40;
   font-weight: 500;
}

.guidelines__content ul > li {
   position: relative;
   padding-left: 0.5em;
   text-indent: -1.15em;
   margin-top: 0.5em;
}
.guidelines__content ul > li::before {
	content: '●';
	color: #009e40;
   padding-right: 0.5em;
   font-size: 12px;
   position: relative;
   top: -2px;
}
@media only screen and (max-width: 900px) {
   .guidelinesWrap {
      padding-top: 60px;
      padding-bottom: 60px;
   }
   .guidelines__inner {
      padding: 40px 3.5dvw;
   }
   .guidelines__date {
      font-size: 12px;
   }
}