@charset "UTF-8";

/* ==========================================================================
    下層ページ style
============================================================================= */
.page-deatil {
  background: url("../images/pages/bg-top.webp") no-repeat right 0/50vw auto;
}

.l-main {
  padding-top: 200px;
}

.l-main .sec-hdg {
  border-bottom: solid 1px rgba(0, 79, 120, 0.2);
  padding-bottom: 5.555vw;
}

.l-main .news-list li {
  border-bottom: solid 1px rgba(0, 79, 120, 0.2);
}

.l-main .news-list li .cont {
  align-items: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  padding: 45px 0;
  position: relative;
}

.l-main .news-list li .date {
  color: #004f78;
  font-family: "Cinzel", serif;
  font-size: 1.4rem;
}

.l-main .news-list li .ttl {
  color: #333;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .l-main .news-list li a::after {
    background: url("../images/ico-arrow.svg") no-repeat center/100% auto;
    content: "";
    width: 20px;
    height: 4px;
    position: absolute;
    right: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .l-main .news-list li .ttl {
    flex-basis: calc(100% - 10em - 20px);
  }
}

@media screen and (max-width: 767.98px) {
  .l-main .news-list li .cont {
    flex-wrap: wrap;
  }
}

.l-main .page-nation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  margin-top: 60px;
}

.l-main .page-nation .item {
  background-color: #fff;
  border: solid 1px #004f78;
  border-radius: 50%;
  height: 45px;
  width: 45px;
  display: -ms-grid;
  display: grid;
  place-content: center;
}

.l-main .page-nation .item::before {
  background: url("../images/ico-arrow.svg") no-repeat 0 0/100% auto;
  content: "";
  width: 20px;
  height: 4px;
}

.l-main .page-nation .item.prev {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}

.l-main .page-nation .item.is-disabled {
  opacity: 0.3;
}

.l-main .page-nation .navigation {
  font-family: "Cinzel", serif;
  font-size: 1.4rem;
}

.l-main .entry-body .figure {
  margin: 50px 0;
  overflow: hidden;
}

.l-main .entry-body .figure img {
  border-radius: 50px;
}

.l-main .entry-body p {
  line-height: 2;
}

.l-main .entry-body p+p {
  margin-top: 30px;
}

@media screen and (max-width: 767.98px) {
  .l-header .logo {
    max-width: 80px;
  }

  .l-main {
    padding-top: 140px;
  }

  .l-main .entry-body .figure {
    margin: 30px auto;
    max-width: 240px;
  }

  .l-main .entry-body .l-inner {
    padding-inline: 0;
  }
}

.l-main .entry-hdg {
  padding-top: 20px;
  margin-bottom: 90px;
}

.l-main .entry-hdg .date {
  font-family: "Cinzel", serif;
  font-size: 1.4rem;
  display: block;
  margin-bottom: 40px;
  text-align: right;
}

.l-main .entry-hdg .ttl {
  color: #333;
  font-size: 2.8rem;
  line-height: 1.2;
}

