@charset "UTF-8";

/*================================================
 * company/
================================================*/
#intro {
  text-align: center;
}

.intro_img {
  display: grid;
  gap: 13%;
  grid-template-columns: repeat(3, 1fr);
}

#intro h2 {
  color: var(--color-primary-p);
  font-size: 3rem;
  margin: 2em 0 1.33em;
}

#intro p {
  font-size: var(--fs18);
  line-height: 2;
}


@media screen and (max-width:767px) {
  #intro h2 {
    font-size: 2rem;
  }

  .intro_img {
    gap: 1rem;
    grid-template-columns: repeat(1, 1fr);
  }

  .intro_img span {
    display: block;
    width: 60%;
  }

  .intro_img span:nth-of-type(2) {
    margin-left: auto;
    width: 45%;
  }

  .intro_img span:nth-of-type(3) {
    width: 40%;
    margin-top: -20%;
  }
}

/*================================================
 * pmv
================================================*/
.pmv_box {
  margin-bottom: 6rem;
}

.pmv_box h2 {
  position: relative;
  padding-top: 11rem;
}

.pmv_box h2 .en {
  font-size: 20.6rem;
  position: absolute;
  opacity: .3;
  left: 0;
  top: 0;
}

.pmv_box h2 .ja {
  margin-left: 12%;
  font-size: var(--fs24);
}

.pmv_box h2 .ja::before {
  top: 32%;
}

.pmv_box-wrap {
  margin-left: 12%;
}

.pmv_box h3 {
  font-size: var(--fs24);
  color: var(--color-primary-p);
  margin-top: 0.5em;
  position: relative;
  z-index: 1;
}

.pmv_box-wrap p {
  line-height: 2;
  margin-top: 2em;
}

@media screen and (max-width:767px) {
  .pmv_box h2 {
    padding-top: 5rem;
  }

  .pmv_box h2 .ja {
    margin-left: 0;
  }

  .pmv_box h2 .en {
    font-size: 7.6rem;
  }

  .pmv_box-wrap {
    margin-left: 0;
  }
}



/*================================================
 * message
================================================*/
#message h3 {
  color: var(--color-primary-p);
  font-size: 3rem;
  margin: 2em 0 1.33em;
}

#message p:not(.message_txt p) {
  line-height: 2;
  font-size: var(--fs18);
}


.message_box {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 10rem 0;
}

.message_img {
  width: 50%;
  border-radius: 1rem;
  aspect-ratio: 16 / 9; 
  object-fit: cover; 
}

.message_txt {
  width: 45%;
}


.message_txt p:not(:last-of-type) {
  margin-bottom: 1em;
  line-height: 2;
}

.message_txt a {
  text-decoration: underline;
}

.message_txt p.ar {
  font-size: 3rem;
}

@media screen and (max-width:767px) {
  #message h3 {
    font-size: 2rem;
  }

  .message_box {
    flex-wrap: wrap;
    margin: 4rem 0;
  }

  .message_img {
    width: 100%;
  }

  .message_txt {
    width: 100%;
    margin-top: 2rem;
  }
	  .message_txt p.ar {
    font-size: 2rem;
  }
}


/*================================================
 * profile/  access
================================================*/
#access {
  background: var(--color-bg-p);
  margin-bottom: 8rem;
}

.access_box:not(:first-of-type) {
  margin-top: 8rem;
}

.access_box h3 {
  font-size: var(--fs24);
  color: var(--color-primary-p);
  margin-bottom: 1em;
}
.access_box p {
  word-break: normal;
}

.access_box p a {
  display: inline;
}

.access_box iframe {
  margin: 1em 0;
  height: 36rem;
}

@media screen and (max-width:767px) {
  #access {
    margin-bottom: 4rem;
  }

  .access_box:not(:first-of-type) {
    margin-top: 4rem;
  }

  .access_box iframe {
    height: 20rem;
  }
}




/*================================================
 * /qualified/
================================================*/

.company_table {
  width: 100%;
  border-spacing: 0px;
  table-layout: fixed;
}


