.under_ul > li:before {
  display: block;
  content: "";
  position: absolute;
}

.main_content_inner {
  padding: 60px 0;
}
@media print, screen and (min-width: 768px) {
  .main_content_inner {
    padding: 100px 0;
  }
}

.page_block_contents {
  padding-top: 60px;
}

.underlayer_title_area {
  height: 210px;
  background-image: url(../img/under/under_mv.jpg?250908);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media print, screen and (min-width: 768px) {
  .underlayer_title_area {
    height: 330px;
  }
}

.underlayer_title {
  color: #fff;
  padding-top: 105px;
}
@media print, screen and (min-width: 768px) {
  .underlayer_title {
    padding-top: 160px;
  }
}
.underlayer_title .text_s {
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.4;
}
@media print, screen and (min-width: 768px) {
  .underlayer_title .text_s {
    font-size: 2rem;
  }
}
.underlayer_title .text_l {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.1;
}
@media print, screen and (min-width: 360px) {
  .underlayer_title .text_l {
    font-size: 5rem;
  }
}
@media print, screen and (min-width: 768px) {
  .underlayer_title .text_l {
    font-size: 8rem;
  }
}

.breadcrumbs {
  margin-top: 30px;
}

.breadcrumbs_list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5px;
  row-gap: 5px;
}

.breadcrumbs_item {
  line-height: 1.4;
}
.breadcrumbs_item:not(:first-child)::before {
  content: ">";
  display: inline;
}

a.breadcrumbs_item_text {
  color: #00629d;
  text-decoration: underline;
}
a.breadcrumbs_item_text:hover {
  text-decoration: none;
}

.breadcrumbs_item_text {
  font-size: 1.4rem;
}

.underlayer_container {
  padding: 60px 0 80px;
}
@media print, screen and (min-width: 768px) {
  .underlayer_container {
    padding: 90px 0 120px;
  }
}

.underlayer_sec:not(:first-child) {
  margin-top: 90px;
}
@media print, screen and (min-width: 768px) {
  .underlayer_sec:not(:first-child) {
    margin-top: 120px;
  }
}

@media print, screen and (min-width: 920px) {
  .pad {
    padding: 0 30px;
  }
}

.mt24 {
  margin-top: 24px;
}

.sec_ttl {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
  padding-top: 20px;
}
@media print, screen and (min-width: 768px) {
  .sec_ttl {
    font-size: 5rem;
  }
}
.sec_ttl::before, .sec_ttl::after {
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 9999px;
}
.sec_ttl::before {
  width: 130px;
  background-color: #fff;
}
.sec_ttl::after {
  width: 64px;
  background-color: #00629d;
}
.sec_ttl + .pad {
  margin-top: 30px;
}
@media print, screen and (min-width: 920px) {
  .sec_ttl + .pad {
    margin-top: 60px;
  }
}

.sec_h3 {
  color: #00629d;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4;
}
@media print, screen and (min-width: 920px) {
  .sec_h3 {
    font-size: 3rem;
  }
}
@media print, screen and (min-width: 1180px) {
  .sec_h3 {
    font-size: 4.2rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .sec_h3 {
    font-size: 4.5rem;
  }
}
.sec_h3:not(:first-child) {
  margin-top: 60px;
}
@media print, screen and (min-width: 768px) {
  .sec_h3:not(:first-child) {
    margin-top: 90px;
  }
}
.sec_h3 + * {
  margin-top: 30px;
}
@media print, screen and (min-width: 920px) {
  .sec_h3 + * {
    margin-top: 40px;
  }
}

.sec_h4 {
  color: #00629d;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  border-bottom: 2px solid #b2c9ed;
  padding-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
  .sec_h4 {
    font-size: 3rem;
  }
}
.sec_h4 + * {
  margin-top: 30px;
}
@media print, screen and (min-width: 920px) {
  .sec_h4 + * {
    margin-top: 40px;
  }
}

.sec_h5 {
  color: #00629d;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  padding-left: 26px;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .sec_h5 {
    font-size: 2rem;
    padding-left: 30px;
  }
}
.sec_h5::before {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 0;
  width: 19px;
  height: 12px;
  background: #00629d;
  border-radius: 100%;
  transform: rotate(-16deg);
}
@media print, screen and (min-width: 768px) {
  .sec_h5::before {
    top: 9px;
  }
}
.sec_h5 + * {
  margin-top: 18px;
}
@media print, screen and (min-width: 920px) {
  .sec_h5 + * {
    margin-top: 25px;
  }
}