@media screen and (max-width: 767.98px) {
  .l-main .entry-hdg {
    margin-bottom: 40px;
  }

  .l-main .entry-hdg .ttl {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 1200px) and (min-width: 768px) {
  .l-main {
    padding-inline: calc(2.083vw + 10px) 60px;
  }
}


/*採用情報*/
.recruit-table {
  /*border-top: solid 1px rgba(0,79,120,0.2);*/
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4rem;
  padding-bottom: 13.888vw;
}

.recruit-table tr {
  border-bottom: solid 1px rgba(0, 79, 120, 0.2);
}

.recruit-table th {
  text-align: left;
  vertical-align: top;
  font-weight: bold;
}

.recruit-table td {
  line-height: 1.5;
}

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

  .recruit-table th,
  .recruit-table td {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .recruit-table th {
    width: 200px;
    padding-right: 35px;
  }
}

@media screen and (max-width: 767.98px) {
  .recruit-table th,
  .recruit-table td {
    display: block;
  }

  .recruit-table th {
    padding: 30px 0 20px;
  }

  .recruit-table td {
    padding-bottom: 30px;
  }
}


/*FAQ*/
.accordion-content {
  display: none;
  line-height: 1.8;
  font-size: 1.6rem;
  color: #333;
}

.accordion-header {
  background: #f3f6f8;
  padding: 20px 45px 20px 20px;
  margin: 10px 0 0;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
  line-height: 1.6;
  font-size: 1.8rem;
}

.accordion-header::before,
.accordion-header::after {
  position: absolute;
  content: '';
  top: 0;
  right: 25px;
  bottom: 0;
  width: 16px;
  height: 1px;
  margin: auto;
  background: #004f78;
}

.accordion-header::after {
  transform: rotate(-90deg);
  transition: transform 0.3s;
}

.accordion-header.active::after {
  transform: rotate(0deg);
}

.accordion-content {
  padding: 20px 45px 20px 20px;
}

.accordion-header span,
.accordion-content span {
  padding-left: 25px;
  position: relative;
}

.accordion-header span::before {
  position: absolute;
  content: "Q.";
  top: 0;
  left: 0;
  color: #004f78;
}

.accordion-content span::before {
  position: absolute;
  content: "A.";
  top: -5px;
  left: 0;
  color: #004f78;
  font-size: 1.8rem;
}

/* hover */
.accordion-header:hover {
  background: #fff;
}



/* ==========================================================================
  内部通報ページ
========================================================================== */
.whistle-blowing .l-main {
  padding-top: 0;
}

.whistle-blowing .l-main-inner {
  padding-top: 200px;
}

.whistle-blowing .l-main-inner,
.whistle-blowing .l-other {
  background-color: #E6EDF1;
}

.whistle-blowing .sec-hdg.no-border {
  border-bottom: 0;
}

.whistle-blowing .sec-hdg .ttl {
  
  line-height: 1.6875;
}

.whistle-blowing .sec-hdg002 {
  line-height: 1.6;
}

@media screen and (max-width: 767.98px) {
  .whistle-blowing .l-main-inner {
    padding-top: 140px;
  }

  .whistle-blowing .sec-hdg002 {
    font-size: 2.4rem;
  }

  .whistle-blowing .l-other {
    padding-block-end: 70px;
  }

  .whistle-blowing .l-other .box-wrap {
    border-radius: 50px 50px 0 0;
  }
}



/* entry-heading ---------------------------------------- */
.whistle-blowing .entry-hdg {
  max-width: 1100px;
  margin: 0 auto 80px;
  overflow: hidden;
  text-align: center;
}

.whistle-blowing .entry-hdg img {
  opacity: 0;
  transition: all .5s ease;
}

.whistle-blowing .entry-hdg img.is-active {
  animation-name: img-fade-in;
  animation-duration: 1.5s;
  opacity: 1;
}

.whistle-blowing .entry-hdg .ttl {
  color: #004f78;
  font-size: 3.2rem;
  margin-block-start: 54px;
}

.whistle-blowing .entry-hdg .en {
  display: block;
  font-size: 1.2rem;
  margin-block-start: 15px;
  letter-spacing: 2.4px;
}

@media screen and (max-width: 1100px) {
  .whistle-blowing .entry-hdg {
    padding-inline: 20px;
  }
}

@media screen and (max-width: 767.98px) {
  .whistle-blowing .entry-hdg .ttl {
    font-size: 2.4rem;
    line-height: 2;
  }

  .whistle-blowing .sec-hdg h2,
  .whistle-blowing .sec-hdg .ttl {
    font-size: 2.4rem;
  }
}


/* entry-body ---------------------------------------- */
.whistle-blowing .entry-body {
  background-color: #fff;
  border-radius: 0 100px 100px 0;
  margin-inline-end: 30px;
  padding-block-start: 148px;
}

.whistle-blowing .entry-body section {
  padding-block-end: 150px;
}

.whistle-blowing .entry-body section section {
  padding-block-end: 100px;
}

.whistle-blowing .entry-body .l-container {
  box-sizing: border-box;
  max-width: inherit;
}

@media screen and (min-width: 1200px) {
  .whistle-blowing .entry-body .l-container {
    width: 81.9444vw;
  }
}

@media screen and (min-width: 768px) {
  .whistle-blowing .entry-body .l-container {
    margin: 0 min(6.944vw, 100px) 0 auto;
    width: 81.9444vw;
  }
}

@media screen and (max-width: 767.98px) {
  .whistle-blowing .entry-body {
    border-radius: 0 60px 60px 0;
    margin-inline-end: 20px;
    padding-block-start: 80px;
  }

  .whistle-blowing .entry-body section {
    padding-block-end: 70px;
  }

  .whistle-blowing .entry-body section section {
    padding-bottom: 40px;
  }

  .whistle-blowing .entry-body .l-inner {
    margin-inline: 20px;
  }

  .whistle-blowing .entry-body .l-container .l-inner {
    margin-inline: 0;
  }
}


/* sec-column ---------------------------------------- */
.whistle-blowing .entry-body .sec-column {
  display: flex;
  flex-wrap: wrap;
  gap: 0 min(8.333vw, 120px);
}

@media screen and (min-width: 768px) {
  .whistle-blowing .entry-body .sec-column {
    padding-inline-start: 40px;
  }

  .whistle-blowing .entry-body .column-reverse {
    padding-inline: 0 40px;
  }  

  .whistle-blowing .entry-body .sec-column .details {
    /* flex-basis: 46.180%; */
    flex-basis: calc(100% - min(26.3888vw, 380px) - min(8.333vw, 120px));
  }

  .whistle-blowing .entry-body .sec-column .figure {
    flex-basis: min(26.3888vw, 380px);
    margin-block-start: 0;
  }
}

@media screen and (max-width: 767.98px) {
  .whistle-blowing .entry-body .sec-column {
    flex-direction: column;
  }
}


/* needing ---------------------------------------- */
.whistle-blowing .needing .system {
  margin-block: 70px 55px;
  text-align: center;
}

.whistle-blowing .needing .system .ttl {
  margin-block-end: 40px;
}

@media screen and (max-width: 767.98px) {
  .whistle-blowing .needing .system {
    border-radius: 50px;
    margin-block: 10px 0;
  }

  .whistle-blowing .needing .system .ttl {
    margin-block-end: 30px;
  }

  .whistle-blowing .needing .system img {
    max-width: 200px;
  }
}


/* service ---------------------------------------- */
.whistle-blowing .service .sec-hdg {
  margin-block-end: 70px;
}

.whistle-blowing .service .order .txt {
  color: #333;
  letter-spacing: 1.4px;
}

.whistle-blowing .service .sec-hdg003 {
  background: none;
  line-height: 1.7;
  margin-block-end: 35px;
  padding: 0;
}

.whistle-blowing .service-table {
  border-block-start: solid 1px rgba(0, 79, 120, 0.5);
  margin: 70px auto 0;
  max-width: 680px;
}

.whistle-blowing .service-table tr {
  border-block-end: solid 1px rgba(0, 79, 120, 0.5);
}

.whistle-blowing .service-table th,
.whistle-blowing .service-table td {
  padding: 30px;
}

.whistle-blowing .service-table th {
  font-weight: bold;
  line-height: 1.875;
  text-align: center;
  vertical-align: middle;
  width: 140px;
}

.whistle-blowing .service-order {
  counter-reset: service;
}

.whistle-blowing .service-order > li {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
  position: relative;
}

.whistle-blowing .service-order > li + li {
  margin-block-start: 50px;
}

.whistle-blowing .service-order > li + li::before {
  background-color: rgba(0, 79, 120, 0.2);
  content: "";
  height: 30px;
  width: 1px;
  position: absolute;
  top: -40px;
  left: 75px;
}

.whistle-blowing .service-order .ttl {
  background: url(../images/pages/whistle-blowing/bg_order.svg) no-repeat center / 100% auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 150px;
  width: 150px;
  line-height: 1.875;
  text-align: center;
}

.whistle-blowing .service-order .ttl::before {
  counter-increment: service;
  content: counter(service);
  font-family: "Cinzel", serif;
  font-size: 2rem;
  line-height: 1;
  margin-block-end: 10px;
}

.whistle-blowing .service-order .txt {
  flex-basis: calc(100% - 150px - 40px);
}

@media screen and (min-width: 768px) {
  .whistle-blowing .service .l-container {
    margin-inline: auto;
    padding-inline: 40px;
  }
}

@media screen and (max-width: 767.98px) {
  .whistle-blowing .service .sec-hdg {
    margin-block-end: 40px;
  }

  .whistle-blowing .service-order > li {
    flex-direction: column;
  }

  .whistle-blowing .service-order > li + li::before {
    left: 50%;
    transform: translateX(-50%);
  }

  .whistle-blowing .service-table th,
  .whistle-blowing .service-table td {
    display: block;
    width: auto;
    padding-inline: 0;
  }

  .whistle-blowing .service-table td {
    padding-block-start: 0;
  }
}


/* merit ---------------------------------------- */
.whistle-blowing .merit .l-container,
.whistle-blowing .price .l-container {
  margin-inline-end: auto;
  padding-inline: 0 40px;
}

.whistle-blowing .merit-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8.333vw;
  position: relative;
  z-index: 10;
}

