@charset "UTF-8";

/* news,privacy使用 */
.right-box {
  width: 80%;
  /* display: flex;
  align-items: center; */
}


/**
* メイン
-------------------------------------------------- */
/* 共通-------------- */
.sub-inner {
  width: 120rem;
  margin: 0 auto;
}

/* --------------共通 */


.sec-business {
  background-repeat: no-repeat;
  background-size: 50rem;
  background-position: right 20% top 10%;
  background-color: rgba(255, 255, 255, 0.8);
  background-blend-mode: lighten;
}

/* business詳細ページ(背景)---------- */
.bg-01 {
  background-image: url(../img/business_01.png);
}

.bg-02 {
  background-image: url(../img/business_02.png);
}

.bg-03 {
  background-image: url(../img/business_03.png);
}

.bg-04 {
  background-image: url(../img/business_04.png);
}

.bg-05 {
  background-image: url(../img/business_05.png);
}

.bg-06 {
  background-image: url(../img/business_06.png);
}

/* ----------business詳細ページ(背景) */

.sec-business .item-box {
  width: 70%;
}

.layout {
  width: 100%;
  display: flex;
  justify-content: right;
  padding: 10rem 0 6rem;
  box-shadow: 0 10px 15px -15px rgba(0, 0, 0, .5);
}

.layout:last-of-type {
  box-shadow: none;
}

.privacy-section .layout {
  display: flex;
  flex-wrap: wrap;
  padding: 10rem 20rem 0 0;
  border-bottom: 0.1rem solid #ccc;
  box-shadow: none;
}

.privacy-section .layout:last-child {
  border-bottom: none;
}

/* ページ見出し／ヘッダー下余白 */
.content-inner {
  padding: 10rem 0 2rem;
}

.subtop-title {
  display: flex;
  flex-direction: column;
  text-align: left;
  font-size: 9.2rem;
  font-family: "Jost", serif;
  font-weight: 400;
  line-height: 1;
}

.content-left {
  margin: 0 12rem;
  padding: 10rem 0 2rem;
}

.headline {
  padding-top: 0;
}

.t-small {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", serif;
}

.item-content {
  display: flex;
  width: calc(100% /1.5);
}

.item-box {
  width: 40%;
}

.item-box .sub-layout {
  margin: 0;
}

/* .item-box.left {
  width: 32rem;
  margin-right: 6rem;
} */

.item-box .text-right {
  width: 100%;
}

.m-number {
  font-size: 12.6rem;
  font-family: "Jost", serif;
  font-weight: 400;
  color: #003c41;
  line-height: 1.2;
}

.m-number::before {
  content: 'Services';
  display: inline-block;
  position: relative;
  top: -0.6rem;
  padding-right: 2rem;
  vertical-align: middle;
  font-size: 1.4rem;
}

.t-middle {
  padding-bottom: 1rem;
  font-size: 2.8rem;
  font-weight: 700;
}

/**
* 事業内容
-------------------------------------------------- */
.y-green::before {
  background-color: #91c31e;
}

.y-green {
  color: #333;
}

.y-green span::before {
  background-color: #91c31e;
}

.y-green:hover::before {
  background-color: #91c31e;
}

.y-green span:hover::after {
  background-image: url(../img/ic_arrow_yg.svg);
}


/* 下層ページ見出し */
.subpage-ttl {
  padding-bottom: 10rem;
  font-size: 4.2rem;
}

.sub-section {
  margin-bottom: 10rem;
}

.sub-layout {
  width: 100%;
}

.sub-boxttl {
  display: inline-block;
  margin-bottom: 3rem;
  padding: 1rem 4rem;
  font-size: 2.4rem;
  position: relative;
}
.sub-boxttl::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 3rem;
  height: 3rem;
  border-top: 0.1rem solid #333;
  border-left: 0.1rem solid #333;
  border-top-left-radius: 1.5rem;
}
.sub-boxttl::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 3rem;
  height: 3rem;
  border-bottom: 0.1rem solid #333;
  border-right: 0.1rem solid #333;
  border-bottom-right-radius: 1.5rem;
}