.under_ul {
  counter-reset: li;
  margin-top: var(--margin-top-text-spacing);
}
.under_ul > li {
  list-style: none;
  position: relative;
  padding-left: 22px;
}
.under_ul > li:not(:first-child) {
  margin-top: 5px;
}
.under_ul > li:before {
  top: 6px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #00629d;
}
@media print, screen and (min-width: 768px) {
  .under_ul > li:before {
    top: 7px;
  }
}
.under_ul > li > ul {
  margin-top: 5px;
  margin-bottom: 15px;
}
.under_ul > li > ul li:before {
  top: 7px;
  width: 6px;
  height: 6px;
  border-radius: 0;
}
@media print, screen and (min-width: 768px) {
  .under_ul > li > ul li:before {
    top: 13px;
  }
}

.under_ol {
  counter-reset: li;
  margin-top: 15px;
}
.under_ol > li {
  list-style: none;
  position: relative;
  padding-left: 25px;
}
.under_ol > li:not(:first-child) {
  margin-top: 5px;
}
.under_ol > li:before {
  counter-increment: li;
  content: counter(li) ".";
  display: block;
  position: absolute;
  font-weight: bold;
  width: 16px;
  height: 20px;
  line-height: 20px;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  top: 1px;
  left: 0px;
  color: #00629d;
}
@media print, screen and (min-width: 768px) {
  .under_ol > li:before {
    top: 3px;
  }
}
.under_ol > li:nth-child(n+10) {
  padding-left: 32px;
}
.under_ol > li > ol {
  margin-top: 5px;
  margin-bottom: 15px;
}
.under_ol > li > ol li:before {
  content: counter(li) ")";
  font-weight: bold;
}
.under_ol > li > ul:not(.anchor-link, .blocks-gallery-grid, .not_parts) {
  margin-top: 10px;
  margin-bottom: 15px;
}
table {
  width: 100%;
  border-top: 1px solid #b2c9ed;
  border-left: 1px solid #b2c9ed;
  vertical-align: middle;
  font-size: 1.3rem;
  line-height: 1.6;
}
@media print, screen and (min-width: 920px) {
  table {
    font-size: 1.5rem;
  }
}
table:not(:first-child) {
  margin-top: 40px;
}
table th {
  border-bottom: 1px solid #b2c9ed;
  border-right: 1px solid #b2c9ed;
  padding: 8px;
}
@media print, screen and (min-width: 920px) {
  table th {
    padding: 10px 15px;
  }
}
table td {
  border-bottom: 1px solid #b2c9ed;
  border-right: 1px solid #b2c9ed;
  padding: 8px;
}
@media print, screen and (min-width: 920px) {
  table td {
    padding: 10px 15px;
  }
}
table th,
table td {
  vertical-align: middle;
}
table th .min,
table td .min {
  font-size: 10px;
}
table th .note,
table td .note {
  font-size: 10px;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
table th {
  font-weight: bold;
  text-align: center;
  width: 25%;
}
table tbody th {
  background-color: #e9eef7;
}
table tbody td {
  background-color: #fff;
}
table tbody td.circle {
  color: #00629d;
  font-size: 2rem;
  background-color: #eff9ff;
  text-align: center;
}
table tbody td a {
  color: #00629d;
  text-decoration: underline;
}
table tbody td a:hover {
  text-decoration: none;
}

@media print, screen and (min-width: 920px) {
  .js-scrollable table {
    width: 700px !important;
    min-height: 160px;
  }
}

.scroll-hint-text {
  line-height: 1;
  letter-spacing: 0.05em;
}

.underlayer_bottom {
  position: relative;
  padding-bottom: 60px;
}
@media print, screen and (min-width: 920px) {
  .underlayer_bottom {
    padding-bottom: 100px;
  }
}
.underlayer_bottom::after {
  content: "";
  display: block;
  background-color: #00629d;
  width: 100%;
  height: 86%;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media print, screen and (min-width: 768px) {
  .underlayer_bottom::after {
    height: 135px;
  }
}
@media print, screen and (min-width: 920px) {
  .underlayer_bottom::after {
    height: 195px;
  }
}
@media print, screen and (min-width: 1180px) {
  .underlayer_bottom::after {
    height: 225px;
  }
}

.underlayer_contents_menu {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .underlayer_contents_menu {
    flex-direction: row;
    column-gap: 10px;
  }
}
@media print, screen and (min-width: 920px) {
  .underlayer_contents_menu {
    column-gap: 20px;
  }
}
@media print, screen and (min-width: 1180px) {
  .underlayer_contents_menu {
    column-gap: 40px;
  }
}

.underlayer_contents_menu__item {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .underlayer_contents_menu__item {
    width: calc((100% - 20px) / 3);
  }
}
@media print, screen and (min-width: 920px) {
  .underlayer_contents_menu__item {
    width: calc((100% - 40px) / 3);
  }
}
@media print, screen and (min-width: 1180px) {
  .underlayer_contents_menu__item {
    width: calc((100% - 80px) / 3);
  }
}

.underlayer_contents_menu__link {
  display: block;
  position: relative;
  overflow: hidden;
}
.underlayer_contents_menu__link::after {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  bottom: 25px;
  right: 25px;
  content: "\e909";
  font-size: 9px;
  color: #00629d;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .underlayer_contents_menu__link::after {
    bottom: 22px;
    right: 20px;
  }
}
@media print, screen and (min-width: 920px) {
  .underlayer_contents_menu__link::after {
    bottom: 25px;
    right: 25px;
  }
}
@media print, screen and (min-width: 1180px) {
  .underlayer_contents_menu__link::after {
    bottom: 30px;
  }
}
.underlayer_contents_menu__link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 17px;
  right: 15px;
  width: 40px;
  height: 28px;
  background: #fff;
  border-radius: 100%;
  transform: rotate(-16deg);
  transition: transform 0.3s;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .underlayer_contents_menu__link::before {
    bottom: 13px;
    right: 10px;
  }
}
@media print, screen and (min-width: 920px) {
  .underlayer_contents_menu__link::before {
    bottom: 16px;
    right: 15px;
  }
}
@media print, screen and (min-width: 1180px) {
  .underlayer_contents_menu__link::before {
    bottom: 21px;
  }
}
@media (hover: hover) {
  .underlayer_contents_menu__link:where(:any-link, :enabled, summary, span, dt, div):hover::before {
    transform: rotate(-16deg) scale(1.15);
  }
  .underlayer_contents_menu__link:where(:any-link, :enabled, summary, span, dt, div):hover .underlayer_contents_menu__img img {
    transform: scale(1.05);
  }
}