.whistle-blowing .merit-head .sec-hdg {
  padding-block-end: 50px;
}

.whistle-blowing .merit-body {
  border-radius: 100px;
  background-color: #F3F6F8;
  max-width: 1000px;
  margin-inline: auto;
  padding-block: 110px;
}

.whistle-blowing .merit-order {
  counter-reset: count;
}

.whistle-blowing .merit-order > li + li {
  margin-block-start: 100px;
}

.whistle-blowing .merit-order > li .ttl {
  align-items: flex-start;
  display: flex;
  gap: 20px;
  margin-block-end: 26px;
}

.whistle-blowing .merit-order > li .ttl span {
  font-family: "Cinzel", serif;
  font-size: 1.6rem;
  letter-spacing: 3.2px;
}

.whistle-blowing .merit-order > li .ttl span::after {
  counter-increment: count;
  content: counter(count);
  font-size: 5rem;
  margin-inline-start: 5px;
}

.whistle-blowing .merit-order > li .ttl b {
  border-block-end: solid 1px rgba(0, 79, 120, 0.2);
  display: block;
  flex-basis: 100%;
  font-size: 2rem;
  padding-block-end: 18px;
}

@media screen and (min-width: 768px) {
  .whistle-blowing .merit-head .figure {
    flex-basis: 22.5694vw;
  }

  .whistle-blowing .merit-head .details {
    flex-basis: calc(100% - 22.5694vw - 8.333vw);
    margin-block-end: 50px;
  }

  .whistle-blowing .merit-body .l-inner {
    padding-inline: 20px;
  }
}