/* リンクボタン（角丸） */
.sub-list {
  display: block;
  width: 32rem;
  position: relative;
  margin: 0 auto 6rem;
  padding: 2rem 4rem;
  background-color: #fff;
  color: #555;
  text-align: center;
  border: 0.1rem solid #555;
  border-radius: 5rem;
  transition: all .3s ease;
}

/* ←矢印 */
.sub-list::before {
  font-family: "FontAwesome";
  content: "\f060";
  position: absolute;
  left: 3rem;
}
/* ←矢印 */


.sub-list:hover {
  background-color: #555;
  color: #fff;
  transition: all .3s ease;
}

/* ホバーリンク */
.local-link {
  width: 120rem;
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
  padding: 4rem 0;
  border-bottom: 0.1rem solid #555;
}

.local-link li {
  padding-right: 2rem 0;
  font-weight: 600;
}

.local-link li:last-of-type {
  padding: 0;
}

.local-link li a {
  position: relative;
  padding: 4rem 2rem;
  color: #333;
}

.local-link li a::before {
  content: "";
  width: 100%;
  height: 0.5rem;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: all 0.3s 0s ease;
  transform: scaleX(0);

}

.local-link li a:hover::before {
  content: "";
  display: block;
  bottom: -0.2rem;
  background-color: #91c31e;
  transform: scaleX(1);
}

.column-1 {
  flex-direction: column;
  /* margin-top: 10rem; */
  padding: 0 0 16rem;
  box-shadow: none;
}

.sub-content {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 10rem;
}


.greeting {
  width: 50%;
}

.sub-itembox {
  display: flex;
  justify-content: right;
  width: 100%;
  gap: 3rem;
}

.sub-itembox dt {
  margin-bottom: 2rem;
  font-weight: 600;
}

.sub-itembox dd {
  margin: 0;
}

.access > .column-1 {
  margin: 0;
  font-weight: 600;
  padding-bottom: 0
}

.access iframe {
  width: 80rem;
  height: 40rem;
  margin-bottom: 8rem;
}

/* テスト */
/* .sub-content h3 */
.section-title {
  display: flex;
  flex-direction: column;
  height: 17%;
  padding-left: 2rem;
  font-size: 4.2rem;
  font-weight: 500;
  line-height: 1.2;
  color: #333;
  border-left: 0.8rem solid #91c31e;
}

.section-title span {
  padding-top: 2rem;
  font-size: 2.0rem;
}

table {
  width: 100%;
  border-collapse: collapse;
}

.corporate th,
.corporate td {
  padding: 2.5rem 0;
  border-bottom: 0.2rem dotted #555;
  font-size: 1.8rem;
  text-align: left;
  vertical-align: top;
}

.highlight {
  font-weight: bold;
}

.history td:nth-of-type(2) {
  padding-left: 3rem;
  font-size: 1.8rem;
}

.history .highlight {
  padding: 2.5rem 3rem 2.5rem 0;
  border-right: 0.2rem solid #91c31e;
  font-size: 2.0rem;
  font-weight: bold;
}

/* 企業内容 ----------------------------- */
.section-border{
  border-bottom: 0.1rem solid #ccc;
  padding-bottom: 4rem;
}

.no-border{
  border-bottom: none!important;
}

.add-margin-bottom{
  margin-bottom: 4rem;
}

.president-name img {
  padding-bottom: 2rem;
  width: 27rem;
}

.tab-nav {
  width: 100%;
  margin-bottom: 50px;
}

.tab-list {
  display: flex;
  justify-content: center; /* タブを中央揃え */
  list-style: none;
  padding: 0;
  margin: 0;
}

.tab-link {
  display: inline-block;
  padding: 10px 20px;
  text-decoration: none;
  color: #333;
  position: relative; /* 疑似要素の基準位置 */
  margin: 0 10px;
}