.company_table th,
.company_table td {
  vertical-align: middle;
  border-spacing: 0px;
  word-break: break-word;
  padding: 25px 15px;
}

.company_table th {
  background: #D0D8F3;
  color: var(--color-primary-p);
  text-align: center;
  border-right: 1px solid var(--color-white);
}

.company_table th:last-of-type {
  border-right: none;
}

.company_table td {
  border-right: 1px solid var(--color-gray);
  border-bottom: 1px solid var(--color-gray);
}

.company_table td.bg {
  background: var(--color-bg-p);
}

.company_table td:last-of-type {
  border-right: none;
  text-align: center;
}

.company_table th:first-of-type,
.company_table th:last-of-type,
.company_table td:first-of-type,
.company_table td:last-of-type {
  width: 25%;
}

.company_table th:nth-of-type(2),
.company_table td:nth-of-type(2) {
  width: 50%;
}


/* table02 */
.company_table.table02 {
  border-top: 1px solid var(--color-gray);
}

.company_table.table02 th:first-of-type,
.company_table.table02 th:last-of-type,
.company_table.table02 td:first-of-type,
.company_table.table02 td:last-of-type {
  text-align: center;
}

.company_table.table02 th:nth-of-type(2),
.company_table.table02 td:nth-of-type(2) {
  width: 75%;
  text-align: left;
  padding-left: 40px;
}

.company_table.table02 td:has(div) {
  text-align: right !important;
  padding-right: 70px;
}

.company_table.table02 td span {
  margin-left: 1em;
}

.company_table a {
  color: var(--color-primary-p);
  display: inline;
  text-decoration: underline;
}

.company_table a:hover {
  color: var(--color-primary-b);
}

.company_table p+p {
  margin-top: 1.5em;
}

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

  .company_table th,
  .company_table td {
    padding: 20px 5px;
  }

  .company_table th:nth-of-type(2),
  .company_table td:nth-of-type(2) {
    width: 40%;
  }

  .company_table th:first-of-type,
  .company_table th:last-of-type,
  .company_table td:first-of-type,
  .company_table td:last-of-type {
    width: 30%;
  }

  .company_table.table02 td:has(div) {
    padding-right: 5px;
  }

  .company_table.table02 td div {
    text-align: center;
  }




  .company_table.table02 th:first-of-type,
  .company_table.table02 th:last-of-type,
  .company_table.table02 td:first-of-type,
  .company_table.table02 td:last-of-type {
    width: 100%;
    display: block;
    border-left: 1px solid var(--color-gray);
    padding: 20px 10px;
  }

  .company_table.table02 th:nth-of-type(2),
  .company_table.table02 td:nth-of-type(2) {
    width: 100%;
    padding: 20px 10px;
    display: block;
    border-left: 1px solid var(--color-gray);
    border-right: 1px solid var(--color-gray);
  }
}

/*================================================
 * organization
================================================*/
#organization {
  background: var(--color-bg-p);
}

@media screen and (max-width:767px) {
  #organization .sp_scroll {
    overflow-x: scroll;
  }

  #organization .sp_scroll img {
    min-width: 700px;
  }
}

/*================================================
 * /kenko/
================================================*/
#kenko .intro p {
  margin-top: 2em;
  line-height: 2;
}

#kenko h3.c-line_hd {
  margin-bottom: 2em;
}

.kenko_sec01-grid {
  display: grid;
  gap: 3%;
  grid-template-columns: repeat(3, 1fr);
}

.kenko_sec01-grid img {
  width: 12rem;
  margin: 1.5rem auto;
  display: block;
}


.kenko_sec01-grid li h4 {
  text-align: center;
  font-size: var(--fs20);
  color: var(--color-primary-p);
}

.kenko_sec01-grid li h5 {
  color: var(--color-primary-p);
  background: var(--color-bg-p);
  text-align: center;
  padding: 3px 0;
}

.kenko_sec02 img,
.kenko_sec03 img {
  margin-top: 4rem;
}

.kenko_sec03 img {
  max-width: 800px;
  margin: 4rem auto 0;
  display: block;
}