@media screen and (max-width: 767.98px) {
  .whistle-blowing .merit .l-container,
  .whistle-blowing .price .l-container {
    padding-inline: 20px;
  }

  .whistle-blowing .merit-head {
    flex-direction: column-reverse;
    gap: 0 20px;
  }

  .whistle-blowing .merit-body {
    border-radius: 50px;
    /* margin-block-start: 30px; */
    padding: 40px 20px;
    transform: translateY(-50px);
  }

  .whistle-blowing .merit-order > li + li {
    margin-block-start: 30px;
  }

  .whistle-blowing .merit-order > li .ttl {
    flex-direction: column;
    line-height: 1.6;
    gap: 0;
  }

  .whistle-blowing .merit-order > li .ttl span::after {
    font-size: 3.6rem;
  }
}


/* price ---------------------------------------- */
.price .sec-hdg {
  margin-block-end: 50px;
}


@media screen and (min-width: 768px) {
  .whistle-blowing .entry-body .column-reverse {
    flex-direction: row-reverse;
    justify-content: flex-end;
  }

  .whistle-blowing .merit-head .figure {
    margin-block: 0;
  }

  .whistle-blowing .merit-body {
    transform: translateY(-30px);
  }
}

@media screen and (max-width: 1200px) and (min-width: 768px) {
  .whistle-blowing .l-main {
    padding-inline: 0;
  }
}


/* faq ---------------------------------------- */
.faq-list details {
  border-block-end: solid 1px #D8D8D8;
}

.faq-list details > * {
  padding-block: 30px;
  position: relative;
}

.faq-list details > *::before {
  content: "";
  font-family: "Shippori Mincho", serif;
  font-size: 2.5rem;
  top: 25px;
  left: 15px;
  position: absolute;
}

.faq-list details summary {
  cursor: pointer;
  display: block;
  font-size: 1.8rem;
  line-height: 1.777;
  list-style: none;
  padding-inline: 75px 90px;
}

.faq-list details summary::-webkit-details-marker {
  display:none;
}

.faq-list details summary::before {
  content: "Q";
}

.faq-list details summary::after {
  content: "";
  position: absolute;
  background: url(../images/pages/ico_faq_plus.svg) no-repeat center / 100% auto;
  width: 35px;
  height: 35px;
  top: 30px;
  right: 15px;
}

.faq-list details > .txt {
  padding-inline: 75px 15px;
  position: relative;
}

.faq-list details[open] summary::after {
  background: url(../images/pages/ico_faq_minus.svg) no-repeat center / 100% auto;
}

.faq-list details[open] > .txt::before {
  content: "A";
}

.faq-list details[open] > .txt::after {
  content: "";
  display: block;
  border-block-end: solid 1px #D8D8D8;
  margin-inline: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: calc(100% - 32px);
}

@media screen and (min-width: 768px) {
  .faq-list {
    border-block-start: solid 1px #D8D8D8;
  }
}

@media screen and (max-width: 767.98px) {
  .faq-list details > *::before {
    font-size: 2rem;
    left: 0;
  }

  .faq-list details summary {
    font-size: 1.6rem;
    padding-inline: 30px 40px;
  }

  .faq-list details summary::after {
    height: 30px;
    width: 30px;
    right: 0;
  }

  .faq-list details > .txt {
    padding-inline: 30px 0;
  }
}