/*ポイント①*/
.tab-link::before,
.tab-link::after {
  content: '';
  position: absolute;
  left: 50%; /* 中央からスタート */
  bottom: 0;
  transform: translateX(-50%); /* 中央揃え */
  transition: all 0.3s ease; /* 全プロパティにアニメーション適用 */
}

.tab-link::before {
  /* ドットのスタイル */
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #fff; /* ドットの色を白に */
  bottom: 0px; /* ドットの位置調整 */
  z-index: 2; /* ドットをラインの上に表示 */
}

.tab-link::after {
  /* ラインのスタイル */
  width: 0;
  height: 2px;
  background-color: #91c31e;
  bottom: 2px;
}

.tab-link:hover::before {
  background-color: #91c31e;
}
.tab-link:hover::after {
  width: 100%; /* ホバー時にラインを最大幅に */
  left: 0%;
}

/* セクションのスタイル（ページ内リンクの確認用） */
.section {
  height: 300px; /* 確認しやすいように高さを設定 */
  padding: 20px;
  border: 1px solid #ccc;
  margin-bottom: 20px;
}




/* 認証取得 ----------------------------- */
.certification dt {
  padding-bottom: 2rem;
  font-size: 2.0rem;
  font-weight: 600;
}

.certification .c-span-font {
  padding-right: 3rem;
  font-size: 1.8rem;
}

.certification .block-itembox img {
  width: 11.5rem;
  height: 16rem;
  margin-right: 8rem;
  object-fit: contain;
}


/* 一般事業主行動計画 ------------------------------ */
/* .content-title {
  margin-right: 8rem;
} */

.block-title {
  display: block;
  padding-bottom: 2rem;
  font-size: 2.4rem;
}

.block-itembox {
  display: flex;
  margin-bottom: 7rem;
  padding-bottom: 5rem;
  border-bottom: 0.1rem dotted #ccc ;
}

.border-dotted{
  border-bottom: 0.1rem dotted #ccc ;
}

.company-text-right{
  text-align: right;
}

.block-itembox thead th{
  text-align: left;
  font-size: 2rem;
  padding-bottom: 4rem;
}

.block-itembox tbody tr,
.block-itembox tbody th{
  text-align: left;
  vertical-align: top;
  font-size: 1.8rem;
  padding-bottom: 2rem;
}

.block-itembox tbody th{
  width: 15rem;
}

.block-itembox tbody td{
  padding-bottom: 2rem;
}

.block-itembox tbody td ul li {
  list-style-type: disc;
  list-style-position: inside;
  text-indent: -2.5rem;
  padding-left: 1.5em;
}

.decimal{
  list-style-type: decimal!important;
}

.table-1 {
  display: flex;
}

.plan-info {
  margin-bottom: 30px;
}

.plan-info table,
.goals table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.plan-info th {
  width: 12rem;
  vertical-align: top;
  text-align: left;
}

.plan-info ol li {
  margin-left: 2rem;
  list-style: decimal;
}

.goals tbody {
  display: flex;
  text-align: left;
}

.goals tr {
  display: flex;
  width: calc(100% / 2);
  flex-direction: column;
}

/* SDGs ------------------------------ */
.block-wrap {
  width: 80rem;
}
.sdgs img {
  height: auto;
  padding: 0 10rem 10rem 0;
  object-fit: contain;
}
.block-itembox span {
  font-size: 2.2rem;
}
.text-blue {
  color: #4baeff;
}

/* DX project */
.dxproject img {
  padding-bottom: 10rem;
}

.block-itembox dt{
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 1rem;
}

.block-itembox dd{
  padding: 0 0 3rem 2rem;
}

.flex-cancellation{
  display: block;
}

.company-pdf{
  text-align: center;
  margin-top: 4rem;
}

.company-pdf a {
  padding: 2rem 4rem;
  background-color: #f5f5f5;
  color: #00a99d;
  border-radius: 0.6rem;
  transition: all 0.2s ease;
}