.kenko_sec04 img {
  width: 20%;
  border-radius: 0.5rem;
  overflow: hidden;
}

.kenko_sec04-ttl {
  width: 75%;
}

.kenko_sec04 h4 {
  color: var(--color-primary-p);
  font-size: var(--fs20);
  margin-top: 2em;
  margin-bottom: 0.5em;
}

.kenko_sec04 p {
  margin-bottom: 1em;
}

.kenko_sec04 .kenko_sec04-subimg {
  width: 25%;
}

.kenko_sec04 .kenko_sec04-subtxt {
  width: 70%;
}

.kenko_sec04-table table th,
.kenko_sec04-table table td {
  width: 20% !important;
  vertical-align: middle;
  text-align: center;
}

.kenko_sec04-table table th {
  background: var(--color-bg-p);
  border-color: var(--color-gray);
  border-bottom: 1px solid var(--color-gray);
}

.kenko_sec05 .flex img {
  width: 40%;
}

.kenko_sec05 .flex div {
  width: 55%;
}

.kenko_sec05 .flex div p {
  margin-bottom: 2em;
}


#kenko .btnArea a {
  width: 40rem;
  margin-top: 8rem;
}

.kenko_sec .js-scroll img {
/*   max-width: 800px; */
  margin: 4rem auto 0;
  display: block;
}



@media screen and (max-width:767px) {
  .kenko_sec01-grid {
    gap: 10rem;
    grid-template-columns: repeat(1, 1fr);
  }

  .kenko_sec04 .js-scroll table {
    min-width: 700px;
  }

  .kenko_sec04 img {
    width: 20%;
    border-radius: 0.5rem;
    overflow: hidden;
  }

  .kenko_sec04 .narrow {
    padding: 0;
  }

  .kenko_sec04 img,
  .kenko_sec04-ttl,
  .kenko_sec04 .kenko_sec04-subimg,
  .kenko_sec04 .kenko_sec04-subtxt,
  .kenko_sec05 .flex img,
  .kenko_sec05 .flex div {
    width: 100%;
  }

  .kenko_sec04 img,
  .kenko_sec04 .kenko_sec04-subimg,
  .kenko_sec05 .flex img {
    margin-bottom: 2rem;
  }

  #kenko .btnArea a {
    margin-top: 4rem;
    width: 100%;
    max-width: 27rem;
  }

  .kenko_sec .js-scroll img {
    min-width: 1000px;
    max-width: unset;
  }


}

/*================================================
 * /sdgs/ 
================================================*/

#sdgsIntro p {
  margin-top: 2em;
  line-height: 2;
}

#sdgsIntro h3.c-line_hd {
  margin-bottom: 2em;
}


.sdgs_box {
  display: flex;
  align-items: start;
  justify-content: start;
  flex-wrap: wrap;
  gap: 5%;
  margin-bottom: 8rem;
}


.sdgs_txt {
  width: 70%;
}

.sdgs_txt p {
  margin: 2rem 0;
}

.sdgs_txt .bg {
  background: var(--color-bg-p);
  padding: 2rem 1.5rem;
  border-radius: 1rem;
}

.sdgs_txt .bg h4 {
  background: var(--color-primary-p);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-white);
  font-size: 1.4rem;
  border-radius: 100000px;
  padding: 0.2rem 2rem;
  margin-bottom: 1rem;
}

.sdgs_img {
  width: 25%;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(2, 1fr);
}

.sdgs_box05 {
  align-items: center;
}

.dgs_box05 .sdgs_img {
  width: 20%;
}

.dgs_box05 .sdgs_txt {
  width: 75%;
}

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


  .sdgs_txt .bg h4 {
    font-size: 1.2rem;
  }

  .sdgs_txt,
  .sdgs_img,
  .sdgs_box05 .sdgs_img,
  .sdgs_box05 .sdgs_txt {
    width: 100%;
  }

  .sdgs_box05 .sdgs_img {
    width: 60%;
    margin: 0 auto;
  }



  .sdgs_img {
    margin-top: 2rem;
    gap: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
  }
}

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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


/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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

/*================================================
 * 
================================================*/


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