@charset "UTF-8";
/*====================================================================================

[START TABLE OF CONTENT]

1. LAYOUT.
   1.1. LAYOUT BREADCRUMB.
2. COMPONENT.
   2.1. CARD.
   2.2. BLOCK.
   2.3. HEADING.
   2.4. TITLE.
   2.5. TABLE.
   2.6. BUTTON.
   2.7. TAG.
   2.8. PAGINATION.
   2.9. WORDPRESS.
3. PROJECT.
   3.1. PAGE VISUAL.
   3.2. PAGE CONTACT.
   3.3. PAGE NEWS.
   3.4. PAGE COMPANY.
   3.5. PAGE ERROR.

====================================================================================*/
/*====================================================================================
1. LAYOUT.
====================================================================================*/
/*------------------------------------------------------------------------------------
1.1. LAYOUT BREADCRUMB.
------------------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  .l-breadcrumb {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .l-breadcrumb {
    padding: 1.5rem 0;
  }
  .l-breadcrumb__list {
    display: flex;
    align-items: center;
  }
  .l-breadcrumb__item {
    position: relative;
    flex: 0 0 auto;
    margin-inline-end: 1.3rem;
    padding-inline-end: 2rem;
    color: var(--theme-color-eighth);
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 400;
  }
  .l-breadcrumb__item:first-child {
    text-transform: uppercase;
  }
  .l-breadcrumb__item:last-child {
    flex: 1;
    min-width: 1px;
    margin-inline-end: 0;
    padding-inline-end: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
  .l-breadcrumb__item:last-child::before {
    content: none;
  }
  .l-breadcrumb__item::before {
    position: absolute;
    content: "";
    inset-block: 50%;
    inset-inline-end: 0;
    width: 0.7rem;
    height: 0.7rem;
    border: 1px solid var(--theme-color-eighth);
    border-block-start: 0;
    border-inline-start: 0;
    margin-block-start: -0.4rem;
    transform: rotate(315deg);
  }
  .l-breadcrumb__item a {
    text-decoration: none;
  }
  .l-breadcrumb__item a:hover {
    color: var(--theme-color-quaternary);
    text-decoration: underline;
  }
}
/*====================================================================================
2. COMPONENT.
====================================================================================*/
/*------------------------------------------------------------------------------------
2.1. CARD.
------------------------------------------------------------------------------------*/
/*---------- LIST CARD NEWS ----------*/
@media only screen and (max-width: 575px) {
  .c-list-card-news .c-card-news:not(:first-child) {
    margin-block-start: 2.5rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-list-card-news {
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-card-news {
    margin: -1rem;
  }
  .c-list-card-news .c-card-news {
    width: calc(50% - 2rem);
    margin: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-news {
    margin: -1.5rem;
  }
  .c-list-card-news .c-card-news {
    width: calc(33.333% - 3rem);
    margin: 1.5rem;
  }
}
/*---------- CARD NEWS ----------*/
.c-card-news__link {
  display: block;
  height: 100%;
  padding: 2rem;
  text-decoration: none;
}
.c-card-news__img {
  position: relative;
  display: block;
  overflow: hidden;
}
.c-card-news__img img {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.c-card-news__time time {
  color: var(--theme-color-tertiary);
  line-height: 1.5;
  font-weight: 700;
}
.c-card-news__desc {
  margin-block-start: 0.5rem;
  color: var(--theme-color-eighth);
  text-decoration: underline;
}
.c-card-news .c-list-tag-news {
  margin-block-start: 1rem;
}

@media only screen and (max-width: 767px) {
  .c-card-news__link {
    border: 3px solid var(--theme-color-primary);
  }
  .c-card-news__img {
    margin-block-end: 1.4rem;
    padding-block-start: 65%;
  }
  .c-card-news__time time {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-news__link {
    border: 4px solid var(--theme-color-primary);
    transition: border-color 0.3s ease;
  }
  .c-card-news__link:hover {
    border-color: var(--theme-color-quaternary);
  }
  .c-card-news__link:hover .c-card-news__img img {
    transform: scale(1.03);
  }
  .c-card-news__link:hover .c-card-news__desc {
    text-decoration: none;
  }
  .c-card-news__img {
    margin-block-end: 1rem;
    padding-block-start: 18.3rem;
  }
  .c-card-news__time time {
    font-size: 1.6rem;
  }
  .c-card-news__desc {
    line-height: 1.5;
  }
}
/*------------------------------------------------------------------------------------
2.2. BLOCK.
------------------------------------------------------------------------------------*/
/*---------- LIST BLOCK CONTACT ----------*/
.c-list-block-contact .c-block-contact:not(:first-child) {
  margin-block-start: var(--spacing-sp-25-pc-35);
}

/*---------- BLOCK CONTACT ----------*/
.c-block-contact__title {
  color: var(--theme-color-tertiary);
  font-weight: 900;
}
.c-block-contact__inner {
  margin-block: var(--spacing-sp-25-pc-35) var(--spacing-sp-30-pc-50);
  padding: var(--spacing-sp-25-pc-50) var(--spacing-sp-15-pc-50);
  background-color: var(--theme-color-seventh);
}
.c-block-contact__list > li {
  padding-inline-start: 1.7em;
}

@media only screen and (max-width: 767px) {
  .c-block-contact__title {
    margin-block-end: 0.6rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-block-contact__title {
    margin-block-end: 1rem;
    font-size: 1.8rem;
  }
}
/*------------------------------------------------------------------------------------
2.3. HEADING.
------------------------------------------------------------------------------------*/
/*---------- HEADING NEWS ----------*/
.c-heading-news {
  background-color: var(--theme-color-ninth);
}
.c-heading-news__row {
  display: flex;
  margin-block-start: 1rem;
}
.c-heading-news__left {
  flex: 0 0 auto;
  line-height: 1.5;
}
.c-heading-news__left time {
  color: var(--theme-color-tertiary);
  font-weight: 700;
}
.c-heading-news__right {
  flex: 1;
  min-width: 1px;
  padding-inline-start: 1rem;
}
.c-heading-news__title {
  color: var(--theme-color-eighth);
  font-weight: 700;
}
.c-heading-news .c-tag-news {
  background-color: var(--theme-color-secondary);
}

@media only screen and (max-width: 767px) {
  .c-heading-news {
    padding: 2rem;
  }
  .c-heading-news__left {
    padding-block-start: 0.3rem;
  }
  .c-heading-news__left time {
    font-size: 1.4rem;
  }
  .c-heading-news__title {
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-news {
    padding: 2rem 2.5rem 2.5rem 2.5rem;
  }
  .c-heading-news__left time {
    font-size: 1.6rem;
  }
  .c-heading-news__title {
    font-size: 2.8rem;
  }
}
/*------------------------------------------------------------------------------------
2.4. TITLE.
------------------------------------------------------------------------------------*/
/*---------- TITLE PAGE ----------*/
.c-title-page {
  background-color: var(--theme-color-tertiary);
  color: var(--theme-color-secondary);
  font-weight: 900;
}

@media only screen and (max-width: 767px) {
  .c-title-page {
    padding: 1.1rem 1.5rem;
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-page {
    padding: 1.2rem 3rem;
    font-size: 2.8rem;
  }
}
/*---------- TITLE BASE ----------*/
.c-title-base {
  color: var(--theme-color-tertiary);
  font-weight: 900;
}

@media only screen and (max-width: 767px) {
  .c-title-base {
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-base {
    font-size: 2.8rem;
  }
}
/*------------------------------------------------------------------------------------
2.5. TABLE.
------------------------------------------------------------------------------------*/
/*---------- TABLE FORM ----------*/
.c-tbl-form .error {
  color: var(--theme-color-warning);
}
.c-tbl-form table {
  width: 100%;
  table-layout: fixed;
}
.c-tbl-form th,
.c-tbl-form td {
  position: relative;
  text-align: left;
  vertical-align: top;
}

@media only screen and (max-width: 767px) {
  .c-tbl-form tr {
    border-block-end: 3px solid var(--theme-color-tertiary);
  }
  .c-tbl-form tr:first-child {
    border-block-start: 3px solid var(--theme-color-tertiary);
  }
  .c-tbl-form th,
  .c-tbl-form td {
    display: block;
    padding-block: 1.5rem;
  }
  .c-tbl-form td {
    border-block-start: 1px solid var(--theme-color-eighteenth);
  }
}
@media only screen and (min-width: 768px) {
  .c-tbl-form tr:first-child th::after,
  .c-tbl-form tr:first-child td::after {
    position: absolute;
    content: "";
    inset-inline-start: 0;
    width: 100%;
  }
  .c-tbl-form tr:first-child th::after {
    inset-block-start: -1px;
    border-bottom: 3px solid var(--theme-color-tertiary);
  }
  .c-tbl-form tr:first-child td::after {
    inset-block-start: 0;
    border-block-start: 1px solid var(--theme-color-eighteenth);
  }
  .c-tbl-form th::before,
  .c-tbl-form td::before {
    position: absolute;
    content: "";
    inset-inline-start: 0;
    width: 100%;
  }
  .c-tbl-form th {
    width: 31rem;
    padding: 2.5rem 0;
  }
  .c-tbl-form th::before {
    inset-block-end: -1px;
    border-block-end: 3px solid var(--theme-color-tertiary);
  }
  .c-tbl-form td {
    padding: 2rem 4.5rem;
  }
  .c-tbl-form td::before {
    inset-block-end: 0;
    border-block-end: 1px solid var(--theme-color-eighteenth);
  }
}
/*---------- TABLE FORM VERSION 2 ----------*/
@media only screen and (min-width: 768px) {
  .c-tbl-form--v2 td {
    padding: 2.5rem 4.5rem;
  }
}
/*---------- TABLE NEWS ----------*/
.c-tbl-news__heading {
  display: flex;
  justify-content: center;
}
.c-tbl-news__title {
  border-block-end: 1px solid var(--theme-color-tertiary);
  color: var(--theme-color-tertiary);
  font-weight: 700;
}
.c-tbl-news__content {
  display: flex;
  justify-content: center;
  font-size: 1.4rem;
}

@media only screen and (max-width: 767px) {
  .c-tbl-news__wrap {
    padding: 2.5rem 1.5rem;
    border-radius: 2rem;
    border: 3px solid var(--theme-color-tertiary);
  }
  .c-tbl-news__heading {
    margin-block-end: 1.8rem;
  }
  .c-tbl-news__title {
    padding: 0 2.5rem 0.4rem 2.5rem;
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-tbl-news__wrap {
    max-width: 71rem;
    margin-inline: auto;
    padding: 3.4rem 4rem 4rem 4rem;
    border-radius: 2.4rem;
    border: 4px solid var(--theme-color-tertiary);
  }
  .c-tbl-news__heading {
    margin-block-end: 2.3rem;
  }
  .c-tbl-news__title {
    padding: 0 4rem 0.6rem 4rem;
    font-size: 2.4rem;
  }
}
/*---------- TABLE NEWS VERSION 1 ----------*/
.c-tbl-news--v1 .c-tbl-news__content > ol > li {
  padding-inline-start: 1.8em;
  text-indent: -1.8em;
}
.c-tbl-news--v1 .c-tbl-news__content > ol > li > ol > li {
  padding-inline-start: 2.4em;
  text-indent: -2.4em;
}
.c-tbl-news--v1 .c-tbl-news__content > ol > li > ol > li > ol > li {
  padding-inline-start: 3.2em;
  text-indent: -3.2em;
}

/*---------- TABLE NEWS VERSION 2 ----------*/
.c-tbl-news--v2 .c-tbl-news__content {
  counter-reset: level1;
}
.c-tbl-news--v2 .c-tbl-news__content ol {
  list-style-type: none;
}
.c-tbl-news--v2 .c-tbl-news__content ol li {
  position: relative;
}
.c-tbl-news--v2 .c-tbl-news__content ol li::before {
  position: absolute;
  display: inline-block;
  inset-inline-start: 0;
}
.c-tbl-news--v2 .c-tbl-news__content ol > li {
  counter-increment: level1;
  counter-reset: level2;
}
.c-tbl-news--v2 .c-tbl-news__content ol > li::before {
  content: counter(level1) ".";
}
.c-tbl-news--v2 .c-tbl-news__content ol > li > ol > li {
  counter-increment: level2;
  counter-reset: level3;
}
.c-tbl-news--v2 .c-tbl-news__content ol > li > ol > li::before {
  content: counter(level1) "." counter(level2) ".";
}
.c-tbl-news--v2 .c-tbl-news__content ol > li > ol > li > ol > li {
  counter-increment: level3;
}
.c-tbl-news--v2 .c-tbl-news__content ol > li > ol > li > ol > li::before {
  content: counter(level1) "." counter(level2) "." counter(level3) ".";
}

@media only screen and (max-width: 767px) {
  .c-tbl-news--v2 .c-tbl-news__content ol > li {
    padding-inline-start: 2rem;
  }
  .c-tbl-news--v2 .c-tbl-news__content ol > li > ol > li {
    padding-inline-start: 3rem;
  }
  .c-tbl-news--v2 .c-tbl-news__content ol > li > ol > li > ol > li {
    padding-inline-start: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-tbl-news--v2 .c-tbl-news__content ol > li {
    padding-inline-start: 2.5rem;
  }
  .c-tbl-news--v2 .c-tbl-news__content ol > li > ol > li {
    padding-inline-start: 3.5rem;
  }
  .c-tbl-news--v2 .c-tbl-news__content ol > li > ol > li > ol > li {
    padding-inline-start: 4.5rem;
  }
}
/*------------------------------------------------------------------------------------
2.6. BUTTON.
------------------------------------------------------------------------------------*/
/*---------- BUTTON ----------*/
.c-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  overflow: hidden;
  transform: translateY(0);
  width: 100%;
  height: 4.8rem;
  padding: 0.5rem;
  border: 0;
  border-radius: 2.5rem;
  color: var(--theme-color-secondary);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
  transition: box-shadow 0.05s ease-in, transform 0.05s ease-in;
}
.c-btn:disabled {
  cursor: not-allowed;
  transform: translateY(0) !important;
  box-shadow: none !important;
}

@media only screen and (max-width: 767px) {
  .c-btn {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn {
    font-size: 1.6rem;
  }
  .c-btn:hover {
    transform: translateY(-0.3rem);
  }
}
/*---------- BUTTON COLOR QUATERNARY ----------*/
.c-btn--c-quaternary {
  background-color: var(--theme-color-quaternary);
}
.c-btn--c-quaternary:disabled {
  background-color: var(--theme-color-twenty-third);
}

@media only screen and (min-width: 768px) {
  .c-btn--c-quaternary:hover {
    box-shadow: 0 0.3rem 0 var(--theme-color-fifth);
  }
}
/*---------- BUTTON COLOR TERTIARY ----------*/
.c-btn--c-tertiary {
  background-color: var(--theme-color-tertiary);
}

@media only screen and (min-width: 768px) {
  .c-btn--c-tertiary:hover {
    box-shadow: 0 0.3rem 0 var(--theme-color-twenty-third);
  }
}
/*---------- BUTTON SQUARE ----------*/
.c-btn-square {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
}
.c-btn-square--prev::before, .c-btn-square--next::before {
  position: absolute;
  content: "";
  inset-block-start: 50%;
  inset-inline-start: 50%;
  border: 1px solid var(--theme-color-tertiary);
  border-block-start: 0;
  border-inline-start: 0;
}
.c-btn-square--prev::before {
  margin-inline-start: -0.3rem;
  transform: rotate(135deg);
}
.c-btn-square--next::before {
  margin-inline-start: -1rem;
  transform: rotate(315deg);
}
.c-btn-square--main {
  border: 1px solid var(--theme-color-tertiary);
  background-color: var(--theme-color-secondary);
}
.c-btn-square__text {
  text-indent: -9999px;
}
.c-btn-square.is-current {
  cursor: initial;
  border-color: var(--theme-color-quaternary);
  background-color: var(--theme-color-quaternary);
}
.c-btn-square.is-current .c-btn-square__number {
  color: var(--theme-color-secondary);
}
.c-btn-square__number {
  color: var(--theme-color-tertiary);
  line-height: 1;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .c-btn-square {
    width: 3.5rem;
    height: 3.5rem;
  }
  .c-btn-square--prev::before, .c-btn-square--next::before {
    width: 1.2rem;
    height: 1.2rem;
    margin-block-start: -0.6rem;
  }
  .c-btn-square__number {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-square {
    width: 4rem;
    height: 4rem;
  }
  .c-btn-square--prev:hover::before, .c-btn-square--next:hover::before {
    border-color: var(--theme-color-quaternary);
  }
  .c-btn-square--prev::before, .c-btn-square--next::before {
    width: 1.4rem;
    height: 1.4rem;
    margin-block-start: -0.7rem;
  }
  .c-btn-square--main {
    transition: border-color 0.2s ease, background-color 0.2s ease;
  }
  .c-btn-square--main:hover {
    border-color: var(--theme-color-quaternary);
    background-color: var(--theme-color-quaternary);
  }
  .c-btn-square--main:hover .c-btn-square__number {
    color: var(--theme-color-secondary);
  }
  .c-btn-square__number {
    font-size: 2rem;
    transition: color 0.2s ease;
  }
}
/*---------- LIST BUTTON NEWS ----------*/
.c-list-btn-news {
  display: flex;
  flex-wrap: wrap;
}

@media only screen and (max-width: 575px) {
  .c-list-btn-news .c-btn-news {
    min-width: calc(50% - 1rem);
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-btn-news .c-btn-news {
    min-width: calc(33.333% - 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-list-btn-news {
    margin: -0.5rem;
  }
  .c-list-btn-news .c-btn-news {
    margin: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-btn-news {
    margin: -1rem;
  }
  .c-list-btn-news .c-btn-news {
    min-width: 19rem;
    margin: 1rem;
  }
}
/*---------- BUTTON NEWS ----------*/
.c-btn-news.is-active .c-btn-news__link {
  color: var(--theme-color-secondary);
  border-color: var(--theme-color-quaternary);
  background-color: var(--theme-color-quaternary);
}
.c-btn-news__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4rem;
  padding: 0.5rem 1rem;
  border-radius: 2rem;
  border: 1px solid var(--theme-color-tertiary);
  color: var(--theme-color-tertiary);
  line-height: 1.5;
  font-weight: 700;
  text-decoration: none;
}

@media only screen and (max-width: 767px) {
  .c-btn-news__link {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-news__link {
    font-size: 1.6rem;
    transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
  }
  .c-btn-news__link:hover {
    color: var(--theme-color-secondary);
    border-color: var(--theme-color-quaternary);
    background-color: var(--theme-color-quaternary);
  }
}
/*------------------------------------------------------------------------------------
2.7. TAG.
------------------------------------------------------------------------------------*/
/*---------- LIST TAG NEWS ----------*/
.c-list-tag-news {
  display: flex;
  flex-wrap: wrap;
  margin: -0.5rem;
}
.c-list-tag-news .c-tag-news {
  margin: 0.5rem;
}

/*---------- TAG NEWS ----------*/
.c-tag-news {
  padding: 0.2rem 1rem;
  border: 1px solid var(--theme-color-tertiary);
  background-color: var(--theme-color-ninth);
  color: var(--theme-color-tertiary);
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 700;
}

/*------------------------------------------------------------------------------------
2.8. PAGINATION.
------------------------------------------------------------------------------------*/
/*---------- PAGINATION ----------*/
.c-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.c-pagination__list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -0.5rem;
}
.c-pagination__list .c-btn-square {
  margin: 0.5rem;
}
.c-pagination__list .c-btn-square--prev, .c-pagination__list .c-btn-square--next {
  position: absolute;
}
.c-pagination__list .c-btn-square--prev {
  inset-inline-start: 0;
}
.c-pagination__list .c-btn-square--next {
  inset-inline-end: 0;
}

@media only screen and (max-width: 767px) {
  .c-pagination__list {
    padding-inline: 4.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-pagination__list {
    padding-inline: 5.5rem;
  }
}
/*---------- PAGINATION MAIN ----------*/
.c-pagination-main__item--center .c-btn {
  width: 22.5rem;
}

@media only screen and (max-width: 767px) {
  .c-pagination-main__item {
    width: 14rem;
  }
  .c-pagination-main__item--center {
    width: 100%;
    margin-block-end: 2rem;
    text-align: center;
  }
  .c-pagination-main__item--center .c-btn {
    margin-inline: auto;
  }
}
@media only screen and (min-width: 768px) {
  .c-pagination-main {
    position: relative;
  }
  .c-pagination-main__list {
    height: 4.8rem;
  }
  .c-pagination-main__item {
    width: 15rem;
  }
  .c-pagination-main__item--center {
    position: absolute;
    inset-inline-start: 50%;
    transform: translateX(-50%);
    width: 22.5rem;
  }
}
/*------------------------------------------------------------------------------------
2.9. WORDPRESS.
------------------------------------------------------------------------------------*/
/*---------- WORDPRESS EDITOR ----------*/
.wp-editor-style hr {
  clear: both;
  height: 1px;
  margin-block-end: 18px;
  border: 0;
  background-color: #e7e7e7;
}
.wp-editor-style > ul, .wp-editor-style > ol {
  padding-inline-start: 2rem;
}
.wp-editor-style ul {
  list-style: disc;
}
.wp-editor-style ul li {
  list-style: disc;
}
.wp-editor-style ol {
  list-style: decimal;
}
.wp-editor-style ol li {
  list-style: decimal;
}
.wp-editor-style ol ol {
  list-style: upper-alpha;
}
.wp-editor-style ol ol li {
  list-style: upper-alpha;
}
.wp-editor-style ol ol ol {
  list-style: lower-roman;
}
.wp-editor-style ol ol ol li {
  list-style: lower-roman;
}
.wp-editor-style ol ol ol ol {
  list-style: lower-alpha;
}
.wp-editor-style ol ol ol ol li {
  list-style: lower-alpha;
}
.wp-editor-style ul ul,
.wp-editor-style ol ol,
.wp-editor-style ul ol,
.wp-editor-style ol ul {
  margin-block-end: 0;
}
.wp-editor-style dt {
  font-weight: bold;
}
.wp-editor-style dd {
  margin-block-end: 18px;
}
.wp-editor-style strong {
  font-weight: bold;
}
.wp-editor-style cite,
.wp-editor-style em,
.wp-editor-style i {
  font-style: italic;
}
.wp-editor-style big {
  font-size: 131.25%;
}
.wp-editor-style ins {
  background: #ffc;
  text-decoration: none;
}
.wp-editor-style blockquote {
  font-style: italic;
  padding: 0 3em;
}
.wp-editor-style blockquote cite,
.wp-editor-style blockquote em,
.wp-editor-style blockquote i {
  font-style: normal;
}
.wp-editor-style pre {
  margin-block-end: 1.8rem;
  padding: 1.5em;
  overflow: auto;
  background: #f7f7f7;
  color: #222;
  line-height: 18px;
}
.wp-editor-style abbr,
.wp-editor-style acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}
.wp-editor-style sup,
.wp-editor-style sub {
  height: 0;
  line-height: 1;
  position: relative;
  vertical-align: baseline;
}
.wp-editor-style sup {
  inset-block-end: 1ex;
}
.wp-editor-style sub {
  inset-block-start: 0.5ex;
}
.wp-editor-style small {
  font-size: smaller;
}
.wp-editor-style h1 {
  margin: var(--spacing-sp-25-pc-50) 0 var(--spacing-sp-20-pc-30) 0;
  background-color: var(--theme-color-tertiary);
  color: var(--theme-color-secondary);
  font-weight: 900;
}
.wp-editor-style h2,
.wp-editor-style h3,
.wp-editor-style h4,
.wp-editor-style h5,
.wp-editor-style h6 {
  font-weight: 700;
}
.wp-editor-style h2 {
  position: relative;
  margin: var(--spacing-sp-25-pc-50) 0 var(--spacing-sp-15-pc-25) 0;
  padding-inline-start: 1rem;
  font-family: var(--theme-font-jp-secondary);
  line-height: 1.5;
}
.wp-editor-style h3 {
  margin: var(--spacing-sp-25-pc-50) 0 var(--spacing-sp-20-pc-30) 0;
  overflow: hidden;
}
.wp-editor-style h3 > span {
  position: relative;
  display: inline-block;
  padding-block-end: 0.5rem;
  padding-inline-end: 1.5rem;
  font-weight: 700;
}
.wp-editor-style h3 > span::before, .wp-editor-style h3 > span::after {
  position: absolute;
  content: "";
  inset-inline-start: 0;
  border-block-end-style: solid;
}
.wp-editor-style h3 > span::before {
  z-index: 2;
  width: 100%;
  inset-block-end: 0;
  border-block-end-width: 3px;
  border-block-end-color: var(--theme-color-quaternary);
}
.wp-editor-style h3 > span::after {
  z-index: 1;
  width: 100vw;
  inset-block-end: 1px;
  border-block-end-width: 1px;
  border-block-end-color: var(--theme-color-tertiary);
}
.wp-editor-style h4 {
  margin: var(--spacing-sp-25-pc-50) 0 var(--spacing-sp-20-pc-30) 0;
  padding-block-end: 0.5rem;
  border-block-end: 2px dotted var(--theme-color-twentieth);
}
.wp-editor-style h5 {
  position: relative;
  margin: var(--spacing-sp-25-pc-50) 0 var(--spacing-sp-15-pc-25) 0;
  padding-inline-start: 1.1em;
}
.wp-editor-style h5::before {
  position: absolute;
  content: "●";
  inset-block-start: 0;
  inset-inline-start: 0;
  transform: scale(0.8);
  color: var(--theme-color-quaternary);
}
.wp-editor-style h6 {
  margin: var(--spacing-sp-25-pc-50) 0 var(--spacing-sp-15-pc-25) 0;
}
.wp-editor-style iframe {
  display: block;
  width: 100%;
  max-width: 71rem;
  height: auto;
  aspect-ratio: 16/9;
  margin-inline: auto;
  border: 0;
}

@media only screen and (max-width: 767px) {
  .wp-editor-style img {
    margin-block-end: 2rem;
    width: 100%;
  }
  .wp-editor-style h1 {
    padding: 1.1rem 1.5rem;
    font-size: 2.2rem;
  }
  .wp-editor-style h2 {
    border-inline-start: 6px solid var(--theme-color-quaternary);
    font-size: 2rem;
  }
  .wp-editor-style h3 {
    font-size: 2rem;
  }
  .wp-editor-style h4,
  .wp-editor-style h5,
  .wp-editor-style h6 {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .wp-editor-style h1 {
    padding: 1.5rem 2rem;
    font-size: 2.6rem;
  }
  .wp-editor-style h2 {
    border-inline-start: 8px solid var(--theme-color-quaternary);
    font-size: 2.4rem;
  }
  .wp-editor-style h3 {
    font-size: 2.2rem;
  }
  .wp-editor-style h4,
  .wp-editor-style h5,
  .wp-editor-style h6 {
    font-size: 1.8rem;
  }
}
/*---------- WORDPRESS IMAGES ----------*/
img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img,
.widget-container img {
  max-width: 100%;
  height: auto;
}

.aligncenter,
img.aligncenter {
  clear: both;
  display: block;
  margin-inline-start: auto;
  margin-inline-end: auto;
}

img.alignleft,
img.alignright,
img.aligncenter {
  margin-block-end: 1.2rem;
}

.wp-caption {
  text-align: center;
  max-width: 100%;
}

.wp-caption-text {
  margin-block-start: 1rem;
}

@media only screen and (min-width: 768px) {
  .alignleft,
  img.alignleft {
    display: inline;
    float: left;
    margin-block-start: 0.4rem;
    margin-inline-end: 2rem;
  }
  .alignright,
  img.alignright {
    display: inline;
    float: right;
    margin-block-start: 0.4rem;
    margin-inline-start: 2rem;
  }
}
/*====================================================================================
3. PROJECT.
====================================================================================*/
/*------------------------------------------------------------------------------------
3.1. PAGE VISUAL.
------------------------------------------------------------------------------------*/
.p-pv {
  background: url("./../images/common/pv-bg.webp") no-repeat center center/cover;
}
.p-pv__row {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 1.5rem;
}
.p-pv__title {
  color: var(--theme-color-secondary);
  font-weight: 900;
}

@media only screen and (max-width: 767px) {
  .p-pv__row {
    min-height: 16rem;
  }
  .p-pv__title {
    font-size: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-pv__row {
    min-height: 24.5rem;
  }
  .p-pv__title {
    font-size: 4.5rem;
  }
}
/*------------------------------------------------------------------------------------
3.2. PAGE CONTACT.
------------------------------------------------------------------------------------*/
/*---------- SECTION CONTACT FORM ----------*/
.p-contact--form {
  margin-block-start: var(--spacing-sp-50-pc-60);
  padding-block-end: var(--spacing-sp-50-pc-100);
}
.p-contact--form .c-title-page {
  margin-block-end: var(--spacing-sp-25-pc-45);
}
.p-contact--form .p-contact__desc {
  margin-block-end: var(--spacing-sp-25-pc-45);
}
.p-contact--form .c-form-check {
  margin-block-start: var(--spacing-sp-25-pc-50);
}
.p-contact--form .c-form-submit {
  margin-block-start: var(--spacing-sp-20-pc-35);
}
.p-contact--form .c-form-submit .c-btn {
  width: 22.5rem;
}

/*---------- SECTION CONTACT CONFIRM ----------*/
.p-contact--confirm {
  margin-block-start: var(--spacing-sp-50-pc-60);
  padding-block-end: var(--spacing-sp-50-pc-100);
}
.p-contact--confirm .c-title-page {
  margin-block-end: var(--spacing-sp-25-pc-45);
}
.p-contact--confirm .c-form-upload__item {
  border: 0;
}
.p-contact--confirm .c-form-upload__item img {
  position: absolute;
  z-index: 2;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.p-contact--confirm .c-form-submit {
  margin-block-start: var(--spacing-sp-25-pc-50);
}

@media only screen and (max-width: 767px) {
  .p-contact--confirm .c-form-submit .c-btn {
    width: 25rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact--confirm .c-tbl-form td {
    padding: 2.5rem 4.5rem;
  }
  .p-contact--confirm .c-form-submit .c-btn {
    width: 28.5rem;
  }
}
/*---------- SECTION CONTACT THANKS ----------*/
.p-contact--thanks {
  margin-block-start: var(--spacing-sp-50-pc-60);
  padding-block-end: var(--spacing-sp-50-pc-100);
}
.p-contact--thanks .c-title-page {
  margin-block-end: var(--spacing-sp-25-pc-45);
}
.p-contact--thanks .p-contact__body {
  text-align: center;
}
.p-contact--thanks .p-contact__body .c-title-base {
  margin-block-end: var(--spacing-sp-15-pc-20);
}
.p-contact--thanks .p-contact__btn {
  margin-block-start: var(--spacing-sp-20-pc-35);
}

@media only screen and (max-width: 767px) {
  .p-contact--thanks .p-contact__btn .c-btn {
    width: 25rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-contact--thanks .p-contact__btn .c-btn {
    width: 28.5rem;
  }
}
/*---------- SECTION CONTACT PRIVACY ----------*/
.p-contact--privacy {
  padding-block-end: var(--spacing-sp-50-pc-100);
}
.p-contact--privacy .c-title-page {
  margin-block-end: var(--spacing-sp-25-pc-45);
}
.p-contact--privacy .p-contact__desc {
  margin-block-end: var(--spacing-sp-25-pc-45);
}

/*------------------------------------------------------------------------------------
3.3. PAGE NEWS.
------------------------------------------------------------------------------------*/
/*---------- SECTION NEWS LIST ----------*/
.p-news--list {
  padding-block: var(--spacing-sp-50-pc-60) var(--spacing-sp-50-pc-100);
}
.p-news--list .c-list-card-news {
  margin-block-start: var(--spacing-sp-30-pc-50);
}
.p-news--list .c-pagination {
  margin-block-start: var(--spacing-sp-30-pc-60);
}

/*---------- SECTION NEWS DETAIL ----------*/
.p-news--detail {
  padding-block: var(--spacing-sp-50-pc-60) var(--spacing-sp-50-pc-100);
}
.p-news--detail .c-heading-news {
  margin-block-end: var(--spacing-sp-30-pc-50);
}
.p-news--detail .c-tbl-news {
  margin-block-end: var(--spacing-sp-40-pc-80);
}
.p-news--detail #toc_container {
  margin-block: var(--spacing-sp-30-pc-50) var(--spacing-sp-40-pc-80);
  background-color: var(--theme-color-secondary);
}
.p-news--detail #toc_container .toc_title {
  position: relative;
  color: var(--theme-color-tertiary);
  font-weight: 700;
}
.p-news--detail #toc_container .toc_title::before {
  position: absolute;
  content: "";
  inset-inline-start: 50%;
  inset-block-end: 0;
  width: 15.2rem;
  margin-inline-start: -7.6rem;
  border-block-end: 1px solid var(--theme-color-tertiary);
}
.p-news--detail #toc_container .toc_list a:hover {
  color: var(--theme-color-quaternary);
}
.p-news--detail .c-pagination-main {
  margin-block-start: var(--spacing-sp-35-pc-50);
  padding-block-start: var(--spacing-sp-35-pc-60);
  border-block-start: 1px solid var(--theme-color-tertiary);
}

@media only screen and (max-width: 767px) {
  .p-news--detail #toc_container {
    padding: 2.5rem 1.5rem;
    border-radius: 2rem;
    border: 3px solid var(--theme-color-tertiary);
  }
  .p-news--detail #toc_container .toc_title {
    margin-block-end: 1.8rem;
    padding: 0 2.5rem 0.4rem 2.5rem;
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-news--detail #toc_container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 71rem;
    margin-inline: auto;
    padding: 3.4rem 4rem 4rem 4rem;
    border-radius: 2.4rem;
    border: 4px solid var(--theme-color-tertiary);
  }
  .p-news--detail #toc_container .toc_title {
    margin-block-end: 2.3rem;
    padding: 0 4rem 0.6rem 4rem;
    font-size: 2.4rem;
  }
}
/*------------------------------------------------------------------------------------
3.4. PAGE COMPANY.
------------------------------------------------------------------------------------*/
/*---------- SECTION COMPANY PROFILE ----------*/
.p-company--profile {
  padding-block: var(--spacing-sp-50-pc-60) var(--spacing-sp-50-pc-100);
}
.p-company--profile .c-title-page {
  margin-block-end: var(--spacing-sp-25-pc-50);
}

/*------------------------------------------------------------------------------------
3.5. PAGE ERROR.
------------------------------------------------------------------------------------*/
/*---------- SECTION ERROR ----------*/
.p-error {
  padding-block: var(--spacing-sp-50-pc-60) var(--spacing-sp-50-pc-100);
}
.p-error .c-title-page {
  margin-block-end: var(--spacing-sp-25-pc-50);
}
.p-error__subtitle, .p-error__desc, .p-error__btn {
  text-align: center;
}
.p-error__subtitle {
  font-weight: 700;
}
.p-error__desc {
  margin-block-start: var(--spacing-sp-15-pc-20);
}
.p-error__btn {
  margin-block-start: var(--spacing-sp-20-pc-35);
}
.p-error__btn .c-btn {
  width: 22.5rem;
}

@media only screen and (max-width: 767px) {
  .p-error__subtitle {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-error__subtitle {
    font-size: 1.8rem;
  }
}