.company-pdf a:hover {
  background-color: #00a99d;
  color: #fff;
  transition: all 0.2s ease;
}

/* infomation ------------------------------ */
.info {
  display: flex;
  justify-content: space-between;
}

.contact-info {
  width: 100%;
  padding: 6rem 12rem 5rem;
  background-color: #003c41;
  color: #fff;
}

.contact-info .subtop-title,
.recruit-info .subtop-title {
  padding-bottom: 2rem;
}

.recruit-info {
  width: 100%;
  padding: 6rem 12rem 5rem;
  background-color: azure;
}



/* プライバシーポリシー */
.privacy-section .item-content {
  width: 50%;
}

.privacy-section .item-box {
  width: 100%;
}

.p-section-bottom {
  padding-bottom: 10rem;
}

.p-md-title {
  padding-bottom: 2rem;
  font-weight: 800;
  font-size: 2.4rem;
}

.privacy p {
  margin: 0;
}

.privacy a {
  color: #00a99d;
  font-weight: 500;
}

.privacy .sub-layout,
.security .sub-layout,
.actionplan .sub-layout {
  width: 100%;
  padding-bottom: 6rem;
  line-height: 1.6;
}
.lg-count,
.security ol,
.actionplan ol {
  list-style: decimal;
  padding-bottom: 6rem;
}

.lg-count li,
.security ol li,
.actionplan ol li {
  margin-left: 2rem;
  padding-bottom: 3rem;
}

.lg-count li:nth-child(5) {
  padding-bottom: 0;
}

.item-smallbox {
  display: inline-block;
  margin-top: 4rem;
  padding: 2rem;
  border: 0.1rem solid #ccc;
}

.actionplan .text-box p {
  display: flex;
  justify-content: end;
}

.womentext p:first-child {
  margin-top: 6rem;
  text-align: center;
  font-size: 2.0rem;
}

.privacy .sub-section > h4 {
  margin-top: 4rem;
  font-size: 2.0rem;
}

.privacy .sub-section > h4:first-of-type {
  margin-top: 0;
}

.count {
  list-style: none;
  counter-reset: count-item;
}

.count > li {
  counter-increment: count-item;
  margin-top: 2rem;
}

.count > li::before {
  content: "(" counter(count-item) ") ";
}

.lower {
  list-style: none;
  counter-reset: lower-item;
}

.lower > li {
  counter-increment: lower-item;
  padding-left: 2em;
}

.lower > li::before {
  content: counter(lower-item, lower-alpha) ") ";
}

.list-item {
  margin-top: 2rem;
}

.invoice-image {
  display: inline-block;
  margin-top: 5rem;
}

.invoice-image a {
  padding: 2rem 4rem;
  background-color: #f5f5f5;
  border-radius: 0.6rem;
  transition: all 0.2s ease;
}

.invoice-image a:hover {
  background-color: #00a99d;
  color: #fff;
  transition: all 0.2s ease;
}