.underlayer_contents_menu__img img {
  width: 100%;
  transition: 0.3s;
}

.underlayer_contents_menu__title {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  position: absolute;
  bottom: 9px;
  left: 20px;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .underlayer_contents_menu__title {
    left: 10px;
  }
}
@media print, screen and (min-width: 920px) {
  .underlayer_contents_menu__title {
    left: 20px;
  }
}
.underlayer_contents_menu__title .jp {
  font-size: 1.2rem;
  font-weight: 500;
}
@media print, screen and (min-width: 920px) {
  .underlayer_contents_menu__title .jp {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 1180px) {
  .underlayer_contents_menu__title .jp {
    font-size: 1.6rem;
  }
}
.underlayer_contents_menu__title .en {
  font-size: 3.5rem;
  font-family: "Poppins", sans-serif;
  font-weight: bold;
  letter-spacing: 0;
}
@media print, screen and (min-width: 768px) {
  .underlayer_contents_menu__title .en {
    font-size: 2.6rem;
  }
}
@media print, screen and (min-width: 920px) {
  .underlayer_contents_menu__title .en {
    font-size: 3.2rem;
  }
}
@media print, screen and (min-width: 1180px) {
  .underlayer_contents_menu__title .en {
    font-size: 4.5rem;
  }
}

.underline_dl {
  margin-top: 15px;
}
@media print, screen and (min-width: 768px) {
  .underline_dl {
    margin-top: 30px;
  }
}

.underline_dl_item {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  border-bottom: 1px solid #b2c9ed;
  padding: 20px 0;
}
@media print, screen and (min-width: 768px) {
  .underline_dl_item {
    flex-direction: row;
    padding: 30px 0;
  }
}

.underline_dt {
  font-size: 1.5rem;
  font-weight: bold;
  flex-shrink: 0;
}
@media print, screen and (min-width: 768px) {
  .underline_dt {
    font-size: 1.6rem;
    width: 200px;
  }
}
@media print, screen and (min-width: 920px) {
  .underline_dt {
    width: 250px;
  }
}

.underline_dd {
  font-weight: 500;
  flex-grow: 1;
  padding-top: 1px;
}

.business_introduction {
  overflow: hidden;
}

.business_introduction_flex {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .business_introduction_flex {
    margin-top: 70px;
  }
}
@media print, screen and (min-width: 920px) {
  .business_introduction_flex {
    flex-direction: row;
    column-gap: 30px;
  }
}
@media print, screen and (min-width: 1180px) {
  .business_introduction_flex {
    column-gap: 60px;
  }
}

@media print, screen and (min-width: 920px) {
  .business_introduction_text {
    width: calc((100% - 30px) / 2);
  }
}
@media print, screen and (min-width: 1180px) {
  .business_introduction_text {
    width: calc((100% - 60px) / 2);
  }
}
.business_introduction_text p {
  line-height: 2;
  margin-top: 24px;
}
@media print, screen and (min-width: 920px) {
  .business_introduction_text p {
    margin-top: 40px;
  }
}

.business_introduction_img {
  margin-right: calc(-50vw + 50%);
  flex-grow: 1;
}
@media print, screen and (min-width: 920px) {
  .business_introduction_img {
    width: calc((100% - 30px) / 2);
  }
}
@media print, screen and (min-width: 1180px) {
  .business_introduction_img {
    width: calc((100% - 60px) / 2);
    max-width: 930px;
  }
}
.business_introduction_img img {
  width: 100%;
}

.business_explain {
  margin: 60px 0 60px;
  position: relative;
}
@media print, screen and (min-width: 920px) {
  .business_explain {
    margin: 120px 0;
  }
}
.business_explain_process:not(:first-child) {
  margin-top: 90px;
}

.business_dl {
  color: #fff;
  position: relative;
  padding: 40px 0 170px;
}
.business_dl::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background-color: #00629d;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 calc(-50vw + 50%);
}

