/* blue */
/* otange */
/* green */
/* red */
/* --------------------------------------------------
	section size
-------------------------------------------------- */
.page-detail {
  position: relative;
  background: url("../images/common/bg_main.png") repeat-y center top;
  background-size: 100% auto !important;
}
@media screen and (max-width: 767px) {
  .page-detail {
    background: url("../images/common/bg_main_sp.png") repeat-y center top;
  }
}
.page-detail:after {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/common/bg02_main.png") no-repeat center top;
  background-size: 100% auto !important;
}
@media screen and (max-width: 767px) {
  .page-detail:after {
    background: url("../images/common/bg02_main_sp.png") no-repeat center top;
  }
}

.page-detail {
  /* sec-detail
  ---------------------------------------------------------------------------- */
  /* sec-other
  ---------------------------------------------------------------------------- */
}
.page-detail .sec-detail {
  padding-bottom: 11.4rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail {
    padding-bottom: 9rem;
  }
}
.page-detail .sec-detail .white_wrap {
  position: relative;
  max-width: 111.2rem;
  border-radius: 2rem;
  border: 1px solid #000;
  background: #fff;
  padding: 5rem 0 7.5rem 0;
  box-sizing: border-box;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .white_wrap {
    max-width: inherit;
    width: calc(100% - 6rem);
    padding: 4rem 0 3rem 0;
  }
}
.page-detail .sec-detail .post-head {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-head {
    flex-direction: column;
    gap: 3rem 0;
    margin-bottom: 2rem;
  }
}
.page-detail .sec-detail .post-head .txt_wrap {
  width: calc(100% - 50rem);
  padding: 0 6.8rem 0 9.8rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-head .txt_wrap {
    width: 100%;
    padding: 0 2rem;
  }
}
.page-detail .sec-detail .post-head .txt_wrap .logo {
  text-align: center;
  margin: 0 auto 1.6rem auto;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-head .txt_wrap .logo {
    width: 20.6rem;
    margin: 0 auto 1.2rem auto;
  }
}
.page-detail .sec-detail .post-head .txt_wrap .cat {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  align-content: stretch;
  width: 31rem;
  height: 5rem;
  text-align: center;
  margin: 0 auto;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.3;
  font-weight: 700;
  color: #fff;
  border-radius: 4rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-head .txt_wrap .cat {
    width: 15rem;
    height: 3rem;
    font-size: 1.2rem;
    line-height: 1.3;
    font-weight: 700;
    border-radius: 2.88rem;
  }
}
.page-detail .sec-detail .post-head .eyecatch-img {
  position: relative;
  right: 0;
  top: 0;
  width: 50rem;
  aspect-ratio: 250/141;
  border: 1px solid #000;
  border-right: none;
  border-radius: 2rem 0 0 2rem;
  box-sizing: border-box;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-head .eyecatch-img {
    width: calc(100% - 2rem);
    aspect-ratio: 295/167;
    margin: 0 0 0 auto;
    border-radius: 1.6rem 0 0 1.6rem;
  }
}
.page-detail .sec-detail .post-head .eyecatch-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-detail .sec-detail .post-cnts {
  padding: 0 7.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts {
    padding: 0 2rem;
  }
}
.page-detail .sec-detail .post-cnts .post-date {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 500;
  margin-bottom: 1.8rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts .post-date {
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 500;
    margin-bottom: 1rem;
  }
}
.page-detail .sec-detail .post-cnts .post-title {
  color: #1A1A1A;
  font-size: 2.6rem;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts .post-title {
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 2rem;
  }
}
.page-detail .sec-detail .post-cnts h2 {
  position: relative;
  font-size: 2.4rem;
  line-height: 1.4;
  font-weight: 700;
  padding-left: 1.8rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts h2 {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 700;
    padding-left: 1rem;
    margin-bottom: 2rem;
  }
}
.page-detail .sec-detail .post-cnts h2:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  margin-top: 0.2rem;
  width: 1rem;
  height: 86%;
  border-radius: 0.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts h2:before {
    width: 0.5rem;
    border-radius: 0.5rem;
  }
}
.page-detail .sec-detail .post-cnts h3 {
  position: relative;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 700;
  padding-left: 1.5rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts h3 {
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: 700;
    padding-left: 1.1rem;
  }
}
.page-detail .sec-detail .post-cnts h3:before {
  position: absolute;
  left: 0;
  top: 1rem;
  display: block;
  content: "";
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts h3:before {
    top: 0.8rem;
    width: 0.8rem;
    height: 0.8rem;
  }
}
.page-detail .sec-detail .post-cnts strong, .page-detail .sec-detail .post-cnts b {
  font-weight: bold !important;
}
.page-detail .sec-detail .post-cnts p, .page-detail .sec-detail .post-cnts li {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  line-break: strict;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts p, .page-detail .sec-detail .post-cnts li {
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 500;
  }
}
.page-detail .sec-detail .post-cnts p + p, .page-detail .sec-detail .post-cnts li + p {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts p + p, .page-detail .sec-detail .post-cnts li + p {
    margin-top: 2rem;
  }
}
.page-detail .sec-detail .post-cnts p + h2,
.page-detail .sec-detail .post-cnts div + h2,
.page-detail .sec-detail .post-cnts ul + h2,
.page-detail .sec-detail .post-cnts ol + h2,
.page-detail .sec-detail .post-cnts p + h3,
.page-detail .sec-detail .post-cnts div + h3,
.page-detail .sec-detail .post-cnts ul + h3,
.page-detail .sec-detail .post-cnts ol + h3,
.page-detail .sec-detail .post-cnts p + div,
.page-detail .sec-detail .post-cnts div + div,
.page-detail .sec-detail .post-cnts ul + div,
.page-detail .sec-detail .post-cnts ol + div {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts p + h2,
  .page-detail .sec-detail .post-cnts div + h2,
  .page-detail .sec-detail .post-cnts ul + h2,
  .page-detail .sec-detail .post-cnts ol + h2,
  .page-detail .sec-detail .post-cnts p + h3,
  .page-detail .sec-detail .post-cnts div + h3,
  .page-detail .sec-detail .post-cnts ul + h3,
  .page-detail .sec-detail .post-cnts ol + h3,
  .page-detail .sec-detail .post-cnts p + div,
  .page-detail .sec-detail .post-cnts div + div,
  .page-detail .sec-detail .post-cnts ul + div,
  .page-detail .sec-detail .post-cnts ol + div {
    margin-top: 4rem;
  }
}
.page-detail .sec-detail .post-cnts p + ul,
.page-detail .sec-detail .post-cnts div + ul,
.page-detail .sec-detail .post-cnts ul + ul,
.page-detail .sec-detail .post-cnts ol + ul,
.page-detail .sec-detail .post-cnts p + ol,
.page-detail .sec-detail .post-cnts div + ol,
.page-detail .sec-detail .post-cnts ul + ol,
.page-detail .sec-detail .post-cnts ol + ol,
.page-detail .sec-detail .post-cnts div + p {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts p + ul,
  .page-detail .sec-detail .post-cnts div + ul,
  .page-detail .sec-detail .post-cnts ul + ul,
  .page-detail .sec-detail .post-cnts ol + ul,
  .page-detail .sec-detail .post-cnts p + ol,
  .page-detail .sec-detail .post-cnts div + ol,
  .page-detail .sec-detail .post-cnts ul + ol,
  .page-detail .sec-detail .post-cnts ol + ol,
  .page-detail .sec-detail .post-cnts div + p {
    margin-top: 2rem;
  }
}
.page-detail .sec-detail .post-cnts .flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: stretch;
  gap: 0 3rem;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts .flex {
    flex-direction: column;
    gap: 2rem 0;
    margin-bottom: 2rem;
  }
}
.page-detail .sec-detail .post-cnts .flex-img {
  width: calc((100% - 3rem) / 2);
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts .flex-img {
    width: 100%;
  }
}
.page-detail .sec-detail .post-cnts .flex-img .img {
  width: 100%;
  border: 1px solid #000;
  border-radius: 1rem;
  overflow: hidden;
}
.page-detail .sec-detail .post-cnts .flex-txt {
  width: calc((100% - 3rem) / 2);
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts .flex-txt {
    width: 100%;
  }
}
.page-detail .sec-detail .post-cnts .flex div + div {
  margin-top: 0;
}
.page-detail .sec-detail .post-cnts .flex.-reverse {
  flex-direction: row-reverse;
}
.page-detail .sec-detail .post-cnts .txt-caption {
  margin-top: 0;
  font-size: 1.2rem;
  line-height: 1.8;
  font-weight: 500;
  line-break: strict;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts .txt-caption {
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.6;
    font-weight: 500;
  }
}
.page-detail .sec-detail .post-cnts ul li, .page-detail .sec-detail .post-cnts ol li {
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts ul li, .page-detail .sec-detail .post-cnts ol li {
    line-height: 130%;
  }
}
.page-detail .sec-detail .post-cnts ul li:before, .page-detail .sec-detail .post-cnts ol li:before {
  position: absolute;
  left: 0;
  display: block;
  content: "";
}
.page-detail .sec-detail .post-cnts ul li a, .page-detail .sec-detail .post-cnts ol li a {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts ul li a, .page-detail .sec-detail .post-cnts ol li a {
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: 500;
  }
}
.page-detail .sec-detail .post-cnts ul li a:before, .page-detail .sec-detail .post-cnts ol li a:before {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts ul li + li, .page-detail .sec-detail .post-cnts ol li + li {
    margin-top: 1rem;
  }
}
.page-detail .sec-detail .post-cnts ul li {
  padding-left: 1.3rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts ul li {
    padding-left: 1.1rem;
  }
}
.page-detail .sec-detail .post-cnts ul li:before {
  top: 1rem;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts ul li:before {
    top: 0.6rem;
    width: 0.6rem;
    height: 0.6rem;
  }
}
.page-detail .sec-detail .post-cnts ol {
  counter-reset: number 0;
}
.page-detail .sec-detail .post-cnts ol li {
  padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts ol li {
    padding-left: 1.8rem;
  }
}
.page-detail .sec-detail .post-cnts ol li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  font-weight: 700;
}
.page-detail .sec-detail .post-cnts a {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight: 700;
  padding-left: 1.2rem;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts a {
    font-size: 1.2rem;
    line-height: 1.3;
    font-weight: 700;
    padding-left: 1.2rem;
  }
}
.page-detail .sec-detail .post-cnts a:before {
  position: absolute;
  left: 0;
  top: 0.8rem;
  display: block;
  content: "";
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts a:before {
    top: 0.7rem;
  }
}
@media screen and (min-width: 768px) {
  .page-detail .sec-detail .post-cnts a:hover {
    text-decoration: none;
  }
}
.page-detail .sec-detail .post-cnts a[target=_blank] {
  padding-left: 0;
  padding-right: 2rem;
}
.page-detail .sec-detail .post-cnts a[target=_blank]:before {
  display: none !important;
}
.page-detail .sec-detail .post-cnts a[target=_blank]:after {
  position: absolute;
  right: 0;
  top: 0.2rem;
  display: block;
  content: "";
  background-size: 100% auto !important;
  width: 1.6rem;
  height: 1.6rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts a[target=_blank]:after {
    top: 0.2rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.page-detail .sec-detail .post-cnts .btn_wrap .c-button {
  margin: 0 auto;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: 700;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-detail .post-cnts .btn_wrap .c-button {
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: 700;
  }
}
.page-detail .sec-detail .post-cnts .btn_wrap .c-button:before {
  display: none;
}
.page-detail.-activities .sec-detail .post-head .txt_wrap .cat {
  background: #00A8D8;
}
.page-detail.-activities .sec-detail .post-cnts h2 {
  color: #00A8D8;
}
.page-detail.-activities .sec-detail .post-cnts h2:before {
  background: #00A8D8;
}
.page-detail.-activities .sec-detail .post-cnts h3:before {
  background: #00A8D8;
}
.page-detail.-activities .sec-detail .post-cnts ul li:before {
  background: #00A8D8;
}
.page-detail.-activities .sec-detail .post-cnts ol li:before {
  color: #00A8D8;
}
.page-detail.-activities .sec-detail .post-cnts a {
  color: #00A8D8;
}
.page-detail.-activities .sec-detail .post-cnts a:before {
  border-style: solid;
  border-width: 0 1px 1px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 0.6rem;
  width: 0.6rem;
  border-color: #00A8D8;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .page-detail.-activities .sec-detail .post-cnts a:before {
    height: 0.3rem;
    width: 0.3rem;
  }
}
@media screen and (max-width: 767px) {
  .page-detail.-activities .sec-detail .post-cnts a:before {
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 1.2rem;
    width: 1.2rem;
    border-color: #00A8D8;
    transform: rotate(-45deg);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .page-detail.-activities .sec-detail .post-cnts a:before {
    height: 0.6rem;
    width: 0.6rem;
  }
}
.page-detail.-activities .sec-detail .post-cnts a[target=_blank]:after {
  background: url("../images/common/ico_external_blue.svg") no-repeat center center;
}
.page-detail.-activities .sec-detail .post-cnts .btn_wrap .c-button {
  background: #00A8D8;
}
.page-detail.-interview .sec-detail .post-head .txt_wrap .cat {
  background: #F67905;
}
.page-detail.-interview .sec-detail .post-cnts h2 {
  color: #F67905;
}
.page-detail.-interview .sec-detail .post-cnts h2:before {
  background: #F67905;
}
.page-detail.-interview .sec-detail .post-cnts h3:before {
  background: #F67905;
}
.page-detail.-interview .sec-detail .post-cnts ul li:before {
  background: #F67905;
}
.page-detail.-interview .sec-detail .post-cnts ol li:before {
  color: #F67905;
}
.page-detail.-interview .sec-detail .post-cnts a {
  color: #F67905;
}
.page-detail.-interview .sec-detail .post-cnts a:before {
  border-style: solid;
  border-width: 0 1px 1px 0;
  content: "";
  display: inline-block;
  position: absolute;
  height: 0.6rem;
  width: 0.6rem;
  border-color: #F67905;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .page-detail.-interview .sec-detail .post-cnts a:before {
    height: 0.3rem;
    width: 0.3rem;
  }
}
@media screen and (max-width: 767px) {
  .page-detail.-interview .sec-detail .post-cnts a:before {
    border-style: solid;
    border-width: 0 1px 1px 0;
    content: "";
    display: inline-block;
    position: absolute;
    height: 1.2rem;
    width: 1.2rem;
    border-color: #F67905;
    transform: rotate(-45deg);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .page-detail.-interview .sec-detail .post-cnts a:before {
    height: 0.6rem;
    width: 0.6rem;
  }
}
.page-detail.-interview .sec-detail .post-cnts a[target=_blank]:after {
  background: url("../images/common/ico_external_orange.svg") no-repeat center center;
}
.page-detail.-interview .sec-detail .post-cnts .btn_wrap .c-button {
  background: #F67905;
}
.page-detail .sec-other {
  position: relative;
  padding: 11.2rem 0 8rem 0;
  background: url("../images/common/bg_gray.jpg") repeat-y center top;
  background-size: 100% auto;
  box-sizing: border-box;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-other {
    padding: 7.8rem 0 8rem 0;
    background: url("../images/common/bg_gray_sp.png") repeat-y center top;
  }
}
.page-detail .sec-other .c-title {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .page-detail .sec-other .c-title {
    margin-bottom: 3rem;
  }
}
.page-detail .sec-other .btn_wrap {
  margin-top: 8rem;
}
.page-detail .sec-other .btn_wrap .c-button {
  margin: 0 auto;
}