@media screen and (max-width: 768px) {

  /**
  * SP__base  画面サイズ768px以下に適用
  ----------------------------------------------- */
  .wrapper {
    width: 100%;
  }

  .sub-inner {
    width: 100%;
  }

  .column-1 {
    padding: 0 0 3rem;
  }

  th,
  td {
    display: block;
    width: 100%;
  }

  .pc-only {
    display: none;
  }


  /**
  * SP__company
  ----------------------------------------------- */
  .section-title {
    margin: 0 3rem;
    font-size: 2.8rem;
  }

  .section-title span {
    padding-top: 0.5rem;
    font-size: 1.4rem;
  }

  .block-wrap {
    width: 100%;
    padding: 2.5rem;
  }

  .president-name {
    padding: 5rem;
  }

  .president-name img {
    display: block;
    margin: 0 auto;
  }

  .president-name p {
    margin: 0 2rem;
    font-size: 1.6rem;
    font-weight: 600;
  }

  .greeting {
    width: 100%;
    padding: 2rem;
  }

  .access iframe {
    width: 100%;
    height: 30rem;
    margin: 0;
    padding: 1.5rem;
  }

  .access p {
    padding: 3rem 3rem 0;
  }

  .block-title {
    margin: 0;
    font-size: 2.0rem;
  }

  .block-itembox {
    display: block;
    margin-bottom: 3rem;
  }

  .certification .block-itembox img {
    display: block;
    margin: 0 auto;
  }

  .block-itembox tbody th{
    font-weight: bold;
    padding-bottom: 0;
  }

  .sdgs img {
    display: block;
    margin: 0 auto 1rem;
    padding: 0;
  }

  .dxproject img {
    padding: 0 0 2rem;
  }


  /**
  * SP__business
  ----------------------------------------------- */
  .sec-business {
    background-size: 40rem;
  }

  .item-box {
    width: 100%;
  }

  .sec-business .item-box {
    width: 100%;
  }

  .sub-button {
    margin: 0 0 6rem;
  }

  .sub-section {
    margin: 0 0 3rem;
  }

  /**
  * SP__main
  ----------------------------------------------- */
  .sub-content {
    display: block;
    width: 100%;
    margin: 0 auto 5rem;
  }

  .sub-itembox {
    display: block;
  }

  .local-link {
    display: block;
    width: 80%;
    padding: 2rem;
  }

  .local-link li {
    padding: 0 0 0.5rem;
    font-size: 1.2rem;
  }

  .local-link li a {
    padding: 1rem;
    color: #333;
  }

  .item-content {
    display: block;
    width: 100%;
    padding: 0 2rem;
  }

  .content-left {
    margin: 0;
    padding: 0;
  }

  .layout {
    display: block;
  }

  .sub-layout {
    width: 100%;
  }

  .subpage-ttl {
    font-size: 2.1rem;
  }

  .subtop-title {
    font-size: 4.2rem;
    margin: 0 0 4rem;
    padding: 2rem 2rem 0;
  }

  .privacy .subtop-title {
    padding-top: 0;
  }

  /*---------- 事業内容（詳細） ----------*/
  .sub-boxttl {
    font-size: 2.0rem;
  }

  .t-middle {
    font-size: 2.4rem;
  }

  .privacy .item-box {
    margin: 0;
  }

  .info {
    display: block;
  }

  /* SP_ボタンレイアウト */
  .y-green {
    width: 100%;
    margin: 0 auto;
  }

  /*---------- 企業情報 ----------*/
  .corporate td:first-child{
    border: none;
    padding: 0;
  }

  .history .highlight {
    /*border-bottom: 0.2rem solid #91c31e;*/
    border-right: none;
    padding: 0.5rem;
  }

  .corporate td:last-child,
  .history td:last-child{
    padding-left: 2rem!important;
    font-family: "メイリオ", "Meiryo", "ＭＳ ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", sans-serif;
    font-size: 1.4rem;

  }

  .history td:nth-of-type(2) {
    padding-left: 0;
  }

  .access .iframe {
    width: 100%;
  }


  /*---------- プライバシーポリシー ----------*/
  /* 共通----- */
  .privacy ol,
  .security ol,
  .actionplan ol {
    padding-bottom: 3rem;
  }

  .privacy .item-content,
  .security .item-content,
  .actionplan .item-content {
    width: 100%;
    margin-right: 0;
  }

  .p-md-title {
    font-size: 2.0rem;
  }

  /* -----共通 */

  .privacy .item-content {
    width: 100%;
    margin: 0;
  }

  .invoice-image {
    display: block;
    text-align: center;
  }

  .invoice-image a {
    padding: 1rem;
  }
  /*---------- セキュリティポリシー ----------*/
  .security .item-content {
    width: 100%;
    margin: 0;
  }
  /*---------- 一般事業種行動計画 ----------*/
  .privacy-section .layout {
    display: block;
    padding: 0;
  }

  .actionplan .text-box p {
    margin: 0;
  }


}