.business_dl_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 920px) {
  .business_dl_item {
    flex-direction: row;
  }
}

.business_dt {
  width: 100%;
  flex-shrink: 0;
  font-size: 2.4rem;
  font-weight: bold;
}
@media print, screen and (min-width: 920px) {
  .business_dt {
    width: 270px;
    font-size: 4rem;
  }
}
@media print, screen and (min-width: 1180px) {
  .business_dt {
    width: 300px;
  }
}

.business_dd {
  flex-grow: 1;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  border-top: 1px solid #fff;
  padding-top: 20px;
  margin-top: 20px;
}
@media print, screen and (min-width: 920px) {
  .business_dd {
    font-size: 1.8rem;
    margin-top: 0;
    border-top: none;
    border-left: 1px solid #fff;
    padding-left: 30px;
  }
}
@media print, screen and (min-width: 1180px) {
  .business_dd {
    padding-left: 60px;
  }
}

.business_explain_method {
  margin-top: -130px;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .business_explain_method {
    margin-top: -110px;
  }
}
.business_explain_method table th {
  width: 33%;
}

.business_flex {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  flex-direction: column;
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .business_flex {
    flex-direction: row;
    column-gap: 30px;
  }
}
@media print, screen and (min-width: 1180px) {
  .business_flex {
    column-gap: 60px;
  }
}

.business_flex_box {
  width: 100%;
}
@media print, screen and (min-width: 920px) {
  .business_flex_box {
    width: calc((100% - 30px) / 2);
  }
}
@media print, screen and (min-width: 1180px) {
  .business_flex_box {
    width: calc((100% - 60px) / 2);
  }
}
.business_flex_box .img:not(:first-child) {
  margin-top: 30px;
}
@media print, screen and (min-width: 920px) {
  .business_flex_box .img:not(:first-child) {
    margin-top: 40px;
  }
}
.business_flex_box table + p {
  margin-top: 24px;
}
@media print, screen and (min-width: 920px) {
  .business_flex_box table + p {
    margin-top: 40px;
  }
}

.business_white {
  background-color: #fff;
  padding: 30px 20px;
}
@media print, screen and (min-width: 768px) {
  .business_white {
    padding: 36px 20px;
  }
}
@media print, screen and (min-width: 920px) {
  .business_white {
    padding: 40px 30px;
  }
}
@media print, screen and (min-width: 1180px) {
  .business_white {
    padding: 60px;
  }
}

.business_industry {
  margin-top: 40px;
}

.business_group_table {
  margin-top: 60px;
  border: none;
}
.business_group_table thead {
  color: #fff;
}
.business_group_table .gray {
  background-color: #9badc9;
}
.business_group_table .blue1 {
  background-color: #003b5f;
}
.business_group_table .blue2 {
  background-color: #00629d;
}
.business_group_table .blue3 {
  background-color: #1294e2;
}
.business_group_table .blue4 {
  background-color: #75cafd;
}
.business_group_table th,
.business_group_table td {
  border: none;
}
.business_group_table tbody th,
.business_group_table tbody td {
  border: 1px solid #b2c9ed;
}

.business_group_office:not(:first-child) {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .business_group_office:not(:first-child) {
    margin-top: 60px;
  }
}

.business_group_office_map {
  aspect-ratio: 153/97;
}
.business_group_office_map iframe {
  width: 100%;
  height: 100%;
}

.high_quality_text:not(:first-child) {
  margin-top: 1.5em;
}

.president_greeting .sec_h3 {
  font-size: 2.4rem;
}
@media print, screen and (min-width: 920px) {
  .president_greeting .sec_h3 {
    font-size: 2.8rem;
  }
}
@media print, screen and (min-width: 1180px) {
  .president_greeting .sec_h3 {
    font-size: 3.4rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .president_greeting .sec_h3 {
    font-size: 4.2rem;
  }
}

.president_flex {
  display: flex;
  margin-top: 30px;
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  .president_flex {
    flex-direction: row;
    margin-top: 70px;
    column-gap: 30px;
  }
}
@media print, screen and (min-width: 1180px) {
  .president_flex {
    column-gap: 60px;
  }
}

.president_img {
  width: 100%;
  max-width: 385px;
  margin-left: auto;
  margin-right: auto;
  flex-shrink: 0;
}
@media print, screen and (min-width: 768px) {
  .president_img {
    width: 220px;
  }
}
@media print, screen and (min-width: 920px) {
  .president_img {
    width: 240px;
  }
}
@media print, screen and (min-width: 1180px) {
  .president_img {
    width: 292px;
  }
}
.president_img img {
  width: 100%;
}

.president_text {
  flex-grow: 1;
}
.president_text p:not(:first-child) {
  margin-top: 1.5em;
}

.president_text_02 {
  margin-top: 21px;
}
@media print, screen and (min-width: 768px) {
  .president_text_02 {
    margin-top: 40px;
  }
}

.president_right {
  text-align: center;
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .president_right {
    text-align: right;
    margin-bottom: 0;
    margin-top: 40px;
  }
}

.ics_group_flex {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 920px) {
  .ics_group_flex {
    margin-top: 70px;
    flex-direction: row;
    column-gap: 30px;
  }
}
@media print, screen and (min-width: 1180px) {
  .ics_group_flex {
    column-gap: 60px;
  }
}
.ics_group_flex .img {
  flex-shrink: 0;
  width: 100%;
  max-width: 478px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 920px) {
  .ics_group_flex .img {
    width: 320px;
  }
}
@media print, screen and (min-width: 1180px) {
  .ics_group_flex .img {
    width: 478px;
  }
}
.ics_group_flex .img img {
  width: 100%;
}

.ics_group_text {
  margin-top: 30px;
}
@media print, screen and (min-width: 920px) {
  .ics_group_text {
    margin-top: 0;
  }
}
.ics_group_text p {
  margin-top: 14px;
}
@media print, screen and (min-width: 920px) {
  .ics_group_text p {
    margin-top: 18px;
  }
}
.ics_group_text p:not(:last-child) {
  margin-bottom: 24px;
}
@media print, screen and (min-width: 920px) {
  .ics_group_text p:not(:last-child) {
    margin-bottom: 36px;
  }
}

.privacy_box h4 {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .privacy_box h4 {
    margin-top: 60px;
  }
}
@media print, screen and (min-width: 768px) {
  .privacy_box p {
    padding: 0 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .privacy_box ul,
  .privacy_box ol {
    padding: 0 30px;
  }
}
.privacy_box ul li,
.privacy_box ol li {
  position: relative;
  padding-left: 30px;
}
.privacy_box ul li:not(:first-child),
.privacy_box ol li:not(:first-child) {
  margin-top: 2px;
}
.privacy_box ul li::before,
.privacy_box ol li::before {
  position: absolute;
  left: 0;
}
.privacy_box ul li::before {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  background-color: #00629d;
  border-radius: 50%;
  top: 9px;
}
.privacy_box ol {
  margin-top: 20px;
  counter-reset: item 0;
}
@media print, screen and (min-width: 768px) {
  .privacy_box ol {
    margin-top: 30px;
  }
}
.privacy_box ol li {
  counter-increment: item;
}
.privacy_box ol li::before {
  content: counter(item);
  color: #00629d;
  font-weight: bold;
  line-height: 1;
  top: 7px;
}

.privacy_signature {
  margin-top: 30px;
  text-align: right;
}
@media print, screen and (min-width: 768px) {
  .privacy_signature {
    margin-top: 60px;
  }
}

.post_page_title {
  color: #00629d;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 20px;
}
@media print, screen and (min-width: 920px) {
  .post_page_title {
    font-size: 3rem;
  }
}
@media print, screen and (min-width: 1180px) {
  .post_page_title {
    font-size: 4.2rem;
  }
}
@media print, screen and (min-width: 1280px) {
  .post_page_title {
    font-size: 4.5rem;
  }
}
.post_page_title + * {
  margin-top: 30px;
}
@media print, screen and (min-width: 920px) {
  .post_page_title + * {
    margin-top: 40px;
  }
}

.post_item:not(:first-child) {
  margin-top: 40px;
}
@media print, screen and (min-width: 920px) {
  .post_item:not(:first-child) {
    margin-top: 60px;
  }
}
.post_item .text.right {
  text-align: right;
}
.post_item .img img {
  width: 100%;
}
.post_item .column {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
  column-gap: 10px;
}
@media print, screen and (min-width: 768px) {
  .post_item .column {
    flex-direction: row;
    column-gap: 20px;
  }
}
@media print, screen and (min-width: 920px) {
  .post_item .column {
    column-gap: 30px;
  }
}
@media print, screen and (min-width: 1180px) {
  .post_item .column {
    column-gap: 50px;
  }
}
.post_item .column * {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .post_item .column * {
    width: calc((100% - 20px) / 2);
  }
}
@media print, screen and (min-width: 920px) {
  .post_item .column * {
    width: calc((100% - 30px) / 2);
  }
}
@media print, screen and (min-width: 1180px) {
  .post_item .column * {
    width: calc((100% - 50px) / 2);
  }
}

.back_to_news,
.back_to_top {
  margin-top: 70px;
}
@media print, screen and (min-width: 768px) {
  .back_to_news,
  .back_to_top {
    margin-top: 120px;
  }
}
.back_to_news a,
.back_to_top a {
  position: relative;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, #0070b4 0%, #004a76 100%);
  width: 100%;
  max-width: 313px;
  margin: 0 auto;
  padding: 11px 20px;
  transition: 0.3s;
}
@media print, screen and (min-width: 768px) {
  .back_to_news a,
  .back_to_top a {
    padding: 19px 30px;
    font-size: 1.6rem;
  }
}
.back_to_news a::before,
.back_to_top a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 33px;
  height: 21px;
  background: #fff;
  border-radius: 100%;
  transform: translateY(-50%) rotate(-16deg);
  transition: transform 0.3s;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .back_to_news a::before,
  .back_to_top a::before {
    right: 30px;
  }
}
.back_to_news a::after,
.back_to_top a::after {
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  right: 27px;
  top: 50%;
  transform: translateY(-50%);
  content: "\e909";
  font-size: 8px;
  color: #00629d;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .back_to_news a::after,
  .back_to_top a::after {
    right: 37px;
  }
}
.back_to_news a:hover,
.back_to_top a:hover {
  opacity: 0.7;
}
.back_to_news a:hover::before,
.back_to_top a:hover::before {
  transform: translateY(-50%) rotate(-16deg) scale(1.2);
}

.sec_404 p {
  margin-top: 50px;
}